Jestem w trakcie wymiany sprzętu produkcyjnego na bazę danych Oracle RAC. Aby to zrobić bez przestojów, dodaję nowe węzły, a następnie rozszerzam bazę danych RAC, aby działała zarówno na starych, jak i nowych węzłach. Następnie usunę stare węzły, gdy nie będą już miały żadnych połączeń z bazą danych.
Dodając nowe węzły, musiałem dodać dodatkowe wątki ponawiania, aby obsługiwać nowe instancje. Oznacza to, że musiałem dodać nowe grupy Online Redo Log dla tych wątków. W pośpiechu, aby ukończyć ten projekt, zapomniałem wziąć pod uwagę moją fizyczną bazę danych. Gdy stan gotowości otrzymał rekordy ponownego wykonania w celu utworzenia ORL, natychmiast zgłosił następujące błędy:
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)
Głupi ja. Na szczęście jest to łatwe rozwiązanie. W trybie gotowości, problem:
SQL> alter system set standby_file_management=MANUAL scope=memory; System altered.
Następnie obserwuj odzyskiwanie nośnika. W dzienniku alertów zobaczymy ostrzeżenie, że ORL nie zostanie dodany, co jest w porządku, ponieważ tryb gotowości ma już swoje ORL.
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
Po zastosowaniu wystarczającego odzyskiwania przywracam pierwotną wartość parametru.
SQL> alter system set standby_file_management=AUTO scope=memory; System altered.
Mogłem to zrobić na sucho, ponieważ nie było innych zadań związanych z zarządzaniem plikami ukończonych w czasie dodawania ORL do podstawowego.