«

»

Jun 29

ORA-01264: Unable to create logfile file name

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.