首页 » ORACLE [C]系列, ORACLE 9i-23c » Oracle 19c RAC新特性 : Automatic Failback of a Service

Oracle 19c RAC新特性 : Automatic Failback of a Service

Oracle数据库服务的高可用性一直是RAC,其它关系型数据库不可匹敌的功能。应用配置TFA,当数据库实例发生故障时,以该实例为首选实例的服务将故障转移到另一个可用实例。不幸的是,实例再次启动后,服务并没有故障切换回原始实例。dba必须重新ralocate service服务。Oracle数据库19c对此进行了更改,增加了自动回归。

$ srvctl status database -db anbob
Instance ANBOB1 is running on node rac1
Instance ANBOB2 is running on node rac2

让我们创建一个简单的service服务,然后增加fal选项,增加failback选项,当然可以在创建service一次性指定。

$ srvctl add service -db anbob -service anbob2_1 -preferred anbob2 -available anbob1
$ srvctl start service -db anbob -service anbob2_1
$ srvctl modify service -db anbob -service anbob2_1 -failovertype SESSION -failovermethod BASIC -failoverdelay 10 -failoverretry 3
$ srvctl modify service -db anbob -service anbob2_1 -failback YES

当我们尝试reboo实例2,或者kill实例2的核心进程,模拟一种故障。注意正常的instance shutdown并不会导致service failover.

当实例2异常终止后(kill db pmon process)

$ srvctl status service -db anbob-service anbob2_1 
Service ANBOB2_1 is running on instance(s) RAC1

这是一种预期行为,之前的版本也可以做到这样,但是很快oraagent把db instance再次拉起。

$ srvctl status service -db anbob-service anbob2_1 
Service ANBOB2_1 is running on instance(s) RAC2

service服务又自动回到了node2 。

打赏

对不起,这篇文章暂时关闭评论。