oracle rac连接service服务

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

$ srvctl status database -db orcl
Instance orcl1 is running on node rac1
Instance orcl2 is running on node rac2
让我们创建一个简单的service服务,然后增加fal选项,增加failback选项,当然可以在创建service一次性指定。

$ srvctl add service -db orcl -service orcl2_1 -preferred orcl2 -available orcl1
$ srvctl start service -db orcl -service orcl2_1
$ srvctl modify service -db orcl -service orcl2_1 -failovertype SESSION -failovermethod BASIC -failoverdelay 10 -failoverretry 3
$ srvctl modify service -db orcl -service orcl2_1 -failback YES
当我们尝试reboo实例2,或者kill实例2的核心进程,模拟一种故障。注意正常的instance shutdown并不会导致service failover.

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

$ srvctl status service -db orcl -service orcl2_1 
Service orcl2_1 is running on instance(s) RAC1
这是一种预期行为,之前的版本也可以做到这样,但是很快oraagent把db instance再次拉起。

$ srvctl status service -db orcl -service orcl2_1 
Service orcl2_1 is running on instance(s) RAC2
service服务又自动回到了node2 。

https://www.anbob.com/archives/6067.html

http://blog.itpub.net/27571661/viewspace-1781715/

http://www.learnfuture.com/article/742

猜你喜欢

转载自blog.csdn.net/jycjyc/article/details/108885233