ヘッダーをスキップ
Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス
10g リリース2(10.2)
B19245-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

119 DBMS_WORKLOAD_REPOSITORY

DBMS_WORKLOAD_REPOSITORYパッケージを使用して、ワークロード・リポジトリを管理し、スナップショットやベースラインの管理などの操作を実行できます。

この章では、次の項目について説明します。


DBMS_WORKLOAD_REPOSITORYの使用方法

この項では、DBMS_WORKLOAD_REPOSITORYパッケージの使用に関連する項目について説明します。


次の例では、データベースID 1557521192、インスタンスID 1、スナップショットID 5390と5391、およびデフォルト・オプションを指定し、DBMS_WORKLOAD_REPOSITORYパッケージを使用してAWRテキスト・レポートを生成する方法を示します。

-- make sure to set line size appropriately
-- set linesize 152
SELECT output FROM TABLE(
   DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(
     1557521192,  1, 5390, 5392) ) ;

この例のように、DBMS_WORKLOAD_REPOSITORYパッケージ・ファンクションを直接コールすることもできますが、パッケージ・ファンクション用に提供された、対応するSQLスクリプト(この場合はawrrpt.sql)を使用することをお薦めします。このスクリプトを使用すると、必要な情報の入力を求められます。


DBMS_WORKLOAD_REPOSITORYサブプログラムの要約

表119-1 DBMS_WORKLOAD_REPOSITORYパッケージのサブプログラム

サブプログラム 説明

ASH_REPORT_HTMLファンクション


ASHレポートをHTMLで表示します。

ASH_REPORT_TEXTファンクション


ASHレポートをテキストで表示します。

AWR_DIFF_REPORT_HTMLファンクション


AWR Diff-DiffレポートをHTMLで表示します。

AWR_DIFF_REPORT_TEXTファンクション


AWR Diff-Diffレポートをテキストで表示します。

AWR_REPORT_HTMLファンクション


AWRレポートをHTMLで表示します。

AWR_REPORT_TEXTファンクション


AWRレポートをテキストで表示します。

AWR_SQL_REPORT_HTMLファンクション


AWR SQLレポートをHTML形式で表示します。

AWR_SQL_REPORT_TEXTファンクション


AWR SQLレポートをテキスト形式で表示します。

CREATE_BASELINEファンクションおよびプロシージャ


単一のベースラインを作成します。

CREATE_SNAPSHOTファンクションおよびプロシージャ


マニュアル・スナップショットを即時に作成します。

DROP_BASELINEプロシージャ


スナップショットの範囲を削除します。

DROP_SNAPSHOT_RANGEプロシージャ


サービスをアクティブにします。

MODIFY_SNAPSHOT_SETTINGSプロシージャ


スナップショット設定を変更します。



ASH_REPORT_HTMLファンクション

このテーブル・ファンクションは、ASHスポット・レポートをHTMLで表示します。

構文

DBMS_WORKLOAD_REPOSITORY.ASH_REPORT_HTML(
   l_dbid          IN NUMBER,
   l_inst_num      IN NUMBER,
   l_btime         IN DATE,
   l_etime         IN DATE,
   l_options       IN NUMBER    DEFAULT 0,
   l_slot_width    IN NUMBER    DEFAULT 0,
   l_sid           IN NUMBER    DEFAULT NULL,
   l_sql_id        IN VARCHAR2  DEFAULT NULL,
   l_wait_class    IN VARCHAR2  DEFAULT NULL,
   l_service_hash  IN NUMBER    DEFAULT NULL,
   l_module        IN VARCHAR2  DEFAULT NULL,
   l_action        IN VARCHAR2  DEFAULT NULL,
   l_client_id     IN VARCHAR2  DEFAULT NULL)
 RETURN awrrpt_html_type_table PIPELINED;

パラメータ

表119-2 ASH_REPORT_HTMLのパラメータ

パラメータ 説明

l_dbid

データベース識別子。

l_inst_num

インスタンス番号。

l_btime

開始時間。

l_etime

終了時間。

l_options

レポート・レベル(現在は使用されていません)。

l_slot_width

レポートの「トップ・アクティビティ」セクションで使用するスロットの幅(秒)を指定します。この引数はオプションです。指定しない場合、l_btimel_etimeの間隔は、10スロット未満に適切に分割されます。

l_sid

セッションID(「使用上の注意」を参照)。

l_sql_id

SQL ID(「使用上の注意」を参照)。

l_wait_class

待機クラス名(「使用上の注意」を参照)。

l_service_hash

サービス名のハッシュ(「使用上の注意」を参照)。

l_module

モジュール名(「使用上の注意」を参照)。

l_action

アクション名(「使用上の注意」を参照)。

l_client_id

エンドツーエンドのバックトレースのクライアントID(「使用上の注意」を参照)。


戻り値

出力はVARCHAR2(500)の1列です。

使用上の注意


ASH_REPORT_TEXTファンクション

このテーブル・ファンクションは、ASHスポット・レポートをテキストで表示します。

構文

DBMS_WORKLOAD_REPOSITORY.ASH_REPORT_TEXT(
   l_dbid          IN NUMBER,
   l_inst_num      IN NUMBER,
   l_btime         IN DATE,
   l_etime         IN DATE,
   l_options       IN NUMBER    DEFAULT 0,
   l_slot_width    IN NUMBER    DEFAULT 0,
   l_sid           IN NUMBER    DEFAULT NULL,
   l_sql_id        IN VARCHAR2  DEFAULT NULL,
   l_wait_class    IN VARCHAR2  DEFAULT NULL,
   l_service_hash  IN NUMBER    DEFAULT NULL,
   l_module        IN VARCHAR2  DEFAULT NULL,
   l_action        IN VARCHAR2  DEFAULT NULL,
   l_client_id     IN VARCHAR2  DEFAULT NULL)
 RETURN awrrpt_text_type_table PIPELINED;

パラメータ

表119-4 ASH_REPORT_TEXTのパラメータ

パラメータ 説明

l_dbid

データベース識別子。

l_inst_num

インスタンス番号。

l_btime

開始時間。

l_etime

終了時間。

l_options

レポート・レベル(現在は使用されていません)。

l_slot_width

レポートの「トップ・アクティビティ」セクションで使用するスロットの幅(秒)を指定します。この引数はオプションです。指定しない場合、l_btimel_etimeの間隔は、10スロット未満に適切に分割されます。

l_sid

セッションID(「使用上の注意」を参照)。

l_sql_id

SQL ID(「使用上の注意」を参照)。

l_wait_class

待機クラス名(「使用上の注意」を参照)。

l_service_hash

サービス名のハッシュ(「使用上の注意」を参照)。

l_module

モジュール名(「使用上の注意」を参照)。

l_action

アクション名(「使用上の注意」を参照)。

l_client_id

エンドツーエンドのバックトレースのクライアントID(「使用上の注意」を参照)。


戻り値

出力はVARCHAR2(80)の1列です。

使用上の注意


AWR_DIFF_REPORT_HTMLファンクション

このテーブル・ファンクションは、AWR期間の比較レポートをHTMLで表示します。

構文

DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTML(
   dbid1     IN NUMBER,
   inst_num1 IN NUMBER,
   bid1      IN NUMBER,
   eid1      IN NUMBER,
   dbid2     IN NUMBER,
   inst_num2 IN NUMBER,
   bid2      IN NUMBER,
   eid2      IN NUMBER)
  RETURN awrdrpt_text_type_table PIPELINED;

パラメータ

表119-6 AWR_DIFF_REPORT_HTMLのパラメータ

パラメータ 説明

dbid1

1番目のデータベース識別子。

inst_num1

1番目のインスタンス番号。

bid1

1番目の開始スナップショットID。

eid1

1番目の終了スナップショットID。

dbid2

2番目のデータベース識別子。

inst_num2

2番目のインスタンス番号。

bid2

2番目の開始スナップショットID。

eid2

2番目の終了スナップショットID。


戻り値

出力はVARCHAR2(500)の1列です。

使用上の注意

このファンクションを直接コールすることもできますが、ユーザーに必要な情報の入力を求めるawrddrpt.sqlスクリプトを使用することをお薦めします。


AWR_DIFF_REPORT_TEXTファンクション

このテーブル・ファンクションは、AWR期間の比較レポートをテキストで表示します。

構文

DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT(
   dbid1     IN NUMBER,
   inst_num1 IN NUMBER,
   bid1      IN NUMBER,
   eid1      IN NUMBER,
   dbid2     IN NUMBER,
   inst_num2 IN NUMBER,
   bid2      IN NUMBER,
   eid2      IN NUMBER)
  RETURN awrdrpt_text_type_table PIPELINED;

パラメータ

表119-7 AWR_DIFF_REPORT_TEXTのパラメータ

パラメータ 説明

dbid1

1番目のデータベース識別子。

inst_num1

1番目のインスタンス番号。

bid1

1番目の開始スナップショットID。

eid1

1番目の終了スナップショットID。

dbid2

2番目のデータベース識別子。

inst_num2

2番目のインスタンス番号。

bid2

2番目の開始スナップショットID。

eid2

2番目の終了スナップショットID。


戻り値

出力はVARCHAR2(500)の1列です。

使用上の注意

このファンクションを直接コールすることもできますが、ユーザーに必要な情報の入力を求めるawrddrpt.sqlスクリプトを使用することをお薦めします。


AWR_REPORT_HTMLファンクション

このテーブル・ファンクションは、AWRレポートをHTMLで表示します。

構文

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;

パラメータ

表119-8 AWR_REPORT_HTMLのパラメータ

パラメータ 説明

l_dbid

データベース識別子。

l_inst_num

インスタンス番号。

l_bid

開始スナップショットID。

l_eid

終了スナップショットID。

l_options

レポートの出力を制御するために指定するフラグ。現在、Oracleでは次の1つの値をサポートしています。

  • l_options - 8。レポートのADDM固有部分を表示します。これらのセクションには、バッファ・プール・アドバイス、共有プール・アドバイス、およびPGAターゲット・アドバイスが含まれます。


戻り値

出力はVARCHAR2(150)の1列です。

使用上の注意

このファンクションを直接コールすることもできますが、ユーザーに必要な情報の入力を求めるawrrpt.sqlスクリプトを使用することをお薦めします。


AWR_REPORT_TEXTファンクション

このテーブル・ファンクションは、AWRレポートをテキストで表示します。

構文

DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(
   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;

パラメータ

表119-9 AWR_REPORT_TEXTのパラメータ

パラメータ 説明

l_dbid

データベース識別子。

l_insT_num

インスタンス番号。

l_bid

開始スナップショットID。

l_eid

終了スナップショットID。

l_options

レポートの出力を制御するために指定するフラグ。現在、Oracleでは次の1つの値をサポートしています。

  • l_options - 8。レポートのADDM固有部分を表示します。これらのセクションには、バッファ・プール・アドバイス、共有プール・アドバイス、およびPGAターゲット・アドバイスが含まれます。


戻り値

出力はVARCHAR2(80)の1列です。

使用上の注意

このファンクションを直接コールすることもできますが、ユーザーに必要な情報の入力を求めるawrrpt.sqlスクリプトを使用することをお薦めします。


AWR_SQL_REPORT_HTMLファンクション

このテーブル・ファンクションは、AWR SQLレポートをHTML形式で表示します。

構文

DBMS_WORKLOAD_REPOSITORY.AWR_SQL_REPORT_HTML(
   l_dbid       IN    NUMBER,
   l_inst_num   IN    NUMBER,
   l_bid        IN    NUMBER,
   l_eid        IN    NUMBER,
   l_sqlid      IN    VARCHAR2,
   l_options    IN    NUMBER DEFAULT 0)
 RETURN awrrpt_html_type_table PIPELINED;

パラメータ

表119-10 AWR_SQL_REPORT_HTMLのパラメータ

パラメータ 説明

l_dbid

データベース識別子。

l_inst_num

インスタンス番号。

l_bid

開始スナップショットID。

l_eid

終了スナップショットID。

l_sqlid

分析する文のSQL ID。

l_options

レポートの出力を制御するために指定するフラグ。現在は使用されていません。


戻り値

出力はVARCHAR2(500)の1列です。

使用上の注意

このファンクションを直接コールすることもできますが、ユーザーに必要な情報の入力を求めるawrsqrpt.sqlスクリプトを使用することをお薦めします。


AWR_SQL_REPORT_TEXTファンクション

このテーブル・ファンクションは、AWR SQLレポートをテキスト形式で表示します。

構文

DBMS_WORKLOAD_REPOSITORY.AWR_SQL_REPORT_TEXT(
   l_dbid       IN    NUMBER,
   l_inst_num   IN    NUMBER,
   l_bid        IN    NUMBER,
   l_eid        IN    NUMBER,
   l_sqlid      IN    VARCHAR2,
   l_options    IN    NUMBER DEFAULT 0)
 RETURN awrrpt_text_type_table PIPELINED;

パラメータ

表119-11 AWR_SQL_REPORT_TEXTのパラメータ

パラメータ 説明

l_dbid

データベース識別子。

l_inst_num

インスタンス番号。

l_bid

開始スナップショットID。

l_eid

終了スナップショットID。

l_sqlid

分析する文のSQL ID。

l_options

レポートの出力を制御するために指定するフラグ。現在は使用されていません。


戻り値

出力はVARCHAR2(120)の1列です。

使用上の注意

このファンクションを直接コールすることもできますが、ユーザーに必要な情報の入力を求めるawrsqrpt.sqlスクリプトを使用することをお薦めします。


CREATE_BASELINEファンクションおよびプロシージャ

このファンクションおよびプロシージャは、ベースラインを作成します。

構文

DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(
   start_snap_id    IN  NUMBER,
   end_snap_id      IN  NUMBER,
   baseline_name    IN  VARCHAR2,
   dbid             IN  NUMBER DEFAULT NULL);

DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(
   start_snap_id    IN  NUMBER,
   end_snap_id      IN  NUMBER,
   baseline_name    IN  VARCHAR2,
   dbid             IN  NUMBER DEFAULT NULL)
 RETURN NUMBER;

パラメータ

表119-12 CREATE_BASELINEのパラメータ

パラメータ 説明

start_snap_id

開始スナップショット順序番号。

end_snap_id

終了スナップショット順序番号。

baseline_name

ベースラインの名前。

dbid

データベースID(デフォルトはローカルDBID)。


次の例では、ローカル・データベースのスナップショット105から107までのベースライン('oltp_peakload_bl'という名前で)を作成します。

EXECUTE DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE (start_snap_id => 105,
end_snap_id => 107,
baseline_name => 'oltp_peakload_bl');

ベースライン作成操作後にDBA_HIST_BASELINEビューを問い合せると、ワークロード・リポジトリに新しく作成したベースラインが表示されます。


CREATE_SNAPSHOTファンクションおよびプロシージャ

このファンクションおよびプロシージャは、スナップショットを作成します。ファンクションの場合、スナップショットIDが戻されます。

構文

DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(
   flush_level IN VARCHAR2 DEFAULT 'TYPICAL');

DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(
   flush_level IN VARCHAR2 DEFAULT 'TYPICAL')
 RETURN NUMBER;

パラメータ

表119-13 CREATE_SNAPSHOTのパラメータ

パラメータ 説明

flush_level

スナップショットが'TYPICAL'または'ALL'の場合のフラッシュ・レベル。


この例では、TYPICALレベルでマニュアル・スナップショットを作成します。

EXECUTE DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

CREATE_SNAPSHOT操作後にDBA_HIST_SNAPSHOTビューを問い合せると、ワークロード・リポジトリにもう1つスナップショットIDが追加されているのが確認できます。


DROP_BASELINEプロシージャ

このプロシージャは、ベースラインを削除します。

構文

DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE(
   baseline_name  IN  VARCHAR2,
   cascade        IN  BOOLEAN DEFAULT false,
   dbid           IN  NUMBER DEFAULT NULL);

パラメータ

表119-14 DROP_BASELINEのパラメータ

パラメータ 説明

baseline_name

ベースラインの名前。

cascade

TRUEに設定すると、ベースラインに関連付けられたスナップショットの組合せも削除されます。TRUE以外の場合、ベースラインのみが削除されます。

dbid

(オプションの)データベースID(デフォルトはローカルDBID)。


この例では、元のスナップショットを削除せずに、ベースライン'oltp_peakload_bl'を削除します。

EXECUTE DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE (
       baseline_name => 'oltp_peakload_bl');

DROP_BASELINE操作後にDBA_HIST_BASELINEビューを問い合せると、指定したベースライン定義が削除されているのが確認できます。DBA_HIST_SNAPSHOTビューを問い合せて、元のスナップショットが変更されていないことを確認できます。


DROP_SNAPSHOT_RANGEプロシージャ

このプロシージャは、一定の範囲のスナップショットを削除します。

構文

DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(
   low_snap_id    IN  NUMBER,
   high_snap_id   IN  NUMBER
   dbid           IN  NUMBER DEFAULT NULL);

パラメータ

表119-15 DROP_SNAPSHOT_RANGEプロシージャのパラメータ

パラメータ 説明

low_snap_id

削除するスナップショットの最低のスナップショットID。

high_snap_id

削除するスナップショットの最高のスナップショットID。

dbid

データベースID(デフォルトはローカルDBID)。


この例では、ローカル・データベースのスナップショットID102から105までのスナップショットの範囲を削除します。

EXECUTE DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(102, 105);

Drop Snapshot操作後にdba_hist_snapshotビューを問い合せると、ワークロード・リポジトリからスナップショット102から105が削除されているのが確認できます。


MODIFY_SNAPSHOT_SETTINGSプロシージャ

このプロシージャは、スナップショット生成の3つの側面を制御します。

2つのオーバーロードがあります。最初のオーバーロードはtopnsql引数のNUMBERを使用し、2番目のオーバーロードはVARCHAR2を使用します。これらの違いについては、パラメータの説明を参照してください。

構文

DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
   retention   IN  NUMBER    DEFAULT NULL,
   interval    IN  NUMBER    DEFAULT NULL,
   topnsql     IN  NUMBER    DEFAULT NULL,
   dbid        IN  NUMBER    DEFAULT NULL);

DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
   retention   IN  NUMBER    DEFAULT NULL,
   interval    IN  NUMBER    DEFAULT NULL,
   topnsql     IN  VARCHAR2,
   dbid        IN  NUMBER    DEFAULT NULL);

パラメータ

表119-16 MODIFY_SNAPSHOT_SETTINGSプロシージャのパラメータ

パラメータ 説明

retention

新しい保存期間(分単位)。値は、MIN_RETENTION(1日)からMAX_RETENTION(100年)の範囲で指定する必要があります。

ZEROを指定した場合、スナップショットは永久に保持されます。システム定義の大きい値が保存期間設定として使用されます。

NULLを指定した場合、古い保存期間の値が維持されます。

interval

スナップショット間の新しい間隔設定(分単位)。値は、MIN_RETENTION(10分)からMAX_RETENTION(1年)の範囲で指定する必要があります。

ZEROを指定した場合、自動および手動によるスナップショットは無効になります。システム定義の大きい値が保存期間設定として使用されます。

NULLを指定した場合、現在の値が維持されます。

topnsql

  • NUMBERの場合: Top N SQLのサイズ。SQL基準(経過時間、CPU時間、解析コール、共有可能メモリー、バージョン・カウント)ごとにフラッシュするTop SQLの数。この設定の値は、統計レベルまたはフラッシュ・レベルによる影響を受けず、AWR SQLコレクションに対するシステムのデフォルト動作より優先されます。この設定の最小値は30で、最大値は100000000です。NULLを指定すると、現在の設定が維持されます。

  • VARCHAR2の場合: ユーザーはDEFAULTMAXIMUMNの値を指定できます。ここで、Nは、SQL基準ごとにフラッシュするTop SQLの数です。DEFAULTを指定すると、システムは統計レベルTYPICALのTop 30および統計レベルALLのTop 100のデフォルト動作に戻ります。MAXIMUMを指定すると、システムはカーソル・キャッシュ内のSQLの完全なセットを取得します。数値Nを指定することは、NUMBER型を使用してTop N SQLを設定することと同じです。この引数にNULLを指定すると、現在の設定が維持されます。

dbid

スナップショット設定を変更するAWR内のデータベース識別子。NULLを指定した場合、ローカルのdbidが使用されます。デフォルトはNULLです。


この例では、ローカル・データベースのinterval設定を1時間に変更し、retention設定を2週間に変更します。

EXECUTE DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
  interval  =>  60,
  retention =>  20160);

このプロシージャの実行後にDBA_HIST_WR_CONTROL表を問い合せると、これらの設定の変更を確認できます。