ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [10g 新機能] 自動パフォーマンス統計(AWR:Automatic Workload Repository)

[10g 新機能] 自動パフォーマンス統計(AWR:Automatic Workload Repository)

原创 Linux操作系统 作者:hawker60 时间:2011-05-27 10:39:51 0 删除 编辑
[概要]
Oracle Database 10gの新機能である自動パフォーマンス統計(AWR:Automatic Workload
Repository)について解説をします。
ここでは以下の内容に関して解説します:
  1. 概要
  2. 統計収集するための設定
  3. AWRの情報の確認方法
      3-1. データ・ディクショナリ
      3-2. レポート
  4. AWRを管理するためのパッケージ
      - AWRのデフォルトの設定の確認&変更
  5. AWRが使用するディクス領域の確認方法
  6. AWRのスナップショットをバックアップ(別DBに移行)する方法に関して

(注意) 本KROWNは機能に関するまとめと補足情報の提供を目的としています。
       機能の詳細に関しては下記マニュアルをご参照ください:

  『Oracle Database パフォーマンス・チューニング・ガイド
      10g リリース1(10.1)』 部品番号: B12449-01
     5章 自動パフォーマンス統計

[詳細]

1. 概要
=======
  Oracle Database 10gではチューニングを自動化またはアドバイスするための
  多数の機能を提供しています。
    - Automatic Database Diagnostic Monitor
    - SQL Access Advisor 
    - SQL Tuning Advisor
    - UNDO アドバイザ
    - セグメント・アドバイザ

  これらの機能の元となる統計情報は自動収集/管理を一括で行っています。この
  統計情報の自動収集/管理機能を自動ワークロード・リポジトリ(AWR)といいます。
  AWRでは定期的(デフォルトでは1時間 間隔)でさまざまな統計を収集し、その集合を
  「スナップショット」として一定保存期間(デフォルトでは1週間)分のスナップ
  ショットを保存しています。

  スナップショットはパフォーマンス診断を使途に収集されるため、パフォーマンス
  への影響度が少ない一部の統計値をスナップショットに格納しないことで、保存領域
  を効率化しています。 

  AWRのスナップショットはバックグラウンドプロセスMMON(Manageability 
  Monitor)とMMNLが取得・ディクショナリの更新を行っています。
  ※ ほとんどの統計をMMONが収集しますが、UNDOアドバイザやASH(Active Session History)
     の情報など一部の情報はMMNLが収集します。

    ※ 以下のマニュアルにはAWRによるスナップショット取得間隔がデフォルトで30分と
       記述がありますが、こちらは1時間の誤りです:
        『Oracle Database 概要 10g リリース1(10.1)』部品番号: B12469-01
        『Oracle Database 管理者ガイド 10g リリース1(10.1)』部品番号: B12444-02

  また、システムが安定している状態(適切なパフォーマンス)で運用しているタイ
  ミング(開始と終了)のスナップショットを「ベースライン」として登録しておく
  ことが可能です。「ベースライン」は保存期間が過ぎても削除されません。シス
  テムのパフォーマンスが突然劣化した場合などに「ベースライン」と比較すること
  によってパフォーマンス劣化の原因を早急に発見できる可能性があります。

2. 統計収集するための設定
=========================
  AWRでスナップショットとして収集するパフォーマンス統計には多くの時間統計(待機時間や
  CPU使用時間など)があります。そのため、初期化パラメータSTATISTICS_LEVELを
  TYPICAL(デフォルト)またはALLに設定して下さい。

  何らかの理由でSTATISTICS_LEVELをBASICに設定している場合には初期化パラメータ
  TIMED_STATISTICSをTRUEに設定して下さい。

    ※ STATISTICS_LEVEL=BASIC と設定した場合、AWRによる自動のスナップシ
       ョット採取は行なわれなくなります。STATISTICS_LEVEL については以下
       のマニュアルをご参照ください。

       『Oracle Database リファレンス 10g リリース1(10.1)』
        部品番号: B12450-01 Page: 1-185  STATISTICS_LEVEL

3. AWRの情報の確認方法
======================
  AWRの情報を確認する方法は以下の3つの方法があります:
    - Oracle Enterprise Manager Database Control(GUI)
    - データ・ディクショナリ
    - レポート

  3-1. データ・ディクショナリ
    DBA_HIST_ を接頭辞としたデータ・ディクショナリ・ビューでAWRで収集した
    スナップショットに格納されているデータを検索できます。

    * DBA_HIST_SNAPSHOTビューで管理しているスナップショットの取得期間やIDが
      わかります。
    * DBA_HIST_WR_CONTROLビューでAWRの制御情報(スナップショット取得間隔や
      スナップショットの保存期間など)を確認することができます。

  3-2. レポート
    収集されたスナップショットを元にレポートを作成することができます。
    こちらについては下記KROWNをご参照ください:
      KROWN:86994『[10g 新機能] AWRのレポート(STATSPACKとの違い)について』

4. AWRを管理するためのパッケージ
================================
  AWRはDBMS_WORKLOAD_REPOSITORY パッケージのプロシージャで管理できます。
  AWRのスナップショットの自動収集の周期や保存期間を変更したり、ベースライン
  の登録やメンテナンスを行う等が可能です。

  - AWRの設定を確認&変更
    AWRの現在の設定はDBA_HIST_WR_CONTROLで確認できます。

      <例>
      SQL> select * from dba_hist_wr_control;

            DBID SNAP_INTERVAL        RETENTION
      ---------- -------------------- --------------------
       244064102 +00000 01:00:00.0    +00007 00:00:00.0

      上記例ではスナップショットを取得する間隔が1時間、スナップショットの
      保持期間が1週間(7日間)に設定されていることがわかります。

    AWRの設定はDBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGSで行います。
    例えば上記の環境でAWRによるスナップショットの取得を一切行わないように
    設定するためには以下を実行します:

      BEGIN
        DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( interval  => 0,
                                                           dbid      => 244064102);
      END;
      /

    スナップショット取得間隔を0とするとDBA_HIST_WR_CONTROLの表示は以下のように
    なります:
      SQL> select * from dba_hist_wr_control;

            DBID SNAP_INTERVAL        RETENTION

      ---------- -------------------- --------------------
       244064102 +40150 00:00:00.0    +00007 00:00:00.0

   ※ INTERVALが40150日(110年) となることは仕様上の動作です。
 ※※ リリース1(10.1)のマニュアルには以下のような記述がありますが、
      こちらは誤りです。リリース2 (10.2)のマニュアルで、修正されています。

     『PL/SQL パッケージ・プロシージャおよびタイプ・リファレンス
       10g リリース1(10.1)』B12497-01

      interval  ZERO を指定した場合、最大値の1 年が使用されます。 
     
     『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス
       10g リリース2(10.2)』B19245-01

      interval  ZEROを指定した場合、自動および手動によるスナップショットは
                無効になります。


5. AWRが使用するディスク領域の確認方法
======================================
  AWRによって取得したスナップショットのデータはSYSAUX表領域に格納されます。
  そのため、AWRが使用しているディスク領域は以下のSQL文で確認できます:

    SQL> select space_usage_kbytes
      2  from v$sysaux_occupants
      3  where occupant_name='SM/AWR';

6. AWRのスナップショットをバックアップ(別DBに移行)する方法に関して
==============================================================
  Oracle Database 10g Release1(10.1.0) および Oracle Database 10g 
  Release2 (10.2.0.1 - 10.2.0.3)では、AWRのスナップショット・データを
  EXP/IMPなどで抽出する方法はありません。Oracle10.2 の以下のマニュアルに
  抽出できると記載がありますが、この記載はドキュメントの不具合です。

 『Oracle Database 新機能ガイド 10g リリース2(10.2)』 
  部品番号: B19210-02 
  1.13.2.15 自動ワークロード・リポジトリ(AWR)の転送 

  Oracle Database 10g Release2 Patch Set Release 10.2.0.4 以降からは
  スクリプトを使用してスナップショット・データを抽出、および別の DB 
  への転送を行うことが可能です。(内部的には、EXPDP/IMPDPを使用します。)

 『Oracle Database パフォーマンス・チューニング・ガイド 
   10g リリース2(10.2)』 
  部品番号: B19207-02 
  5章 自動パフォーマンス統計 自動ワークロード・リポジトリ・データの転送

  Oracle Database 11g Release1 (11.1.0)においても、スクリプトを使用して
  スナップショット・データを抽出、および別のDBへの転送を行うことが
  可能です。(内部的には、EXPDP/IMPDPを使用します。)

  『Oracle Databaseパフォーマンス・チューニング・ガイド
   11gリリース1(11.1)』
  部品番号:E05743-01
  5.3.4 自動ワークロード・リポジトリ・データの転送


[参照情報]
マニュアル
  『Oracle Database パフォーマンス・チューニング・ガイド
      10g リリース1(10.1)』 部品番号: B12449-01
     5章 自動パフォーマンス統計

  『Oracle Database パフォーマンス・チューニング・ガイド
      10g リリース2(10.2)』 部品番号: B19207-01
     5章 自動パフォーマンス統計

 『Oracle Database パフォーマンス・チューニング・ガイド 
      10g リリース2(10.2)』 部品番号: B19207-02 
     5章 自動パフォーマンス統計 
         自動ワークロード・リポジトリ・データの転送

  『Oracle Databaseパフォーマンス・チューニング・ガイド
      11gリリース1(11.1)』 部品番号: E05743-01
     5章 自動パフォーマンス統計


KROWN:86994『[10g 新機能] AWRのレポート(STATSPACKとの違い)について』
KROWN:82099『[10g 新機能] SYSAUX表領域』

[更新履歴]
2011/05/23 スナップショットの取得を行わなくするコマンド例より retention=>0 を削除
           (retentionは取得のインターバルとは無関係であり変更不要のため)
2009/06/23 MMONの正式名称を修正
2008/12/29 保存領域の効率化に関する文章を追記
2008/08/28 10.2.0.4以降ではスナップショット・データの抽出/転送が
           可能であることを追記
2008/04/24 11gではスナップショット・データの抽出/転送が
           可能であることを追記
2006/05/23 AWRのスナップショットをバックアップする方法ですが、10.2でも実装
           しておりませんので、6.の 10.2で実装予定の表記を修正しました。
2006/04/19 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGSのinterval
           パラメータについて、リリース2 (10.2)のマニュアルの内容を追加
2005/05/26 "6. AWRのスナップショットをバックアップ(別DBに移行)する方法に関して"を追加
2005/04/20 "1. 概要" のバックグラウンドプロセス情報を修正
2004/08/30 "1. 概要" に AWRスナップショットを取得するバックグラウンドプロセスの
           情報を追記
2004/08/25 "1. 概要" に SQL Access Advisor を追記
           "2. 統計収集するための設定" に STATISTICS_LEVEL=BASIC とした
           場合の補足を追記
2004/07/23 本文章を公開

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/90460/viewspace-696403/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-08-10

  • 博文量
    1
  • 访问量
    9586