14 UTL_RECOMP
UTL_RECOMPパッケージは、データベース内の無効なPL/SQLモジュール、無効なビュー、索引タイプおよび演算子を再コンパイルします。
この章の内容は次のとおりです。
-
-
概要
-
操作上のノート
-
例
-
UTL_RECOMPの使用
概要
UTL_RECOMPは、通常すべてのPL/SQLオブジェクトが無効になるメジャー・バージョン・アップグレード後に、特に役立ちます。
無効なオブジェクトは使用時に自動的に再コンパイルされますが、操作前にこれを実行しておくと、その後の実行時のオンデマンド自動再コンパイルによる遅延がなくなったり、最小限に抑えられるため、便利です。
操作上のノート
-
このパッケージは、
ttIsqlを使用して実行する必要があります。 -
このパッケージを使用するには、インスタンス管理者である必要があり、
SYS.UTL_RECOMPとして実行する必要があります。 -
このパッケージには、
VALIDステータスで作成されている次のパッケージが必要です。-
STANDARD(standard.sql) -
DBMS_STANDARD(dbmsstdx.sql) -
DBMS_RANDOM(dbmsrand.sql)
-
-
このパッケージでエントリを実行している間は、データベース上で他のDDLを実行しないでください。この推奨事項に従わない場合、デッドロックが発生する場合があります。
-
TimesTenでは
DBMS_SCHEDULERがサポートされないため、ユーザーの指定内容に関係なく、パラレル実行される再リコンパイル・スレッドの数は常に1つです。したがって、TimesTenではRECOMP_PARALLELとRECOMP_SERIALの違いは事実上ありません。
UTL_RECOMPのサブプログラム
表14-1に、UTL_RECOMPのサブプログラムの概要と各サブプログラムの詳細な説明を示します。
表14-1 UTL_RECOMPパッケージのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
特定のスキーマ内の無効なオブジェクトまたはデータベース内のすべての無効なオブジェクトを、パラレルに再コンパイルします。 前述のとおり、ユーザーの指定内容に関係なく、TimesTenでパラレル実行される再コンパイル・スレッドの数は常に1つです。したがって、TimesTenでは |
|
|
特定のスキーマ内の無効なオブジェクトまたはデータベース内のすべての無効なオブジェクトを再コンパイルします。 |
ノート:
-
PLS_INTEGERデータ・タイプとBINARY_INTEGERデータ・タイプは同じです。このドキュメントでは、リファレンス情報でデータ・タイプ(表タイプ、レコード・タイプ、サブプログラム・パラメータ、サブプログラム戻り値など)を示す場合にBINARY_INTEGERを使用しますが、説明および例ではいずれも使用される場合があります。 -
INTEGERデータ・タイプとNUMBER(38)データ・タイプも同じです。このドキュメントでは、全体をとおしてINTEGERを使用します。
RECOMP_PARALLELプロシージャ
このプロシージャはDBA_Dependenciesビューに表示された情報を使用して、データベース内または指定されたスキーマ内の無効なオブジェクトをパラレルに再コンパイルします。
TimesTenでは、設定内容に関係なく、threads値は常に1です。その結果、RECOMP_PARALLELとRECOMP_SERIALの違いは事実上ありません。
構文
UTL_RECOMP.RECOMP_PARALLEL(
threads IN BINARY_INTEGER DEFAULT NULL,
schema IN VARCHAR2 DEFAULT NULL,
flags IN BINARY_INTEGER DEFAULT 0);パラメータ
表14-2 RECOMP_PARALLELプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
再コンパイルをパラレル実行するスレッド数 TimesTenでは、 |
|
|
無効なオブジェクトを再コンパイルするためのスキーマ
|
|
|
内部テストや診断テストを行う場合にのみ値を設定します。 |
RECOMP_SERIALプロシージャ
このプロシージャは、特定のスキーマ内の無効なオブジェクトまたはデータベース内のすべての無効なオブジェクトを再コンパイルします。
構文
UTL_RECOMP.RECOMP_SERIAL(
schema IN VARCHAR2 DEFAULT NULL,
flags IN BINARY_INTEGER DEFAULT 0);パラメータ
表14-3 RECOMP_SERIALプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
無効なオブジェクトを再コンパイルするためのスキーマ
|
|
|
内部テストや診断テストを行う場合にのみ値を設定します。 |