重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4282|回复: 1
打印 上一主题 下一主题

[备份恢复] rman使用增量scn恢复oracle dg备库

[复制链接]
跳转到指定楼层
楼主
发表于 2019-3-29 19:56:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 郑全 于 2019-3-29 20:12 编辑

dg 环境中,由于各种原因,比如网络等,导致主库的归档日志没有传输到备库,时间长了,主库空间不够,就直接删除了这部分归档日志,但备库还没有得到这部分归档日志,
等网络通了,但这部分归档日志已经永久丢失,无法再传到备库,就出现永久的 gap,针对这种情况,怎么办呢?

难道只有重建备库一条路可以走吗?


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2019-3-29 20:04:44 | 只看该作者
就这种情况,在 11g r2,答案是肯定的 ,那就是可以使用 增量scn备份来进行快速恢复备库。

详情如下 :

【主要步骤】
1.在备库上找出当前scn;
2.根据此scn,在主库上使用rman完成增量备份;
3.传输增量备份到备库,同时在备库上恢复;
4.重新启动备库同步。

详细过程

==利用rman进行增量scn的恢复==
1.在备库上取消日志应用
SQL> alter database recover managed standby database cancel;
2.查看备库scn
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
    2026280
   
3.根据scn,在主库上进行rman增量备份
Primary:
rman>  rman target /
RMAN> backup incremental from scn 2026280 database format '/home/oracle/ForStandby_%U.bka' tag 'forstandby';
RMAN> backup current controlfile for standby format '/home/oracle/ForStandbyCTRL.bkc';
4.查看增量备份信息
[oracle@ocm1 ~]$ ls -ltr /home/oracle/ForStandby*
-rw-r----- 1 oracle oinstall  6938624 Mar 29 19:16 /home/oracle/ForStandby_0tttm1vk_1_1.bka
-rw-r----- 1 oracle oinstall 10092544 Mar 29 19:16 /home/oracle/ForStandby_0uttm20o_1_1.bka
-rw-r----- 1 oracle oinstall 10092544 Mar 29 19:17 /home/oracle/ForStandbyCTRL.bkc

5.copy增量备份到备库主机 一目录,如:  /home/oracle
[oracle@ocm1 ~]$ scp ForStandby* 192.168.133.14:/home/oracle/.
oracle@192.168.133.14's password:
ForStandby_0tttm1vk_1_1.bka                          100% 6776KB   6.6MB/s   00:00   
ForStandby_0uttm20o_1_1.bka                          100% 9856KB   9.6MB/s   00:00   
ForStandbyCTRL.bkc                                   100% 9856KB   9.6MB/s   00:00   
[oracle@ocm1 ~]$

6.将备库启动到mount状态

SQL> shutdown immediate;
SQL> startup mount;
SQL> exit
7.rman恢复增量备份和控制文件备份
rman target / nocatalog
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
RMAN> DELETE  ARCHIVELOG ALL;
RMAN> catalog start with '/home/oracle/For';  ####注册增量备份文件
Do you really want to catalog the above files (enter YES or NO)? yes


RMAN> RECOVER DATABASE NOREDO;  #### 注意 NOREDO 选项


SQL> shutdown;
SQL> startup nomount;
RMAN> restore standby controlfile from '/home/oracle/ForStandbyCTRL.bkc';
RMAN> shutdown;
RMAN> exit

8.启动备库到mount状态
SQL> startup nomount;
SQL> alter database mount standby database;
9.由于恢复了控制文件,因此需要重新添加新的standby redo log file(若先前有,可忽略此步)
alter database add standby logfile group 11 ('/u01/app/oracle/oradata/sbdb1/STANDBY11.LOG') size 1024m;
alter database add standby logfile group 12 ('/u01/app/oracle/oradata/sbdb1/STANDBY12.LOG') size 1024m;
alter database add standby logfile group 13 ('/u01/app/oracle/oradata/sbdb1/STANDBY13.LOG') size 1024m;
alter database add standby logfile group 14 ('/u01/app/oracle/oradata/sbdb1/STANDBY14.LOG') size 1024m;
alter database add standby logfile group 15 ('/u01/app/oracle/oradata/sbdb1/STANDBY15.LOG') size 1024m;
alter database add standby logfile group 16 ('/u01/app/oracle/oradata/sbdb1/STANDBY16.LOG') size 1024m;
10.启动备库同步
SQL> alter database open read only;
Database altered.
SQL> alter database recover managed standby database disconnect from session using current logfile;
Database altered.

到此,利用增量scn 备份重建dg备库完成。


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-27 09:35 , Processed in 0.100376 second(s), 19 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表