熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

ORACLE性能診斷―學習statspack筆記(一)

2022-06-13   來源: Oracle 

  說明Oracle開始引進statspackstatspack是診斷oracle性能的強有力的工具
  
  安裝前准備
  
  A首先是系統參數的確認
  
  job_query_processes為了建立自動任務執行數據收集該參數要大於
  
  time_statistics為了收集操作系統計時信息等需要將其設置為TRUE
  
  B建議最好是單獨的為perfstat用戶(即安裝statspack要建的用戶)單獨建立數據表空間和臨時表空間數據表空間至少要有M的空閒空間否則創建statspack對象會失敗如果打算長期使用statspack可以考慮建稍大些的數據表空間
  
  安裝
  
  A安裝腳本
  
  安裝的腳本所在目錄是$ORACLE_HOME/rdbms/admin在oracle版本安裝腳本是statscresql之後版本開始就是spcreatesql安裝所需用戶在i之前的需要internal或者擁有sysdba權限的用戶i需要的用戶是sys(i已經不存在internal用戶了)
  
  執行安裝腳本如下
  
  SQL> @$ORACLE_HOME/rdbms/admin/spcreate
  
  B在安裝過程中需要填寫perfstat用戶的密碼並且選擇perfstat用戶的數據表空間和臨時表空間安裝完成之後察看相應的lis文件檢查安裝是否正確無誤有問題可以通過spdropsql完成statspack的卸載重新運行spcreatesql完成statspack的安裝
  
  測試
  
  最簡單的statspack報告生成運行兩次statspacksnap然後運行spreportsql生成一個基於兩個時間點的報告如果是之前版本的Oracle需要修改spcpkgsql要將substr修改為substrb如下位置
  
  select l_snap_id
  
   p_dbid
  
   p_instance_number
  
   substr(sql_text) à substrb(sql_text)
  
  建立簡單的statspack報告過程如下
  
  SQL> execute statspacksnap
  
  PL/SQL procedure successfully completed
  
  SQL> execute statspacksnap
  
  PL/SQL procedure successfully completed
  
  SQL> @$ORACLE_HOME/rdbms/admin/spreport
  
  Spreport的執行過程中會列出需要選擇的快照你需要填寫該報告描述的開始和結束的快照序號並填寫報告的文件名當然可以不填使用默認的報告文件名默認的會生成在目錄$ORACLE_HOME/rdbms/admin中
  
  這樣就可以驗證statspack已經正確的安裝完成了
  
  自動收集statspack快照
  
  正常在真正的環境下我們是需要連續的采樣一段時間這樣生成的statspack才能更好的反映系統的現狀我們是可以通過spautosql來自動收集數據的
  
  主要可能會設計到修改如下部分的內容
  
  variable jobno number;
  
  variable instno number;
  
  begin
  
  select instance_number into :instno from v$instance;
  
  dbms_jobsubmit(:jobno statspacksnap; trunc(sysdate+/HH) trunc(SYSDATE+/HH) TRUE :instno);
  
  commit;
  
  end;
  
  /
  主要是修改/這個值目前是一個小時自動收集一次數據如果要改動為半個小時收集一次數據就修改為/同理進行或大或小的修改
  
  執行後可以在spautolis文件中看到當前自動收集數據的job號等信息當想要生成statspack報告的時候只要選擇任何兩個不跨越停機時間的快照序號就可以了注意statspack是不能跨越停機的
From:http://tw.wingwit.com/Article/program/Oracle/201311/18772.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.