12月21日上午09點(diǎn)00分左右接短信告警,XXX庫節(jié)點(diǎn)1實(shí)例斷連,第一時間登陸環(huán)境檢查,發(fā)現(xiàn)XXX庫節(jié)點(diǎn)1主機(jī)于09點(diǎn)01分左右發(fā)生重啟完成。通過分析節(jié)點(diǎn)1集群日志發(fā)現(xiàn)08點(diǎn)35分到09點(diǎn)01分無報(bào)錯信息,09點(diǎn)02分04秒左右節(jié)點(diǎn)1開始啟動集群,節(jié)點(diǎn)1數(shù)據(jù)庫后臺日志顯示8點(diǎn)51分切換日志后無報(bào)錯信息,后續(xù)集群啟動完成后開始啟動數(shù)據(jù)庫實(shí)例。
OSW日志顯示:示節(jié)點(diǎn)1在8點(diǎn)55分出現(xiàn)斷點(diǎn),cpu和內(nèi)存資源正常,b隊(duì)列較高,節(jié)點(diǎn)1在故障時間8點(diǎn)55分左右IO耗盡,導(dǎo)致主機(jī)無法響應(yīng),網(wǎng)絡(luò)通信失敗,節(jié)點(diǎn)1網(wǎng)絡(luò)心跳超時,發(fā)起主機(jī)重啟。9點(diǎn)01分主機(jī)重啟完成。
8點(diǎn)55分左右IO耗盡的原因:節(jié)點(diǎn)1在8點(diǎn)45分左右,大量未使用綁定變量、全表掃描的同一類型高耗sql同時執(zhí)行,導(dǎo)致數(shù)據(jù)庫產(chǎn)生大量的direct path read異常等待事件,direct path read(sql發(fā)起從磁盤中讀操作,耗IO資源),最后IO資源耗盡,致主機(jī)無法響應(yīng),網(wǎng)絡(luò)通信失敗,節(jié)點(diǎn)1網(wǎng)絡(luò)心跳超時,發(fā)起主機(jī)重啟。9點(diǎn)01分主機(jī)重啟完成。
具體分析如下:
數(shù)據(jù)庫節(jié)點(diǎn)1主機(jī)9點(diǎn)1分重啟完成:
oracle集群日志顯示在8點(diǎn)35分到9點(diǎn)02分發(fā)起集群啟動之間無報(bào)錯信息:
oracle后臺日志顯示數(shù)據(jù)庫實(shí)例在8點(diǎn)51分到9點(diǎn)21分啟動實(shí)例無報(bào)錯信息:
Osw日志顯示節(jié)點(diǎn)1在8點(diǎn)55分出現(xiàn)斷點(diǎn),cpu和內(nèi)存資源正常,b隊(duì)列較高
節(jié)點(diǎn)2Ping節(jié)點(diǎn)1私網(wǎng)也是在8點(diǎn)55分之后出現(xiàn)斷點(diǎn):
節(jié)點(diǎn)2ping節(jié)點(diǎn)1私網(wǎng)在8點(diǎn)55分左右出現(xiàn)丟包,說明節(jié)點(diǎn)1主機(jī)已宕:
節(jié)點(diǎn)1在8點(diǎn)時間段的IO情況來看,正常:
在故障時間點(diǎn)(8點(diǎn)55分左右)節(jié)點(diǎn)1主機(jī)IO出現(xiàn)大量磁盤讀動作
8點(diǎn)50分左右節(jié)點(diǎn)1在宕掉之前出現(xiàn)明顯的IO等待:
通過非故障時間點(diǎn)與故障時間點(diǎn)進(jìn)行比較發(fā)現(xiàn):節(jié)點(diǎn)1在故障時間8點(diǎn)55分左右IO耗盡,導(dǎo)致主機(jī)無法響應(yīng),網(wǎng)絡(luò)通信失敗,節(jié)點(diǎn)1網(wǎng)絡(luò)心跳超時,發(fā)起主機(jī)重啟。9點(diǎn)01分主機(jī)重啟完成。
進(jìn)一步檢查8點(diǎn)55分左右IO耗盡的原因,發(fā)現(xiàn)節(jié)點(diǎn)1在8點(diǎn)45分左右數(shù)據(jù)庫產(chǎn)生大量的direct path read異常等待事件,direct path read(sql發(fā)起從磁盤中讀操作,耗IO資源)
AWR報(bào)告顯示:direct path read大量物理讀占大量IO資源
產(chǎn)生direct path read大量物理讀源頭的sql如下:同一類型的高耗sql語句,SQL沒有經(jīng)過審核進(jìn)行上線
sql語句如下所示:未使用綁定變量產(chǎn)生多個不同sql_id,多個全表掃會話跑同一類型高耗sql(大量類似SQL同時執(zhí)行),導(dǎo)致IO資源耗盡,并且這些sql都未經(jīng)數(shù)據(jù)庫側(cè)進(jìn)行評審上線。
高耗sql如下:全表掃描
檢查重啟后數(shù)據(jù)庫實(shí)例狀態(tài)、CRS狀態(tài)、監(jiān)聽狀態(tài)等。并通知應(yīng)用檢查應(yīng)用
后續(xù)改進(jìn)措施:
1、 應(yīng)用側(cè)核查高耗sql模塊,并進(jìn)行優(yōu)化,數(shù)據(jù)庫側(cè)可以協(xié)助提供技術(shù)支持。
2、 開發(fā)商加強(qiáng)上線評審,評審?fù)ㄟ^后方可上線,避免私自未經(jīng)評審上線。
3、應(yīng)用修改連接機(jī)制,進(jìn)行數(shù)據(jù)庫高可用配置(連接數(shù)據(jù)庫VIP,而不是物理IP)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130247.html
摘要:新晉技術(shù)專家下面是墨天輪部分新晉的技術(shù)專家。大家可以點(diǎn)擊往期閱讀墨天輪技術(shù)專家邀請函了解詳情,申請成為我們的技術(shù)專家,加入專家團(tuán)隊(duì),與我們一起創(chuàng)建一個開放互助的數(shù)據(jù)庫技術(shù)社區(qū)。新關(guān)聯(lián)公眾號墨天輪是一個開放互助的數(shù)據(jù)庫技術(shù)社區(qū)。 引言 近期我們在DBASK小程序增加了數(shù)據(jù)庫 MongoDB、Redis、 Elasticsearch、DB2、Weblogic 等新的的專題欄目和一些新的技術(shù)...
閱讀 1401·2023-01-11 13:20
閱讀 1745·2023-01-11 13:20
閱讀 1234·2023-01-11 13:20
閱讀 1957·2023-01-11 13:20
閱讀 4191·2023-01-11 13:20
閱讀 2802·2023-01-11 13:20
閱讀 1432·2023-01-11 13:20
閱讀 3731·2023-01-11 13:20