濮阳杆衣贸易有限公司

主頁 > 知識庫 > Oracle AWR(自動工作量資料檔案庫)的管理與維護詳解

Oracle AWR(自動工作量資料檔案庫)的管理與維護詳解

熱門標簽:海南400電話哪里辦理 呼倫貝爾智能手機地圖標注 分布式呼叫中心 安陽外呼系統(tǒng)免費 南寧人工智能電銷機器人費用 圖像地圖標注 濟南地圖標注公司 貴陽電話外呼系統(tǒng)哪家好 400電話是不是免費申請

前言

  AWR是Automatic Workload Repository的簡稱,中文叫著自動工作量資料檔案庫。對于AWR的管理,主要是針對快照和基線的管理而言。比如設定快照的間隔,刪除快照,設定快照的保留時間。那對于基線而言則是基線的創(chuàng)建,刪除,自動創(chuàng)建等。本文主要描述這2部分的內容。

一、快照管理

  默認情況下,Oracle數(shù)據(jù)庫每小時生成一次快照,并在工作負載庫中保留8天的統(tǒng)計信息。必要時,你可以使用dbms_workload_repository程序手動創(chuàng)建,刪除或者修改快照等??梢允褂肙EM以及dbms_workload_repository包管理快照。

1. 手動創(chuàng)建快照

  使用以下過程手工創(chuàng)建快照,創(chuàng)建完成后可在數(shù)據(jù)字典DBA_HIST_SNAPSHOT查看所有快照相關信息。

BEGIN
 DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
END;
/

SELECT snap_id,
   dbid,
   begin_interval_time,
   end_interval_time
FROM  dba_hist_snapshot
ORDER BY end_interval_time DESC;

 SNAP_ID  DBID BEGIN_INTERVAL_TIME   END_INTERVAL_TIME
---------- ---------- ---------------------------- --------------------------
  164 41924548 14-APR-17 09.38.19.467 AM 14-APR-17 10.51.21.886 AM
  163 41924548 14-APR-17 09.00.10.470 AM 14-APR-17 09.38.19.467 AM
  162 41924548 14-APR-17 08.00.07.242 AM 14-APR-17 09.00.10.470 AM
  161 41924548 14-APR-17 07.00.04.120 AM 14-APR-17 08.00.07.242 AM

2. 刪除快照

  以下過程將刪除snap_id從162到164的快照。在未指定41924548時,使用當前缺省的數(shù)據(jù)庫

BEGIN
 DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE (low_snap_id => 162,
       high_snap_id => 164, dbid => 41924548);
END;
/

3. 修改快照的保留間隔

--查看當前的保留策略,如下,為缺省值,采集間隔為1小時,保留8天
SQL> select * from dba_hist_wr_control;

  DBID SNAP_INTERVAL  RETENTION   TOPNSQL
---------- -------------------- ------------------ ----------
 41924548 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT

--下面將其修改為保留5天,采集間隔為30分鐘,topnsql為50條
BEGIN
 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( retention => 10*24*60,
     interval => 30, topnsql => 50, dbid => 41924548);
END;
/

--查看修改后的結果
SQL> select * from dba_hist_wr_control;

  DBID SNAP_INTERVAL  RETENTION   TOPNSQL
---------- -------------------- ------------------ ----------
 41924548 +00000 00:30:00.0 +00010 00:00:00.0 50

二、基線管理

  AWR基線可以手工創(chuàng)建和刪除,也可以自動創(chuàng)建和刪除。對于自動創(chuàng)建基線則是首先要創(chuàng)建基線樣本才能實現(xiàn)自動創(chuàng)建基線。主要描述如下。

1. 創(chuàng)建基線

  基線的創(chuàng)建依賴于快照,因此在創(chuàng)建之前應該得到所需時間范圍的snap_id,可以通過查詢數(shù)據(jù)字典DBA_HIST_SNAPSHOT獲得,同時在基線創(chuàng)建完成后可以從數(shù)據(jù)字典DBA_HIST_BASELINE查詢基線相關信息。

BEGIN
 DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE (start_snap_id => 160,
     end_snap_id => 161, baseline_name => 'peak_baseline',
     dbid => 41924548, expiration => 10);
END;
/

SQL> SELECT baseline_id,
 2   baseline_name,
 3   baseline_type,
 4   expiration,
 5   creation_time
 6 FROM dba_hist_baseline;

BASELINE_ID BASELINE_NAME   BASELINE_TYPE EXPIRATION CREATION_
----------- ----------------------- ------------- ---------- ---------
   1 peak_baseline   STATIC    10 14-APR-17
   0 SYSTEM_MOVING_WINDOW MOVING_WINDOW   07-APR-17

--基于特定時間創(chuàng)建基線,如下示例
BEGIN
 DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE (
  start_time  => TO_DATE ('2017-04-14 6:00:00', 'yyyy-mm-dd hh24:mi:ss'),
  end_time  => TO_DATE ('2017-04-14 8:00:00', 'yyyy-mm-dd hh24:mi:ss'),
  baseline_name => 'peak_baseline2',
  expiration  => 10);
END;
/

  在上面的示例中,創(chuàng)建了一個范圍為160-161的,名字為peak_baseline的基線,保留時間為10天。在超過10天后,該基線會被刪除,相應的快照也被刪除。如果為指定失效期,則該基線以及相應的快照被永久保留。

2. 刪除基線

BEGIN
 DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE (baseline_name => 'peak_baseline',
     cascade => FALSE, dbid => 41924548);
END;
/

  在上面的示例中將刪除名為peak_baseline的基線,同時指定了cascade為false,也就是說在刪除基線的同時,不刪除相應的快照。

3. 基線重命名

BEGIN
 DBMS_WORKLOAD_REPOSITORY.RENAME_BASELINE (
     old_baseline_name => 'peak_baseline',
     new_baseline_name => 'peak_mondays',
     dbid => 41924548);
END;
/

--驗證結果
SQL> SELECT baseline_id,
 2   baseline_name,
 3   baseline_type,
 4   expiration,
 5   creation_time
 6 FROM dba_hist_baseline;

BASELINE_ID BASELINE_NAME   BASELINE_TYPE EXPIRATION CREATION_
----------- ----------------------- ------------- ---------- ---------
   1 peak_mondays   STATIC    10 14-APR-17
   0 SYSTEM_MOVING_WINDOW MOVING_WINDOW   07-APR-17

  在上面的示例中,將基線的名稱由peak_baseline修改成peak_mondays。

4. 修改缺省移動窗口基線保留值

--查看缺省的window_size
SELECT baseline_name, baseline_type, moving_window_size
FROM dba_hist_baseline
WHERE baseline_name = 'SYSTEM_MOVING_WINDOW';

BASELINE_NAME   BASELINE_TYPE MOVING_WINDOW_SIZE
------------------------ ------------- ------------------
SYSTEM_MOVING_WINDOW  MOVING_WINDOW     8

BEGIN
 DBMS_WORKLOAD_REPOSITORY.MODIFY_BASELINE_WINDOW_SIZE (
     window_size => 7,
     dbid => 41924548);
END;
/

--window_size為天,只能夠小于等于當前快照保留時間,否則報錯,如下:

ERROR at line 1:
ORA-13541: system moving window baseline size (864000)
greater than retention (691200)
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 686
ORA-06512: at line 2

5. 管理基線樣本

創(chuàng)建單個基線模板

BEGIN
 DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE_TEMPLATE (
  start_time  => TO_DATE ('2017-04-14 17:00:00', 'yyyy-mm-dd hh24:mi:ss'),
  end_time  => TO_DATE ('2017-04-14 19:00:00', 'yyyy-mm-dd hh24:mi:ss'),
  baseline_name => 'baseline_140414',
  template_name => 'template_140414',
  expiration  => 10,
  dbid   => 41924548);
END;
/

--如果創(chuàng)建基線樣本時間小于當前時間,則收到如下錯誤
ERROR at line 1:
ORA-13537: invalid input for create baseline template (end_time, end_time is less than SYSDATE)
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 768
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 818
ORA-06512: at line 2

  在上面的示例中,我們創(chuàng)建了一個單一的基線樣本,并且指定了相應的時間范圍,基線的名稱及保留期限等。那么在這個時間范圍內的相應的快照會被保留,同時這個基線可以用于后續(xù)在發(fā)現(xiàn)性能問題的時候進行比對。

創(chuàng)建重復基線樣本

  重復的基線樣本指的是在將來某個特定的時間范圍內,Oracle會參照這個設定的樣本自動為我們創(chuàng)建基線。比如,可以創(chuàng)建一個重復的基線樣本,使得在2017年每周一9:00-11:00自動生成基線。

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

BEGIN
 DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE_TEMPLATE (
  day_of_week   => 'monday',
  hour_in_day   => 9,
  duration    => 2,
  expiration    => 30,
  start_time    => '2017-04-14 09:00:00',
  end_time    => '2017-12-31 11:00:00',
  baseline_name_prefix => 'baseline_2017_mondays_',
  template_name   => 'template_2017_mondays',
  dbid     => 41924548);
END;
/

-- Author  : Leshami
-- Blog  : http://blog.csdn.net/leshami
-- QQ(Weixin) : 645746311

--查看已經(jīng)創(chuàng)建的基線樣本
SQL> select t.template_name,
 2  t.template_type,
 3  t.start_time,
 4  t.end_time,
 5  t.day_of_week,
 6  t.hour_in_day,
 7  t.duration
 8 from dba_hist_baseline_template t;

TEMPLATE_NAME   TEMPLATE_ START_TIME   END_TIME   DAY_OF_WE HOUR_IN_DAY DURATION
--------------------- --------- ------------------- ------------------- --------- ----------- --------
template_140414  SINGLE 2017-04-14 17:00:00 2017-04-14 19:00:00
template_2017_mondays REPEATING 2017-04-14 09:00:00 2017-12-31 11:00:00 MONDAY    17  3

  在上面的示例中我們創(chuàng)建了一個重復從2017年4月14日起的每周一(day_of_week)會自動生成一個基線,其開始時間為9點(hour_in_day),其持續(xù)時間為2小時(duration),有效期為30天(expiration),整個基線的起止時間范圍為:2017-04-14 09:00:00至2017-12-31 11:00:00,同時也指定了基線樣本的名稱以及基線前綴名稱。

基線樣本的刪除

BEGIN
 DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE_TEMPLATE (
     template_name => 'template_140414',
     dbid => 41924548);
END;
/

  在上面的示例中我們刪除之前創(chuàng)建的基線樣本,通過指定樣本名稱即可。

三、AWR空間占用

  AWR快照的數(shù)據(jù)全部填充在SYSAUX表空間。因此如果要保留的快照越久,意味著需要占用的SYSAUX空間越大。同時可以通過awrinfo.sql查看各個對象占用SYSAUX的詳細信息。

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

This script will report general AWR information
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Specify the Report File Name
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrinfo.txt. To use this name,
press return> to continue, otherwise enter an alternative.

Enter value for report_name:

Using the report name awrinfo.txt
No errors.     -- Author : Leshami
No errors.     -- Blog : http://blog.csdn.net/leshami
~~~~~~~~~~~~~~~   -- QQ  : 645746311 
AWR INFO Report
~~~~~~~~~~~~~~~

Report generated at
19:48:53 on Apr 14, 2017 ( Friday ) in Timezone +08:00


Warning: Non Default AWR Setting!
--------------------------------------------------------------------------------
Snapshot interval is 60 minutes and Retention is 8 days


  DB_ID DB Name HOST_PLATFORM   INST STARTUP_TIME  LAST_ASH_SID PAR
------------ ------- ----------------------- ---- ----------------- ------------ ---
* 41924548 ORA11G ydq - Linux x86 64-bit  1 15:18:26 (04/07)  617410 NO

########################################################
(I) AWR Snapshots Information
########################################################

*****************************************************
(1a) SYSAUX usage - Schema breakdown (dba_segments)
*****************************************************
|
| Total SYSAUX size      617.4 MB ( 2% of 32,768.0 MB MAX with AUTOEXTEND ON )
|
| Schema SYS   occupies   206.6 MB ( 33.5% )
| Schema XDB   occupies   157.7 MB ( 25.5% )
| Schema APEX_030200 occupies    85.4 MB ( 13.8% )
| Schema MDSYS  occupies    73.9 MB ( 12.0% )

## 四、生成AWR報告

--單實例下生成AWR報告

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

--RAC環(huán)境下生成AWR報告

SQL> @$ORACLE_HOME/rdbms/admin/awrgrpt.sql

--指定數(shù)據(jù)庫實例生成AWR報告

SQL> @$ORACLE_HOME/rdbms/admin/awrrpti.sql

--生成SQL語句AWR報告

SQL> @$ORACLE_HOME/rdbms/admin/awrsqrpt.sql

--指定實例生成SQL語句AWR報告

SQL> @$ORACLE_HOME/rdbms/admin/awrsqrpi.sql

--生成比較的AWR報告

SQL> @$ORACLE_HOME/rdbms/admin/awrddrpt.sql

--RAC環(huán)境下生成比較的AWR報告

@$ORACLE_HOME/rdbms/admin/awrgdrpt.sql

五、AWR相關的重要視圖和數(shù)據(jù)字典

v$active_session_history : 顯示活躍的數(shù)據(jù)庫會話的活動,每秒采樣一次

v$metric和v$metric_history:

   提供度量數(shù)據(jù)來跟蹤系統(tǒng)性能。視圖被組織成好幾個組,這些組定義在v$metricgroup視圖中

DBA_HIST_ACTIVE_SESS_HISTORY

   展示內存中活動會話歷史信息

DBA_HIST_BASELINE
   展示捕獲的基線的信息

DBA_HIST_BASELINE_DETAILS

  展示特定基線的明細信息

DBA_HIST_BASELINE_TEMPLATE

   基線模板相關信息

DBA_HIST_DATABASE_INSTANCE

  數(shù)據(jù)庫環(huán)境

DBA_HIST_DB_CACHE_ADVICE

   根據(jù)歷史數(shù)據(jù)預測在不同的cache size下的物理讀

DBA_HIST_DISPATCHER

   每個snapshot下調度進程的信息

DBA_HIST_DYN_REMASTER_STATS

   動態(tài)remastering進程的統(tǒng)計信息

DBA_HIST_IOSTAT_DETAIL
   按未見類型和功能來統(tǒng)計的歷史I/O信息

DBA_HIST_SHARED_SERVER_SUMMARY

   共享服務器的統(tǒng)計信息

DBA_HIST_SNAPSHOT

   快照信息

DBA_HIST_SQL_PLAN

   執(zhí)行計劃

DBA_HIST_WR_CONTROL

   AWR控制信息

六、更多參考

  • Oracle AWR特性描述
  • Linux/Unix shell 自動發(fā)送AWR report
  • Linux/Unix shell 自動發(fā)送AWR report(二)

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • [Oracle] 分析AWR報告的方法介紹
  • oracle AWR性能監(jiān)控報告生成方法

標簽:焦作 合肥 許昌 滁州 涼山 南充 遼源 郴州

巨人網(wǎng)絡通訊聲明:本文標題《Oracle AWR(自動工作量資料檔案庫)的管理與維護詳解》,本文關鍵詞  Oracle,AWR,自動,工作量,資料,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle AWR(自動工作量資料檔案庫)的管理與維護詳解》相關的同類信息!
  • 本頁收集關于Oracle AWR(自動工作量資料檔案庫)的管理與維護詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    乡宁县| 克什克腾旗| 宜川县| 江西省| 丰镇市| 宿迁市| 凤台县| 镇巴县| 宁武县| 高青县| 湟源县| 武鸣县| 海盐县| 涟源市| 南投县| 英超| 高青县| 靖边县| 楚雄市| 扶余县| 营口市| 中方县| 靖州| 白水县| 仪陇县| 文安县| 凤山县| 南昌市| 八宿县| 张掖市| 资阳市| 南乐县| 宿州市| 玉溪市| 乌兰察布市| 通辽市| 广河县| 青阳县| 南靖县| 邵阳县| 巴塘县|