Statspack是一款功能強大的,免費的,Oracle內建的效能分析工具。需要用具有sysdba許可權的使用者登陸進行安裝。
通過Statspack我們可以很容易的確定Oracle資料庫的瓶頸所在,記錄資料庫效能狀態,也可以使遠程技術支援人員迅速瞭解你的資料庫健全狀態。
如果想要開啟自動收集資料庫的參數資訊需要修改兩個參數:
實驗環境:
OS:RedHat 5.5
DB:oracle11g
參數設定:
job_queue_processes和timed_statistics
查詢job_queue_processes是否大於0:
show parameter job_queue_processes;
如果=0,我們需要修改
alter system set job_queue_processes=10;
查看timed_statistics是否為true
修改:
alter system set timed_statistics=true;
安裝statpack:
需要擁有sysdba許可權的使用者操作,首先建立使用者資料表空間,這需要看我們收集的資訊量的大小來設定,一般設定成500M既可
create tablespace perfstat '/home/oracle/perfstat.dbf' size 500m extent management local;
@$ORACLE_HOME/rdbms/admin/spcreate.sql
為使用者perfstat設定密碼
輸入資料表空間和暫存資料表空間
SPCPKG complete. Please check spcpkg.lis for any errors.
--需要出現上述語句才算成功,否則請查看.lis檔案並執行,進行重建
如果在建立的時候出錯,我們可以刪除重建立立:
@$ORACLE_HOME/rdbms/admin/spdrop.sql
在重建立立即可。
產生調查報告,切換到perfstat使用者:
收集系統資訊:execute statspack.snap;
查看收集統計資訊的情況:
SQL> select snap_id,snap_time,startup_time from stats$snapshot;
SNAP_ID SNAP_TIME STARTUP_T
---------- --------- ---------
1 14-AUG-11 14-AUG-11
2 14-AUG-11 14-AUG-11
5 14-AUG-11 14-AUG-11
3 14-AUG-11 14-AUG-11
4 14-AUG-11 14-AUG-11
我們也可以使他自動統計系統的情況:
@$ORACLE_HOME/rdbms/admin/spauto.sql