In the DataGuard environment, if we are doing Failover, you may touch ORA-00261 errors, the following is the cause of the error and the solution. If it is a network problem, it is necessary to switch, then the RFS process of the typical Standby side will not realize that Primary is not accessible, so the RFS process does not release the current Standby Redo log file. If the database instance of the primary is due to the fault interruption, then the RFS process of the Standby side will immediately realize that Primary is not accessible, and will immediately release the current Standby Redo Log file. As long as the process is not released RFS standby redo log file, then execute ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH command will find the following error message Warning in alertlog file: log 4 of thread 1 is being archived or modifiedRecovery interrupted.Media Recovery failed with error 261 If the above error is reported, execute Switch, then the following error will appear: ORA-16139: Media Recovery Required
So you must check the AlertLog file until the following information indicates that the RFS process has released the Standby Redo log file, this time you can make Finish: RFS: Possible Network Disconnect With Primary Database
There are two ways to cause the RFS process to release the Standby Redo log file: 1. NetWork Timeout waiting for the RFS process usually needs to wait for about 8 minutes. Close the Standby database, reopen, so that the RFS process release Standby Redo log can monitor when the RFS process is released via the V $ managed_standby view.
Implementation Failover: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH; alertlog following information will be displayed, showing the successful finish: Terminal Incomplete Recovery: UNTIL CHANGE 3738452Terminal Incomplete Recovery: End-Of-Redo log allocationTerminal Incomplete Recovery: log 4 reserved for thread 1 seq # 8772TERMINAL RECOVERY changing datafile format version from 8.0.0.0.0 to 9.0.0.0.0Switching logfile format version from 8.0.0.0.0 to 9.0.0.0.0Terminal Incomplete Recovery: clearing standby redo logs.Terminal Incomplete Recovery: thread 1 seq # 8772 redo requiredTerminal Incomplete Recovery: End-of-Redo log /global/oradata/ctsdb/stdby_redo04.logIdentified end-of-REDO for thread 1 sequence 8772Terminal Incomplete Recovery: end checkpoint SCN 3738453Media Recovery CompleteSwitching logfile format version from 9.0.0.0.0 to 8.0.0.0.0Terminal Incomplete Recovery: successful completionBegin: Wait for standby logfiles to be archivedWed Sep 1 13:42:28 2004ARC1: Evaluating archive log 4 thread 1 sequence 8772Wed Sep 1 13:42:28 2004ARC 0: Evaluating archive log 4 thread 1 sequence 8772Wed Sep 1 13:42:28 2004ARC1: Beginning to archive log 4 thread 1 sequence 8772Wed Sep 1 13:42:28 2004ARC0: Unable to archive log 4 thread 1 sequence 8772Wed Sep 1 13: 42:28 2004Creating archive destination LOG_ARCHIVE_DEST_1: '/global/oradata/ctsdb/archive/arch1_8772.log'Wed Sep 1 13:42:28 2004 log actively being archived by another processWed Sep 1 13:42:28 2004ARC1: Completed archiving log 4 thread 1 sequence 8772Wed Sep 1 13:42:43 2004End: All standby logfiles have been archivedResetting standby activation ID 4038461969 (0xf0b60a11) Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH
After FINSH successfully, execute Switch: ALTER DATABASE COMMIT TO SWITCHOVER TO Primary; Switch is successful, restart the database: Shutdown Immediate; Startup;