Get the App
SLTechnology News&Howtos  ›  Database  › 

What if the physical slave open reports an error ORA-10458?

Shulou Source: shulou.com Published: 2022-05-31 14:00:27 10月01日 Update

This article is to share with you about the physical repository open error ORA-10458 how to do. The editor thinks it is very practical, so share it with you as a reference and follow the editor to have a look.

The problem shows:

The power outage in the computer room caused all 3 nodes of the oracle 11g RAC+DG to shut down abnormally.

After booting, the two nodes of RAC start normally, and the database instance on DG can only be started to mount state, not open.

DG:

Alter database open

ORA-10458: standby database requires recovery

ORA-01196: file 1 is inconsistent due to a failed media recovery session

ORA-01110: data file 1:'/ oracle/oradata/system01.dbf'

An error was reported in RAC01's alert log:

Thread 1 advanced to log sequence 71686 (LGWR switch)

Current log# 2 seq# 71686 mem# 0: + DATA/scprd/onlinelog/group_2.300.926178257

Tue Dec 26 14:43:46 2017

Archived Log entry 267550 added for thread 1 sequence 71685 ID 0x350f8bcc dest 1:

Tue Dec 26 14:43:52 2017

ALTER SYSTEM SET log_archive_dest_state_2='DEFER' SCOPE=BOTH SID='*'

Tue Dec 26 14:43:59 2017

Error 12169 received logging on to the standby

ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=BOTH SID='*'

Tue Dec 26 14:44:01 2017

Thread 1 cannot allocate new log, sequence 71687

Checkpoint not complete

Current log# 2 seq# 71686 mem# 0: + DATA/scprd/onlinelog/group_2.300.926178257

Thread 1 advanced to log sequence 71687 (LGWR switch)

Current log# 1 seq# 71687 mem# 0: + DATA/scprd/onlinelog/group_1.304.926178257

Tue Dec 26 14:44:07 2017

Archived Log entry 267552 added for thread 1 sequence 71686 ID 0x350f8bcc dest 1:

Tue Dec 26 14:49:14 2017

Error 12169 received logging on to the standby

Tue Dec 26 14:49:50 2017

Thread 1 advanced to log sequence 71688 (LGWR switch)

Current log# 2 seq# 71688 mem# 0: + DATA/scprd/onlinelog/group_2.300.926178257

Tue Dec 26 14:49:50 2017

Archived Log entry 267558 added for thread 1 sequence 71687 ID 0x350f8bcc dest 1:

Tue Dec 26 14:49:50 2017

Error 12169 received logging on to the standby

FAL [server, ARC3]: FAL archive failed, see trace file.

ARCH: FAL archive failed. Archiver continuing

ORACLE Instance SCPRD1-Archival Error. Archiver continuing.

Tue Dec 26 14:51:09 2017

There is a problem with master-slave log synchronization:

DG:

SQL > COL NAME FOR A13

SQL > COL VALUE FOR A20

SQL > COL UNIT FOR A30

SQL > SET LINES 122

SQL > SELECT NAME,VALUE,UNIT,TIME_COMPUTED

2 FROM V$DATAGUARD_STATS

3 WHERE NAME IN ('transport lag','apply lag')

NAME VALUE UNIT TIME_COMPUTED

-

Transport lag day (2) to second (0) interval 12 * 26 *

Apply lag + 00 01:53:52 day (2) to second (0) interval 12 Universe 26 Universe 14:19:22

Apply lag has a delay.

Main library:

SQL > select thread#, max (sequence#) from v$archived_log group by thread#

THREAD# MAX (SEQUENCE#)

--

1 71710

2 68404

DG:

SQL > select thread#, max (sequence#) from v$archived_log where applied='YES' group by thread#

THREAD# MAX (SEQUENCE#)

--

1 71634

2 68325

DG is slower than the SEQUENCE of the master library, and there is a problem with master-slave synchronization.

Problem solving:

There is a problem with viewing the tnsnames of RAC01:

SCPRDDG =

CPRD =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP) (HOST = wmsscan2) (PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = SCPRD)

)

)

(ADDRESS = (PROTOCOL = TCP) (HOST = 10.1.10.20) (PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = SCPRDDG)

)

)

Modified to:

SCPRDDG =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP) (HOST = 10.1.10.20) (PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = SCPRDDG)

)

)

Retest synchronization, normal.

There is no delay in apply lag.

The same is true for master-slave log synchronization SEQUENCE.

Then change DG to open:

SQL > ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL

Database altered.

SQL > alter database open read only

Database altered.

SQL > select RECOVERY_MODE from v$archive_dest_status where rownum ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION

Database altered.

SQL > select RECOVERY_MODE from v$archive_dest_status where rownum SELECT NAME,VALUE,UNIT,TIME_COMPUTED

FROM V$DATAGUARD_STATS

2 3 WHERE NAME IN ('transport lag','apply lag')

NAME VALUE UNIT TIME_COMPUTED

-

Transport lag + 00 00:00:00 day (2) to second (0) interval 12 Universe 26 Universe 16:31:30

Apply lag + 00 00:00:00 day (2) to second (0) interval 12 Universe 26 Universe 16:31:30

DG can provide read-only service and everything is back to normal.

Thank you for reading! This is the end of the article on "how to report errors in open ORA-10458?". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, you can share it for more people to see!

Tags: Question synchronization master-slave log how to do physics content more article good practical instance data database article computer room status see knowledge node Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information Xiaomi Shulou Technology Linux Redmi