程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> [Oracle]-性能優化工具(1)-AWR

[Oracle]-性能優化工具(1)-AWR

編輯:Oracle教程

AWR快照

默認情況下,Oracle每隔一小時會自動產生一個快照,保存最近8天的快照。

我們可以通過如下語句獲得產生快照的時間間隔和保存的天數:

SYS@orcl(lx15)> select SNAP_INTERVAL,RETENTION from dba_hist_wr_control;

SNAP_INTERVAL                                                               RETENTION
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
+00000 01:00:00.0                                                           +00008 00:00:00.0
可以通過如下語句修改這兩個值(以分鐘為單位):
exec dbms_workload_repository.modify_snapshot_settings(interval => 30, retention = > 10*24*60);
當然,你也可以隨時手動產生一個快照: 
exec dbms_workload_repository.create_snapshot;

AWR報告生成

有了快照之後,就可以生成AWR報告了,你用sysdba執行如下命令,根據提示一步一步操作即可:
@?/rdbms/admin/awrrpt.sql
還有一種方法是直接調用ORALCE的包,這個方法適合用在寫自動獲取腳本工具的場景,如下所示:
set pagesize 0
set linesize 121
spool d:\awr_commit_frequently.html

select output from table(dbms_workload_repository.awr_report_html(977587123,1,1920,1921));
spool off

注:
DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(
   l_dbid       IN    NUMBER,
   l_inst_num   IN    NUMBER,
   l_bid        IN    NUMBER,
   l_eid        IN    NUMBER,
   l_options    IN    NUMBER DEFAULT 0)
 RETURN awrrpt_text_type_table PIPELINED;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved