一個很有意思的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的問題也處理掉了。
重啓後故障消失。
特此記錄。