Je suis en train de remplacer le matériel de production d'une base de données Oracle RAC. Pour ce faire sans aucun temps d'arrêt, j'ajoute les nouveaux nœuds, puis j'étends la base de données RAC pour qu'elle s'exécute sur les anciens et les nouveaux nœuds. Ensuite, je supprimerai les anciens nœuds une fois qu'ils n'auront plus de connexions à la base de données.
Lors de l'ajout de nouveaux nœuds, j'avais besoin d'ajouter des threads de rétablissement supplémentaires pour prendre en charge les nouvelles instances. Cela signifie que je devais ajouter de nouveaux groupes de journalisation en ligne pour ces threads. Dans ma hâte de terminer ce projet, j'ai oublié de prendre en compte ma base de données de réserve physique. Une fois que le serveur de secours a reçu les enregistrements de rétablissement pour créer les ORL, il a rapidement généré les erreurs suivantes :
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)
Que je suis bête. Heureusement, c'est une solution facile. En veille, lancez :
SQL> alter system set standby_file_management=MANUAL scope=memory; System altered.
Ensuite, regardez la récupération des médias se dérouler. Nous verrons un avertissement dans le journal des alertes indiquant que l'ORL ne sera pas ajouté, ce qui est normal car la veille a déjà ses 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
Une fois qu'une récupération suffisante a été appliquée, je remets le paramètre à sa valeur d'origine.
SQL> alter system set standby_file_management=AUTO scope=memory; System altered.
J'ai pu m'en tirer car aucune autre tâche de gestion de fichiers n'a été effectuée pendant la période où les ORL ont été ajoutés au primaire.