Oracle 12c ADG - ORA-01186;ORA-01157;ORA-01111;ORA-01110

背景:模拟adg新增不在dg配置中的数据文件故障

适用范围:11g,12c ADG

以下为实验过程,首先保证adg为正常环境(略)。

1. 故障模拟过程

primary>/oradata

primary> chown -R oracle.oinstall /oradata

primary>chomod -R 775 /oradata

primary> create tablespace test datafile '/oradata/test01.dbf' size 10m;

此时分别观察主从alter日志,你会发现standby日志的MRP0进程会自动关闭,并抛出异常。

ORA-01119;ORA-27040;ORA-01274

随即把主库中的这条信息删掉

primary> drop tablespace test including contents and datafiles;

此时再观察standby,会发现刚才显示的错误一直在刷,并且standby的日志实时应用是无法打开的(抛出错误码:ORA-01186;ORA-01157;ORA-01111;ORA-01110)

 

修复过程:

1.先查看从库的控制文件位置,然后关闭从库并启动到mount状态

standby>show parameter control;

standby>shutdown immediate;

2.从主库拷贝控制文件到从库对应位置

primary>alter database create standby controlfile as '/home/oracle/control01.ctl';

primary>cp '/home/oracle/control01.ctl' standby:/home/oracle/

standby>cp control01.ctl /u01/app/oracle/oradata/dgro/control01.ctl

standby> cp control01.ctl /u01/app/oracle/fast_recovery_area/dgro/control02.ctl

3.启动从库至mount状态,并利用实时日志恢复还原至最新状态

standby>startup mount;

standby>select name from v$datafile;

standby> alter database recover managed standby database disconnect from session;

此时观察standby alert日志中会将当前所有未应用的arc进行应用;

standby> alter database open;

standby>alter database recover managed standby database using current logfile disconnect from session;

4.至此故障解决。

 

总结:

在主库中创建新的数据文件目录同时,必须保证从库有同样的目录以及权限,否则从库无法进行实时日志应用;

 

posted @ 2017-09-04 16:31  烤酸奶  阅读(1057)  评论(0编辑  收藏  举报