Home  >  Article  >  Database  >  增量备份解决DataGuard库日志GAP

增量备份解决DataGuard库日志GAP

WBOY
WBOYOriginal
2016-06-07 16:44:481005browse

有时候备库滞后于主库很长时间了,而主库的归档日志已经不存在了,此时的日志间隔如何消除那,很多人选择重建备库,这个是很麻烦

有时候备库滞后于主库很长时间了,而主库的归档日志已经不存在了,,此时的日志间隔如何消除那,很多人选择重建备库,这个是很麻烦的,尤其当主库数据量很大的时候,此时我们还有另外一种选择,那就是使用增量数据库备份来前滚备库,消除日志间隔。

具体作法如下:

1.备库查看丢失的归档时的scn号

idle> select current_scn from v$database;

CURRENT_SCN

-----------

96458277

2.主库创建基于丢失归档scn号为起始的增量备份(要确定主库和备库的目标目录有足够的空间,这里使用/tmp文件夹)

RMAN>

run{

BACKUP DEVICE TYPE DISK INCREMENTAL FROM SCN 96458277 DATABASE FORMAT '/tmp/stb_bk/%U_for_stb.bk' include current controlfile for standby;

}

3.备份好之后,从主库传到备份库的目录中,可以与上文的目录不同。

RMAN> CATALOG START WITH '/tmp/stb_bk/';

4.查看一下controlfile的位置,因为接下来要使用备份的控制文件。

idle> show parameter control

再查看一下standby_log文件的位置,因为接下来可能需要重建。

idle> select *from v$logfile ;

5.使用如下命令在rman中恢复

RMAN>

run{

restore standby controlfile to '/tmp/stb_controlfile01.ctl';

recover database noredo;

}

如果报如下错误,可能是recover managed standby命令正在执行:

ORA-19870: errorwhile restoring backup piece /tmp/stb_bk/05n5a31s_1_1_for_stb.bk

ORA-19573: cannotobtain exclusive enqueue for datafile 1

执行如下命令,或者重启数据库到mount状态:

idle>alter database recover managed standby database cancel ;

然后在rman中再次执行:

RMAN>

run{

restore standby controlfile to '/tmp/stb_controlfile01.ctl' ;

recover database noredo;

}

6.关闭数据库,将恢复出来的备份控制文件覆盖掉原有的控制文件。

 

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle Data Guard 重要配置参数

基于同一主机配置 Oracle 11g Data Guard

探索Oracle之11g DataGuard

Oracle Data Guard (RAC+DG) 归档删除策略及脚本

Oracle Data Guard 的角色转换

Oracle Data Guard的日志FAL gap问题

Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法

本文永久更新链接地址:

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn