sql >> Base de Datos >  >> RDS >> Oracle

ORA-01111 en MRP en la base de datos física en espera

Hace algún tiempo,  MRP en la base de datos en espera falló con  ORA-01111 con el siguiente  error detallado en el registro de alertas

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'

Motivo de ORA-01111

Este error ORA-01111 ocurre si agregamos un archivo de datos O Tablespace en la base de datos PRIMARIA y no se pudo traducir a la base de datos en espera debido a estas razones:

  • Standy_file_management está configurado en MANUAL
  • Principal y Standby físico tienen diferentes estructuras de archivo y DB_FILE_NAME_CONVERT no está configurado de acuerdo con las estructuras de directorio en principal y en espera
  • Espacio insuficiente o permisos incorrectos en la base de datos en espera para crear el archivo de datos

El registro de rehacer generado desde el primario tendrá información sobre el espacio de tabla/archivo de datos agregado; sin embargo, no se pudo crear correctamente en la base de datos física en espera debido a standby_file_management =MANUAL
o no se puede encontrar la carpeta especificada debido a que falta/ Conversión de nombre de archivo incorrecta. La entrada de archivo se agrega al archivo de control en espera como "UNNAMED0000n" en la carpeta /dbs o /database según el sistema operativo y, finalmente, el MRP finaliza.

Solución de ORA-01111

Realice todos los pasos mencionados en la base de datos en espera:

Paso 1: Asegúrese de que standby_file_management ='MANUAL'

NOTA:Para cambiar el parámetro db_file_name_convert si Data Guard Broker está habilitado, luego edite los parámetros usando el Broker,

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

De forma predeterminada, StandbyFileManagement es AUTO por intermediario.

Paso 2: Identifique el archivo que es "sin nombre"

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

Paso 3: Cambie el nombre/cree el archivo de datos con el nombre de archivo correcto

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;

Paso 4: Verifique que el nombre de archivo sea correcto

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


Paso 5: Cambie STANDBY_FILE_MANAGEMENT a AUTO

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


Paso 6: Inicie el MRP (esto está usando la aplicación en tiempo real)

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

Paso 7: Verifique que el MRP esté funcionando como se esperaba

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

Paso 8: Asegúrese de haber corregido el error que causó la falla en la creación del archivo.

Tenemos que asegurarnos de que los parámetros STANDBY_FILE_MANAGEMENT y DB_FILE_CONVERT sean correctos

También lee
ORA-03113:fin de archivo en el canal de comunicación
ORA-00257:error del archivador. Conexión interna únicamente, hasta que se libere.
base de datos física en espera
https://support.oracle.com/knowledge/Oracle%20Database%20Products/1416554_1.html