MRP0- Background Media Recovery terminated with error 1111

tangyunoracle發表於2016-04-08
Active DataGuard由於db_file_name_convert設定不當,導致資料檔案無法自動同步到備庫問題處理過程。
檢查主備日誌同步
SQL> select max(sequence#)  from v$archived_log;
MAX(SEQUENCE#)
--------------
        386952
SQL> select max(sequence#) from v$archived_log where applied='YES'; 
MAX(SEQUENCE#)
--------------
        386932
檢查alter log
Managed Standby Recovery starting Real Time Apply
Thu Apr 07 10:04:08 2016
Errors in file /app/oracle/diag/rdbms/pgsadg/pgsadg/trace/pgsadg_dbw0_31401.trc:
ORA-01186: file 35 failed verification tests
ORA-01157: cannot identify/lock data file 35 - see DBWR trace file
ORA-01111: name for data file 35 is unknown - rename to correct file
ORA-01110: data file 35: '/app/oracle/product/11.2.0/db_1/dbs/UNNAMED00035'
File 35 not verified due to error ORA-01157
MRP0: Background Media Recovery terminated with error 1111
Errors in file /app/oracle/diag/rdbms/pgsadg/pgsadg/trace/pgsadg_pr00_5529.trc:
ORA-01111: name for data file 35 is unknown - rename to correct file
ORA-01110: data file 35: '/app/oracle/product/11.2.0/db_1/dbs/UNNAMED00035'
ORA-01157: cannot identify/lock data file 35 - see DBWR trace file
ORA-01111: name for data file 35 is unknown - rename to correct file
ORA-01110: data file 35: '/app/oracle/product/11.2.0/db_1/dbs/UNNAMED00035'
Managed Standby Recovery not using Real Time Apply
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION
Recovery Slave PR00 previously exited with exception 1111
MRP0: Background Media Recovery process shutdown (pgsadg)

檢查db_file_name_convert引數配置。
SQL> show parameter conver

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string      +DATA_JD_DG/pgs/datafile/, /da
                                                 ta/pgs/datafile/, +DATA_JD_DG/
                                                 pgs/tempfile/, /data/pgs/tempf
                                                 ile/

select file_name,file_id from dba_data_files where file_id=35;
FILE_NAME                                            FILE_ID
---------------------------------------------------- ----------
/app/oracle/product/11.2.0/db_1/dbs/UNNAMED00035     35

$ ls -l /app/oracle/product/11.2.0/db_1/dbs/UNNAMED00035
ls: cannot access /app/oracle/product/11.2.0/db_1/dbs/UNNAMED00035: No such file or directory

錯誤原因是由於在引數db_file_name_convert配置以外的磁碟組FRAJD_DG上建立表空間,路徑無法轉換導致資料檔案無法同步。

解決辦法:
備庫修改db_file_name_convert引數配置,將新的磁碟組轉換新增到引數中。
alter system set db_file_name_convert='+DATA_JD_DG/pgs/datafile/','/data/pgs/datafile/','+DATA_JD_DG/pgs/tempfile/','/data/pgs/tempfile/','+FRAGT_DG/pgs/datafile/','/data/pgs/datafile/','+DATA_GT_DG/pgs/datafile/','/data/pgs/datafile/','+FRAJD_DG/pgs/datafile/','/data/pgs/datafile/' scope=spfile;
重啟備庫,只能將資料庫啟動到mount狀態:
shutdown immediate
startup mount;

將備庫的standby_file_management引數修改為手動管理模式
SQL> alter system set standby_file_management='MANUAL' scope=both;

System altered.

把UNNAMED資料檔案放到正確路徑
SQL> alter database create datafile '/app/oracle/product/11.2.0/db_1/dbs/UNNAMED00035' as '/data/pgs/datafile/tbs_rpt_data.256.908366191';

Database altered.

將備庫的standby_file_management引數修改回自動模式
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both;

System altered.

開啟實時應用日誌同步
SQL> alter database recover managed standby database using current logfile disconnect;

Database altered.

SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#,BLOCK#,BLOCKS,PID FROM V$MANAGED_STANDBY;

PROCESS   STATUS          THREAD#  SEQUENCE#     BLOCK#     BLOCKS        PID
--------- ------------ ---------- ---------- ---------- ---------- ----------
ARCH      CLOSING               2       9028       6144        382       5627
ARCH      CONNECTED             0          0          0          0       5629
ARCH      CONNECTED             0          0          0          0       5631
ARCH      CLOSING               1     386953      61440        223       5633
RFS       IDLE                  0          0          0          0       5982
RFS       IDLE                  1     386954      91968          1       5986
RFS       IDLE                  0          0          0          0       5988
RFS       IDLE                  0          0          0          0       6014
RFS       IDLE                  0          0          0          0       6018
RFS       IDLE                  2       9029      14418          1       6020
MRP0      APPLYING_LOG          2       9021       9118     104400       9409

11 rows selected.

select file_name,file_id from dba_data_files where file_id=35;
FILE_NAME                                            FILE_ID
---------------------------------------------------- ----------
/data/pgs/datafile/tbs_rpt_data.256.908366191        35

$ ls -l /data/pgs/datafile/tbs_rpt_data.256.908366191
-rw-r----- 1 oracle oinstall 17179877376 Apr  7 11:21 /data/pgs/datafile/tbs_rpt_data.256.908366191

SQL> select max(sequence#)  from v$archived_log;

MAX(SEQUENCE#)
--------------
        386953

SQL> select max(sequence#) from v$archived_log where applied='YES'; 

MAX(SEQUENCE#)
--------------
        386937

SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#,BLOCK#,BLOCKS,PID FROM V$MANAGED_STANDBY;

PROCESS   STATUS          THREAD#  SEQUENCE#     BLOCK#     BLOCKS        PID
--------- ------------ ---------- ---------- ---------- ---------- ----------
ARCH      CLOSING               2       9028       6144        382       5627
ARCH      CONNECTED             0          0          0          0       5629
ARCH      CONNECTED             0          0          0          0       5631
ARCH      CLOSING               1     386953      61440        223       5633
RFS       IDLE                  0          0          0          0       5982
RFS       IDLE                  1     386954     113192          2       5986
RFS       IDLE                  0          0          0          0       5988
RFS       IDLE                  0          0          0          0       6014
RFS       IDLE                  0          0          0          0       6018
RFS       IDLE                  2       9029      18285          1       6020
MRP0      APPLYING_LOG          1     386939         90     307616       9409

11 rows selected.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Database altered.

SQL> alter database open;

Database altered.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

Database altered.

SQL> select max(sequence#) from v$archived_log where applied='YES'; 

MAX(SEQUENCE#)
--------------
        386953

SQL> select max(sequence#)  from v$archived_log;

MAX(SEQUENCE#)
--------------
        386953

Created by Tony.Tang[TangYun]2016.04
-------------End-----------------

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24930246/viewspace-2077489/,如需轉載,請註明出處,否則將追究法律責任。

相關文章