

在《从需求看懂Oracle RAC多租户环境的Service》中,有人在评论中提出,并没有演示Service的Failback,本期就利用双节点RAC演示环境做一下实战。
使用Oracle VirtualBox创建两台虚拟机,操作系统为OracleLinux 7.9,数据库为19.15,需要创建的服务信息如下:


在Oracle用户下创建Service:
srvctl add service -db racdb -pdb racpdb -s db1 -preferred racdb1 -available racdb2 -failback YES

这里我们还可以在两个节点上检查一下监听:


这里直接关闭虚拟机电源:

在节点2检查数据库与Service状态:

这里可以看到db1的Service已经正常转移到了节点2,对应Service也正常注册到了节点2的监听。
这里选择重新启动节点1:

等待操作系统、GI和DB启动完成后检查数据库与Service状态:

这里可以看到db1的Service已经回到了节点1,db1的Service也未在节点2的监听注册。

db1的Service重新注册到了节点1的监听。
本期通过实战可以看到,配置了Failback的Service是会在常驻节点异常恢复后,Service是会回到原指定常驻节点的。 老规矩,知道写了些啥。