14 DBMS_ADDM

DBMS_ADDMパッケージによって、自動データベース診断モニターに関するアドバイザ機能を簡単に使用できるようになります。

この章のトピックは、次のとおりです:

参照:

14.1 DBMS_ADDMのセキュリティ・モデル

DBMS_ADDMパッケージは、定義者の権限ではなくコール元の権限で実行され、DBMS_ADVISORパッケージで必要なセキュリティ制約が適用されます。

参照:

セキュリティ・モデルの詳細は、「DBMS_ADVISOR」パッケージを参照してください。

14.2 DBMS_ADDMサブプログラムの要約

このトピックの表では、DBMS_ADDMサブプログラムとその説明を示します。

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

サブプログラム 説明

ANALYZE_DBプロシージャ

データベース分析モードで分析するためのADDMタスクを作成して実行します。

ANALYZE_INSTプロシージャ

インスタンス分析モードで分析するためのADDMタスクを作成して実行します。

ANALYZE_PARTIALプロシージャ

部分的な分析モードでインスタンスのサブセットを分析するためのADDMタスクを作成して実行します。

COMPARE_CAPTURE_REPLAY_REPORTファンクション

取得のパフォーマンスをリプレイと比較する期間比較ADDMレポートを作成します。

COMPARE_DATABASESファンクション

データベース全体でパフォーマンスを比較するための期間比較ADDMレポートを作成します。

COMPARE_INSTANCESファンクション

インスタンス・レベルでパフォーマンスを比較するための期間比較ADDMレポートを作成します。

COMPARE_REPLAY_REPLAY_REPORTファンクション

リプレイのパフォーマンスを別のリプレイと比較する期間比較ADDMレポートを作成します。

DELETEプロシージャ

作成済のすべてのADDMタスクを削除します。

DELETE_FINDING_DIRECTIVEプロシージャ

検索結果ディレクティブを削除します。

DELETE_PARAMETER_DIRECTIVEプロシージャ

パラメータ・ディレクティブを削除します。

DELETE_SEGMENT_DIRECTIVEプロシージャ

セグメント・ディレクティブを削除します。

DELETE_SQL_DIRECTIVEプロシージャ

SQLディレクティブを削除します。

GET_ASH_QUERYファンクション

検索結果に影響するASHの行を特定するASH問合せのSQLテキストを含む文字列を戻します。

GET_REPORTファンクション

実行済のADDMタスクのデフォルトのテキスト・レポートを取得します。

INSERT_FINDING_DIRECTIVEプロシージャ

特定の検索結果タイプのレポートを制限するディレクティブを作成します。

INSERT_PARAMETER_DIRECTIVEプロシージャ

特定のシステム・パラメータの値を変更するアクションがADDMによって作成されないようにするディレクティブを作成します。

INSERT_SEGMENT_DIRECTIVEプロシージャ

特定のセグメントに対してセグメント・アドバイザを実行するアクションがADDMによって作成されないようにするディレクティブを作成します。

INSERT_SQL_DIRECTIVEプロシージャ

特定のSQLに対するアクションのレポートを制限するディレクティブを作成します。

REAL_TIME_ADDM_REPORTファンクション

ADDMアクティビティのリアルタイム・レポートを作成します。

14.2.1 ANALYZE_DBプロシージャ

このプロシージャは、データベース分析モードで分析するためのADDMタスクを作成して実行します。

構文

DBMS_ADDM.ANALYZE_DB (
   task_name           IN OUT VARCHAR2,
   begin_snapshot      IN     NUMBER,
   end_snapshot        IN     NUMBER,
   db_id               IN     NUMBER := NULL);

パラメータ

表14-2 ANALYZE_DBプロシージャのパラメータ

パラメータ 説明

task_name

作成するタスクの名前。

begin_snapshot

分析期間を開始するスナップショットの数。

end_snapshot

分析期間を終了するスナップショットの数。

db_id

分析するデータベースのデータベースID。デフォルトでは、これは、現在接続しているデータベースです。

戻り値

作成するタスクの名前は、task_nameパラメータに戻されます。この名前は、入力として指定されている値と異なる場合があります(その名前が別のタスクですでに使用されている場合のみ)。

tname変数に名前を指定して、データベース分析モードでADDMタスクを作成して実行するには、次のように入力します。

var tname VARCHAR2(60);
BEGIN
  :tname := 'my_database_analysis_mode_task';
  DBMS_ADDM.ANALYZE_DB(:tname, 1, 2);
END

レポートを表示するには、次のように入力します。

SET LONG 100000
SET PAGESIZE 50000
SELECT DBMS_ADDM.GET_REPORT(:tname) FROM DUAL;

レポートの戻り値のタイプはCLOBであり、行サイズ(80)に合うように書式化されます。

14.2.2 ANALYZE_INSTプロシージャ

このプロシージャは、インスタンス分析モードで分析するためのADDMタスクを作成して実行します。

構文

DBMS_ADDM.ANALYZE_INST (
   task_name           IN OUT VARCHAR2,
   begin_snapshot      IN     NUMBER,
   end_snapshot        IN     NUMBER,
   instance_number     IN     NUMBER := NULL,
   db_id               IN     NUMBER := NULL);

パラメータ

表14-3 ANALYZE_INSTプロシージャのパラメータ

パラメータ 説明

task_name

作成するタスクの名前。

begin_snapshot

分析期間を開始するスナップショットの数。

end_snapshot

分析期間を終了するスナップショットの数。

instance_number

分析するインスタンスの番号。デフォルトでは、これは、現在接続しているインスタンスです。

db_id

分析するデータベースのデータベースID。デフォルトでは、これは、現在接続しているデータベースです。

戻り値

作成するタスクの名前は、task_nameパラメータに戻されます。この名前は、入力として指定されている値と異なる場合があります(その名前が別のタスクですでに使用されている場合のみ)。

使用上の注意

シングル・インスタンス・システム(Oracle RACを使用していないインスタンス・システムの場合)では、作成されるタスクはANALYZE_DBプロシージャを使用した場合と同じです。

tname変数に名前を指定して、インスタンス分析モードでADDMタスクを作成して実行するには、次のように入力します。

var tname VARCHAR2(60);
BEGIN
  :tname := 'my_instance_analysis_mode_task';
  DBMS_ADDM.ANALYZE_INST(:tname, 1, 2);
END

レポートを表示するには、次のように入力します。

SET LONG 100000
SET PAGESIZE 50000
SELECT DBMS_ADDM.GET_REPORT(:tname) FROM DUAL;

レポートの戻り値のタイプはCLOBであり、行サイズ(80)に合うように書式化されます。

14.2.3 ANALYZE_PARTIALプロシージャ

このプロシージャは、部分的な分析モードでインスタンスのサブセットを分析するADDMタスクを作成して実行します。

構文

DBMS_ADDM.ANALYZE_PARTIAL (
   task_name           IN OUT VARCHAR2,
   instance_numbers    IN     VARCHAR2,
   begin_snapshot      IN     NUMBER,
   end_snapshot        IN     NUMBER,
   db_id               IN     NUMBER := NULL);

パラメータ

表14-4 ANALYZE_PARTIALプロシージャのパラメータ

パラメータ 説明

task_name

作成するタスクの名前。

instance_numbers

分析するインスタンスの番号のカンマ区切りリスト。

begin_snapshot

分析期間を開始するスナップショットの数。

end_snapshot

分析期間を終了するスナップショットの数。

db_id

分析するデータベースのデータベースID。デフォルトでは、これは、現在接続しているデータベースです。

戻り値

作成するタスクの名前は、task_nameパラメータに戻されます。この名前は、入力として指定されている値と異なる場合があります(その名前が別のタスクですでに使用されている場合のみ)。

tname変数に名前を指定して、部分的な分析モードでADDMタスクを作成して実行するには、次のように入力します。

var tname VARCHAR2(60);
BEGIN
  :tname := 'my_partial_analysis_modetask';
  DBMS_ADDM.ANALYZE_PARTIAL(:tname, '1,2,3', 1, 2);
END

レポートを表示するには、次のように入力します。

SET LONG 100000
SET PAGESIZE 50000
SELECT DBMS_ADDM.GET_REPORT(:tname) FROM DUAL;

レポートの戻り値のタイプはCLOBであり、行サイズ(80)に合うように書式化されます。

14.2.4 COMPARE_CAPTURE_REPLAY_REPORTファンクション

このファンクションは、取得のパフォーマンスをリプレイと比較する期間比較ADDMレポートを作成します。

AWRデータは同じデータベースに格納されている必要がありますが、異なるデータベースから作成されていても構いません。このファンクションは、XMLまたはHTML(アクティブ・レポート)のどちらかの形式でレポートを生成します。

構文

DBMS_ADDM.COMPARE_CAPTURE_REPLAY_REPORT (
   replay_id             IN NUMBER,
   report_type           IN VARCHAR2 := 'HTML')
  RETURN CLOB;

パラメータ

表14-5 COMPARE_CAPTURE_REPLAY_REPORTファンクションのパラメータ

パラメータ 説明

replay_id

基本期間として使用するリプレイID。基本期間は、改善または低下を判別するために比較するベースライン期間です。

report_type

HTMLアクティブ・レポートの場合はHTML (デフォルト)、XMLレポートの場合はXMLです。

戻り値

期間比較ADDMレポートを含むCLOB

14.2.5 COMPARE_DATABASESファンクション

このファンクションは、2つの異なる期間にわたる1つのデータベースのパフォーマンス、または2つの異なる期間にわたる2つの異なるデータベースのパフォーマンスを比較する期間比較ADDMレポートを作成します。

AWRデータは同じデータベースに格納されている必要がありますが、異なるデータベースから作成されていても構いません。このファンクションは、XMLまたはHTML(アクティブ・レポート)のどちらかの形式でレポートを生成します。

構文

DBMS_ADDM.COMPARE_DATABASES (
   base_dbid             IN NUMBER := NULL,
   base_begin_snap_id    IN NUMBER,
   base_end_snap_id      IN NUMBER,
   comp_dbid             IN NUMBER := NULL,
   comp_begin_snap_id    IN NUMBER,
   comp_end_snap_id      IN NUMBER,
   report_type           IN VARCHAR2 := 'HTML')
  RETURN CLOB;

パラメータ

表14-6 COMPARE_DATABASESファンクションのパラメータ

パラメータ 説明

base_dbid

基本期間のデータベースID (DBID)。基本期間は、改善または低下を判別するために比較するベースライン期間です。

base_begin_snap_id

基本期間の開始AWRスナップショットID。

base_end_snap_id

基本期間の終了AWRスナップショットID。

comp_dbid

比較期間のデータベースID (DBID)。比較期間は、基本期間と比較する期間です。

comp_begin_snap_id

比較期間の開始AWRスナップショットID。

comp_end_snap_id

比較期間の終了AWRスナップショットID。

report_type

HTMLアクティブ・レポートの場合はHTML (デフォルト)、XMLレポートの場合はXMLです。

戻り値

期間比較ADDMレポートを含むCLOB

14.2.6 COMPARE_INSTANCESファンクション

このファンクションは、2つの異なる期間にわたる単一インスタンスのパフォーマンスを比較する期間比較ADDMレポート、または2つの異なる期間にわたる2つの異なるインスタンスのパフォーマンスを比較する期間比較ADDMレポートを作成します。

AWRデータは同じデータベースに格納されている必要がありますが、異なるデータベースから作成されていても構いません。このファンクションは、XMLまたはHTML(アクティブ・レポート)のどちらかの形式でレポートを生成します。

構文

DBMS_ADDM.COMPARE_INSTANCES (
   base_dbid             IN NUMBER := NULL,
   base_instance_id      IN NUMBER
   base_begin_snap_id    IN NUMBER,
   base_end_snap_id      IN NUMBER,
   comp_dbid             IN NUMBER := NULL,
   comp_instance_id      IN NUMBER,
   comp_begin_snap_id    IN NUMBER,
   comp_end_snap_id      IN  NUMBER,
   report_type           IN VARCHAR2 := 'HTML')
  RETURN CLOB;

パラメータ

表14-7 COMPARE_INSTANCESファンクションのパラメータ

パラメータ 説明

base_dbid

基本期間のデータベースID (DBID)。基本期間は、改善または低下を判別するために比較するベースライン期間です。

base_instance_id

基本期間から対象に含めるデータベース・インスタンスのインスタンス番号

base_begin_snap_id

基本期間の開始AWRスナップショットID。

base_end_snap_id

基本期間の終了AWRスナップショットID。

comp_dbid

比較期間のデータベースID (DBID)。比較期間は、基本期間と比較する期間です。

comp_instance_id

比較期間から対象に含めるデータベース・インスタンスのインスタンス番号

comp_begin_snap_id

比較期間の開始AWRスナップショットID。

comp_end_snap_id

比較期間の終了AWRスナップショットID。

report_type

HTMLアクティブ・レポートの場合はHTML (デフォルト)、XMLレポートの場合はXMLです。

戻り値

期間比較ADDMレポートを含むCLOB

14.2.7 COMPARE_REPLAY_REPLAY_REPORTファンクション

このファンクションは、リプレイのパフォーマンスを別のリプレイと比較する期間比較ADDMレポートを作成します。

AWRデータは同じデータベースに格納されている必要がありますが、異なるデータベースから作成されていても構いません。このファンクションは、XMLまたはHTML(アクティブ・レポート)のどちらかの形式でレポートを生成します。

構文

DBMS_ADDM.COMPARE_CAPTURE_REPLAY_REPORT (
   replay_id1            IN NUMBER,
   replay_id2            IN NUMBER,
   report_type           IN VARCHAR2 := 'HTML')
  RETURN CLOB;

パラメータ

表14-8 COMPARE_REPLAY_REPLAY_REPORTファンクションのパラメータ

パラメータ 説明

replay_id1

基本期間として使用するリプレイID。基本期間は、改善または低下を判別するために比較するベースライン期間です。

replay_id2

比較期間として使用するリプレイID。比較期間は、改善または低下を判別するために基本期間と比較する期間です。

report_type

HTMLアクティブ・レポートの場合はHTML (デフォルト)、XMLレポートの場合はXMLです。

戻り値

期間比較ADDMレポートを含むCLOB

14.2.8 DELETEプロシージャ

このプロシージャは、作成済のすべてのADDMタスクを削除します。データベース分析モードおよび部分的な分析モードの場合は、メイン・タスクに関連付けられているローカル・タスクを削除します。

構文

DBMS_ADDM.DELETE (
   task_name           IN VARCHAR2);

パラメータ

表14-9 DELETEプロシージャのパラメータ

パラメータ 説明

task_name

削除するタスクの名前。

BEGIN
  DBMS_ADDM.DELETE ('my_partial_analysis_mode_task');
END

14.2.9 DELETE_FINDING_DIRECTIVEプロシージャ

このプロシージャは、検索結果ディレクティブを削除します。

構文

DBMS_ADDM.DELETE_FINDING_DIRECTIVE (
   task_name           IN VARCHAR2,
   dir_name            IN VARCHAR2);

パラメータ

表14-10 DELETE_FINDING_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

task_name

このディレクティブを適用するタスクの名前。値がNULLの場合、このディレクティブはシステム・ディレクティブです。

dir_name

ディレクティブの名前。すべてのディレクティブの名前は一意である必要があります。

14.2.10 DELETE_PARAMETER_DIRECTIVEプロシージャ

このプロシージャは、パラメータ・ディレクティブを削除します。また、パラメータ用の特定のシステム・ディレクティブを削除します。後続のADDMタスクは、このディレクティブの影響を受けません。

構文

DBMS_ADDM.DELETE_PARAMETER_DIRECTIVE (
   task_name           IN VARCHAR2,
   dir_name            IN VARCHAR2);

パラメータ

表14-11 DELETE_PARAMETER_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

task_name

このディレクティブを適用するタスクの名前。値がNULLの場合、このディレクティブはシステム・ディレクティブです。

dir_name

ディレクティブの名前。すべてのディレクティブの名前は一意である必要があります。

BEGIN
   DBMS_ADDM.DELETE_PARAMETER_DIRECTIVE (NULL,'my Parameter directive'); 
END;

14.2.11 DELETE_SEGMENT_DIRECTIVEプロシージャ

このプロシージャは、セグメント・ディレクティブを削除します。

構文

DBMS_ADDM.DELETE_SEGMENT_DIRECTIVE (
   task_name           IN VARCHAR2,
   dir_name            IN VARCHAR2);

パラメータ

表14-12 DELETE_SEGMENT_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

task_name

このディレクティブを適用するタスクの名前。値がNULLの場合、このディレクティブはシステム・ディレクティブです。

dir_name

ディレクティブの名前。すべてのディレクティブの名前は一意である必要があります。

14.2.12 DELETE_SQL_DIRECTIVEプロシージャ

このプロシージャは、SQLディレクティブを削除します。

構文

DBMS_ADDM.DELETE_SQL_DIRECTIVE (
   task_name           IN VARCHAR2,
   dir_name            IN VARCHAR2);

パラメータ

表14-13 DELETE_SQL_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

task_name

このディレクティブを適用するタスクの名前。値がNULLの場合、このディレクティブはシステム・ディレクティブです。

dir_name

ディレクティブの名前。すべてのディレクティブの名前は一意である必要があります。

14.2.13 GET_ASH_QUERYファンクション

このファンクションは、検索結果に影響するASHの行を特定するASH問合せのSQLテキストを含む文字列を戻します。

ほとんどのタイプの検索結果では、これにより検索結果に対応する正確なASHの行が特定されます。検索結果のタイプによっては、問合せは近似値であるため、検索結果の影響や検索結果の特定のアクティビティを正確に識別するために使用しないでください。

構文

DBMS_ADDM.GET_ASH_QUERY (
   task_name           IN   VARCHAR2,
   finding_id          IN   NUMBER)
  RETURN VARCHAR2;

パラメータ

表14-14 GET_ASH_QUERYファンクションのパラメータ

パラメータ 説明

task_name

タスク名

finding

タスク内の検索結果のID

戻り値

検査結果に影響するASHの行を特定するASH問合せを含むVARCHAR

14.2.14 GET_REPORTファンクション

このファンクションは、実行済のADDMタスクのデフォルトのテキスト・レポートを取得します。

構文

DBMS_ADDM.GET_REPORT (
   task_name           IN VARCHAR2)
  RETURN CLOB;

パラメータ

表14-15 GET_REPORTファンクションのパラメータ

パラメータ 説明

task_name

タスク名

Set long 1000000
Set pagesize 50000
SELECT DBMS_ADDM.GET_REPORT('my_partial_analysis_mode_task') FROM DUAL;

14.2.15 INSERT_FINDING_DIRECTIVEプロシージャ

このプロシージャは、特定の検索結果タイプのレポートを制限するディレクティブを作成します。ディレクティブは、特定のタスク用に作成したり(タスクのステータスがINITIALの場合のみ)、続いて作成されるすべてのADDMタスク用に作成できます。

構文

DBMS_ADDM.INSERT_FINDING_DIRECTIVE (
   task_name             IN VARCHAR2,
   dir_name              IN VARCHAR2,
   finding_name          IN VARCHAR2,
   min_active_sessions   IN NUMBER := 0,
   min_perc_impact       IN NUMBER := 0); 

パラメータ

表14-16 INSERT_FINDING_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

task_name

このディレクティブを適用するタスクの名前。値がNULLの場合、このディレクティブは、続いて作成されるすべてのADDMタスクに適用されます。

dir_name

ディレクティブの名前。すべてのディレクティブの名前は一意である必要があります。

finding_name

このディレクティブを適用するADDM検索結果の名前。すべての有効な検索結果の名前は、DBA_ADVISOR_FINDING_NAMESビューのNAME列に表示されます。

min_active_sessions

検査結果に対するアクティブなセッションの最小数。検索結果がこの数より少ない場合は、ADDM結果に対してフィルタ処理が実行されています。

min_perc_impact

分析期間の合計データベース時間に対する検索結果の影響の割合の最小数。検索結果の影響がこの数より小さい場合は、ADDM結果に対してフィルタ処理が実行されています。

ローカル・インスタンスを分析するために新しいADDMタスクが作成されます。ただし、'Undersized SGA'検索結果に対して特別な処理が行われます。'Undersized SGA'検索結果は、分析期間中2つ以上の平均アクティブ・セッションに関与し、その分析期間中の10%以上の合計データベース時間を構成する場合にのみ、GET_REPORTの結果に表示されます。

var tname VARCHAR2(60);
BEGIN
  DBMS_ADDM.INSERT_FINDING_DIRECTIVE(
   NULL, 
   'Undersized SGA directive',
   'Undersized SGA', 
   2, 
   10); 
  :tname := 'my_instance_analysis_mode_task';
  DBMS_ADDM.ANALYZE_INST(:tname, 1, 2);
END;

ディレクティブに関係なく'Undersized SGA'検索結果が含まれているレポートを表示するには、次のように入力します。

SELECT DBMS_ADVISOR.GET_TASK_REPORT(:tname, 'TEXT', 'ALL') FROM DUAL;

14.2.16 INSERT_PARAMETER_DIRECTIVEプロシージャ

このプロシージャは、特定のシステム・パラメータの値を変更するアクションがADDMによって作成されないようにするディレクティブを作成します。ディレクティブは、特定のタスク用に作成したり(タスクのステータスがINITIALの場合のみ)、続いて作成されるすべてのADDMタスク用に作成できます。

構文

DBMS_ADDM.INSERT_PARAMETER_DIRECTIVE (
   task_name             IN VARCHAR2,
   dir_name              IN VARCHAR2,
   parameter_name        IN VARCHAR2);

パラメータ

表14-17 INSERT_PARAMETER_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

task_name

このディレクティブを適用するタスクの名前。値がNULLの場合、このディレクティブは、続いて作成されるすべてのADDMタスクに適用されます。

dir_name

ディレクティブの名前。すべてのディレクティブの名前は一意である必要があります。

parameter_name

使用するパラメータを指定します。有効なパラメータの名前がV$PARAMETERに表示されます。

ローカル・インスタンスを分析するために新しいADDMタスクが作成されます。ただし、'sga_target'パラメータの変更を推奨するすべてのアクションに対して特別な処理が行われます。GET_REPORTの結果に、これらのアクションは表示されません。

var tname varchar2(60);
BEGIN
  DBMS_ADDM.INSERT_PARAMETER_DIRECTIVE(
   NULL,
   'my Parameter directive',
   'sga_target'); 
  :tname := 'my_instance_analysis_mode_task';
  DBMS_ADDM.ANALYZE_INST(:tname, 1, 2);
END;

ディレクティブに関係なくすべてのアクションが含まれるレポートを表示するには、次のように入力します。

SELECT DBMS_ADVISOR.GET_TASK_REPORT(:tname, 'TEXT', 'ALL') FROM DUAL;

14.2.17 INSERT_SEGMENT_DIRECTIVEプロシージャ

このプロシージャは、特定のセグメントに対してセグメント・アドバイザを実行するアクションがADDMによって作成されないようにするディレクティブを作成します。ディレクティブは、特定のタスク用に作成したり(タスクのステータスがINITIALの場合のみ)、続いて作成されるすべてのADDMタスク用に作成できます。

構文

DBMS_ADDM.INSERT_SEGMENT_DIRECTIVE (
   task_name             IN VARCHAR2,
   dir_name              IN VARCHAR2,
   owner_name            IN VARCHAR2,
   object_name           IN VARCHAR2 := NULL,
   sub_object_name       IN VARCHAR2 := NULL);
   
DBMS_ADDM.INSERT_SEGMENT_DIRECTIVE (
   task_name             IN VARCHAR2,
   dir_name              IN VARCHAR2,
   object_number         IN NUMBER);

パラメータ

表14-18 INSERT_SEGMENT_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

task_name

このディレクティブを適用するタスクの名前。値がNULLの場合、このディレクティブは、続いて作成されるすべてのADDMタスクに適用されます。

dir_name

ディレクティブの名前。すべてのディレクティブの名前は一意である必要があります。

owner_name

フィルタ処理するセグメントの所有者を指定します。LIKE制約に使用される同じ構文でワイルドカードを使用できます。

object_name

フィルタ処理するメイン・オブジェクトの名前。ワイルドカードを使用できます。NULLのデフォルト値は、'%'の値と同じです。

sub_object_name

フィルタ処理するメイン・オブジェクトの一部の名前。この名前には、パラメータ名または(.で区切られた)サブパーティション名を指定できます。ワイルドカードを使用できます。NULLのデフォルト値は、'%'の値と同じです。

object_number

このディレクティブによってフィルタ処理されるSEGMENTのオブジェクト番号。DBA_OBJECTSまたはDBA_SEGMENTSのビューにあります。

ローカル・インスタンスを分析するために新しいADDMタスクが作成されます。ただし、ユーザーSCOTTに属するすべてのセグメントに対して特別な処理が行われます。GET_REPORTの結果に、SCOTTに属するセグメントに対してセグメント・アドバイザを実行するためのアクションは表示されません。

var tname VARCHAR2(60);
BEGIN
  DBMS_ADDM.INSERT_SEGMENT_DIRECTIVE(NULL,
                                     'my Segment directive',
                                     'SCOTT'); 
  :tname := 'my_instance_analysis_mode_task';
  DBMS_ADDM.ANALYZE_INST(:tname, 1, 2);
END;

ディレクティブに関係なくすべてのアクションが含まれるレポートを表示するには、次のように入力します。

SELECT DBMS_ADVISOR.GET_TASK_REPORT(:tname, 'TEXT', 'ALL') FROM DUAL;

14.2.18 INSERT_SQL_DIRECTIVEプロシージャ

このプロシージャは、特定のSQLに対するアクションのレポートを制限するディレクティブを作成します。ディレクティブは、特定のタスク用に作成したり(タスクのステータスがINITIALの場合のみ)、続いて作成されるすべてのADDMタスク用に作成できます。

構文

DBMS_ADDM.INSERT_SQL_DIRECTIVE (
   task_name             IN VARCHAR2,
   dir_name              IN VARCHAR2,
   sql_id                IN VARCHAR2,
   min_active_sessions   IN NUMBER := 0,
   min_response_time     IN NUMBER := 0); 

パラメータ

表14-19 INSERT_SQL_DIRECTIVEプロシージャのパラメータ

パラメータ 説明

task_name

このディレクティブを適用するタスクの名前。値がNULLの場合、このディレクティブは、続いて作成されるすべてのADDMタスクに適用されます。

dir_name

ディレクティブの名前。すべてのディレクティブの名前は一意である必要があります。

sql_id

フィルタ処理するSQL文を識別します。有効な値には、0から9およびaからzまでの13文字が含まれています。

min_active_sessions

SQLに対するアクティブなセッションの最小数。SQLアクションがこの数より少ない場合は、ADDM結果に対してフィルタ処理が実行されています。

min_response_time

SQLの応答時間の最小値(マイクロ秒)。SQLの応答時間がこの値より小さい場合は、ADDM結果に対してフィルタ処理が実行されています。

ローカル・インスタンスを分析するために新しいADDMタスクが作成されます。ただし、IDがabcd123456789のSQLに対して特別な処理が行われます。そのSQLのアクション(SQLをチューニングするアクション、またはSQLを使用してアプリケーションを調査するアクション)は、そのSQLが分析期間中2つ以上の平均アクティブ・セッションに関与し、平均応答時間が1秒以上だった場合にのみ、GET_REPORTの結果に表示されます。

var tname VARCHAR2(60);
BEGIN
  DBMS_ADDM.INSERT_SQL_DIRECTIVE(
      NULL,
      'my SQL directive',
      'abcd123456789',
      2,
      1000000); 
  :tname := 'my_instance_analysis_mode_task';
  DBMS_ADDM.ANALYZE_INST(:tname, 1, 2);
END;

ディレクティブに関係なくすべてのアクションが含まれるレポートを表示するには、次のように入力します。

SELECT DBMS_ADVISOR.GET_TASK_REPORT(:tname, 'TEXT', 'ALL') FROM DUAL;

14.2.19 REAL_TIME_ADDM_REPORTファンクション

このファンクションは、直近5分間のADDM関連のアクティビティに関するリアルタイムADDMレポートを作成します。Oracle Real Application Clusters (Oracle RAC)環境では、このファンクションはGV$を指定したSQLの実行が可能であることを前提としています。

構文

DBMS_ADDM.REAL_TIME_ADDM_REPORT ()
 RETURN CLOB; 

戻り値

リアルタイムADDMレポートを含むCLOB