RECOMP_PARALLELプロシージャは、無効になったデータプログラムユニット(パッケージ、プロシージャ、関数、トリガーなど)をマルチスレッドで並行して再コンパイルするために使用されます。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
UTL_RECOMP.RECOMP_PARALLEL(
threads IN PLS_INTEGER DEFAULT NULL,
schema IN VARCHAR2 DEFAULT NULL,
flags IN PLS_INTEGER DEFAULT 0);
パラメータの説明
| パラメータ | 説明 |
|---|---|
| threads | コンパイルの並列度を示します。 |
| schema | 対応するユーザーに属するオブジェクトをコンパイルすることを示します。NULLの場合はデータベース全体のオブジェクトを、NULL以外の場合は対応するユーザーのオブジェクトをコンパイルします。 |
| flags | 同名のテーブルが存在する場合に有効です。値512は、SYSテナント内に同名のテーブルが既に存在する場合、そのテーブルを直接使用することを意味し、1024は同名のテーブルが既に存在する場合、DROPして自動的に再作成することを意味します。デフォルト値は0(必須ではありません)で、特別な意味はありません。 |
例
4つの並列スレッドを使用してすべてのオブジェクトを再コンパイルします。
obclient> EXECUTE UTL_RECOMP.RECOMP_PARALLEL(4);
Query OK, 1 row affected (23.463 sec)