tempdb日誌檔案暴增分析
背景
某醫院 資訊科接到CIS系統磁碟空間不足告警,透過排查發現tempdb的日誌檔案暴增,已經漲到了130G左右,並且還在持續增長中。 需要我們緊急排查原因。
現象 1
登陸到伺服器裡,確實看到了如上所說,D盤空間僅剩14.5G,並且tempdb的日誌檔案已經達到了130G。
登入到SQL專家雲,透過趨勢分析進行回溯,在 1 月2 2日上午 8 點40分之前,tempdb日誌檔案的總大小(藍線)一直保持在500M,使用空間(黃線)也能被重用。從這個時間點之後, 總空間和使用空間一直增長 。
分析 2
據此推測 在1月22日上午8點40分左右有一個或者多個會話有 沒有提交的事務,並且一直到現在為止都沒有提交。進入 SQL專家雲的 空閒會話 頁面, 點選 有未提交事務 選項卡,開始查詢這個時間段內的空閒會話,找到了ID為667的會話,空閒時間為16185分鐘,語句最後請求結束時間正好對應上Tempdb開始增長的時間點。
點選進入完整資訊,可以看到該會話在1月22日8點29分08秒建立的,在1月22日8點29分10秒開始了一個事務,在 1月 22日8點40分11秒後執行最後一條語句後不再執行語句,到目前為止該事務已經開了11天的時間。
解決 3
KILL掉這個會話,過幾分鐘後觀察日誌檔案的使用空間已經下降。
但是日誌檔案的總大小是不變的,再執行收縮tempdb日誌檔案的命令即可釋放掉磁碟的空間。
總結 4
這類問題的大多數原因是應用程式實現不嚴謹造成的,正常的流程下會提交事務,關閉資料庫連線,但是如果中間某個步驟出錯了,因為沒有異常處理,在這個出錯步驟後面的提交事務和關閉連線的程式碼都沒有執行到,最終導致 事務和連線的洩露。
其它 5
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70023658/viewspace-2937339/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- tempdb資料檔案暴增分析
- 【SQL】Oracle 歸檔日誌暴增原因分析SQLOracle
- Oracle歸檔日誌暴增排查優化Oracle優化
- 關於SQLServer的tempdb的資料檔案暴增問題(1)SQLServer
- 歸檔日誌檔案無故地增長
- 深入分析Oracle日誌檔案Oracle
- 使用歸檔日誌分析解決歸檔日誌迅速增長問題(logmnr)
- oracle日誌分析從列表中移去一個日誌檔案Oracle
- zabbix agent 日誌檔案輪詢分析
- SQLServer的tempdb暴增導致磁碟消耗的處理方案SQLServer
- 【Oracle日誌】- 日誌檔案重建Oracle
- 日誌檔案
- 日誌檔案和歸檔日誌檔案的關係以及如何切換日誌
- linux檔案系統和日誌分析Linux
- 分析Oracle資料庫日誌檔案(1)Oracle資料庫
- 分析Oracle資料庫日誌檔案(2)Oracle資料庫
- 分析Oracle資料庫日誌檔案(3)Oracle資料庫
- Linux檔案系統與日誌分析Linux
- 刪除日誌檔案組與日誌檔案成員
- 管理日誌檔案
- dump日誌檔案
- APACHE日誌檔案Apache
- Android測試日誌檔案抓取與分析Android
- Linux--檔案系統與日誌分析Linux
- 分析Oracle資料庫日誌檔案(三)EPOracle資料庫
- 分析Oracle資料庫日誌檔案(二)DOOracle資料庫
- 分析Oracle資料庫日誌檔案(一)HBOracle資料庫
- 分析Oracle資料庫日誌檔案(1)(轉)Oracle資料庫
- 分析Oracle資料庫日誌檔案(1) [轉]Oracle資料庫
- 控制檔案/歸檔日誌
- 增加日誌檔案,修改當前日誌檔案大小
- 對日誌檔案組和日誌檔案組成員的管理
- 【MySQL日誌】MySQL日誌檔案初級管理MySql
- PeopleSoft日誌檔案清理
- oracle 日誌檔案管理Oracle
- 日誌檔案的管理
- 清空SqlServer日誌檔案SQLServer
- 記錄日誌檔案