sql >> Database >  >> RDS >> Oracle

ORA-01111 in MRP in fysieke standby-database

Enige tijd geleden mislukte MRP in de standby-database met ORA-01111 met de volgende gedetailleerde fout in waarschuwingslogboek

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'

Reden voor ORA-01111

Deze fout ORA-01111 treedt op als we een gegevensbestand OF een tabelruimte toevoegen aan de PRIMAIRE database en die om de volgende redenen niet naar de standby-database kon worden vertaald:

  • Standy_file_management is ingesteld op HANDMATIG
  • Primaire en fysieke stand-by hebben verschillende bestandsstructuren en DB_FILE_NAME_CONVERT is niet ingesteld volgens de directorystructuren in primair en stand-by
  • Onvoldoende ruimte of verkeerde machtigingen op de standby-database om het gegevensbestand te maken

Aan het Redo-logboek dat is gegenereerd vanuit Primair wordt informatie over de tabelruimte / het gegevensbestand toegevoegd, maar het kon niet met succes worden gemaakt in de fysieke standby-database vanwege de stand-by_file_management =MANUAL
of kan de opgegeven map niet vinden vanwege een ontbrekende / onjuiste bestandsnaamconversie. De bestandsinvoer wordt toegevoegd aan Standby Controlfile als "UNNAMED0000n" in de /dbs- of /database-map, afhankelijk van het besturingssysteem en uiteindelijk wordt de MRP beëindigd.

Oplossing van ORA-01111

Voer alle genoemde stappen uit in de standby-database:

Stap 1: Zorg ervoor dat de standby_file_management ='MANUAL'

OPMERKING:Wijzig de parameter db_file_name_convert als de Data Guard Broker is ingeschakeld en bewerk vervolgens de parameters met behulp van de Broker,

DGMGRL>edit database '<standby>' set property DbFileNameConvert='/u01','+DATA';
DGMGRL>edit database '<standby>' set property StandbyFileManagement=manual;

Standaard is StandbyFileManagement AUTO by broker.

Stap 2: Identificeer het bestand dat "naamloos" is

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

Stap 3: Hernoem/maak het gegevensbestand naar de juiste bestandsnaam

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;

Stap 4: Controleer of de bestandsnaam juist is

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


Stap 5: Wijzig de STANDBY_FILE_MANAGEMENT in AUTO

SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both;


Stap 6: Start de MRP (dit gebruikt Real Time Apply)

SQL> alter database recover managed standby database using current logfile disconnect;
Database altered.

Stap 7: Controleer of de MRP werkt zoals verwacht

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

Stap 8: Zorg ervoor dat je de fout hebt gecorrigeerd die ervoor zorgde dat het bestand niet kon worden aangemaakt.

We moeten ervoor zorgen dat de parameters STANDBY_FILE_MANAGEMENT en DB_FILE_CONVERT correct zijn

Leest ook
ORA-03113:einde bestand op communicatiekanaal
ORA-00257:archiverfout. Alleen interne verbinding maken, totdat deze wordt vrijgegeven.
fysieke standby-database
https://support.oracle.com/knowledge/Oracle%20Database%20Products/1416554_1.html


  1. wat is orakel EBS R12

  2. Splits een string en loop door waarden in MySql Procedure

  3. Een tijdelijke oplossing voor:Cursors worden niet ondersteund in een tabel met een geclusterde columnstore-index

  4. Beestje? #1146 - Tabel 'xxx.xxxxx' bestaat niet