今天接到一个客户说,dataguard的standby端的数据没有进行日志同步,叫我们协助检查一下。
我们检查时,数据库是正常的,从alert里的报错来看,没的看到数据库有明显的报错,只是提示3304的日志无法应用
SQL> select * from v$archive_gap;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 3304 3372
发现从3304到3372有几十个归档无法应用
在仔细询问后,他们说,8天前,宕了一次机,启动到只读模式后,没有开启到standby模式,后来补上的,就一直无法应用日志了
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
进一步查看,发现控制文件保留期为7天,所以在重新启用standby时,7天前的日志已经被控制文件清理了
我们从standby的查询,可以看到
[grid@mytest ~]$ export ORACLE_SID=+ASM2
[grid@mytest ~]$ asmcmd
ASMCMD> ls
CRSDG/
MYTEST/
ASMCMD> cd MYTEST
ASMCMD> ls
BTEDB/
ASMCMD> cd MYTEST
ASMCMD> ls
ARCHIVELOG/
ASMCMD> cd ar*
ASMCMD> ls
2012_10_15/
2012_10_16/
............
ASMCMD> cd 2012_10_15
ASMCMD> ls
thread_1_seq_3304.311.861004859
thread_1_seq_3304.290.861004861
ASMCMD> pwd
可以看到standby机器上面,全部都有了,只是在控制文件里面过期了而己,所以只需要自己注册一下就行了!
在Standby数据库中注册该归档日志
SQL> ALTER DATABASE REGISTER LOGFILE '+mytest/mytest/ARCHIVELOG/2012_10_15/thread_1_seq_3304.311.861004859';
LOGFILE registered.
按照此方法把其它的也进行注册就可以了!
再从后台查看时,日志已经开始从头应用起了,过了半个小时后,发现已经追上了
SQL> select * from v$archive_gap;
no rows selected.
至此问题解决了!
我们检查时,数据库是正常的,从alert里的报错来看,没的看到数据库有明显的报错,只是提示3304的日志无法应用
SQL> select * from v$archive_gap;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 3304 3372
发现从3304到3372有几十个归档无法应用
在仔细询问后,他们说,8天前,宕了一次机,启动到只读模式后,没有开启到standby模式,后来补上的,就一直无法应用日志了
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
进一步查看,发现控制文件保留期为7天,所以在重新启用standby时,7天前的日志已经被控制文件清理了
我们从standby的查询,可以看到
[grid@mytest ~]$ export ORACLE_SID=+ASM2
[grid@mytest ~]$ asmcmd
ASMCMD> ls
CRSDG/
MYTEST/
ASMCMD> cd MYTEST
ASMCMD> ls
BTEDB/
ASMCMD> cd MYTEST
ASMCMD> ls
ARCHIVELOG/
ASMCMD> cd ar*
ASMCMD> ls
2012_10_15/
2012_10_16/
............
ASMCMD> cd 2012_10_15
ASMCMD> ls
thread_1_seq_3304.311.861004859
thread_1_seq_3304.290.861004861
ASMCMD> pwd
可以看到standby机器上面,全部都有了,只是在控制文件里面过期了而己,所以只需要自己注册一下就行了!
在Standby数据库中注册该归档日志
SQL> ALTER DATABASE REGISTER LOGFILE '+mytest/mytest/ARCHIVELOG/2012_10_15/thread_1_seq_3304.311.861004859';
LOGFILE registered.
按照此方法把其它的也进行注册就可以了!
再从后台查看时,日志已经开始从头应用起了,过了半个小时后,发现已经追上了
SQL> select * from v$archive_gap;
no rows selected.
至此问题解决了!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29371470/viewspace-1299127/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29371470/viewspace-1299127/