DBMS_OUTLN
パッケージ(OUTLN_PKG
と同義)には、ストアド・アウトラインの管理に関連するサブプログラムのための機能インタフェースが含まれています。
関連項目: DBMS_OUTLN パッケージの使用方法の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』のプラン・スタビリティの使用方法に関する項を参照してください。 |
注意: ストアド・アウトラインは、SQL計画の管理を優先するために将来のリリースではサポートされなくなります。Oracle Database 11gリリース1 (11.1)では、ストアド・アウトラインは以前のリリースと同様に引き続き機能します。ただし、新規アプリケーションではSQL計画の管理を使用することを強くお薦めします。SQL計画管理によってSQL計画ベースラインが作成され、これによってストアド・アウトラインよりも優れたSQLパフォーマンスおよび安定性が実現されます。既存のストアド・アウトラインがある場合は、DBMS_SPM パッケージのLOAD_PLANS_FROM_CURSOR_CACHEファンクションまたはLOAD_PLANS_FROM_SQLSETファンクションを使用して、SQL計画ベースラインへの移行を検討してください。移行が完了したら、ストアド・アウトラインは無効化または削除する必要があります。 |
この章では、次の項目について説明します。
概要
セキュリティ・モデル
ストアド・アウトラインは、指定したSQL文についての実行計画に関連するストアド・データです。これによって、オプティマイザは、最初にアウトラインとともに生成された計画と同じ実行計画を繰り返して再作成でき、アウトラインに格納されたデータの一部は、プラン・スタビリティを保つために使用するヒントで構成されています。
ストアド・アウトラインは、SQL計画の管理を優先するために将来のリリースではサポートされなくなります。11g R1以降、ストアド・アウトラインは以前のリリースとして機能し続けていますが、新規アプリケーションではSQL計画の管理を使用することを強くお薦めします。SQL計画管理によってSQL計画ベースラインが作成され、これによってストアド・アウトラインよりも優れたSQLパフォーマンスおよび安定性が実現されます。既存のストアド・アウトラインがある場合は、DBMS_SPMパッケージのLOAD_PLANS_FROM_CURSOR_CACHEファンクションまたはLOAD_PLANS_FROM_SQLSETファンクションを使用して、SQL計画ベースラインへの移行を検討してください。移行が完了したら、ストアド・アウトラインは無効化または削除する必要があります。
表99-1 DBMS_OUTLNパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
アウトラインの使用済フラグを消去します。 |
|
ハッシュ値および子番号で識別される共有カーソルからアウトラインを生成します。 |
|
指定されたカテゴリに属しているアウトラインを削除します。 |
|
SQL文のコンパイルで適用されなくなったアウトラインを削除します。 |
|
アウトラインの署名を完全なテキスト一致に基づいて計算されたものに更新します。 |
|
あるカテゴリにあるアウトラインのカテゴリを、新規のカテゴリに変更します。 |
|
アウトラインの署名を現行バージョンの署名に更新します。 |
このプロシージャは、ハッシュ値および子番号で識別される共有カーソルからSQL文を再解析することによってアウトラインを生成します。
このプロシージャは、特定のカテゴリに属しているアウトラインを削除します。特に指定されないかぎりアウトラインはDEFAULT
カテゴリに置かれますが、ユーザーはオプションとして、所有するアウトラインをカテゴリと呼ばれる複数のグループにグループ化できます。