sql >> Database teknologi >  >> RDS >> Oracle

ORA-01111 i MRP i fysisk standby-database

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


  1. Sådan implementeres Chamilo MySQL-databasen for høj tilgængelighed

  2. Hvordan justify_hours() virker i PostgreSQL

  3. Sådan bruger du Crosstab Query Wizard i Access

  4. Minimering af virkningen af ​​at udvide en IDENTITY-søjle – del 1