Site icon IT Tutorial

ORA-10459: cannot start media recovery on standby database; conflicting state detected

I got ” ORA-10459: cannot start media recovery on standby database; conflicting state detected” error in the Oracle dataguard.

 

ORA-10459: cannot start media recovery on standby database; conflicting state detected

Details of error are as follows.

2021-11-29T12:28:03.835088+03:00
Errors in file /u01/app/oracle/diag/rdbms/MSDBdr/MSDBDR1/trace/MSDBDR1_mrp0_221201.trc:
ORA-10459: cannot start media recovery on standby database; conflicting state detected
2021-11-29T12:28:03.835205+03:00
Background Media Recovery process shutdown (MSDBDR1)
2021-11-29T12:28:04.105572+03:00

 


 

 

This ORA-10459 error is related with the Standby database is configured as RAC.The server machine with a physical standby database went down due to an operating system issue.

After the servers were finally brought up, all attempts to start the MRP process failed with below error .

ORA-10459 “cannot start media recovery on standby database; conflicting state detected”:

SQL> alter database recover managed standby database (...)

MRP0: Background Media Recovery terminated with error 10459
Errors in file <diagnostic_dest>/diag/rdbms/<dbname>/<instname>/trace/<db_name>_pr00_11112.trc:
ORA-10459: cannot start media recovery on standby database; conflicting state detected
Slave exiting with ORA-10459 exception
Errors in file <diagnostic_dest>/diag/rdbms/<dbname>/<instname>/trace/<db_name>_pr00_11112.trc:
ORA-10459: cannot start media recovery on standby database; conflicting state detected
Recovery Slave PR00 previously exited with exception 10459
MRP0: Background Media Recovery process shutdown

 

The server machine with a physical standby database went down due to an operating system issue.  The server was then brought up and an attempt was made to start the standby recovery.

 

A second instance of RAC standby database was already opened.

As described in defect 16538987 ( Bug No 16538987 closed as “Not a bug”)

One of the instance of RAC standby database was already opened by mistake and managed recovery was running.

Managed recovery can be run only from One instance of RAC Standby.

To check if Managed recovery is already running on a specific instance you can run the below query

Select * from gv$managed_standby;

 

Or

Check the alert log.

If Managed recovery is already running on a instance and you want it to be run from specific instance:

Stop the Managed recovery from the instance it is running and start managed recovery from first/specific instance.

 

To solve this error, Stop the Standby database instances as follows, then start standby database as One node.

srvctl stop database -d MSDBDR

 

Startup the Standby database on only One node ( one instance  ), then start the MRP process to start Dataguard.

sqlplus / as sysdba

startup mount;

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

 

,

 

Do you want to learn Oracle Database for Beginners, then read the following articles.

Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )

Exit mobile version