För en tid sedan misslyckades MRP i standby-databasen med ORA-01111 med följande detaljerade fel i varningsloggen
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'
Orsak till ORA-01111
Det här felet ORA-01111 uppstår om vi lägger till en datafil ELLER tabellutrymme i PRIMÄR databas och som inte kunde översättas till standbydatabasen på grund av dessa skäl:
- Standy_file_management är inställt på MANUAL
- Primärt och fysiskt vänteläge har olika filstrukturer och DB_FILE_NAME_CONVERT är inte inställt enligt katalogstrukturerna i primär och vänteläge
- Otillräckligt utrymme eller felaktiga behörigheter i standbydatabasen för att skapa datafilen
Redo-loggen som genereras från Primär kommer att ha information om tabellutrymmet/datafilen tillagd, men den kunde inte skapas framgångsrikt i Physical Standby Database på grund av standby_file_management =MANUAL
eller kan inte hitta den angivna mappen på grund av en saknad / felaktig filnamnskonvertering. Filposten läggs till i Standby Controlfile som "UNNAMED0000n" i /dbs eller /databasmappen beror på operativsystemet och så småningom avslutas MRP.
Lösning för ORA-01111
Utför alla nämnda steg i Standby-databasen:
Steg 1: Se till att standby_file_management ='MANUELL'
OBS:För parametern db_file_name_convert ändra om Data Guard Broker är aktiverad och redigera parametrarna med hjälp av Broker,
DGMGRL>edit database '<standby>' set property DbFileNameConvert='/u01','+DATA'; DGMGRL>edit database '<standby>' set property StandbyFileManagement=manual;
Som standard är StandbyFileManagement AUTO av mäklare.
Steg 2: Identifiera filen som är "unnamedn"
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
Steg 3: Byt namn på/skapa datafilen till korrekt filnamn
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;
Steg 4: Kontrollera att filnamnet är korrekt
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
Steg 5: Ändra STANDBY_FILE_MANAGEMENT till AUTO
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both;
Steg 6: Starta MRP (detta använder Real Time Apply)
SQL> alter database recover managed standby database using current logfile disconnect;
Database altered.
Steg 7: Kontrollera att MRP körs som förväntat
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
Steg 8: Se till att du korrigerade felet som orsakade misslyckande med att skapa filen.
Vi måste se till att parametern STANDBY_FILE_MANAGEMENT och DB_FILE_CONVERT är korrekta
Läser också
ORA-03113:slutet av filen på kommunikationskanalen
ORA-00257:arkiveringsfel. Anslut endast internt, tills det frigörs.
fysisk standby-databas
https://support.oracle.com/knowledge/Oracle%20Database%20Products/1416554_1.html