【DB宝31】Oracle DG环境中主库使用rman做不完全恢复后,备库如何修复继续同步

0    8408    0

👉 本文共约2295个字,系统预计阅读时间或需9分钟。

【DB宝31】Oracle DG环境中主库使用rman做不完全恢复后,备库如何修复继续同步

本文介绍一下,在DG环境中,主库使用rman做不完全恢复后,备库如何通过flashback操作,继续和主库保持同步,而不用重新搭建DG。

主备库均已开启闪回数据库特性。

一、下载镜像

小麦苗DG环境的hub地址:
https://hub.docker.com/r/lhrbest/dg_pri_11.2.0.4/tags
https://hub.docker.com/r/lhrbest/dg_phy_11.2.0.4/tags

查看镜像:

给镜像打tag:

二、DG环境初始化

DG环境情况见下表:项目主库物理备库
db 类型单实例单实例
db version11.2.0.4.011.2.0.4.0
db 存储FSFS
OS版本RHEL7.6 64位CentOS7.6 64位
OS hostnameLHR11GLHR11GDG
IP地址192.168.68.68192.168.68.69
ORACLE_SIDLHR11GLHR11GDG
db_name/GLOBAL_DBNAMELHR11GLHR11G
db_unique_nameLHR11GLHR11GDG
TNS_NAMELHR11GLHR11GDG
监听端口15211521
映射的主机端口15281529
ORACLE_HOME/u01/app/oracle/product/11.2.0.4/dbhome_1/u01/app/oracle/product/11.2.0.4/dbhome_1
dbid20079475512007947551

查询目前DG的同步情况:

这里需要说明的是,我这套环境做过多次的主备切换操作,所以,建议做实验之前,把归档日志号切换增长到50以上,多次执行“alter system switch logfile;”即可:

另外,把闪回恢复区设置大一点,例如:alter system set db_recovery_file_dest_size=8g;

三、主库做备份操作

四、主库查询SCN,后续恢复到该时间点

说明主备是同步的,接下来我们对主库做不完全恢复。

五、主库还原,做不完全恢复

假设主库出现很严重的错误,必须使用rman做不完全恢复,现在要恢复主库到SCN为 1373192

主库查询:

备库查询:

可见,主备关系已经断掉了,不能再自动同步了。

备库的告警日志:

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

可以看到dg备库已经知道主库做了resetlogs,也提示dg需要flashback才能继续同步。这里提示dg需要flashback到1361559(Flashback database to SCN 1361559 to follow new branch),主库做不完全恢复的点为1373192。

下边进行修复操作。

六、备库做闪回操作

这里需要注意的是,scn号必须备库的告警日志中获取,这里获取到的是1361559,闪回操作如下:

七、查询主备库是否实时同步

DG环境恢复正常。

八、总结

1、在DG环境中,建议对主库和备库都开启闪回数据库的特性,并且设置比较大的闪回恢复区(db_recovery_file_dest_size)。

2、在DG环境中,若主库做了不完全恢复,那么备库必须做相关的闪回操作才能恢复DG的同步关系。DG备库闪回的SCN号可以从备库的告警日志中获取到(Flashback database to SCN 1361559 to follow new branch)。

    头像

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表评论

    您的电子邮箱地址不会被公开。

    16 − 2 =

     

    嘿,我是小麦,需要帮助随时找我哦
    • 18509239930
    • 个人微信

    • 麦老师QQ聊天
    • 个人邮箱
    • 点击加入QQ群
    • 个人微店

    • 回到顶部
    返回顶部