Estou substituindo o hardware de produção por um banco de dados Oracle RAC. Para fazer isso com tempo de inatividade zero, estou adicionando os novos nós e, em seguida, estendendo o banco de dados RAC para ser executado em nós antigos e novos. Em seguida, removerei os nós antigos quando eles não tiverem mais conexões de banco de dados.
Ao adicionar novos nós, precisei adicionar threads adicionais de redo para dar suporte às novas instâncias. Isso significa que eu precisava adicionar novos grupos de redo log online para esses threads. Na minha pressa para concluir este projeto, esqueci de levar em consideração meu banco de dados físico de espera. Depois que o standby recebeu os registros de redo para criar os ORLs, ele imediatamente lançou os seguintes erros:
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)
Bobo eu. Felizmente, esta é uma solução fácil. No modo de espera, emita:
SQL> alter system set standby_file_management=MANUAL scope=memory; System altered.
Em seguida, observe a recuperação da mídia ocorrer. Veremos um aviso no log de alertas de que o ORL não será adicionado, o que é bom porque o standby já possui seus 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
Depois que a recuperação suficiente foi aplicada, defino o parâmetro de volta ao seu valor original.
SQL> alter system set standby_file_management=AUTO scope=memory; System altered.
Eu poderia fazer isso porque não havia outras tarefas de gerenciamento de arquivos concluídas durante o tempo em que os ORLs foram adicionados ao primário.