一个很有意思的CASE,早上接报某用户的核心生产部分业务中断,无法连接。该用户为4节点RAC,后现场工程师修改WAS指向除第一节点意外其他节点,业务恢复正常。
到了现场后常规流程,做AWR的时候发现出了BUG,enq-wf contention,无法获取AWR报告,检查等待事件,节点1一切正常。ALERT日志无错误。
VMSTAT显示节点压力较大。用户DBA表示昨晚OGG有过部分进程僵死,早上的时候重启了extract进程。于是想当然的认为是OGG导致节点压力过大,WAS返回慢。
回到家后在带孩子玩,用户电话来了,业务又不行了,赶回家远程登录,发现又好了,这次认真起来,检查了所有LOG,在l节点1的istener.log中有如下显示。
TNS-12518: TNS:listener could not hand off client connection
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
IBM/AIX RISC System/6000 Error: 32: Broken pipe
看来是操作系统的情况了
IBM/AIX RISC System/6000 Error: 32: Broken pipe统一指向为内存的leak或者是listener.log过大
于是申请停机节点1,清空listener..log,重启的过程中顺手把OGG的问题也处理掉了。
重启后故障消失。
特此记录。