Vor einiger Zeit ist MRP in der Standby-Datenbank mit ORA-01111 mit dem folgenden detaillierten Fehler im Warnprotokoll
fehlgeschlagenAlert Log in Standby Shows MRP is terminated with below error ================================================================= File #8 added to control file as 'UNNAMED00008' because the parameter STANDBY_FILE_MANAGEMENT is set to MANUAL The file should be manually created to continue. MRP0: Background Media Recovery terminated with error 1111 Thu Jan 08 11:02:35 2016 Errors in file /u01/oracle/product/11.2.0/diag/rdbms/TEST/test/trace/TEST_mrp0_6436.trc: ORA-01111: name for data file 129 is unknown - rename to correct file ORA-01111: name for data file 129 is unknown - rename to correct file ORA-01110: data file 129: '/u01/oracle/product/11.2.0/dms/UNNAMED00008'
Grund für ORA-01111
Dieser Fehler ORA-01111 tritt auf, wenn wir eine Datendatei ODER einen Tablespace in der PRIMARY-Datenbank hinzufügen und dieser aus folgenden Gründen nicht in die Standby-Datenbank übersetzt werden konnte:
- Standy_file_management ist auf MANUAL eingestellt
- Primary und Physical Standby haben unterschiedliche Dateistrukturen und DB_FILE_NAME_CONVERT ist nicht entsprechend den Verzeichnisstrukturen in Primary und Standby eingestellt
- Unzureichender Speicherplatz oder falsche Berechtigungen für die Standby-Datenbank zum Erstellen der Datendatei
Das von Primary generierte Redo Log enthält Informationen über den hinzugefügten Tablespace / die Datendatei, konnte jedoch aufgrund von standby_file_management =MANUAL nicht erfolgreich in der physischen Standby-Datenbank erstellt werden oder kann den angegebenen Ordner aufgrund eines fehlenden / falsche Dateinamenkonvertierung. Der Dateieintrag wird zur Standby-Steuerdatei als „UNNAMED0000n“ im Ordner „/dbs“ oder „/database“ hinzugefügt, abhängig vom Betriebssystem, und schließlich wird das MRP beendet.
Lösung von ORA-01111
Führen Sie alle genannten Schritte auf der Standby-Datenbank durch:
Schritt 1: Stellen Sie sicher, dass standby_file_management =‘MANUAL’
HINWEIS:Ändern Sie den Parameter db_file_name_convert, wenn Data Guard Broker aktiviert ist, und bearbeiten Sie dann die Parameter mithilfe des Brokers,
DGMGRL>edit database '<standby>' set property DbFileNameConvert='/u01','+DATA'; DGMGRL>edit database '<standby>' set property StandbyFileManagement=manual;
Standardmäßig ist StandbyFileManagement vom Broker AUTO.
Schritt 2: Identifizieren Sie die Datei, die „unbenannt“ ist
SQL> select name from v$datafile; NAME --------------------------------------- +DATA/TEST/datafiles/SYSTEM.DBF +DATA/TEST/datafiles/UNDO.DBF +DATA/TEST/datafiles/SYSAUX.DBF +DATA/TEST/datafiles/index1.DBF /u01/oracle/product/11.2.0/dms/UNNAMED00008
Schritt 3: Benennen/erstellen Sie die Datendatei in den richtigen Dateinamen um
SQL> alter database create datafile '/u01/oracle/product/11.2.0/dms/UNNAMED00008' as '+DATA/TEST/datafiles/appstex.dbf'; or SQL>alter database create datafile '/u01/oracle/product/11.2.0/dms/UNNAMED00008' as new;
Schritt 4: Überprüfen Sie, ob der Dateiname korrekt ist
SQL> select name from v$datafile; NAME ------------------------------------------------- +DATA/TEST/datafiles/SYSTEM.DBF +DATA/TEST/datafiles/UNDO.DBF +DATA/TEST/datafiles/SYSAUX.DBF +DATA/TEST/datafiles/index1.DBF +DATA/TEST/datafiles/appstex.dbf
Schritt 5: Ändern Sie STANDBY_FILE_MANAGEMENT in AUTO
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both;
Schritt 6: Starten Sie das MRP (dies verwendet Real Time Apply)
SQL> alter database recover managed standby database using current logfile disconnect;
Database altered.
Schritt 7: Vergewissern Sie sich, dass MRP wie erwartet ausgeführt wird
SQL> select process, status , sequence# from v$managed_standby; PROCESS STATUS SEQUENCE# --------- ------------ ---------- ARCH CLOSING 1014 ARCH CLOSING 1013 MRP0 APPLYING_LOG 1001 RFS IDLE 0 RFS IDLE 0 RFS IDLE 1015
Schritt 8: Stellen Sie sicher, dass Sie den Fehler korrigiert haben, der zum Fehlschlagen der Dateierstellung geführt hat.
Wir müssen sicherstellen, dass die Parameter STANDBY_FILE_MANAGEMENT und DB_FILE_CONVERT korrekt sind
Liest auch
ORA-03113:Dateiende auf Kommunikationskanal
ORA-00257:Archivierungsfehler. Nur intern verbinden, bis freigegeben.
Physische Standby-Datenbank
https://support.oracle.com/knowledge/Oracle%20Database%20Products/1416554_1.html