ORACLE RAC节点关机之后,service没有漂移到备用的节点

环境说明:oracle 11g r2,rhel linux
状况描述:使用crs_stat stop crs停掉集群组件时,运行在当前节点上的service没有漂移到备用节点上,导致数据库无法访问。
在搜索了大量帖子以及个人实验之后发现,要实现service自动漂移需要具备以下两个条件:
1、srvctl config service -d db_name -s service该命令下查看当前servie:
Preferred instances: service_name_1
Available instances: service_name_2
即在添加服务的时候就需要指定-r 和-a参数
2、使用sqlplus->shutdown immediate 关闭数据库实例,service会自动漂移,但是使用srvctl stop instance 则不会漂移(11.2以前的版本会自动漂移)
11.2及以后的版本需要使用如下命令关闭:
srvctl stop instance -d db_name -i instance_name -f 必须加上参数-f
12c的语法有所变更,如果不使用-force 或者-failover参数,关闭实例会报错
$ srvctl stop instance -d orcl -i orcl1
PRCD-1315 : failed to stop instances for database orcl
PRCR-1014 : Failed to stop resource ora.orcl.db
PRCR-1065 : Failed to stop resource ora.orcl.db
CRS-2529: Unable to act on ‘ora.orcl.db’ because that would require stopping or relocating ‘ora.orcl.orcl_service01.svc’, but the force option was not specified
如果想让实例漂移,则添加-failover参数:
srvctl stop instance -d db_name -i instance_name -failover
如果不想让service漂移,则添加-force参数:
srvctl stop instance -d db_name -i instance_name -orce
PS:个人感觉这个可能还可以指定service是否漂移,具体的可以-h查看更多参数了
3、其实上述还有另外一种处理方式,就是在关闭数据库之前,先把service手动漂移:
srvctl relocate service -d db_name -s service_name -i old_instance_name -t new_instance_name
4、关于srvctl add/config/remove service的一些操作:
srvctl add service
-d <db_unique_name> Unique name for the database
-s Service name
-r “<preferred_list>” Comma separated list of preferred instances
-a “<available_list>” Comma separated list of available instances
-P {NONE | BASIC | PRECONNECT} TAF policy specification
-e Failover type (NONE, SESSION, or SELECT)
-m Failover method (NONE or BASIC)
-q AQ HA notifications (TRUE or FALSE)
Usage: srvctl add service -d <db_unique_name> -s <service_name> -u {-r “<new_pref_inst>” | -a “<new_avail_inst>”} [-f]
-d <db_unique_name> Unique name for the database
-s Service name
-u Add a new instance to service configuration
-r <new_pref_inst> Name of new preferred instance
-a <new_avail_inst> Name of new available instance
-f Force the add operation even though a listener is not configured for a network
-h Print usage
上述只列出了我自己了解的部分参数,其他的可以通过-h查看
config和remove相对简单
srvctl config service -d db_name -s service_name
srvctl remove service -d db_name -s service_name -i instance_name [-f]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值