SQLパフォーマンス・アナライザのシステムにSQLトレース・ファイルおよびマッピング表が移動されたら、DBMS_SQLTUNE
パッケージを使用してSQLチューニング・セットを作成できます。
SQLチューニング・セットを作成するには、次の手順を実行します。
SQLパフォーマンス・アナライザのシステム上のディレクトリにSQLトレース・ファイルをコピーします。
このディレクトリのディレクトリ・オブジェクトを作成します。
DBMS_SQLTUNE
.SELECT_SQL_TRACE
ファンクションを使用して、SQLトレース・ファイルからSQL文を読み取ります。
各SQL文に対して、単一実行の情報のみが収集されます。各SQL文の実行頻度は取得されません。そのため、Oracle Database 10gリリース1以前のリリースが実行されている本番システムの比較分析を実行する場合は、SQLパフォーマンス・アナライザ・レポートのワークロード・レベルの統計を無視して、実行レベルでのパフォーマンスの変更のみを評価する必要があります。
次の例では、sql_trace_prod
ディレクトリ・オブジェクトに格納されているSQLトレース・ファイルのコンテンツを読み取ってSQLチューニング・セットにロードします。
DECLARE cur sys_refcursor; BEGIN DBMS_SQLTUNE.CREATE_SQLSET('my_sts_9i'); OPEN cur FOR SELECT VALUE (P) FROM table(DBMS_SQLTUNE.SELECT_SQL_TRACE('sql_trace_prod', '%ora%')) P; DBMS_SQLTUNE.LOAD_SQLSET('my_sts_9i', cur); CLOSE cur; END; /
SELECT_SQL_TRACE
ファンクションの構文は、次のようになります。
DBMS_SQLTUNE.SELECT_SQL_TRACE ( directory IN VARCHAR2, file_name IN VARCHAR2 := NULL, mapping_table_name IN VARCHAR2 := NULL, mapping_table_owner IN VARCHAR2 := NULL, select_mode IN POSITIVE := SINGLE_EXECUTION, options IN BINARY_INTEGER := LIMITED_COMMAND_TYPE, pattern_start IN VARCHAR2 := NULL, parttern_end IN VARCHAR2 := NULL, result_limit IN POSITIVE := NULL) RETURN sys.sqlset PIPELINED;
表8-1に、SELECT_SQL_TRACE
ファンクションで使用できるパラメータを示します。
表8-1 DBMS_SQLTUNE.SELECT_SQL_TRACEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
SQLトレース・ファイルが格納されるディレクトリを指すディレクトリ・オブジェクトを指定します。 |
|
処理するSQLトレース・ファイルの名前の全体または一部を指定します。指定しなかった場合、特定のディレクトリにある現在または最近のトレース・ファイルが使用されます。トレース・ファイル名の照合には、%ワイルドカードを使用できます。 |
|
マッピング表の名前を指定します。デフォルト値の |
|
マッピング表が存在するスキーマを指定します。 |
|
トレース・ファイルからSQL文を選択するためのモードを指定します。デフォルト値は |
|
操作のオプションを指定します。デフォルト値は |
|
対象とするトレース・ファイル・セクションの開始区切りパターンを指定します。このパラメータは、現在使用されていません。 |
|
処理するトレース・ファイル・セクションの終了区切りパターンを指定します。このパラメータは、現在使用されていません。 |
|
(除外された)ソースの上位SQLを指定します。デフォルト値は231で、これは実質的に無制限であることを表します。 |
関連項目:
DBMS_SQLTUNE
パッケージについては、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。