首页 > 数据库 > Oracle > DG同步异常恢复文档
1 、
[oracle@newhost ~]$
[oracle@newhost ~]$ps -ef|grep tns|grep -v grep
开启监听
[oracle@newhost ~]$lsnrctl start
开启数据库
[oracle@newhost ~]$sqlplus / as sysdba
SQL>startup mount;
SQL>alter database open read only;
查看监听状态和数据库状态,再次确认是否有返回信息
2 、查看RFS 进程状态, 若以下命令没有返回信息, 则连到生产库重启log_archive_dest_state_2
SQL> select process,status from v$managed_standby where process='RFS';
连接到生产库(注意该操作在生产执行)
[oracle@oadatabak ~]$sqlplus / as sysdba
SQL> alter system set log_archive_dest_state_2=defer;
SQL> alter system set log_archive_dest_state_2=enable;
SQL> alter system switch logfile;
查看RFS 进程状态, 再次查询,确认是否有返回信息
SQL>select process,status from v$managed_standby where process='RFS';
、开启归档日志应用
SQL> alter database recover managed standby database using current logfile disconnect from session;
查看MRP 进程状态, 确认是否有返回信息
SQL>select process,status from v$managed_standby where process like 'MRP%';
4 、确认生产库与DG 库是否同步,返回记录一致(相差一个没有关系)则表示同步完成
SQL>select max(sequence#) from v$archived_log; (该命令生产和DG 端分别查询、对比)
SQL>select max(sequence#) from v$archived_log where applied='YES';
注意:以上操作均在DG 端执行,需要在生产执行的操作已经在括号“() ”里面标注
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23732248/viewspace-2770893/ ,如需转载,请注明出处,否则将追究法律责任。