从9i以后,一般都不需要手工处理确实的日志,FAL自动会帮我们处理这些问题。
但是,并非我们就完全不用手工处理了,比如,你的磁盘空间爆满,归档日志在传到备库前被转移到其他地方,这种情况下FAL是不能解决问题的,需要手工处理一下。
下面就简单说说手工处理日志GAP的步骤:
1、在备库检查是否有日志缺失
SQL> select * from V$ARCHIVE_GAP.
2、在主库中查询缺失的日志的所在路径和名称
SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN 99 AND 109.
3、把日志拷贝到备库上
$ scp 1_99_626106231.arc db_standby:/u01/archivelog/
4、在备库上手工注册从主库拷贝来的日志
SQL> ALTER DATABASE REGISTER LOGFILE /u01/archivelog/1_99_626106231.arc.
5、稍等片刻,观察备库的alert日志信息
6、检查备库是否还有日志GAP
SQL> select * from V$ARCHIVE_GAP.
no rows selected.
如果有行返回,则重复2-5步,直到查询结果是"no rows selected"。
-- END --