DataGuard重建控制文件

1、主库重建控制文件:

SQL> alter database backup controlfile to trace;

将RESETLOGS改为NORESETLOGS

SQL> shutdown immediate;

SQL> @recreatectl.sh

SQL> shutdown immediate;

SQL> startup

数据库重起成功,并确认REDO LOG的SEQUENCE有没有被RESET:

SQL> select group#,sequence#,status from v$Log;

2、备库重建控制文件:

在主库上执行:

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

并传送到备份机上。

关闭备库,并用新的控制文件覆盖原来的控制文件(注意备份旧的控制文件);

重启备库:
 
Oracle9i
SQL> startup nomount;
SQL> alter database mount standby database;
SQL> alter database recover managed standby;
Oracle10g
SQL> startup mount;
SQL> alter database recover managed standby database disconnect from session;

确认相关进程已经启动:

SQL> select process,status from v$managed_standby;

验证备库工作正常:

在主库作日志切换。并看备库是否接收正常。

SQL> alter system switch logfile;

查看备库是否接收到主库的日志并正确应用。

SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME, APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

请使用浏览器的分享功能分享到微信等