oracle性能監控主要是通過statspack 或 awk 報告來實現的
statspack 10G之前主要用它,需要手工安裝
AWK 內容更豐富,自動已經裝好
statspack涉及的腳本:
spcreate.sql 安裝腳本
spauto.sql 定時採樣設置腳本
spreport.sql 報取報告腳本
spdrop.sql 刪除腳本
安裝statpack 之前要設置一些參數:
job_queue_processes 不要爲0
SQL> show parameter job_queue_processes
timed_statistics 要開啓
SQL> show parameter timed_statistics
statistics_level 不能爲BASIC
SQL> show parameter statistics_level
安裝前最好爲statpack創建一個獨立的表空間
SQL> create tablespace perfstat
datafile '/u02/perfstat01.dbf' size 500m;
安裝過程:
SQL> @?/rdbms/admin/spcreate.sql;
輸入perfstat 的密碼
選擇statpack使用的表空間
選擇statpack使用的臨時表空間
腳本運行完後,自動切到用戶 perfstat
SQL> show user;
USER is "PERFSTAT"
statpack 管理
1、生成快照
手工生成
SQL> exec statspack.snap;
自動生成
vim $ORACLE_HOME/rdbms/admin/spauto.sql
begin
select instance_number into :instno from v$instance;
dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/48,'HH'), 'trunc(SYSDATE+1/48,''HH'')', TRUE, :instno);
--修改時間間隔即可
commit;
end;
/
改完後,在sql>下運行該腳本
SQL> @?/rdbms/admin/spauto.sql;
2、查看快照
stats$snapshot
SQL> select SNAP_ID,SNAP_TIME,STARTUP_TIME from stats$snapshot;
3、生成報告
生成報告的前提必須要有快照
SQL> @?/rdbms/admin/spreport.sql;
Enter value for begin_snap: 1 --輸入起始快照
Enter value for end_snap: 3 --輸入結束快照
Enter value for report_name: myreport --報告名字
AWR報告
AWR自動安裝的,快照採集也是自動進行的,每小時自動採集一次,快照默認保留7天
如果沒有快照可以手工生成
SQL> exec dbms_workload_repository.CREATE_SNAPSHOT();
生成報告:
SQL> @?/rdbms/admin/awrrpt.sql;
Type Specified: html
Enter value for num_days: 1
Begin Snapshot Id specified: 44 --起始快照
Enter value for end_snap: 49 --結束快照