ORACLE11.2.0.3版本RAC集群SCAN监听服务注册失败问题

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

近期某用户的核心系统RAC数据库节点出现宕机正常情况下RAC集群环境一个节点宕机后SCAN监听服务自动运行在另外一个存活节点业务可以继续连接使用数据库。

本次问题SCAN监听程序切换到了存活节点但是存活节点的数据库实例无法注册到监听程序服务也就导致程序无法通过SCAN监听连接数据库导致业务受到影响。

分析SCAN监听程序日志在RAC节点故障前listener_scan日志中两个节点都可以正常注册 service_update关键字可看到。宕机后SCAN监听服务自动运行在另外一个存活节点时listener_scan日志显示没有数据库存活节点注册信息。

结合此现象明显不符合RAC集群的逻辑推测为BUG。

查询MOS确定符合Bug 13066936 - Instance does not register services when scan fails over (Doc ID 13066936.8)。解决方法比较简单人工重新配置remote_listener类似人工注册一下。

步骤

1. 设置remote_listener为空值

show parameter remote_li

alter system set remote_listener='' sid='ehr2' scope=memory;

2.设置remote_listener为正确的SCAN配置

alter system set remote_listener='scan-cluster:1521' sid='ehr2' scope=memory;

show parameter remote_li

3.检查SCAN监听状态、查看程序连接

lsnrctl status listener_scan1

ps -ef|grep LOCAL

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: oracle