欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ORACLE DATAGUARD中手工处理日志v$archive_GAP的方法

程序员文章站 2022-06-11 18:17:45
 从9i以后,oracle dataguard 备库一般都不需要手工处理丢失的日志,fal自动会帮我们处理,下面通过个案例来讲下手工处理丢失的日志的方法: 1....

 从9i以后,oracle dataguard 备库一般都不需要手工处理丢失的日志,fal自动会帮我们处理,下面通过个案例来讲下手工处理丢失的日志的方法:

1.在备库查询有哪些日志丢失,没应用到备库

 sql> select * from v$archive_gap;
  thread# low_sequence# high_sequence#
---------- ------------- --------------
     1     9873    9876

我们可以看到9873到9876这四个归档日志丢失,

2.我们在主库找到这四个归档日志传送到备库归档目录下;

3.备库注册

alter database register logfile '/oracle/app/oracle/archive/1_9873_629923600.arc';
system alerted
alter database register logfile '/oracle/app/oracle/archive/1_9874_629923600.arc';
system alerted
alter database register logfile '/oracle/app/oracle/archive/1_9875_629923600.arc';
system alerted
alter database register logfile '/oracle/app/oracle/archive/1_9876_629923600.arc';
system alerted

4.检查数据库日志看是否应用

thu apr 8 15:55:17 2010
media recovery log /oracle/app/oracle/archive/1_9873_629923600.arc
media recovery log /oracle/app/oracle/archive/1_9874_629923600.arc
media recovery log /oracle/app/oracle/archive/1_9875_629923600.arc
media recovery log /oracle/app/oracle/archive/1_9876_629923600.arc

或者查询视图

v$archived_log的applied字段

5、检查备库是否还有日志gap

sql> select * from v$archive_gap;

出现没有行选择,则表示不存在归档日志丢失问题。