Statspack之初體驗

來源:互聯網
上載者:User
呵呵,今晚之前從來沒有做過Statspack(好像有點丟人)。這幾天一個資料庫實在被折磨得不行了,明明sga_max_size有1.5G,但是實際看整個執行個體才用了200+M記憶體,慢得要死,頻繁讀寫硬碟,偏偏硬碟又不是磁碟陣列,IO狂慢,唉,痛苦啊。於是決定花點時間學下執行個體最佳化,今天列印了幾頁Performance Tuning Guide的文檔,讀了讀關於Statspack的內容,在自己的筆記本上做了實驗,其實還是很容易的。
首先運行%ORACLE_HOME%\RDBMS\ADMIN PCREATE,期間指定perfstat使用者的密碼、資料表空間和暫存資料表空間,一般預設都無所謂。隨後出現一堆成功提示,如果沒來得及看也無所謂,可以到你dos視窗(我是Win32平台)的路徑下察看.lis檔案,那些就是安裝追蹤檔案。
然後就可以用perfstat/密碼來登陸sqlplus了,執行:EXEC STATSPACK.SNAP; 就是一次snapshot了,可以做成定時每隔一段時間運行一次。
察看報告:%ORACLE_HOME%\RDBMS\ADMIN PREPORT  運行後提示已做的所有snapshot的ID,然後根據需要選擇本次報告的開始ID和結束ID,隨後輸入檔案名稱就得到了一份.lst檔案(這裡文檔中將尾碼名寫成了.lis,應該是錯了,不過我看的是9i的文檔,啟動並執行是10g的資料庫,不知道是不是版本問題),可以用文本工具開啟察看。
檢查SQL:察看報告時可以看到跟蹤的SQL,其中就有hash value,把要更詳細察看的語句的hash value記錄下來,運行%ORACLE_HOME%\RDBMS\ADMIN PREPSQL時輸入,即可如前得到lst檔案,記錄了SQL語句的更詳細分析。
做多了snapshot,可能需要刪除一些曆史資料,運行ORACLE_HOME%\RDBMS\ADMIN PPURGE就可以了,根據提示選擇要刪除的ID,而全部刪除就ORACLE_HOME%\RDBMS\ADMIN PTRUNC,一路斷行符號即可。
最後要注意snapshot的level,這可以通過EXEC STATSPACK.MODIFY_STATSPACK_PARAMETER(i_snap_level=N)來修改,N可以為0,5,6,7,10,預設為5。
  0  僅提供一般效能統計
  5  增加了對SQL語句總體分析
  6  增加了SQL計劃和使用
  7  增加了分段(Segments)級的統計
  10增加了對閂鎖(Latches)的分析
其中文檔建議對10要謹慎,因為代價較高。
因為只是自己玩的系統,所以也沒啥可分析的,只是練習了一下Statspack的使用。結果的分析還要學習學習,已經發現Tom的兩本書裡都有介紹,不過Expert One-on-One Oracle裡更詳細。

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。