今天上午,某项目运维组的同事过来求助:"某系统的应用有问题了,WEB页面打开以后出现ORACLE的ORA-12514错误,貌似监听有问题了!"
该系统的数据是采用RAC部署的模式,通过crs_stat -t 检查集群资源状态。发现各种资源都在ONLINE的状态,特别关注了一下scan1.vip的资源,正常。通过netstat检查当前的网络连接情况,发现SCANIP上有很多连接,看起来不像是有问题的样子。在NET MANAGER配置一个测试的命名服务,发现确实无法连接到SCANIP,但是两台机器的VIP都是正常的。在操作系统上执行telnet scanip 1521,发现不通。。。。估计SCANIP真的有问题了,但是在CRS_STAT -T上显示出来的不正确。
处理过程:1、将应用的相关连接全部更改到其中一个VIP上。2、重启应用节点,测试应用可以正常登录后开始进行SCANIP的处理。3、 通过crs_stop指令停止SCANIP的资源,发现无法正常停止。4、进入操作系统--服务中,将SCAN的LINSTENER服务进行停止。4、通过服务重新启动 SCAN的LINSTENER服务,发现报错,启动失败。5、通过指令crs_start指令进行SCANIP的资源启动,可以正常启动。6、检查SCANIP及端口的可用情况,发现可以正常连接数据库,服务恢复正常。7、通知应用系统运维人员修改应用的数据库连接地址,从VIP地址切换回SCANIP地址。