I am in the process of replacing production hardware for an Oracle RAC database. To do this with zero downtime, I am adding the new nodes and then extending the RAC database to run on both old and new nodes. Then I will remove the old nodes once they no longer have any database connections.
When adding new nodes, I needed to add additional threads of redo to support the new instances. This means I needed to add new Online Redo Log groups for those threads. In my haste to get this project completed, I forgot to take into account my physical standby database. Once the standby received the redo records to create the ORLs, it promptly threw the following errors:
Thu Jun 29 14:17:44 2017 Media Recovery Log /u01/app/oracle/admin/orcls/arch/7_63989_677462342.dbf No OMF destination specified, unable to create logs Errors with log /u01/app/oracle/admin/orcls/arch/7_63989_677462342.dbf MRP0: Background Media Recovery terminated with error 1264 Thu Jun 29 14:17:44 2017 Errors in file /u01/app/oracle/diag/rdbms/orcls/orcls1/trace/orcls1_pr00_22818.trc: ORA-01264: Unable to create logfile file name Recovery interrupted! Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT USING ARCHIVED LOGFILE Recovered data files to a consistent state at change 259717189001 Thu Jun 29 14:17:45 2017 Errors in file /u01/app/oracle/diag/rdbms/orcls/orcls1/trace/orcls1_pr00_22818.trc: ORA-01264: Unable to create logfile file name Thu Jun 29 14:17:45 2017 MRP0: Background Media Recovery process shutdown (orcls1)
Silly me. Thankfully this is an easy fix. On the standby, issue:
SQL> alter system set standby_file_management=MANUAL scope=memory; System altered.
Then watch the media recovery take place. We will see a warning in the alert log that the ORL will not be added, which is okay because the standby already has its ORLs.
Media Recovery Log /u01/app/oracle/admin/orcls/arch/7_63989_677462342.dbf WARNING: standby_file_management is set to MANUAL Online logs not added for newly enabled thread 1
Once sufficient recovery has been applied, I set the parameter back to its original value.
SQL> alter system set standby_file_management=AUTO scope=memory; System altered.
I could get away with doing this because there were no other file management tasks completed during the time the ORL’s were added to the primary.