主コンテンツへ
Oracle® TimesTen In-Memory Database PL/SQLパッケージ・リファレンス
リリース18.1
E98624-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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_PARALLELRECOMP_SERIALの違いは事実上ありません。

すべてのオブジェクトを順次再コンパイルする場合:

Command> EXECUTE SYS.UTL_RECOMP.RECOMP_SERIAL();

スキーマSCOTTのオブジェクトを順次再コンパイルする場合:

Command> EXECUTE SYS.UTL_RECOMP.RECOMP_SERIAL('SCOTT');

UTL_RECOMPサブプログラムの要約

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

サブプログラム 説明

RECOMP_PARALLELプロシージャ


特定のスキーマ内の無効なオブジェクトまたはデータベース内のすべての無効なオブジェクトを、パラレルに再コンパイルします。

前述のとおり、ユーザーの指定内容に関係なく、TimesTenでパラレル実行される再コンパイル・スレッドの数は常に1つです。したがって、TimesTenではRECOMP_PARALLELRECOMP_SERIALの違いは事実上ありません。

RECOMP_SERIALプロシージャ


特定のスキーマ内の無効なオブジェクトまたはデータベース内のすべての無効なオブジェクトを再コンパイルします。



ノート:

  • PLS_INTEGERデータ・タイプとBINARY_INTEGERデータ・タイプは同じです。このドキュメントでは、リファレンス情報でデータ・タイプ(表タイプ、レコード・タイプ、サブプログラム・パラメータ、サブプログラム戻り値など)を示す場合にBINARY_INTEGERを使用しますが、説明および例ではいずれも使用される場合があります。

  • INTEGERデータ・タイプとNUMBER(38)データ・タイプも同じです。このドキュメントでは、全体をとおしてINTEGERを使用します。


RECOMP_PARALLELプロシージャ

このプロシージャはDBA_Dependenciesビューに表示された情報を使用して、データベース内または指定されたスキーマ内の無効なオブジェクトをパラレルに再コンパイルします。

TimesTenでは、設定内容に関係なく、threads値は常に1です。その結果、RECOMP_PARALLELRECOMP_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プロシージャ・パラメータ

パラメータ 説明

threads

再コンパイルをパラレル実行するスレッド数

TimesTenでは、threadsは常に1です。

schema

無効なオブジェクトを再コンパイルするためのスキーマ

NULLの場合、データベースのすべての無効なオブジェクトが再コンパイルされます。

flags

内部テストや診断テストを行う場合にのみ値を設定します。


RECOMP_SERIALプロシージャ

このプロシージャは、特定のスキーマ内の無効なオブジェクトまたはデータベース内のすべての無効なオブジェクトを再コンパイルします。

構文

UTL_RECOMP.RECOMP_SERIAL(
   schema   IN   VARCHAR2    DEFAULT NULL,
   flags    IN   BINARY_INTEGER DEFAULT 0);

パラメータ

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

パラメータ 説明

schema

無効なオブジェクトを再コンパイルするためのスキーマ

NULLの場合、データベースのすべての無効なオブジェクトが再コンパイルされます。

flags

内部テストや診断テストを行う場合にのみ値を設定します。