Oracle数据库管理每周一例-第十八期 ADG(02)

第十八期 ADG

本周因为各种安全检查比较闲,结果闲的忘记写了,第二周周一补上

1.主备切换

DG既然作为一种容灾手段,那么在很多情况下,主备数据库之间的角色是需要进行互换:比如主库或者主库所在机房出现异常、灾备演练等。那么这里也主要有两种切换方式:

dgmgrl >
	switchover to sbdb;
	or
	failover to sbdb;

switchover就是正常的主备切换,切换完成后sbdb为主库,prod为备库,二者依然保持同步。
failover则是直接将sbdb提升为主库,prod直接踢出dg,主要用于故障情况下切换,后续可能出现两个库数据不一致的现象,需要重建dg。
这里failover的时间快于switchover的时间,而由于日志实时应用ADG环境快于DG环境。

2.一些常见故障处理

在我管理的ADG环境中,由于主备库所在机房之间网络经常出现波动,会出现主库发送日志失败传输中止(有几率自动恢复)或备库接收失败日志应用中止(有几率自动恢复)的现象。在这种情况下,千万不要手动删除主库未同步的归档日志,rman备份删除日志时会有保护机制,确保未同步的归档日志不被删除,因为未同步的归档日志删除后会导致删除了的日志无法在备库应用,导致DG同步失效。如果发现了以上两种情况解决方案也比较简单:

dgmgrl >
	edit database prot set state='transport-on';
	edit database sbdb set state='apply-on';
	#这里需要注意一点,show configuration显示异常而show database xxx中state即使正常,也需要通过上面命令恢复DG同步

3.FSFO

FSFO,Fast-Start Failover,快速失败转移,即在主库发生异常时,自动切换至备库,这里需要开启数据库闪回,并在dg broker中进行相关配置。

dgmgrl >
	enable fast-start failover;
	start observer; #启动监控器,可以实时监控dg状态

一般生产我们没有开启该功能,开启数据库闪回会对数据库性能造成较大影响,同时闪回日志也可能造成容量不可能、管理不便。

4.DG需要注意的一些问题

在DG中,主备数据是同步的,尤其是ADG是实时同步的,主库的误操作会同时传输到备库,因此对于误操作的数据恢复,undo有效时使用undo进行恢复,而其他状况下,闪回主库会破坏DG,因此恢复数据主要通过其他备份异机恢复数据或者使用Oracle ZDLRA(零数据丢失恢复一体机).
ZDLRA的好处是,一次全备,其余时间都是实时传输信息到ZDLRA,并可以很快的将数据恢复到任意时间点。而一般的NBU之类的集中备份,则需要通过定期全备来减少多次全备之间的日志恢复时间。

5.自动切换连接字符串

灾备切换演练是DG管理中比较重要的部分,而对于数据库来说,switchover是很简单的操作,而对于应用程序来说,经常因为只写了一条JDBC连接导致切换后无法连接到新的主库,下面就是可以自动切换的连接字符串:

url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=PROD-IP)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=SBDB-IP)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=服务名)(SERVER=DEDICATED)))

当然经过测试,这个连接字符串对JDBC要求挺高的,且不大稳定。
而关于读写分离就需要应用单独配置了。

下期预告:

待定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖头鱼的鱼缸(尹海文)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值