【DB宝30】使用Docker测试Oracle 11g高可用DG功能

0    3891    4

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

image-20210621113144705

一、下载镜像

小麦苗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环境情况见下表:项目主库物理备库
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的高可用功能

下面会分别测试DG环境的以下几个功能:

1、验证同步
2、switchover
3、failover
4、fsfo
5、故障切换

3.1 主备同步

主库查询DG情况:

备库查询日志应用情况:

可以看到,主备是实时同步的。

3.2 switchover

接下来使用dgmgrl来验证switchover功能。

可以看到,主备角色已成功切换,接下来验证同步功能。

主库操作,注意此时主库为LHR11GDG:

备库操作,注意此时备库为LHR11G:

可以看到,同步功能正常。

3.3 failover

接下来使用dgmgrl来验证failover功能。

failover成功,主库变为LHR11G。

接下来需要修复LHR11GDG,重启LHR11GDG到MOUNT状态,再执行reinstate即可。

修复成功,主库为LHR11G,备库为LHR11GDG。

3.4 FSFO(Fast-Start Failover)

首先启用Fast-Start Failover:

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

接下来,我们shutdown abort掉主库LHR11G,等待10秒后,会发现主备自动切换:

从观察者进程的日志查看(/tmp/observer_LHR11G.log):

查询切换后的DG状态:

FSFO后,在重启LHR11G后,dgmgrl会自动修复(/tmp/observer_LHR11G.log):

等待几分钟后,DG环境恢复正常,观察者进程的日志输出:

3.5 故障切换

本文最后一个内容,测试一下DG环境中的自动切换功能。

我们在Windows客户端配置tns如下,包含了TAF透明故障转移:

使用客户端连接:

可见,当前连接到的是LHR11GDG库。

接下来,我们shutdown abort掉LHR11GDG库,后台DG自动进行主备切换,而客户端连接不用改变就可以执行查询,若是SELECT操作一半,那么对客户来说只是中间卡顿,而不会断开操作,如下:

【DB宝30】使用Docker测试Oracle 11g高可用DG功能

我们重启LHR11GDG库,等待几分钟后,DG环境恢复正常:

四、重建DG

如果由于特殊原因导致备库不可用,必须进行重建,那么可以使用如下过程直接进行重建DG。

若想学习DG其他更详细的内容,请咨询麦老师。

标签:

头像

小麦苗

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

您可能还喜欢...

发表回复

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

5 + 13 =

 

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

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

  • 回到顶部
返回顶部