fast start oracle,Oracle Data Guard fast-start failover配置与应用

这个fast-start failover的功能是当primary数据库down掉后,它会自动地快速执行切换standby数据库为primary数据库操作,在实际环境中这个功能还是蛮不错的。那么何时系统才会执行fast-start failover呢?据官方文档介绍,当数据库以正常模式(shutdown immediate、shutdown normal、shutdown transactional)关闭时,系统不会触发fast-start failover的。下面的过程是使用shutdown abort关闭primary数据库的,所以这个操作触发了fast-start failover。在这里会用到observer,observer是用来监控primary数据库是否可用,当主库不可用时,系统会执行快速切换standby数据库为primary数据库。官方建议observer不能与primary和standby数据库位于同一台主机,由于资源有限,我这里的primary、standby数据库与observer都位于同一台机器。primary数据库的名称是db01,standby的数据库名称是db02。

一、在primary和standby数据库启用flashback:

1、主库db01上操作:

44466fd1aff852a09e62b6eedd90d305.png

9c67980e437fb5a1ca45a3aba67f33c0.png

在standby数据库上打开flashback之前,要先将standby数据库的intended state的状态更改为apply-off,primary数据库上不用操作。

2、备库操作:

6ddfb54588e66767281c6e5fdc16c4f4.png

打开flashback之后,要将standby数据库的intended state的状态更改为apply-on。

c00ed32fdc6c854474008af8fc7fc1e3.png

二、配置和启用observer:

官方建议observer应该与primary和standby数据库隔离,不能在一台机器上,这里资源有限,所以三者都在同一台机器上。

首先创建一个observer.log文件,里面包含了系统切换信息:

ead65b22fa9a31a3c9e807a92dfffb78.png

查看fast_start failover的状态:

cf7c14d0f9ec3b054a108df6bca4176e.png

修改FastStartFailoverLagLimit的值为45,默认是30。

49e7675b99b76594a2bf7438927d2833.png

启用fast_start failover和启动observer:

81d55bddb1ae2499bb074ce424060543.png

查看observer的日志信息:

0567f89bb0941e54e36d89d92e1414ff.png

查看fast_start failover是否已经启用成功:

9d38a5e8cd6d1a25ef542f711d45fff5.png

1d64468dbc4b782f3c1bb86d490aea29.png

也可用通过查询v$database视图,获取有关observer的信息:

v$database视图中fast_start failover的信息:

3ccb4d280ded9f768c6ed624279768e2.png

v$database视图中查看observer的信息:

bde75787b8bf48fa62042ad051809fcf.png

对于以下结果:

56cc94a1930fcf0d292ed81b06828a50.png

官方有如下解释:

cecd640588bb00c1917d8f43178ac717.png

如果observer不存在,会是如下结果:

6e925e539f7996b38972c0083fee38ce.png

如果observer启动失败,会产生以下ORA错误信息:

c3e99480fcd9ac3d6813765d9d466cb1.png

三、fast_start failover实战过程:

在primary数据库上执行以下语句:

ac049d5c1f34d64f4c9dfe0a2a66d29a.png

以上语句会向v$fs_failover_stats视图中写入”App Initiated Failover Test”信息。执行完成后,系统会执行fast_start failover操作,可以查看observer.log文件:

6344da2bd2f796a7469bcc918c662bb5.png

这块执行完成后,primary数据库db01会shutodown。

standby数据库db02上查询:

ce442888d04887526ce6ec8c274fe3d3.png

通过dgmgrl查询配置信息:

291addae3565ab90007ee35d68e130c5.png

接着启动primary数据库db01至mount状态:

f3c18f501f6dfcec9e9c05f3282d5a5a.png

完了之后再执行reinstate db01操作:

72dd50b0d631d730f8ddcaa20dad0782.png

fa5e3380c5f0444be371e0fe8f1c3cc2.png

primary数据库db01查询:

0158a151f91907eb2523ea54f3436620.png

standby数据库db02上查询:

f1bce80cd6510b3d22cc82410737f707.png

standby数据库db02上查询V$FS_FAILOVER_STATS视图:

50d0a8e639d9584997110d4dbc96235d.png

V$FS_FAILOVER_STATS视图中包含了系统中fast-start failover的信息。

以abort方式关闭standby数据库db02后,primary数据库db01就会成为主库:

c07a94e249d4a95b7338948c0fac94b9.png

可以查看observer.log文件:

eb1a3ab26cbfc0b56af5ba281303834c.png

接着启动standby数据库db02至mount状态:

4bc1bf60bfa1d5727c938f2db5ef5d8a.png

启动起来之后,继续查看observer.log文件,会发现系统会重新reinstate db02:

e99518aaad2af44b9029ad174aac7730.png

然后查看dgmgrl的配置信息:

23d4d963d74dd3d72e677905cf1afe5c.png

至此,整个fast_start failover配置过程结束。某些具体参数的意义请参考官方文档。

参考文献:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值