Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ORA-01111 in MRP in der physischen Standby-Datenbank

Vor einiger Zeit ist  MRP in der Standby-Datenbank mit  ORA-01111 mit dem folgenden detaillierten  Fehler im Warnprotokoll

fehlgeschlagen
Alert 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