For nogen tid tilbage mislykkedes MRP i standby-databasen med ORA-01111 med følgende detaljerede fejl i advarselslog
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'
Årsag til ORA-01111
Denne fejl ORA-01111 opstår, hvis vi tilføjer en datafil ELLER Tablespace i PRIMÆR database, og som ikke kunne oversættes til standbydatabasen af disse årsager:
- Standy_file_management er indstillet til MANUEL
- Primær og fysisk standby har forskellige filstrukturer, og DB_FILE_NAME_CONVERT er ikke indstillet i henhold til biblioteksstrukturerne i primær og standby
- Utilstrækkelig plads eller forkerte tilladelser på standby-databasen til at oprette datafilen
Redo-loggen, der er genereret fra Primær, vil have tilføjet oplysninger om tabelpladsen/datafilen, men den kunne ikke oprettes i fysisk standbydatabase på grund af standby_file_management =MANUAL
eller er ikke i stand til at finde den angivne mappe på grund af manglende / forkert filnavnkonvertering. Filposten føjes til Standby Controlfile som "UNNAMED0000n" i /dbs eller /database mappen afhænger af operativsystemet og til sidst afsluttes MRP.
Løsning af ORA-01111
Udfør alle nævnte trin i Standby-databasen:
Trin 1: Sørg for, at standby_file_management ='MANUAL'
BEMÆRK:For parameteren db_file_name_convert skal du ændre, hvis Data Guard Broker er aktiveret, så rediger parametrene ved hjælp af Broker,
DGMGRL>edit database '<standby>' set property DbFileNameConvert='/u01','+DATA'; DGMGRL>edit database '<standby>' set property StandbyFileManagement=manual;
StandbyFileManagement er som standard AUTO af mægler.
Trin 2: Identificer den fil, der er "unavngivet"
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
Trin 3: Omdøb/opret datafilen til det korrekte filnavn
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;
Trin 4: Bekræft, at filnavnet er 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
Trin 5: Skift STANDBY_FILE_MANAGEMENT til AUTO
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both;
Trin 6: Start MRP (dette bruger Real Time Apply)
SQL> alter database recover managed standby database using current logfile disconnect;
Database altered.
Trin 7: Bekræft, at MRP'en kører som forventet
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
Trin 8: Sørg for, at du har rettet fejlen, der forårsagede fejl ved oprettelse af fil.
Vi skal sikre os, at STANDBY_FILE_MANAGEMENT og DB_FILE_CONVERT-parametrene er korrekte
Læser også
ORA-03113:slutningen af filen på kommunikationskanalen
ORA-00257:arkiveringsfejl. Tilslut kun internt, indtil frigivet.
fysisk standby-database
https://support.oracle.com/knowledge/Oracle%20Database%20Products/1416554_1.html