DBMS_REPCAT_RGT
は、リフレッシュ・グループのテンプレートの管理および定義を制御します。
この章には、次の項が含まれます。
表21-1 DBMS_REPCAT_RGTパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
「ALTER_REFRESH_TEMPLATEプロシージャ」 |
データベース管理者が既存のデプロイメント・テンプレートを変更します。 |
|
指定されたデプロイメント・テンプレートに追加されたオブジェクトを変更します。 |
|
データベース管理者が指定されたデプロイメント・テンプレートのパラメータを変更します。 |
「ALTER_USER_AUTHORIZATIONプロシージャ」 |
|
|
特定のユーザーに対して定義されている既存のパラメータ値を変更します。 |
|
データベース管理者が2つのデプロイメント・テンプレートの内容を比較します。 |
|
データベース管理者がデプロイメント・テンプレートをコピーします。 |
「CREATE_OBJECT_FROM_EXISTINGファンクション」 |
既存のデータベース・オブジェクトからテンプレート・オブジェクト定義を作成し、ターゲット・デプロイメント・テンプレートに追加します。 |
「CREATE_REFRESH_TEMPLATEファンクション」 |
データベース管理者がテンプレート名、プライベートまたはパブリックのステータスおよびターゲット・リフレッシュ・グループの定義を行うことができる、デプロイメント・テンプレートを作成します。 |
「CREATE_TEMPLATE_OBJECTファンクション」 |
オブジェクト定義をターゲットのデプロイメント・テンプレート・コンテナに追加します。 |
|
指定されたデプロイメント・テンプレートのパラメータを作成して、リモート・マテリアライズド・ビュー・サイトでカスタム・データ・セットを作成します。 |
「CREATE_USER_AUTHORIZATIONファンクション」 |
特定のユーザーに対して、プライベート・デプロイメント・テンプレートのインスタンス化を認証します。 |
「CREATE_USER_PARM_VALUEファンクション」 |
特定のユーザーに対して、デプロイメント・テンプレートのパラメータ値を事前定義します。 |
|
|
|
データベース管理者が、すべてのオブジェクトまたは特定のオブジェクト型を、デプロイメント・テンプレートから削除します。 |
「DROP_ALL_TEMPLATE_PARMSプロシージャ」 |
データベース管理者が指定されたデプロイメント・テンプレートのテンプレート・パラメータを削除します。 |
「DROP_ALL_TEMPLATE_SITESプロシージャ」 |
|
|
プロシージャがコールされたサイトで、すべてのデプロイメント・テンプレートを削除します。 |
「DROP_ALL_USER_AUTHORIZATIONSプロシージャ」 |
データベース管理者が、指定されたデプロイメント・テンプレートに対して与えられた、すべてのユーザー認証を削除します。 |
「DROP_ALL_USER_PARM_VALUESプロシージャ」 |
指定されたデプロイメント・テンプレートのユーザー・パラメータ値を削除します。 |
|
デプロイメント・テンプレートを削除します。 |
「DROP_SITE_INSTANTIATIONプロシージャ」 |
|
|
指定されたデプロイメント・テンプレートからテンプレート・オブジェクトを削除します。 |
|
|
|
|
|
特定のデプロイメント・テンプレートに対して事前定義されたユーザー・パラメータ値を削除します。 |
|
ランタイム・パラメータ値を定義する際に使用するIDを取得します。 |
|
テンプレートのインスタンス化の前に、ランタイム・パラメータ値を定義します。 |
|
オフラインでリモート・マテリアライズド・ビュー・サイトにマテリアライズド・ビュー環境を構築する際に使用するスクリプトを、マスター・サイトに生成します。 |
|
オンラインでリモート・マテリアライズド・ビュー・サイトにマテリアライズド・ビュー環境を構築する際に使用するスクリプトを、マスター・サイトに生成します。 |
「LOCK_TEMPLATE_EXCLUSIVEプロシージャ」 |
デプロイメント・テンプレートが更新または変更されている間、ユーザーによるテンプレートの読取りやインスタンス化を行わないようにします。 |
|
指定されたデプロイメント・テンプレートを読取り専用にします。 |
このプロシージャを実行すると、データベース管理者が既存のデプロイメント・テンプレートを変更できます。変更作業には、新しいデプロイメント・テンプレート名、新しいリフレッシュ・グループまたは新しい所有者の定義、およびパブリックまたはプライベートへのステータス変更などがあります。
構文
DBMS_REPCAT_RGT.ALTER_REFRESH_TEMPLATE ( refresh_template_name IN VARCHAR2, new_owner IN VARCHAR2 := '-', new_refresh_group_name IN VARCHAR2 := '-', new_refresh_template_name IN VARCHAR2 := '-', new_template_comment IN VARCHAR2 := '-', new_public_template IN VARCHAR2 := '-', new_last_modified IN DATE := to_date('1', 'J'), new_modified_by IN NUMBER := -1e-130);
パラメータ
表21-2 ALTER_REFRESH_TEMPLATEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
変更されるデプロイメント・テンプレートの名前です。 |
new_owner |
デプロイメント・テンプレートの新しい所有者の名前です。現行の所有者を維持する場合は、値を指定しないでください。 |
new_refresh_group_name |
必要な場合は、このパラメータを使用して、テンプレート・オブジェクトを追加する新しいリフレッシュ・グループの名前を指定します。現行のリフレッシュ・グループを維持する場合は、値を指定しないでください。 |
new_refresh_template_name |
新しいデプロイメント・テンプレート名を指定するには、このパラメータを使用します。現行のデプロイメント・テンプレート名を維持する場合は、値を指定しないでください。 |
new_template_comment |
新しいデプロイメント・テンプレート・コメントです。現行のテンプレート・コメントを維持する場合は、値を指定しないでください。 |
new_public_template |
デプロイメント・テンプレートがパブリックであるかプライベートであるかを指定します。受け付けられる値は、 |
new_last_modified |
このデプロイメント・テンプレートが最後に変更された日付です。値を指定しない場合は、現行の日付が自動的に使用されます。 |
new_modified_by |
このデプロイメント・テンプレートを最後に変更したユーザーの名前です。値を指定しない場合は、現行のユーザー名が自動的に使用されます。 |
例外
表21-3 ALTER_REFRESH_TEMPLATEプロシージャの例外
例外 | 説明 |
---|---|
miss_refresh_template |
指定されたデプロイメント・テンプレート名が無効か、または存在しません。 |
bad_public_template |
|
dupl_refresh_template |
指定された名前のテンプレートは、存在しています。ALL_REPCAT_REFRESH_TEMPLATESビューを確認してください。 |
このプロシージャは、指定されたデプロイメント・テンプレートに追加されたオブジェクトを変更します。一般的な変更処理は、オブジェクトDDLの変更および他のデプロイメント・テンプレートへのオブジェクトの再割当てです。
デプロイメント・テンプレートに加えられた変更は、デプロイメント・テンプレートをインスタンス化する新しいサイトのみに反映されます。テンプレートをすでにインスタンス化したリモート・サイトで変更を適用するには、デプロイメント・テンプレートを再びインスタンス化する必要があります。
構文
DBMS_REPCAT_RGT.ALTER_TEMPLATE_OBJECT ( refresh_template_name IN VARCHAR2, object_name IN VARCHAR2, object_type IN VARCHAR2, new_refresh_template_name IN VARCHAR2 := '-', new_object_name IN VARCHAR2 := '-', new_object_type IN VARCHAR2 := '-', new_ddl_text IN CLOB := '-', new_master_rollback_seg IN VARCHAR2 := '-', new_flavor_id IN NUMBER := -1e-130);
パラメータ
表21-4 ALTER_TEMPLATE_OBJECTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
変更するオブジェクトが含まれるデプロイメント・テンプレート名です。 |
object_name |
変更するテンプレート・オブジェクトの名前です。 |
object_type |
変更するオブジェクトのタイプです。 |
new_refresh_template_name |
このオブジェクトの再割当てを行う新しいデプロイメント・テンプレートの名前です。現行のデプロイメント・テンプレートへのオブジェクトの割当てを維持する場合は、値を指定しないでください。 |
new_object_name |
テンプレート・オブジェクトの新しい名前です。現行のオブジェクト名を維持する場合は、値を指定しないでください。 |
new_object_type |
このパラメータを指定すると、オブジェクト型が変更されます。次のオブジェクト型を指定できます。
|
new_ddl_text |
指定されたオブジェクトの新しいオブジェクトDDLです。現行のオブジェクトDDLを維持する場合は、新しいDDLテキストを指定しないでください。 |
new_master_rollback_seg |
指定されたオブジェクトの新しいマスター・ロールバック・セグメントです。現行のロールバック・セグメントを維持する場合は、値を指定しないでください。 |
new_flavor_id |
このパラメータは内部で使用します。 注意: Oracleサポート・サービスから指示された場合を除き、このパラメータを設定しないでください。 |
例外
表21-5 ALTER_TEMPLATE_OBJECTプロシージャの例外
例外 | 説明 |
---|---|
miss_refresh_template |
指定されたデプロイメント・テンプレート名が無効か、または存在しません。 |
miss_flavor_id |
この例外が発生した場合は、Oracleサポート・サービスまでお問い合せください。 |
bad_object_type |
オブジェクト型が正しく指定されませんでした。有効なオブジェクト型は、表21-4を参照してください。 |
miss_template_object |
指定されたテンプレート・オブジェクト名が無効か、または存在しません。 |
dupl_template_object |
|
使用上の注意
ALTER_TEMPLATE_OBJECT
プロシージャではCLOB
が利用されているため、ALTER_TEMPLATE_OBJECT
プロシージャを実行するときは、DBMS_LOB
パッケージを使用する必要があります。次の例は、ALTER_TEMPLATE_OBJECT
プロシージャでDBMS_LOB
パッケージを使用する方法を示します。
DECLARE tempstring VARCHAR2(100); templob CLOB; BEGIN DBMS_LOB.CREATETEMPORARY(templob, TRUE, DBMS_LOB.SESSION); tempstring := 'CREATE MATERIALIZED VIEW mview_sales AS SELECT * FROM sales WHERE salesperson = :salesid and region_id = :region'; DBMS_LOB.WRITE(templob, length(tempstring), 1, tempstring); DBMS_REPCAT_RGT.ALTER_TEMPLATE_OBJECT( refresh_template_name => 'rgt_personnel', object_name => 'MVIEW_SALES', object_type => 'MATERIALIZED VIEW', new_ddl_text => templob); DBMS_LOB.FREETEMPORARY(templob); END; /
このプロシージャを実行すると、データベース管理者が、指定されたデプロイメント・テンプレートのパラメータを変更できます。変更作業には、パラメータの名前の変更や、デフォルト値およびプロンプト文字列の再定義などがあります。
構文
DBMS_REPCAT_RGT.ALTER_TEMPLATE_PARM ( refresh_template_name IN VARCHAR2, parameter_name IN VARCHAR2, new_refresh_template_name IN VARCHAR2 := '-', new_parameter_name IN VARCHAR2 := '-', new_default_parm_value IN CLOB := NULL, new_prompt_string IN VARCHAR2 := '-', new_user_override IN VARCHAR2 := '-');
パラメータ
表21-6 ALTER_TEMPLATE_PARMプロシージャのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
変更するパラメータを持つデプロイメント・テンプレートの名前です。 |
parameter_name |
変更するパラメータの名前です。 |
new_refresh_template_name |
指定されたパラメータが新しく割り当てられるデプロイメント・テンプレートの名前です(あるテンプレートから他のテンプレートにパラメータを移動するときに便利です)。現行のテンプレートへの割当てを維持する場合は、値を指定しないでください。 |
new_parameter_name |
テンプレート・パラメータの新しい名前です。現行のパラメータ名を維持する場合は、値を指定しないでください。 |
new_default_parm_value |
指定されたパラメータの新しいデフォルト値です。現行のデフォルト値を維持する場合は、値を指定しないでください。 |
new_prompt_string |
指定されたパラメータの新しいプロンプト・テキストです。現行のプロンプト文字列を維持する場合は、値を指定しないでください。 |
new_user_override |
インスタンス化処理で確認メッセージが表示された場合、ユーザーがデフォルト値を上書きできるかどうかを決定します。このパラメータにユーザー・パラメータ値が定義されていないと、確認メッセージが表示されます。ユーザーがデフォルト値を上書きする場合は |
使用上の注意
ALTER_TEMPLATE_PARM
プロシージャではCLOB
が利用されているため、ALTER_TEMPLATE_PARM
プロシージャを実行するときは、DBMS_LOB
パッケージを使用する必要があります。次の例は、ALTER_TEMPLATE_PARM
プロシージャでDBMS_LOB
パッケージを使用する方法を示します。
DECLARE tempstring VARCHAR2(100); templob CLOB; BEGIN DBMS_LOB.CREATETEMPORARY(templob, TRUE, DBMS_LOB.SESSION); tempstring := 'REGION 20'; DBMS_LOB.WRITE(templob, length(tempstring), 1, tempstring); DBMS_REPCAT_RGT.ALTER_TEMPLATE_PARM( refresh_template_name => 'rgt_personnel', parameter_name => 'region', new_default_parm_value => templob); DBMS_LOB.FREETEMPORARY(templob); END; /
このプロシージャは、DBA_REPCAT_USER_AUTHORIZATIONS
ビューの内容を変更します。具体的には、ユーザーまたはデプロイメント・テンプレートの認証の割当てを変更できます。このプロシージャは、たとえばある従業員の職場が変更になり、他のデプロイメント・テンプレートのマテリアライズド・ビュー環境を必要とする場合などに役立ちます。データベース管理者が単にこの従業員に新しいデプロイメント・テンプレートを割り当てることによって、このユーザーにターゲット・テンプレートのインスタンス化が認証されます。
構文
DBMS_REPCAT_RGT.ALTER_USER_AUTHORIZATION ( user_name IN VARCHAR2, refresh_template_name IN VARCHAR2, new_user_name IN VARCHAR2 := '-', new_refresh_template_name IN VARCHAR2 := '-');
パラメータ
表21-8 ALTER_USER_AUTHORIZATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
user_name |
認証の変更が行われるユーザーの名前です。 |
refresh_template_name |
指定されたユーザーに現在割り当てられているデプロイメント・テンプレートの名前です。 |
new_user_name |
このテンプレートの認証のための新しいユーザーを定義するには、このパラメータを使用します。カレント・ユーザーを維持する場合は、値を指定しないでください。 |
new_refresh_template_name |
指定されたユーザー(既存のユーザーまたは新しいユーザー)が、インスタンス化する許可を持つデプロイメント・テンプレートです。カレント・デプロイメント・テンプレートを維持する場合は、値を指定しないでください。 |
例外
表21-9 ALTER_USER_AUTHORIZATIONプロシージャの例外
例外 | 説明 |
---|---|
miss_user_authorization |
指定された |
miss_user |
|
miss_refresh_template |
|
dupl_user_authorization |
指定されたユーザー名およびデプロイメント・テンプレート名用の行が存在しています。ALL_REPCAT_USER_AUTHORIZATIONSビューを確認してください。 |
このプロシージャは、指定されたユーザーに定義されている既存のパラメータ値を変更します。マテリアライズド・ビュー環境で割当て表が使用されている場合に、このプロシージャを使用すると便利です。ユーザー・パラメータ値を変更すると、リモート・マテリアライズド・ビュー・サイトのデータ・セットを簡単かつ安全に変更できます。
関連項目: 割当て表の使用方法の詳細は、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。 |
構文
DBMS_REPCAT_RGT.ALTER_USER_PARM_VALUE( refresh_template_name IN VARCHAR2, parameter_name IN VARCHAR2, user_name IN VARCHAR2, new_refresh_template_name IN VARCHAR2 := '-', new_parameter_name IN VARCHAR2 := '-', new_user_name IN VARCHAR2 := '-', new_parm_value IN CLOB := NULL);
パラメータ
表21-10 ALTER_USER_PARM_VALUEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
変更するユーザー・パラメータ値を持つデプロイメント・テンプレートの名前です。 |
parameter_name |
変更するパラメータの名前です。 |
user_name |
パラメータ値が変更されるユーザーの名前です。 |
new_refresh_template_name |
指定されたユーザー・パラメータ値が新しく割り当てられるデプロイメント・テンプレートの名前です(他のテンプレートに対してユーザーを認証するときに便利です)。現行のテンプレートへの割当てを維持する場合は、値を指定しないでください。 |
new_parameter_name |
新しいテンプレート・パラメータの名前です。既存のパラメータに定義されたユーザー値を維持する場合は、値を指定しないでください。 |
new_user_name |
このパラメータ値を割り当てる新しいユーザー名です。カレント・ユーザーへ割り当てられたパラメータ値を維持する場合は、値を指定しないでください。 |
new_parm_value |
指定されたユーザー・パラメータの新しいパラメータ値です。現行のパラメータ値を維持する場合は、値を指定しないでください。 |
例外
表21-11 ALTER_USER_PARM_VALUEプロシージャの例外
例外 | 説明 |
---|---|
miss_refresh_template |
指定されたデプロイメント・テンプレート名が無効か、または存在しません。 |
miss_template_parm |
指定されたテンプレート・パラメータが無効か、または存在しません。 |
miss_user |
|
miss_user_parm_values |
指定されたユーザー・パラメータ値は存在しません。 |
dupl_user_parm_values |
指定された新しいユーザー・パラメータは存在しています。 |
使用上の注意
ALTER_USER_PARM_VALUE
プロシージャではCLOB
が利用されているため、ALTER_USER_PARM_VALUE
プロシージャを実行するときは、DBMS_LOB
パッケージを使用する必要があります。次の例は、ALTER_USER_PARM_VALUE
プロシージャでDBMS_LOB
パッケージを使用する方法を示します。
DECLARE tempstring VARCHAR2(100); templob CLOB; BEGIN DBMS_LOB.CREATETEMPORARY(templob, TRUE, DBMS_LOB.SESSION); tempstring := 'REGION 20'; DBMS_LOB.WRITE(templob, length(tempstring), 1, tempstring); DBMS_REPCAT_RGT.ALTER_USER_PARM_VALUE( refresh_template_name => 'rgt_personnel', parameter_name => 'region', user_name => 'BOB', new_parm_value => templob); DBMS_LOB.FREETEMPORARY(templob); END; /
このファンクションを実行すると、データベース管理者が2つのデプロイメント・テンプレートの内容を比較できます。2つのデプロイメント・テンプレートの内容の相違点は、USER_REPCAT_TEMP_OUTPUT
一時ビューに格納されます。
COMPARE_TEMPLATES
ファンクションでは、USER_REPCAT_TEMP_OUTPUT
一時ビューの問合せの際にWHERE
句で指定する数値が戻されます。たとえば、COMPARE_TEMPLATES
プロシージャで10が戻された場合は、次のSELECT
文を実行して、指定された2つのテンプレートのすべての相違点を確認します(2つのテンプレートの内容が同一の場合は、SELECT
文で行が戻されません)。
SELECT TEXT FROM USER_REPCAT_TEMP_OUTPUT WHERE OUTPUT_ID = 10 ORDER BY LINE;
接続が解除されるか、またはロールバックが実行されると、USER_REPCAT_TEMP_OUTPUT
一時ビューの内容が失われます。
構文
DBMS_REPCAT_RGT.COMPARE_TEMPLATES ( source_template_name IN VARCHAR2, compare_template_name IN VARCHAR2) RETURN NUMBER;
このファンクションを使用すると、デプロイメント・テンプレートをコピーでき、新しいデプロイメント・テンプレートが既存のデプロイメント・テンプレートに含まれるオブジェクトの多くを使用する場合に役立ちます。このファンクションは、デプロイメント・テンプレート、テンプレート・オブジェクト、テンプレート・パラメータおよびユーザー・パラメータ値をコピーします。DBAは、任意でこのファンクションにこのテンプレートに対するユーザー認証をコピーさせることができます。このファンクションで戻される数値は、デプロイメント・テンプレートの管理用に、Oracle内部で使用します。
注意: DBA_REPCAT_TEMPLATE_SITES ビュー内の値はコピーされません。 |
このファンクションを使用すると、データベース管理者がデプロイメント・テンプレートを他のマスター・サイトにコピーできます。この機能は、デプロイメント・テンプレートの配布や、複数のサイトでのネットワーク負荷の分割に役立ちます。
構文
DBMS_REPCAT_RGT.COPY_TEMPLATE ( old_refresh_template_name IN VARCHAR2, new_refresh_template_name IN VARCHAR2, copy_user_authorizations IN VARCHAR2, dblink IN VARCHAR2 := NULL) RETURN NUMBER;
パラメータ
表21-15 COPY_TEMPLATEファンクションのパラメータ
パラメータ | 説明 |
---|---|
old_refresh_template_name |
コピーされるデプロイメント・テンプレートの名前です。 |
new_refresh_template_name |
新しいデプロイメント・テンプレートの名前です。 |
copy_user_authorizations |
元のテンプレートに対する認証を、新しいデプロイメント・テンプレートにコピーするかどうかを指定します。このパラメータに受け付けられる値は、 注意: すべてのユーザーが、ターゲット・データベースに存在する必要があります。 |
dblink |
デプロイメント・テンプレートのコピー元を定義します(デプロイメント・テンプレートを他のマスター・サイトに配布するときに便利です)。コピー元を指定しない場合、デプロイメント・テンプレートはローカル・マスター・サイトからコピーされます。 |
このファンクションは、既存のデータベース・オブジェクトからテンプレート・オブジェクト定義を作成して、ターゲット・デプロイメント・テンプレートに追加します。ターゲット・デプロイメント・テンプレートがリモート・マテリアライズド・ビュー・サイトでインスタンス化されるときに、元のデータベース・オブジェクトを作成したDDLが実行されます。既存のトリガーやプロシージャをテンプレートに追加する場合、このファンクションを使用すると便利です。このファンクションで戻される数値は、デプロイメント・テンプレートの管理用に、Oracle内部で使用します。
構文
DBMS_REPCAT_RGT.CREATE_OBJECT_FROM_EXISTING( refresh_template_name IN VARCHAR2, object_name IN VARCHAR2, sname IN VARCHAR2, oname IN VARCHAR2, otype IN VARCHAR2) RETURN NUMBER;
パラメータ
表21-18 CREATE_OBJECT_FROM_EXISTINGファンクションのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
このオブジェクトが追加されるデプロイメント・テンプレートの名前です。 |
object_name |
オプションで、デプロイメント・テンプレートに追加する既存のオブジェクトの、新しい名前を指定します(既存のオブジェクトに新しい名前を定義できます)。 |
sname |
作成するテンプレート・オブジェクトの基になるオブジェクトを含むスキーマです。 |
oname |
作成するテンプレート・オブジェクトの基になるオブジェクトの名前です。 |
otype |
テンプレートに追加するデータベース・オブジェクトのタイプ(
|
例外
表21-19 CREATE_OBJECT_FROM_EXISTINGファンクションの例外
例外 | 説明 |
---|---|
miss_refresh_template |
指定されたリフレッシュ・テンプレート名が無効か、または存在しません。既存のデプロイメント・テンプレートを確認するには、 |
bad_object_type |
オブジェクト型が正しく指定されませんでした。 |
dupl_template_object |
指定されたデプロイメント・テンプレートには、同名で同タイプのオブジェクトがすでに追加されています。 |
objectmissing |
指定されたオブジェクトは存在しません。 |
このファンクションは、テンプレート名、プライベートまたはパブリックのステータスおよびターゲット・リフレッシュ・グループの定義を行う、デプロイメント・テンプレートを作成します。テンプレート・オブジェクト、ユーザー認証またはテンプレート・パラメータを作成するたびに、このファンクションで作成されるデプロイメント・テンプレートを参照します。このファンクションは、DBA_REPCAT_REFRESH_TEMPLATES
ビューに行を追加します。このファンクションで戻される数値は、デプロイメント・テンプレートの管理用に、Oracle内部で使用します。
構文
DBMS_REPCAT_RGT.CREATE_REFRESH_TEMPLATE ( owner IN VARCHAR2, refresh_group_name IN VARCHAR2, refresh_template_name IN VARCHAR2, template_comment IN VARCHAR2 := NULL, public_template IN VARCHAR2 := NULL, last_modified IN DATE := SYSDATE, modified_by IN VARCHAR2 := USER, creation_date IN DATE := SYSDATE, created_by IN VARCHAR2 := USER) RETURN NUMBER;
パラメータ
表21-21 CREATE_REFRESH_TEMPLATEファンクションのパラメータ
パラメータ | 説明 |
---|---|
owner |
このパラメータで、デプロイメント・テンプレートの所有者のユーザー名を指定します。所有者を指定しない場合、テンプレートを作成したユーザーの名前が自動的に使用されます。 |
refresh_group_name |
このテンプレートのインスタンス化するときに作成される、リフレッシュ・グループの名前です。このテンプレートで作成されるすべてのオブジェクトは、指定されたリフレッシュ・グループに割り当てられます。 |
refresh_template_name |
作成するデプロイメント・テンプレートの名前です。このデプロイメント・テンプレートを使用するすべてのアクティビティで、この名前が参照されます。 |
template_comment |
このパラメータで定義されるユーザー・コメントは、 |
public_template |
デプロイメント・テンプレートがパブリックであるかプライベートであるかを指定します。受け付けられる値は、 |
last_modified |
このデプロイメント・テンプレートが最後に変更された日付です。値を指定しない場合は、現行の日付が自動的に使用されます。 |
modified_by |
このデプロイメント・テンプレートを最後に変更したユーザーの名前です。値を指定しない場合は、現行のユーザー名が自動的に使用されます。 |
creation_date |
このデプロイメント・テンプレートが作成された日付です。値を指定しない場合は、現行の日付が自動的に使用されます。 |
created_by |
このデプロイメント・テンプレートを作成したユーザーの名前です。値を指定しない場合は、現行のユーザー名が自動的に使用されます。 |
例外
表21-22 CREATE_REFRESH_TEMPLATEファンクションの例外
例外 | 説明 |
---|---|
dupl_refresh_template |
指定された名前のテンプレートは、存在しています。既存のテンプレートについては、ALL_REPCAT_REFRESH_TEMPLATESビューを確認してください。 |
bad_public_template |
|
このファンクションは、オブジェクト定義をターゲットのデプロイメント・テンプレート・コンテナに追加します。ターゲット・デプロイメント・テンプレートがリモート・マテリアライズド・ビュー・サイトでインスタンス化されるときに、指定されたオブジェクトDDLが実行されます。マテリアライズド・ビュー以外にも、このファンクションを使用して、表、プロシージャおよび他のオブジェクトをテンプレートに追加できます。このファンクションで戻される数値は、デプロイメント・テンプレートの管理用に、Oracle内部で使用します。
構文
DBMS_REPCAT_RGT.CREATE_TEMPLATE_OBJECT ( refresh_template_name IN VARCHAR2, object_name IN VARCHAR2, object_type IN VARCHAR2, ddl_text IN CLOB, master_rollback_seg IN VARCHAR2 := NULL, flavor_id IN NUMBER := -1e-130) RETURN NUMBER;
パラメータ
表21-24 CREATE_TEMPLATE_OBJECTファンクションのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
このオブジェクトが追加されるデプロイメント・テンプレートの名前です。 |
object_name |
作成するテンプレート・オブジェクトの名前です。 |
object_type |
テンプレートに追加するデータベース・オブジェクトのタイプ(
|
ddl_text |
テンプレートに追加するオブジェクトを作成するDDLです。DDLは、必ずセミコロンで終了するようにします。テンプレート・オブジェクト用にテンプレート・パラメータを作成する場合は、コロン(:)を使用できます。詳細は、第4章「デプロイメント・テンプレートの作成」を参照してください。
|
master_rollback_seg |
定義されたオブジェクトDDLをリモート・マテリアライズド・ビュー・サイトで実行する際に使用する、ロールバック・セグメントの名前を指定します。 |
flavor_id |
このパラメータは内部で使用します。 注意: Oracleサポート・サービスから指示された場合を除き、このパラメータを設定しないでください。 |
例外
表21-25 CREATE_TEMPLATE_OBJECTファンクションの例外
例外 | 説明 |
---|---|
miss_refresh_template |
指定されたリフレッシュ・テンプレート名が無効か、または存在しません。既存のデプロイメント・テンプレートを確認するには、 |
bad_object_type |
オブジェクト型が正しく指定されませんでした。有効なオブジェクト型は、表21-24を参照してください。 |
dupl_template_object |
指定されたデプロイメント・テンプレートには、同名で同タイプのオブジェクトがすでに追加されています。 |
使用上の注意
CREATE_TEMPLATE_OBJECT
ではCLOB
が利用されているため、CREATE_TEMPLATE_OBJECT
ファンクションを実行するときは、DBMS_LOB
パッケージを使用する必要があります。次の例は、CREATE_TEMPLATE_OBJECT
ファンクションでDBMS_LOB
パッケージを使用する方法を示します。
DECLARE tempstring VARCHAR2(100); templob CLOB; a NUMBER; BEGIN DBMS_LOB.CREATETEMPORARY(templob, TRUE, DBMS_LOB.SESSION); tempstring := 'CREATE MATERIALIZED VIEW mview_sales AS SELECT * FROM sales WHERE salesperson = :salesid'; DBMS_LOB.WRITE(templob, length(tempstring), 1, tempstring); a := DBMS_REPCAT_RGT.CREATE_TEMPLATE_OBJECT( refresh_template_name => 'rgt_personnel', object_name => 'mview_sales', object_type => 'MATERIALIZED VIEW', ddl_text => templob, master_rollback_seg => 'RBS'); DBMS_LOB.FREETEMPORARY(templob); END; /
このファンクションを実行すると、指定されたデプロイメント・テンプレートのパラメータが作成され、リモート・マテリアライズド・ビュー・サイトでカスタム・データ・セットを作成できます。このファンクションは、データベース管理者が、テンプレート・オブジェクトを追加する前にテンプレート変数のセットを定義する場合のみに必要です。CREATE_TEMPLATE_OBJECT
ファンクションを使用してオブジェクトがテンプレートに追加されると、オブジェクトDDLのすべての変数が自動的にDBA_REPCAT_TEMPLATE_PARMS
ビューに追加されます。
データベース管理者は、通常、ALTER_TEMPLATE_PARM
プロシージャを使用して、デフォルトのパラメータ値またはプロンプト文字列(あるいはその両方)を変更します(詳細は、「ALTER_TEMPLATE_PARMプロシージャ」を参照してください)。このファンクションで戻される数値は、デプロイメント・テンプレートの管理用に、Oracle内部で使用します。
構文
DBMS_REPCAT_RGT.CREATE_TEMPLATE_PARM ( refresh_template_name IN VARCHAR2, parameter_name IN VARCHAR2, default_parm_value IN CLOB := NULL, prompt_string IN VARCHAR2 := NULL, user_override IN VARCHAR2 := NULL) RETURN NUMBER;
パラメータ
表21-27 CREATE_TEMPLATE_PARMファンクションのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
パラメータを作成するデプロイメント・テンプレートの名前です。 |
parameter_name |
作成するパラメータの名前です。 |
default_parm_value |
パラメータのデフォルト値は、このパラメータで定義します。ユーザー・パラメータ値やランタイム・パラメータ値がない場合、インスタンス化処理でこのデフォルト値が使用されます。 |
prompt_string |
インスタンス化処理で、このテンプレート・パラメータに表示されるプロンプト・テキストです。 |
user_override |
インスタンス化処理で確認メッセージが表示された場合、ユーザーがデフォルト値を上書きできるかどうかを決定します。このパラメータにユーザー・パラメータ値が定義されていないと、確認メッセージが表示されます。ユーザーがデフォルト値を上書きする場合は |
使用上の注意
CREATE_TEMPLATE_PARM
ファンクションではCLOB
が利用されているため、CREATE_TEMPLATE_PARM
ファンクションを実行するときは、DBMS_LOB
パッケージを使用する必要があります。次の例は、CREATE_TEMPLATE_PARM
ファンクションでDBMS_LOB
パッケージを使用する方法を示します。
DECLARE
tempstring VARCHAR2(100);
templob CLOB;
a NUMBER;
BEGIN
DBMS_LOB.CREATETEMPORARY(templob, TRUE, DBMS_LOB.SESSION);
tempstring := 'REGION 20';
DBMS_LOB.WRITE(templob, length(tempstring), 1, tempstring);
a := DBMS_REPCAT_RGT.CREATE_TEMPLATE_PARM(
refresh_template_name => 'rgt_personnel',
parameter_name => 'region',
default_parm_value => templob,
prompt_string => 'Enter your region ID:',
user_override => 'Y'
);
DBMS_LOB.FREETEMPORARY(templob);
END;
/
このファンクションは、特定のユーザーに対して、プライベート・デプロイメント・テンプレートのインスタンス化を認証します。プライベート・デプロイメント・テンプレートの使用を認証されていないユーザーは、プライベート・テンプレートをインスタンス化できません。このファンクションは、DBA_REPCAT_USER_AUTHORIZATIONS
ビューに行を追加します。
ユーザーを認証する前に、デプロイメント・テンプレートをインスタンス化するマスター・サイトに、そのユーザーが存在するかどうかを確認します。このファンクションで戻される数値は、デプロイメント・テンプレートの管理用に、Oracle内部で使用します。
構文
DBMS_REPCAT_RGT.CREATE_USER_AUTHORIZATION ( user_name IN VARCHAR2, refresh_template_name IN VARCHAR2) RETURN NUMBER;
例外
表21-31 CREATE_USER_AUTHORIZATIONファンクションの例外
例外 | 説明 |
---|---|
miss_user |
指定されたユーザー名が無効か、または存在しません。 |
miss_refresh_template |
指定されたリフレッシュ・テンプレート名が無効か、または存在しません。 |
dupl_user_authorization |
指定されたユーザーおよびデプロイメント・テンプレートに対しては、すでに認証が作成されています。テンプレートの認証については、ALL_REPCAT_USER_AUTHORIZATIONSビューを確認してください。 |
このファンクションは、特定のユーザーに対して、デプロイメント・テンプレートのパラメータ値を事前定義します。たとえば、ユーザー33456
に対して、領域パラメータをwest
に事前定義する場合、このファンクションを使用します。
このファンクションで指定された値は、テンプレート・パラメータに指定されたデフォルト値に優先します。このファンクションで戻される数値は、デプロイメント・テンプレートの管理用に、Oracle内部で使用します。
構文
DBMS_REPCAT_RGT.CREATE_USER_PARM_VALUE ( refresh_template_name IN VARCHAR2, parameter_name IN VARCHAR2, user_name IN VARCHAR2, parm_value IN CLOB := NULL) RETURN NUMBER;
例外
表21-34 CREATE_USER_PARM_VALUEファンクションの例外
例外 | 説明 |
---|---|
miss_refresh_template |
指定されたデプロイメント・テンプレート名が無効か、または存在しません。 |
dupl_user_parm_values |
指定されたユーザー、パラメータおよびデプロイメント・テンプレートのパラメータ値は、すでに定義されています。既存のユーザー・パラメータ値を確認するには、 |
miss_template_parm |
指定されたデプロイメント・テンプレート・パラメータ名が無効か、または存在しません。 |
miss_user |
指定されたユーザー名が無効か、または存在しません。 |
使用上の注意
CREATE_USER_PARM_VALUE
ファンクションではCLOB
が利用されているため、このファンクションを実行するときは、DBMS_LOB
パッケージを使用する必要があります。次の例は、CREATE_USER_PARM_VALUE
ファンクションでDBMS_LOB
パッケージを使用する方法を示します。
DECLARE tempstring VARCHAR2(100); templob CLOB; a NUMBER; BEGIN DBMS_LOB.CREATETEMPORARY(templob, TRUE, DBMS_LOB.SESSION); tempstring := 'REGION 20'; DBMS_LOB.WRITE(templob, length(tempstring), 1, tempstring); a := DBMS_REPCAT_RGT.CREATE_USER_PARM_VALUE( refresh_template_name => 'rgt_personnel', parameter_name => 'region', user_name => 'BOB', user_parm_value => templob); DBMS_LOB.FREETEMPORARY(templob); END; /
INSERT_RUNTIME_PARMS
プロシージャを使用して定義したランタイム・パラメータ値を削除するには、デプロイメント・テンプレートをインスタンス化する前に、このプロシージャを実行します。
このプロシージャを実行すると、データベース管理者が、すべてのオブジェクトまたは特定のオブジェクト型を、デプロイメント・テンプレートから削除できます。
注意: このプロシージャを実行すると、元に戻せません。実行するときは十分注意してください。 |
構文
DBMS_REPCAT_RGT.DROP_ALL_OBJECTS ( refresh_template_name IN VARCHAR2, object_type IN VARCHAR2 := NULL);
パラメータ
表21-38 DROP_ALL_OBJECTSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
削除対象のオブジェクトを持つデプロイメント・テンプレートの名前です。 |
object_type |
値を
|
例外
表21-39 DROP_ALL_OBJECTSプロシージャの例外
例外 | 説明 |
---|---|
miss_refresh_template |
指定されたデプロイメント・テンプレート名が無効か、または存在しません。 |
bad_object_type |
オブジェクト型が正しく指定されませんでした。有効なオブジェクト型は、表21-38を参照してください。 |
このプロシージャを使用すると、指定されたデプロイメント・テンプレートのテンプレート・パラメータを削除できます。このプロシージャを使用して、テンプレート・オブジェクトが参照しないすべてのパラメータを削除するか、パラメータを参照するすべてのオブジェクトを、パラメータそのものとともにテンプレートから削除できます。
注意: このプロシージャを実行すると、元に戻せません。実行するときは十分注意してください。 |
構文
DBMS_REPCAT_RGT.DROP_ALL_TEMPLATE_PARMS ( refresh_template_name IN VARCHAR2, drop_objects IN VARCHAR2 := N);
このプロシージャは、特定のデプロイメント・テンプレートをインスタンス化したサイトの記録が保存されるDBA_REPCAT_TEMPLATE_SITES
ビューから、すべてのエントリを削除します。
注意: このプロシージャを実行すると、元に戻せません。実行するときは十分注意してください。 |
このプロシージャは、プロシージャがコールされたサイトで、すべてのデプロイメント・テンプレートを削除します。
注意: このプロシージャを実行すると、元に戻せません。実行するときは十分注意してください。 |
このプロシージャを実行すると、データベース管理者が、指定されたデプロイメント・テンプレートに対して与えられたすべてのユーザー認証を削除できます。このプロシージャを実行すると、DBA_REPCAT_USER_AUTHORIZATIONS
ビューから行が削除されます。
このプロシージャは、プライベート・テンプレートがパブリック・テンプレートに変換され、ユーザー認証が必要なくなった後で実装されることもあります。
このプロシージャは、指定されたデプロイメント・テンプレートのユーザー・パラメータ値を削除します。このプロシージャを使用すると、削除対象のユーザー・パラメータ値のセットを簡単に定義できます。
次の表に、定義するパラメータとその結果を示します。
パラメータ | パラメータを定義した結果 |
---|---|
refresh_template_name |
指定されたデプロイメント・テンプレートの、すべてのユーザー・パラメータが削除されます。 |
refresh_template_name およびuser_name |
指定されたデプロイメント・テンプレートの、すべての指定されたユーザー・パラメータが削除されます。 |
refresh_template_name およびparameter_name |
指定されたデプロイメント・テンプレート・パラメータの、すべてのユーザー・パラメータ値が削除されます。 |
refresh_template_name 、parameter_name およびuser_name |
指定されたデプロイメント・テンプレート・パラメータの、指定されたユーザーの値が削除されます(drop_user_parm の処理に相当します)。 |
構文
DBMS_REPCAT_RGT.DROP_ALL_USER_PARM_VALUES ( refresh_template_name IN VARCHAR2, user_name IN VARCHAR2, parameter_name IN VARCHAR2);
このプロシージャは、デプロイメント・テンプレートを削除します。このプロシージャでデプロイメント・テンプレートを削除すると、すべての関連するテンプレート・パラメータ、ユーザー認証、テンプレート・オブジェクトおよびユーザー・パラメータも削除されます(ただし、テンプレート・サイトは削除されません)。
このプロシージャは、ターゲット・サイトでテンプレートのインスタンス化を削除します。このプロシージャは、マスター・サイトで関連するすべてのメタデータを削除し、指定されたサイトでのマテリアライズド・ビューのリフレッシュを使用禁止にします。
構文
DBMS_REPCAT_RGT.DROP_SITE_INSTANTIATION ( refresh_template_name IN VARCHAR2, user_name IN VARCHAR2, site_name IN VARCHAR2);
パラメータ
表21-50 DROP_SITE_INSTANTIATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
削除対象のサイトを含むテンプレートの名前です。 |
user_name |
リモート・マテリアライズド・ビュー・サイトでテンプレートを最初にインスタンス化したユーザーの名前です。テンプレートをインスタンス化したユーザーを確認するには、 |
site_name |
削除対象のテンプレート・サイトです。 |
このプロシージャは、指定されたデプロイメント・テンプレートからテンプレート・オブジェクトを削除します。たとえば、データベース管理者が古いマテリアライズド・ビューをデプロイメント・テンプレートから削除するときに、このプロシージャを使用できます。デプロイメント・テンプレートに加えられた変更は、デプロイメント・テンプレートをインスタンス化する新しいサイトに反映されます。テンプレートをすでにインスタンス化したリモート・サイトで変更を適用するには、デプロイメント・テンプレートを再びインスタンス化する必要があります。
構文
DBMS_REPCAT_RGT.DROP_TEMPLATE_OBJECT ( refresh_template_name IN VARCHAR2, object_name IN VARCHAR2, object_type IN VARCHAR2);
パラメータ
表21-52 CREATE_TEMPLATE_OBJECTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
オブジェクトが削除されるデプロイメント・テンプレートの名前です。 |
object_name |
削除対象のテンプレート・オブジェクトの名前です。 |
object_type |
削除対象のオブジェクトのタイプです。次のオブジェクト型を指定できます。
|
このプロシージャは、DBA_REPCAT_TEMPLATE_PARMS
ビューから既存のテンプレート・パラメータを削除します。テンプレート・オブジェクトを削除して、特定のパラメータが不要になった場合、このプロシージャを使用すると便利です。
構文
DBMS_REPCAT_RGT.DROP_TEMPLATE_PARM ( refresh_template_name IN VARCHAR2, parameter_name IN VARCHAR2);
このプロシージャは、DBA_REPCAT_USER_AUTHORIZATIONS
ビューからユーザー認証エントリを削除します。ユーザーのテンプレート認証を削除するときに、このプロシージャを使用します。認証が削除されたユーザーは、ターゲット・デプロイメント・テンプレートをインスタンス化できなくなります。
構文
DBMS_REPCAT_RGT.DROP_USER_AUTHORIZATION ( refresh_template_name IN VARCHAR2, user_name IN VARCHAR2);
このプロシージャは、特定のデプロイメント・テンプレートに対して事前定義されたユーザー・パラメータ値を削除します。このプロシージャは、ユーザーのテンプレート認可が削除された後で実行されることがよくあります。
構文
DBMS_REPCAT_RGT.DROP_USER_PARM_VALUE ( refresh_template_name IN VARCHAR2, parameter_name IN VARCHAR2, user_name IN VARCHAR2);
このファンクションは、ランタイム・パラメータ値を定義する際に使用するIDを取得します。すべてのランタイム・パラメータ値はこのIDに割り当てられ、インスタンス化処理にも使用されます。
このプロシージャは、テンプレートのインスタンス化の前に、ランタイム・パラメータ値を定義します。ユーザー・パラメータ値が定義されていない場合で、デフォルトのパラメータ値を使用しないとき、このプロシージャでパラメータ値を定義します。
このプロシージャを使用する前に、必ずGET_RUNTIME_PARM_ID
ファンクションを実行して、ランタイム・パラメータを挿入する際に使用するパラメータIDを取得します。このIDは、ランタイム・パラメータ値の定義およびデプロイメント・テンプレートのインスタンス化に使用します。
構文
DBMS_REPCAT_RGT.INSERT_RUNTIME_PARMS ( runtime_parm_id IN NUMBER, parameter_name IN VARCHAR2, parameter_value IN CLOB);
パラメータ
表21-61 INSERT_RUNTIME_PARMSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
runtime_parm_id |
|
parameter_name |
ランタイム・パラメータ値を定義するテンプレート・パラメータの名前です。テンプレート・パラメータを確認するには、 |
parameter_value |
デプロイメント・テンプレートのインスタンス化処理で使用する、ランタイム・パラメータ値です。 |
使用上の注意
このプロシージャではCLOB
が利用されているため、INSERT_RUNTIME_PARMS
プロシージャを実行するときは、DBMS_LOB
パッケージを使用する必要があります。次の例は、INSERT_RUNTIME_PARMS
プロシージャでDBMS_LOB
パッケージを使用する方法を示します。
DECLARE tempstring VARCHAR2(100); templob CLOB; BEGIN DBMS_LOB.CREATETEMPORARY(templob, TRUE, DBMS_LOB.SESSION); tempstring := 'REGION 20'; DBMS_LOB.WRITE(templob, length(tempstring), 1, tempstring); DBMS_REPCAT_RGT.INSERT_RUNTIME_PARMS( runtime_parm_id => 20, parameter_name => 'region', parameter_value => templob); DBMS_LOB.FREETEMPORARY(templob); END; /
このファンクションは、マテリアライズド・ビュー・サイトがマスターから切断されているときに(つまりマテリアライズド・ビュー・サイトがオフラインのときに)、リモート・マテリアライズド・ビュー・サイトにマテリアライズド・ビュー環境を構築する際に使用するスクリプトを、マスター・サイトに生成します。生成されたスクリプトは、マスター・サイトに長時間接続できないリモート・マテリアライズド・ビュー・サイトで使用します。新しいマテリアライズド・ビューに設定されるデータの量によっては、リモート・マテリアライズド・ビュー・サイトでのインスタンス化処理に時間がかかる場合があります。このファンクションは、各ユーザーのインスタンス化に対して個別に実行する必要があります。
このファンクションで生成されたスクリプトは、USER_REPCAT_TEMP_OUTPUT
一時ビューに格納され、デプロイメント・テンプレートの配布時に、Oracle Enterprise Manager Cloud ControlのAdvanced ReplicationインタフェースなどのOracleツール製品で使用します。このファンクションで戻される数値は、USER_REPCAT_TEMP_OUTPUT
一時ビューから適切な情報を取り出す際に使用します。
注意: このファンクションは、デプロイメント・テンプレートのオフライン・インスタンシエーションに使用します。また、このファンクションは、他のユーザーのためにインスタンス化を行うレプリケーション管理者が使用します。独自のインスタンス化を行うユーザーは、パブリックのINSTANTIATE_OFFLINE ファンクションを使用します。詳細は、「INSTANTIATE_OFFLINEファンクション」を参照してください。
このファンクションを、DBMS_OFFLINE_OGパッケージのプロシージャ(マスター表のオフライン・インスタンシエーションの実行に使用)と混同しないでください。これらのプロシージャの使用方法の詳細は、このパッケージのドキュメントを参照してください。 |
構文
DBMS_REPCAT_RGT.INSTANTIATE_OFFLINE( refresh_template_name IN VARCHAR2, site_name IN VARCHAR2, user_name IN VARCHAR2 := NULL, runtime_parm_id IN NUMBER := -1e-130, next_date IN DATE := SYSDATE, interval IN VARCHAR2 := 'SYSDATE + 1', use_default_gowner IN BOOLEAN := TRUE) RETURN NUMBER;
パラメータ
表21-63 INSTANTIATE_OFFLINEファンクションのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
インスタンス化されるデプロイメント・テンプレートの名前です。 |
site_name |
デプロイメント・テンプレートをインスタンス化している、リモート・サイトの名前です。 |
user_name |
デプロイメント・テンプレートをインスタンス化中の認証ユーザーの名前です。 |
runtime_parm_id |
|
next_date |
リフレッシュ・グループの作成時に使用する、次のリフレッシュ日の値を指定します。 |
interval |
リフレッシュ・グループの作成時に使用する、リフレッシュ間隔を指定します。 |
use_default_gowner |
値が |
このファンクションは、マテリアライズド・ビュー・サイトがマスターに接続されているときに(つまりマテリアライズド・ビュー・サイトがオンラインのときに)、リモート・マテリアライズド・ビュー・サイトにマテリアライズド・ビュー環境を構築する際に使用するスクリプトを、マスター・サイトに生成します。生成されたスクリプトは、マスター・サイトに長時間接続できるリモート・マテリアライズド・ビュー・サイトで使用します。新しいマテリアライズド・ビューに設定されるデータの量によっては、リモート・マテリアライズド・ビュー・サイトでのインスタンス化処理に時間がかかります。このファンクションは、各ユーザーのインスタンス化に対して個別に実行する必要があります。
このファンクションで生成されたスクリプトは、USER_REPCAT_TEMP_OUTPUT
一時ビューに格納され、デプロイメント・テンプレートの配布時に、Oracle Enterprise Manager Cloud ControlのAdvanced ReplicationインタフェースなどのOracleツール製品で使用します。このファンクションで戻される数値は、USER_REPCAT_TEMP_OUTPUT
一時ビューから適切な情報を取り出す際に使用します。
注意: このファンクションは、他のユーザーのためにインスタンス化を行うレプリケーション管理者が使用します。独自のインスタンス化を行うユーザーは、「INSTANTIATE_OFFLINEファンクション」で説明した、パブリックのINSTANTIATE_OFFLINE ファンクションを使用します。 |
構文
DBMS_REPCAT_RGT.INSTANTIATE_ONLINE( refresh_template_name IN VARCHAR2, site_name IN VARCHAR2 := NULL, user_name IN VARCHAR2 := NULL, runtime_parm_id IN NUMBER := -1e-130, next_date IN DATE := SYSDATE, interval IN VARCHAR2 := 'SYSDATE + 1', use_default_gowner IN BOOLEAN := TRUE) RETURN NUMBER;
パラメータ
表21-66 INSTANTIATE_ONLINEファンクションのパラメータ
パラメータ | 説明 |
---|---|
refresh_template_name |
インスタンス化されるデプロイメント・テンプレートの名前です。 |
site_name |
デプロイメント・テンプレートをインスタンス化している、リモート・サイトの名前です。 |
user_name |
デプロイメント・テンプレートをインスタンス化中の認証ユーザーの名前です。 |
runtime_parm_id |
|
next_date |
リフレッシュ・グループの作成時に使用する、次のリフレッシュ日の値を指定します。 |
interval |
リフレッシュ・グループの作成時に使用する、リフレッシュ間隔を指定します。 |
use_default_gowner |
値が |
例外
表21-67 INSTANTIATE_ONLINEファンクションの例外
例外 | 説明 |
---|---|
miss_refresh_template |
指定されたデプロイメント・テンプレート名が無効か、または存在しません。 |
miss_user |
認証ユーザーの名前が無効か、または存在しません。指定されたユーザーが |
bad_parms |
一部のテンプレート・パラメータが、定義されたユーザー・パラメータ値またはテンプレートのデフォルト値(あるいはその両方)で設定されませんでした。事前定義された値の数がテンプレート・パラメータの数と一致しなかったか、または事前定義された値がターゲット・パラメータでは無効(タイプの不一致)でした。 |