このDBMS_LIBCACHE
パッケージは、リモート・インスタンスからSQLおよびPL/SQLを抽出し、このSQLを実行せずにローカルでコンパイルして、Oracleインスタンスにライブラリ・キャッシュを作成する1つのサブプログラムから構成されています。インスタンスのキャッシュをコンパイルするのは、アプリケーションがフェイルオーバーまたはスイッチオーバーの前に実行されるのに必要な情報を準備するためです。
この章では、次の項目について説明します。
概要
セキュリティ・モデル
このプロシージャは、ソース・インスタンスからバッチでSQLを抽出し、ターゲット・インスタンスでSQLをコンパイルします。
構文
DBMS_LIBCACHE.COMPILE_FROM_REMOTE ( p_db_link IN dbms_libcache$def.db_link%type, p_username IN VARCHAR2 default null, p_threshold_executions IN NATURAL default 3, p_threshold_sharable_mem IN NATURAL default 1000, p_parallel_degree IN NATURAL default 1);
パラメータ
表87-2 COMPILE_FROM_REMOTEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ソース名へのデータベース・リンク(必須)。SQL文の抽出に使用されるインスタンスを指すデータベース・リンク。ユーザーはソース・インスタンスでロール |
|
(将来の使用のために確保)。SQL文の抽出に使用されるインスタンスの名前。インスタンス名はローカル・インスタンスを除き、すべてのインスタンスに対して一意である必要があります。大文字と小文字は区別されません。 |
|
ソース・ユーザー名(デフォルトはすべてのユーザー)。SQL文の抽出に使用されるusernameの名前。usernameはオプションのパラメータで、ユーザーIDがソース・インスタンスのユーザーIDと同じであると確実に解析されるようにするために使用されます。ユーザーが単一の |
|
実行数の下限で、これに満たないSQL文は解析の対象として選択されません。このパラメータはオプションです。このパラメータを使用すると、アプリケーションにおいて、たとえば4回以上などの実行回数の文を抽出し、コンパイルできます。デフォルト値は1です。これは、無効なSQL文も含め、実行されていないSQL文は抽出されないことを意味します。 |
|
ソース・インスタンスのカーソルによって消費される共有メモリーの下限サイズ。この値に満たないSQL文は、解析の対象として選択されません。このパラメータはオプションです。このパラメータを使用すると、アプリケーションにおいて、たとえば10000バイトより大きい共有メモリーの文を抽出し、コンパイルできます。 |
|
解析処理を完了するために実行するパラレル・ジョブ数。これらのタスクは、解析の対象に選択されたSQL文の部分範囲に対するパラレル・ジョブとして起動されます。このパラメータは、現在実装されていないパラレル・コンパイル・ジョブ用に予約されています。 |