ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DATAGUARD中手工处理日志GAP

DATAGUARD中手工处理日志GAP

原创 Linux操作系统 作者:space6212 时间:2019-04-12 10:54:04 0 删除 编辑
从9i以后,一般都不需要手工处理确实的日志,FAL自动会帮我们处理这些问题。
但是,并非我们就完全不用手工处理了,比如,你的磁盘空间爆满,归档日志在传到备库前被转移到其他地方,这种情况下FAL是不能解决问题的,需要手工处理一下。

下面就简单说说手工处理日志GAP的步骤:
1、在备库检查是否有日志缺失
SQL> select * from V$ARCHIVE_GAP;

THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 99 109

从上面的信息可以看出,备库中缺失了99到109的日志。

2、在主库中查询缺失的日志的所在路径和名称

SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN 99 AND 109;

NAME
--------------------------------------------------------------------------------
/u01/archivelog/1_99_626106231.arc
/u01/archivelog/1_100_626106231.arc
/u01/archivelog/1_101_626106231.arc
/u01/archivelog/1_102_626106231.arc
/u01/archivelog/1_103_626106231.arc
/u01/archivelog/1_104_626106231.arc
/u01/archivelog/1_105_626106231.arc
/u01/archivelog/1_106_626106231.arc
/u01/archivelog/1_107_626106231.arc
/u01/archivelog/1_108_626106231.arc
/u01/archivelog/1_109_626106231.arc

如果把日志移动到其他路径,则把日志所在路径换成当前实际所在路径。

3、把日志拷贝到备库上
sftp> get 1_99_626106231.arc
Fetching /u01/archivelog/archive/1_99_626106231.arc to 1_99_626106231.arc
/u01/archivelog/archive/1_99_626106231.arc 100% 17KB 17.0KB/s 00:00
sftp> mget 1_10*
Fetching /u01/archivelog/archive/1_100_626106231.arc to 1_100_626106231.arc
/u01/archivelog/archive/1_100_626106231.arc 100% 4962KB 2.4MB/s 00:02
......
Fetching /u01/archivelog/archive/1_10_626106231.dbf to 1_10_626106231.dbf
/u01/archivelog/archive/1_10_626106231.dbf 100% 40KB 40.0KB/s 00:00


4、在备库上手工注册上一步中从主库拷贝来的日志
SQL> ALTER DATABASE REGISTER LOGFILE '/u01/archivelog/1_99_626106231.arc';

Database altered.
......

SQL> ALTER DATABASE REGISTER LOGFILE '/u01/archivelog/1_109_626106231.arc';

Database altered.

5、稍等片刻,观察备库的alert日志信息

Sun Aug 12 20:38:47 2007
Media Recovery Log /u01/archivelog/1_99_626106231.arc
Media Recovery Log /u01/archivelog/1_100_626106231.arc
Media Recovery Log /u01/archivelog/1_101_626106231.arc
Media Recovery Log /u01/archivelog/1_102_626106231.arc
......
从以上信息,可以看出之前注册的日志已经被正常应用。

6、检查备库是否还有日志GAP

SQL> select * from V$ARCHIVE_GAP;

no rows selected

如果有行返回,则重复2-5步,直到查询结果是"no rows selected"。

如果日志只是临时移动到其他地方,过后会再移回原路径,则不用这么大费周折手工去手工处理了,把日志拷回原处后FAL会自动处理GAP。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/231499/viewspace-63845/,如需转载,请注明出处,否则将追究法律责任。

下一篇: DATAGUARD失败切换
请登录后发表评论 登录
全部评论

注册时间:2005-01-25

  • 博文量
    245
  • 访问量
    211347