Ich bin dabei, Produktionshardware für eine Oracle RAC-Datenbank zu ersetzen. Um dies ohne Ausfallzeit zu tun, füge ich die neuen Knoten hinzu und erweitere dann die RAC-Datenbank so, dass sie sowohl auf alten als auch auf neuen Knoten läuft. Dann werde ich die alten Knoten entfernen, sobald sie keine Datenbankverbindungen mehr haben.
Beim Hinzufügen neuer Knoten musste ich zusätzliche Redo-Threads hinzufügen, um die neuen Instanzen zu unterstützen. Das bedeutet, dass ich für diese Threads neue Online-Redo-Log-Gruppen hinzufügen musste. In meiner Eile, dieses Projekt abzuschließen, habe ich vergessen, meine physische Standby-Datenbank zu berücksichtigen. Nachdem der Standby-Server die Redo-Einträge zum Erstellen der ORLs erhalten hatte, gab er sofort die folgenden Fehler aus:
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)
Wie dumm von mir. Zum Glück ist dies eine einfache Lösung. Geben Sie im Standby Folgendes aus:
SQL> alter system set standby_file_management=MANUAL scope=memory; System altered.
Beobachten Sie dann, wie die Medienwiederherstellung stattfindet. Im Warnprotokoll wird eine Warnung angezeigt, dass die ORL nicht hinzugefügt wird, was in Ordnung ist, da der Standby-Server bereits seine ORLs hat.
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
Sobald eine ausreichende Wiederherstellung angewendet wurde, setze ich den Parameter auf seinen ursprünglichen Wert zurück.
SQL> alter system set standby_file_management=AUTO scope=memory; System altered.
Ich konnte damit durchkommen, weil während der Zeit, in der die ORLs zum primären hinzugefügt wurden, keine anderen Dateiverwaltungsaufgaben abgeschlossen wurden.