下面让我们看一下,这个在19c上的变化
srvctl add service -db pgold -service srvohsdba -preferred pgold1 -available pgold2 -failback yes
srvctl start service -db pgold -service srvohsdba
srvctl status service -db pgold -service srvohsdba
srvctl config service -db pgold -service srvohsdba
注意:创建服务时,如果没有使用failback,那么在srvctl config service查看时,不会显示Failback: false字样。
重启第一个节点。然后在第二个节点查看,看看服务srvohsdba的变化情况
我们看到,服务自动的回到了第一个节点。
Failback参数的好处
假定Oracle的集群有4个节点,运行了4个pdb,这时我们就可以将服务固定到相应的节点,一方面保证了高可用,另一方面也可以减少cache fusion的竞争。如果没有failback这个参数,每次重启时或实例故障时,我们就很难控制服务运行在固定的实例,必须手动干预。这个对DBA来说,太棒了。这个期待已久的特性,在19c终于实现了。
Reference
https://docs.oracle.com/en/database/oracle/oracle-database/19/racad/server-control-utility-reference.html#GUID-EC1BA6D7-D538-4E11-9B31-C59389FDF93B