Oracle 18c DG切换保护模式 和 主备库角色

0    85    2

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

1 查看DG是否正常

搭建好DG后腰验证DG是否同步正常,可以直接在主库创建测试表,看数据能否同步过去,另外就是查看相关配置是否正常,然后切换下日志,看备库是否正常应用。

2 启用Real-Time Apply

在Oracle 12c 之前的Data Guard 环境中,默认情况下备库apply redo 是从备库的归档文件中读数据的。在Oracle 12c 中,默认的策略改成直接从standby redo log file中读取,采用real-time apply的方式进行。
对于物理standby,如果配置了standby redo日志并且处于ARCHIVELOG模式,在执行alter database recover managed standby database语句启动MRP时默认就是Real-Time Apply。

如果想取消MRP,执行以下语句:

关于该特性的详细说明,可以参考我的博客:
Oracle 12c 新特性 — DG 默认使用 Real-Time Apply
https://www.cndba.cn/cndba/dave/article/213

3 DG保护模式切换

Oracle DG有三种不同的保护模式供选择:最大可用(Maximum Availability),最大性能(Maximum Performance),最大保护(Maximum Protection)。关于他们的区别这里不再描述,可以参考官方手册的说明。 Oracle 默认采用的是最大性能。

三种模式之前切换的时候,有2个必要条件:

  1. 配置了standby redo log
  2. Log_archve_dest_2 参数需要配置sync, affirm的方式, 这个我们在安装的时候已经配置过。

所以三种模式之间可以随意切换。

3.1 最大性能切换到最大可用

3.2 最大可用切换到最大保护

3.3 最大保护切换到最大可用

3.4 最大可用切换到最大性能

3.5 最大性能切换到最大保护

这里切换失败,需要主库在MOUNT状态下切换,也可以采用曲线救国的方式,先切换到最大可用,在切换到最大保护。这里和上面相同,不再操作。

4 Switchover 切换示例

1)验证数据库是否可以进行switchover

12c以后的switchover语句多了VERIFY选项,可以检查切换所需的许多条件。比如备库的数据库版本,MRP是否启动,数据是否同步等。

2)在主数据库上进行switchover

3)在新主库上打开数据库

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

4)启动新备库

5 Failover切换示例

1) 推送日志

Failover是不可逆的操作,一般仅当主库不能打开时使用,如果DG的保护模式不是最大保护,那么在激活备库之前,还是需要尽可能将未发送到备库的日志推动到备库。 只要主库能启动到mount状态就可以进行该操作。

2)正常的Failover 操作

3)强制failover

如果正常的Failover 无法成功执行,可以采用这里的强制的激活failover,该操作可能会丢数据:

4) 启动新主库

然后重新搭建DG 环境,做好备份。

参考

https://www.cndba.cn/dave/article/2996

标签:

头像

小麦苗

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

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

18 − 10 =

 

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

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

  • 回到顶部
返回顶部