プライマリ・コンテンツに移動
Oracle® Database Testingガイド
12cリリース1 (12.1)
B71349-07
目次へ移動
目次
索引へ移動
索引

前
次

8.1.3 SQLチューニング・セットの作成

SQLパフォーマンス・アナライザのシステムにSQLトレース・ファイルおよびマッピング表が移動されたら、DBMS_SQLTUNEパッケージを使用してSQLチューニング・セットを作成できます。

SQLチューニング・セットを作成するには、次の手順を実行します。

  1. SQLパフォーマンス・アナライザのシステム上のディレクトリにSQLトレース・ファイルをコピーします。

  2. このディレクトリのディレクトリ・オブジェクトを作成します。

  3. 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ファンクションのパラメータ

パラメータ 説明

directory

SQLトレース・ファイルが格納されるディレクトリを指すディレクトリ・オブジェクトを指定します。

file_name

処理するSQLトレース・ファイルの名前の全体または一部を指定します。指定しなかった場合、特定のディレクトリにある現在または最近のトレース・ファイルが使用されます。トレース・ファイル名の照合には、%ワイルドカードを使用できます。

mapping_table_name

マッピング表の名前を指定します。デフォルト値のNULLに設定されている場合、現在のデータベースからのマッピングが使用されます。マッピング表の名前は、大/小文字が区別されないことに注意してください。

mapping_table_owner

マッピング表が存在するスキーマを指定します。NULLに設定すると、現在のスキーマが使用されます。

select_mode

トレース・ファイルからSQL文を選択するためのモードを指定します。デフォルト値はSINGLE_EXECUTIONです。このモードでは、SQL文ごとに1回の実行の統計のみがSQLチューニング・セットにロードされます。統計は、SQLチューニング・セットの他のデータソースのテーブル・ファンクションの場合と同様に累積されません。

options

操作のオプションを指定します。デフォルト値はLIMITED_COMMAND_TYPEで、SQLトレース・ファイルから戻されるのは、SQLパフォーマンス・アナライザにとって意味のあるSQLタイプ(SELECTINSERTUPDATEDELETEなど)のみです。

pattern_start

対象とするトレース・ファイル・セクションの開始区切りパターンを指定します。このパラメータは、現在使用されていません。

pattern_end

処理するトレース・ファイル・セクションの終了区切りパターンを指定します。このパラメータは、現在使用されていません。

result_limit

(除外された)ソースの上位SQLを指定します。デフォルト値は231で、これは実質的に無制限であることを表します。

関連項目:

  • DBMS_SQLTUNEパッケージについては、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。