2015年9月19日,ERP资金系统应急演练,切换AIX ORACLE双机数据库到备机,结果没有成功切换,导致数据库监听无法正常启动,下面是故障的排查及处理过程。
通过沟通发现,HA切换失败后监听就无法正常启动、数据库能正常启动,后来进行主节点重启,重启后监听程序依然无法启动。无论是启动监听、还是查看监听状态,命令都停留在connecting阶段,如下图所示:
检查监听的告警日志,发现报错与网卡适配器相关,如下图所示:
根据错误信息怀疑是监听程序引用的IP有问题,可能是ping不同了,查看监听配置文件,查明监听引用的IP别名是cuzjdb1_svc,查看该别名对应的IP(/etc/hosts)如下:
然后,我试着ping了下,结果是ping不通的,然后我又iconfig -a看了下,发现cuzjdb1_svc对应的10.0.205.18的IP已经不在了,如下图所示:
由此,故障基本就可以定位了,原因就是监听所依赖的IP地址没有了,导致Oracle数据库监听无法正常启动;导致IP10.0.205.18丢失的原因是:p系统服务器和RS/6000机器上使用命令ifconfig为网卡命名别名(ifconfig network_interface second_ip_address netmask your_netmask alias),AIX在ODM中未记录此定义,关机后该定义会丢失。
处理方法就是:ifconfig en4 10.0.205.18 netmask 255.255.255.0 cuzjdb1_svc,为了避免该ip地址再次丢失,可以考虑将该命令加入开机启动项里边(/etc/rc.net)
执行完ifconfig 添加IP地址的命令后,测试ping cuzjdb1_svc通过,如下图所示:
再次启动并查看数据库监听状态,正常了,如下如: