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
- Linux檔案系統與日誌分析Linux
- zabbix agent 日誌檔案輪詢分析
- linux檔案系統和日誌分析Linux
- Linux--檔案系統與日誌分析Linux
- Android測試日誌檔案抓取與分析Android
- SQLServer的tempdb暴增導致磁碟消耗的處理方案SQLServer
- 分析Oracle資料庫日誌檔案(三)EPOracle資料庫
- 分析Oracle資料庫日誌檔案(二)DOOracle資料庫
- 分析Oracle資料庫日誌檔案(一)HBOracle資料庫
- 【MySQL日誌】MySQL日誌檔案初級管理MySql
- 使用 google_breakpad 分析 Electron 崩潰日誌檔案Go
- java專案日誌配置檔案Java
- 日誌分析-apache日誌分析Apache
- 日誌檔案過大清理
- sybase iq日誌檔案管理
- MySQL InnoDB日誌檔案配置MySql
- 【REDO】Oracle 日誌挖掘,分析歸檔日誌線上日誌主要步驟Oracle
- Linux 檔案系統與日誌分析的相關知識Linux
- SpringBoot指定日誌檔案和日誌Profile功能Spring Boot
- Laravel 指定日誌檔案記錄任意日誌Laravel
- 探究MySQL中的日誌檔案MySql
- 日誌檔案使用小結(轉)
- mysql的日誌檔案詳解MySql
- lumen 日誌按天生成檔案
- nginx日誌配置檔案說明Nginx
- linux 日誌log檔案 截斷Linux
- [日誌分析篇]-利用ELK分析jumpserver日誌-日誌拆分篇Server
- 這麼分析大檔案日誌,以後就不用加班捲了!
- 操作日誌記錄(包括輸出至自定義日誌檔案)
- 在Linux中,有一堆日誌檔案,如何刪除7天前的日誌檔案?Linux
- Java實時讀取日誌檔案Java
- 限制 Apache日誌檔案大小的方法Apache
- selenium-日誌檔案的使用(十二)
- 12c日誌檔案路徑