共计 6402 个字符,预计需要花费 17 分钟才能阅读完成。
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-----------------
Oracle 11gR2 在 VMWare 虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htm
Debian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm
Oracle Data Guard 重要配置参数 http://www.linuxidc.com/Linux/2013-08/88784.htm
基于同一主机配置 Oracle 11g Data Guard http://www.linuxidc.com/Linux/2013-08/88848.htm
探索 Oracle 之 11g DataGuard http://www.linuxidc.com/Linux/2013-08/88692.htm
Oracle Data Guard(RAC+DG) 归档删除策略及脚本 http://www.linuxidc.com/Linux/2013-07/87782.htm
Oracle Data Guard 的角色转换 http://www.linuxidc.com/Linux/2013-06/86190.htm
Oracle Data Guard 的日志 FAL gap 问题 http://www.linuxidc.com/Linux/2013-04/82561.htm
Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法 http://www.linuxidc.com/Linux/2013-03/82009.htm
更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/130300.htm