ORACLE 10g AWR報告設置總結


 

1:查看、修改AWR報告快照數據的采樣間隔、保存策略

SQL> COL DBID FOR 999999999999
SQL> COL SNAP_INTERVAL FOR A26
SQL> COL RETENTION FOR A26
SQL> COL TOPNSQL FOR A10
SQL> select * from dba_hist_wr_control;
 
         DBID SNAP_INTERVAL              RETENTION                  TOPNSQL
------------- -------------------------- -------------------------- ----------
   3990839260 +00000 01:00:00.0          +00014 00:00:00.0          DEFAULT
 
SQL> 

SNAP_INTERVAL=+00000 01:00:00.0 表示采樣間隔是1小時

RETENTION=+00014 00:00:00.0 表示采樣數據保留期限是14天

 

如上所示,快照采樣間隔為1小時一次,快照數據保留14天。修改AWR的快照采樣間隔、保存配置,改為30分鍾采集一次快照數據,快照數據庫保留7天。如下所示:

SQL> COL DBID FOR 999999999999
SQL> COL SNAP_INTERVAL FOR A26
SQL> COL RETENTION FOR A26
SQL> select * from dba_hist_wr_control;
 
         DBID SNAP_INTERVAL              RETENTION                  TOPNSQL
------------- -------------------------- -------------------------- ----------
   3990839260 +00000 01:00:00.0          +00014 00:00:00.0          DEFAULT
 
SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>30,retention=>7*24*60);
 
PL/SQL procedure successfully completed.
 
SQL> select * from dba_hist_wr_control;
 
         DBID SNAP_INTERVAL              RETENTION                  TOPNSQL
------------- -------------------------- -------------------------- ----------
   3990839260 +00000 00:30:00.0          +00007 00:00:00.0          DEFAULT
 
SQL> 

 

clip_image001

 

2:手動創建快照(Snapshots)

 

數據庫創建快照(Snapshots)一般是按Schedule定期創建的,默認一般一小時創建一個快照,只有當數據庫出現問題的時候,你才需要手工創建一個快照。以獲取那個時間段內的相關數據。

SQL> exec dbms_workload_repository.create_snapshot(); 
 
PL/SQL procedure successfully completed.

手工創建快照后,可以通過dba_hist_snapshot視圖查看創建的快照信息。

 

3:手動刪除快照(Snapshots)

 

 
--不指定DBID,默認當前實例DBID
SQL>  exec dbms_workload_repository.drop_snapshot_range(61263,61274);
 
PL/SQL procedure successfully completed.
 
 
--指定DBID
 
SQL> exec dbms_workload_repository.drop_snapshot_range(7417,7429,3990839260); 
PL/SQL procedure successfully completed.

 

 

4:創建基線(baseline)

 

一般來說當AWR自動維護快照時,如果定義過baseline,與baseline相關的快照不會被刪除,即使是過期的快照,這樣就相當於手動保留了一份統計數據的歷史信息,DBA可以在適當的時間將其與現有的快照進行對比,以生成相關的統計報表

SQL> COL BASELINE_NAME FOR A32;
SQL> SELECT DBID,BASELINE_NAME,  START_SNAP_ID, END_SNAP_ID FROM DBA_HIST_BASELINE;
 
no rows selected
 
SQL> exec dbms_workload_repository.create_baseline(59806,59809,'20160726_07_11');
 
PL/SQL procedure successfully completed.
 
SQL> SELECT DBID,BASELINE_NAME,  START_SNAP_ID, END_SNAP_ID FROM DBA_HIST_BASELINE;
 
      DBID BASELINE_NAME                    START_SNAP_ID END_SNAP_ID
---------- -------------------------------- ------------- -----------
3990839260 20160726_07_11                           59806       59809
 
SQL> 

clip_image002

修改基線名稱

BEGIN
 
  DBMS_WORKLOAD_REPOSITORY.rename_baseline(
 
    old_baseline_name => 'old_name',
 
    new_baseline_name => 'new_name');
 
END;
 
/

 

基線(baseline)是自Oracle 10g開始引入的,不過只包括了一些簡單的基線功能,創建一個基線允許保留指定范圍內的快照用於性能對比,與AWR保留策略無關,可以使用DBMS_WORKLOAD_REPOSITORY包來管理這個功能,在11g中,它被增強了。新增了許多功能。例如固定基線、移動窗口(Moving Window)基線等

 

5: 刪除基線(baseline)

首先查看基線設置,找到對應的baseline_name,然后刪除,過程如下所示:

SQL>SELECT * FROM DBA_HIST_BASELINE;
 
SQL> COL BASELINE_NAME FOR A32;
SQL> SELECT DBID,BASELINE_NAME,  START_SNAP_ID, END_SNAP_ID FROM DBA_HIST_BASELINE;
 
      DBID BASELINE_NAME                    START_SNAP_ID END_SNAP_ID
---------- -------------------------------- ------------- -----------
2179993557 20110112                                 12980       13004
2179993557 20100616                                  7959        7968
2179993557 20100818                                  9461        9485
2179993557 20101020                                 10964       10988
2179993557 20110119                                 13148       13172
2179993557 20101222                                 12476       12500
2179993557 20100602                                  7624        7632

clip_image003

 

SQL> exec dbms_workload_repository.drop_baseline('20110112',true);
 
PL/SQL procedure successfully completed.

刪除是如果指定了CASCADE參數為true,對應的snap也會被刪除。

 

6: 查看快照記錄信息

SELECT * FROM  DBA_HIST_SNAPSHOT ORDER BY 1 DESC ;
 
 
SELECT SNAP_ID, DBID, INSTANCE_NUMBER, STARTUP_TIME,
       BEGIN_INTERVAL_TIME, END_INTERVAL_TIME,
       FLUSH_ELAPSED, SNAP_LEVEL, ERROR_COUNT
FROM WRM$_SNAPSHOT
WHERE STATUS = 0;
 
SELECT * FROM SYS.WRH$_ACTIVE_SESSION_HISTORY

 

 

7:導出、導入AWR快照數據

 

 
SQL> @?/rdbms/admin/awrextr.sql
SQL> @?/rdbms/admin/awrload.sql

 

 

8:刪除導入的AWR快照數據。

 

如果要刪除導入的awr數據,可以使用下面腳本進行刪除。

exec dbms_swrf_internal.unregister_database(dbid);

sql> exec dbms_swrf_internal.unregister_database(3990839260);

dbms_workload_repository:

可以刪除本地和其他數據庫的快照,可以選擇不同的快照來進行刪除。

dbms_swrf_internal:

只能對其他數據庫的快照來進行操作,會把整個快照unregister掉。

 

9:生成各種類型的AWR報告

 

Generating Various Types of AWR Reports

 

AWR reports can be generated by running various SQL scripts to satisfy various requirements. Each report is available in HTML or TXT format:

 

·         awrrpt.sql

Displays various statistics for a range of snapshots Ids.

·         awrrpti.sql

Displays statistics for a range of snapshot Ids on a specified database and instance.

·         awrsqrpt.sql

Display statistics of a particular SQL statement for a range of snapshot Ids. Run 

this report to inspect or debug the performance of a particular SQL statement.

·         awrsqrpi.sql 

Displays statistics of a particular SQL statement for a range of snapshot Ids on a specified SQL.

·         awrddrpt.sql

Compares detailed performance attributes and configuration settings between two selected time periods.

·         awrddrpi.sql

Compares detailed performance attributes and configuration settings between two selected                time periods on a specific database and instance.

 

 

查看AWR報告里面某個具體SQL語句的執行計划

 

 

SQL> @?/rdbms/admin/awrsqrpt.sql

 

SQL> @?/rdbms/admin/awrsqrpi.sql

 

 

 

 

Workload Repository Views

 

The following workload repository views are available:

·         V$ACTIVE_SESSION_HISTORY - Displays the active session history (ASH) sampled every second.

·         V$METRIC - Displays metric information.

·         V$METRICNAME - Displays the metrics associated with each metric group.

·         V$METRIC_HISTORY - Displays historical metrics.

·         V$METRICGROUP - Displays all metrics groups.

·         DBA_HIST_ACTIVE_SESS_HISTORY - Displays the history contents of the active session history.

·         DBA_HIST_BASELINE - Displays baseline information.

·         DBA_HIST_DATABASE_INSTANCE - Displays database environment information.

·         DBA_HIST_SNAPSHOT - Displays snapshot information.

·         DBA_HIST_SQL_PLAN - Displays SQL execution plans.

·         DBA_HIST_WR_CONTROL - Displays AWR settings.

 

 

參考資料:

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=518649661691529&id=748642.1&_afrWindowMode=0&_adf.ctrl-state=1gfse6hc1_4

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM