DBMS_REPCAT
は、レプリケーション・カタログと環境を管理および更新するルーチンを提供します。
この章には、次の項が含まれます。
表18-1 DBMS_REPCATパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
既存の列グループにメンバーを追加します。 |
|
レプリケーション環境に他のマスター・サイトを追加します。 |
|
|
|
優先グループにメンバーを追加します。 |
「ADD_SITE_PRIORITY_SITEプロシージャ」 |
サイト優先グループに新しいサイトを追加します。 |
「ADD_conflicttype_RESOLUTIONプロシージャ」 |
更新、削除または一意性競合のための、解消方法を指定します。 |
「ALTER_CATCHUP_PARAMETERSプロシージャ」 |
|
「ALTER_MASTER_PROPAGATIONプロシージャ」 |
指定されたマスター・サイトの、指定されたレプリケーション・グループの伝播方法を変更します。 |
「ALTER_MASTER_REPOBJECTプロシージャ」 |
レプリケーション環境のオブジェクトを変更します。 |
「ALTER_MVIEW_PROPAGATIONプロシージャ」 |
カレント・マテリアライズド・ビュー・サイトの、指定されたレプリケーション・グループの伝播方法を変更します。 |
|
指定された優先グループ・メンバーに対応付けられた優先順位レベルを変更します。 |
「ALTER_PRIORITY_datatypeプロシージャ」 |
優先グループ・メンバーの値を変更します。 |
|
指定されたサイトに対応付けられた優先順位レベルを変更します。 |
「ALTER_SITE_PRIORITY_SITEプロシージャ」 |
指定された優先順位レベルに対応付けられたサイトを変更します。 |
|
正常に実行された、表の更新、一意性および削除の競合解消の統計の収集を中止します。 |
「COMMENT_ON_COLUMN_GROUPプロシージャ」 |
列グループの |
「COMMENT_ON_MVIEW_REPSITESプロシージャ」 |
マテリアライズド・ビュー・サイトの |
「COMMENT_ON_PRIORITY_GROUPプロシージャ」 |
優先グループの |
|
マスター・グループの |
|
レプリケート・オブジェクトの |
|
レプリケート・サイトの |
「COMMENT_ON_SITE_PRIORITYプロシージャ」 |
サイト優先グループの |
「COMMENT_ON_conflicttype_RESOLUTIONプロシージャ」 |
競合解消ルーチンの |
|
更新および削除のために、各マスター・サイトの古い列値をレプリケート表の非キー列と比較するかどうかを指定します。 |
「CREATE_MASTER_REPGROUPプロシージャ」 |
空の静止したマスター・グループを新規に作成します。 |
「CREATE_MASTER_REPOBJECTプロシージャ」 |
オブジェクトがレプリケート・オブジェクトであると指定します。 |
|
ローカル・データベースに、空のマテリアライズド・ビュー・グループを新規に作成します。 |
「CREATE_MVIEW_REPOBJECTプロシージャ」 |
マテリアライズド・ビュー・グループにレプリケート・オブジェクトを追加します。 |
|
空の列グループを作成します。 |
|
マスター・グループの新しい優先グループを作成します。 |
|
マスター・グループの新しいサイト優先グループを作成します。 |
「DO_DEFERRED_REPCAT_ADMINプロシージャ」 |
カレント・マスター・サイトの指定されたマスター・グループ、またはすべてのマスター・サイトで、ローカルな遅延管理プロシージャを実行します。 |
|
列グループを削除します。 |
|
列グループからメンバーを削除します。 |
|
カレント・サイトからマスター・グループを削除します。 |
|
マスター・グループからレプリケート・オブジェクトを削除します。 |
|
マスター・グループからレプリケート・オブジェクトを削除します。 |
|
レプリケーション環境からマテリアライズド・ビュー・サイトを削除します。 |
|
マテリアライズド・ビュー・サイトからレプリケート・オブジェクトを削除します。 |
|
優先順位レベルに基づいて、優先グループ・メンバーを削除します。 |
|
指定されたマスター・グループの優先グループを削除します。 |
「DROP_PRIORITY_datatypeプロシージャ」 |
値に基づいて、優先グループ・メンバーを削除します。 |
|
指定されたマスター・グループのサイト優先グループを削除します。 |
「DROP_SITE_PRIORITY_SITEプロシージャ」 |
サイト優先グループから、指定された名前のサイトを削除します。 |
「DROP_conflicttype_RESOLUTIONプロシージャ」 |
更新、削除または一意性競合解消メソッドを削除します。 |
|
各マスター・サイトで実行されるDDLを渡します。 |
「GENERATE_MVIEW_SUPPORTプロシージャ」 |
トリガーをアクティブ化して、更新可能なマテリアライズド・ビューのレプリケーションやプロシージャ・レプリケーションのサポートに必要なパッケージを生成します。 |
「GENERATE_REPLICATION_SUPPORTプロシージャ」 |
指定したオブジェクトのレプリケーションのサポートに必要なトリガー、パッケージおよびプロシージャを生成します。 |
|
1つ以上のメンバーを持つ新しい列グループを作成します。 |
「PREPARE_INSTANTIATED_MASTERプロシージャ」 |
マスター・グループに追加するデータベースのグローバル名を変更します。 |
|
指定されたID番号、ソースまたはマスター・グループに対応付けられた、 |
|
|
「REFRESH_MVIEW_REPGROUPプロシージャ」 |
マテリアライズド・ビュー・グループを、対応付けられたマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトからの最新データでリフレッシュします。 |
|
|
|
正常に実行された、表の更新、削除および一意性の競合解消の統計を収集します。 |
|
マスター定義サイトを、レプリケーション環境の他のマスター・サイトに変更します。 |
「REMOVE_MASTER_DATABASESプロシージャ」 |
レプリケーション環境から、1つ以上のマスター・データベースを削除します。 |
「RENAME_SHADOW_COLUMN_GROUPプロシージャ」 |
レプリケート表のシャドウ列グループの名前を変更して、名前付き列グループにします。 |
|
レプリケート・オブジェクト、またはアドバンスト・レプリケーション機能で使用されたオブジェクトのエクスポートまたはインポート後に、マスター・グループのオブジェクトが適切なオブジェクト識別子およびステータス値を持つようにします。 |
「RESUME_MASTER_ACTIVITYプロシージャ」 |
レプリケーション環境を静止した後で、通常のレプリケーション・アクティビティを再開します。 |
「RESUME_PROPAGATION_TO_MDEFプロシージャ」 |
エクスポートが終了し、マスター・サイトに存在する拡張レプリケーション・グループおよび影響を受けないレプリケーション・グループの両方の伝播を有効にできるようになったことを示します。 |
|
更新および削除のために、レプリケート表のキー列ではない古い列値を送信するかどうかを指定します。 |
|
主キーのかわりに代替列または列グループを使用して、行レベル・レプリケーションを使用する際に比較する表中の列を決定するよう指定します。 |
|
既存のレプリケーション・グループに追加したいマスター・サイトを、グループを静止せずに指定します。 |
|
Advanced Replication環境をStreams環境に移行する移行スクリプトを生成します。 |
「SUSPEND_MASTER_ACTIVITYプロシージャ」 |
マスター・グループのレプリケーション・アクティビティを一時停止します。 |
|
マテリアライズド・ビュー・グループのマスター・サイトを他のマスター・サイトに変更します。 |
「UNDO_ADD_NEW_MASTERS_REQUESTプロシージャ」 |
指定した |
「UNREGISTER_MVIEW_REPGROUPプロシージャ」 |
|
|
マルチマスター・レプリケーション環境のキー条件が正確であるかどうかを確認します。 |
|
マスター・サイトに非同期で伝播された変更の適用状況を判定します。 |
このプロシージャは、既存の列グループにメンバーを追加します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.ADD_GROUPED_COLUMN ( sname IN VARCHAR2, oname IN VARCHAR2, column_group IN VARCHAR2, list_of_column_names IN VARCHAR2 | DBMS_REPCAT.VARCHAR2S);
パラメータ
表18-2 ADD_GROUPED_COLUMNプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
レプリケート表が置かれたスキーマの名前です。 |
oname |
列グループが対応付けられているレプリケート表の名前です。表はネストした表の記憶表を利用できます。 |
column_group |
メンバーを追加する列グループの名前です。 |
list_of_column_names |
指定された列グループに追加する列の名前です。列名は、カンマ区切りのリストとPL/SQL連想配列のいずれでも指定できます。PL/SQL連想配列のタイプは 列オブジェクトは指定できますが、列オブジェクトの属性は指定できません。 表がオブジェクトである場合、 表がネストした表の記憶表である場合は、 |
例外
表18-3 ADD_GROUPED_COLUMNプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
missingobject |
指定された表は存在しません。 |
missinggroup |
指定された列グループは存在しません。 |
missingcolumn |
指定された列は、指定された表に存在しません。 |
duplicatecolumn |
指定された列は、すでに他の列グループのメンバーになっています。 |
missingschema |
指定されたスキーマは存在しません。 |
notquiesced |
指定された表が所属するレプリケーション・グループは静止していません。 |
このプロシージャは、レプリケーション環境に他のマスター・サイトを追加します。このプロシージャは、既存のマスター・サイトで、すべてのトリガーとそれらに対応付けられたパッケージを再生成します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.ADD_MASTER_DATABASE ( gname IN VARCHAR2, master IN VARCHAR2, use_existing_objects IN BOOLEAN := TRUE, copy_rows IN BOOLEAN := TRUE, comment IN VARCHAR2 := '', propagation_mode IN VARCHAR2 := 'ASYNCHRONOUS', fname IN VARCHAR2 := NULL);
パラメータ
表18-4 ADD_MASTER_DATABASEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
レプリケートされるレプリケーション・グループの名前です。このレプリケーション・グループは、マスター定義サイトに存在している必要があります。 |
master |
新しいマスター・データベースの、完全修飾されたデータベース名です。 |
use_existing_objects |
新しいマスター・サイトのスキーマに存在する同じタイプで同じshapeのオブジェクトを再利用する場合は、 |
copy_rows |
新しいマスター・サイトの表の初期の内容を、マスター定義サイトの表の内容と一致させる場合は、 |
comment |
このコメントは、 |
propagation_mode |
新しいマスター・データベースに変更を送る、または新しいマスター・データベースから変更を受け取る方法です。使用できる値は |
fname |
このパラメータは内部で使用します。 注意: Oracleサポート・サービスから指示された場合を除き、このパラメータを設定しないでください。 |
このプロシージャは、DBA_REPSITES_NEW
データ・ディクショナリ・ビューのマスター・サイトを、SPECIFY_NEW_MASTERS
プロシージャの実行時に指定されたマスター・グループに追加します。これらの新しいマスター・サイトに関する情報は、使用可能な全マスター・サイトのレプリケーション・カタログに追加されます。
この時点では、オブジェクトレベルのエクスポートまたはインポートでインスタンス化された全マスター・サイトがアクセス可能である必要があります。新しいレプリケーション・グループは、静止中状態で追加されます。全データベースのエクスポートやインポートを通して、または変更ベースのリカバリを通してインスタンス化されたマスター・サイトは、アクセス可能である必要はありません。
SPECIFY_NEW_MASTERS
プロシージャを実行した後に、このプロシージャを実行します。
注意: このプロシージャの実行後は、新しいマスター・サイトが追加されるまで遅延トランザクション・キューの伝播を無効または有効にしないでください。DBA_REPEXTENSIONS データ・ディクショナリ・ビューは、伝播を無効または有効にする前に消去しておく必要があります。Oracle Enterprise Manager Cloud ControlのAdvanced Replicationインタフェース、またはDBMS_DEFER_SYS パッケージのSET_DISABLED プロシージャを使用して、伝播を無効または有効にできます。 |
構文
DBMS_REPCAT.ADD_NEW_MASTERS (
export_required IN BOOLEAN,
{ available_master_list IN VARCHAR2,
| available_master_table IN DBMS_UTILITY.DBLINK_ARRAY,}
masterdef_flashback_scn OUT NUMBER,
extension_id OUT RAW,
break_trans_to_masterdef IN BOOLEAN := FALSE,
break_trans_to_new_masters IN BOOLEAN := FALSE,
percentage_for_catchup_mdef IN BINARY_INTEGER := 100,
cycle_seconds_mdef IN BINARY_INTEGER := 60,
percentage_for_catchup_new IN BINARY_INTEGER := 100,
cycle_seconds_new IN BINARY_INTEGER := 60);
注意: このプロシージャはオーバーロードされています。available_master_list パラメータとavailable_master_table パラメータは、同時には指定できません。 |
パラメータ
表18-6 ADD_NEW_MASTERSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
export_required |
1つ以上の新しいマスター・サイトにオブジェクトレベルまたは全データベースのエクスポートが必要な場合は、 |
available_master_list |
オブジェクトレベルのエクスポートまたはインポートを使用してインスタンス化される新しいマスター・サイトの、カンマ区切りのリストです。リストされたサイトは、 すべてのマスターが全データベースのエクスポートやインポートまたは変更ベースのリカバリを使用してインスタンス化される場合は、 |
available_master_table |
オブジェクトレベルのエクスポートまたはインポートを使用してインスタンス化される新しいマスター・サイトをリストした表です。表のサイトは、 オブジェクトレベルのエクスポートまたはインポートを使用してインスタンス化されるマスター・サイトをリストする表には、拡張されるマスター・グループにおける新しいマスター・サイトのみをリストします。拡張されるマスター・グループの既存のマスター・サイトはリストしないでください。最初のマスター・サイトは1の位置、2番目のマスターは2の位置と、順に配置します。 |
masterdef_flashback_scn |
この |
extension_id |
この |
break_trans_to_masterdef |
このパラメータは
各遅延トランザクションは、1つ以上のリモート・プロシージャ・コール(RPC)からなっています。この値が
|
break_trans_to_new_masters |
各遅延トランザクションは、1つ以上のリモート・プロシージャ・コール(RPC)からなっています。この値が
|
percentage_for_catchup_mdef |
このパラメータは マスター定義サイトへの伝播に追いつくために使用する、伝播リソースのパーセンテージです。10の倍数で、かつ0以上100以下の数値にする必要があります。 |
cycle_seconds_mdef |
このパラメータは |
percentage_for_catchup_new |
このパラメータは 新しいマスター・サイトへの伝播に追いつくために使用する、伝播リソースのパーセンテージです。10の倍数で、かつ0以上100以下の数値にする必要があります。 |
cycle_seconds_new |
このパラメータは |
例外
表18-7 ADD_NEW_MASTERSプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
typefailure |
パラメータの1つに指定されたパラメータ値が不適正です。 |
novalidextreq |
有効な拡張要求がありません。 |
nonewsites |
指定された拡張要求に追加する新しいマスター・サイトがありません。 |
notanewsite |
拡張要求のための新しいサイトではありません。 |
dbnotcompatible |
機能がデータベースのバージョンと互換性がありません。すべてのデータベースには、9.2.0以上の互換性のレベルが必要です。 |
使用上の注意
変更ベースのリカバリまたはデータベース全体のエクスポートやインポートを使用してインスタンス化される新しいマスター・サイトには、次の条件が適用されます。
新しいマスター・サイトは既存のレプリケーション・グループを持つことはできません。
マスター定義サイトはマテリアライズド・ビュー・グループを持つことはできません。
マスター定義サイトはすべてのマスター・グループについて同じである必要があります。1つ以上のマスター・グループが異なるマスター定義サイトを持つ場合は、変更ベースのリカバリやデータベース全体のエクスポートまたはインポートは使用しないでください。その場合、かわりにオブジェクトレベルのエクスポートまたはインポートを使用します。
新しいマスター・サイトは、拡張プロセスの完了時には、マスター定義サイトのすべてのレプリケーション・グループを含んでいる必要があります。すなわち、新しいマスター・サイトにマスター定義サイトのマスター・グループのサブセットを追加することはできず、すべてのグループを追加する必要があります。
オブジェクトレベルのエクスポートまたはインポートの際は、インポートの前に拡張グループのDBA_REPCATLOG
データ・ディクショナリ・ビューの全要求がエラーなしに処理されたことを確認してください。
注意: 変更ベースのリカバリを使用するには、既存のマスター・サイトおよび新しいマスター・サイトを同じオペレーティング・システム上で実行する必要があります(ただし、オペレーティング・システムのリリースは同じでなくてもかまいません)。 |
このプロシージャは、優先グループにメンバーを追加します。このプロシージャは、マスター定義サイトからコールする必要があります。コールするプロシージャは、priority
列のデータ型によって異なります。priority
列の指定するすべての値について、このプロシージャを1回ずつコールする必要があります。
構文
DBMS_REPCAT.ADD_PRIORITY_datatype ( gname IN VARCHAR2, pgroup IN VARCHAR2, value IN datatype, priority IN NUMBER);
datatypeは次のとおりです。
{ NUMBER | VARCHAR2 | CHAR | DATE | RAW | NCHAR | NVARCHAR2 }
例外
表18-9 ADD_PRIORITY_datatypeプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
duplicatevalue |
指定された値は、優先グループに存在しています。 |
duplicatepriority |
指定された優先順位は、優先グループに存在しています。 |
missingrepgroup |
指定されたマスター・グループは存在しません。 |
missingprioritygroup |
指定された優先グループは存在しません。 |
typefailure |
指定された値のデータ型は、この優先グループには不適切です。 |
notquiesced |
指定されたマスター・グループは静止していません。 |
このプロシージャは、サイト優先グループに新しいサイトを追加します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.ADD_SITE_PRIORITY_SITE ( gname IN VARCHAR2, name IN VARCHAR2, site IN VARCHAR2, priority IN NUMBER);
これらのプロシージャは、更新、削除または一意性競合を解消する方法を指定します。これらのプロシージャは、マスター定義サイトからコールする必要があります。コールするプロシージャは、ルーチンが解消する競合のタイプによって異なります。
表18-12 ADD_conflicttype_RESOLUTIONプロシージャ
競合のタイプ | プロシージャ名 |
---|---|
|
|
|
|
|
|
関連項目: 更新の競合解消メソッドの指定、一意性競合解消メソッドの選択、削除の競合解消メソッドの割当ての詳細は、第6章「競合解消の構成」および『Oracle Databaseアドバンスト・レプリケーション』を参照してください。 |
構文
DBMS_REPCAT.ADD_UPDATE_RESOLUTION ( sname IN VARCHAR2, oname IN VARCHAR2, column_group IN VARCHAR2, sequence_no IN NUMBER, method IN VARCHAR2, parameter_column_name IN VARCHAR2 | DBMS_REPCAT.VARCHAR2S | DBMS_UTILITY.LNAME_ARRAY, priority_group IN VARCHAR2 := NULL, function_name IN VARCHAR2 := NULL, comment IN VARCHAR2 := NULL); DBMS_REPCAT.ADD_DELETE_RESOLUTION ( sname IN VARCHAR2, oname IN VARCHAR2, sequence_no IN NUMBER, parameter_column_name IN VARCHAR2 | DBMS_REPCAT.VARCHAR2S, function_name IN VARCHAR2, comment IN VARCHAR2 := NULL method IN VARCHAR2 := 'USER FUNCTION'); DBMS_REPCAT.ADD_UNIQUE_RESOLUTION( sname IN VARCHAR2, oname IN VARCHAR2, constraint_name IN VARCHAR2, sequence_no IN NUMBER, method IN VARCHAR2, parameter_column_name IN VARCHAR2 | DBMS_REPCAT.VARCHAR2S | DBMS_UTILITY.LNAME_ARRAY, function_name IN VARCHAR2 := NULL, comment IN VARCHAR2 := NULL);
パラメータ
表18-13 ADD_conflicttype_RESOLUTIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
レプリケートされる表が含まれるスキーマの名前です。 |
oname |
競合解消ルーチンを追加する表の名前です。表はネストした表の記憶表を利用できます。 |
column_group |
競合解消ルーチンを追加する列グループの名前です。列グループは、更新の競合解消ルーチンのみに必要です。 |
constraint_name |
競合解消ルーチンを追加する一意制約または一意索引の名前です。一意索引の名前が対応付けられた一意制約の名前と異なる場合は、一意索引の名前を使用します。制約名は、一意性競合解消ルーチンのみに必要です。 |
sequence_no |
指定された競合解消メソッドを適用する順序です。 |
method |
作成する競合解消ルーチンのタイプです。アドバンスト・レプリケーションで提供される標準のルーチンの名前を指定できます。また、独自のルーチンを記述した場合は、 このリリースでサポートされている更新の競合のための標準メソッドは次のとおりです。
このリリースでサポートされている一意性競合のための標準メソッドは、 |
parameter_column_name |
競合の解消に使用する列の名前です。標準メソッドは、1つの列で操作されます。たとえば、列グループに 更新の競合または一意性競合については、このパラメータは列名のカンマ区切りのリスト、または 削除の競合については、このパラメータは列名のカンマ区切りのリスト、または 単一の値 このパラメータには、LOB列は指定できません。 関連項目: 列オブジェクトを使用する場合は、「使用上の注意」を参照してください。 |
priority_group |
更新の競合解消メソッドの 詳細は、第6章「競合解消の構成」および『Oracle Databaseアドバンスト・レプリケーション』を参照してください。その他のメソッドを使用する場合は、このパラメータのデフォルト値 |
function_name |
|
comment |
このユーザー・コメントは、 |
例外
表18-14 ADD_conflicttype_RESOLUTIONプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
missingobject |
指定されたオブジェクトは、行レベル・レプリケーションを使用する指定されたスキーマに表として存在しません。 |
missingschema |
指定されたスキーマは存在しません。 |
missingcolumn |
|
missinggroup |
指定された列グループは存在しません。 |
missingprioritygroup |
指定された優先グループは、表に存在しません。 |
invalidmethod |
指定された解決メソッドは認識されません。 |
invalidparameter |
|
missingfunction |
指定されたユーザー・ファンクションは存在しません。 |
missingconstraint |
一意性競合に指定された制約は存在しません。 |
notquiesced |
指定された表が所属するレプリケーション・グループは静止していません。 |
duplicateresolution |
指定された競合解消メソッドはすでに登録されています。 |
duplicatesequence |
指定された順序番号は指定されたオブジェクトに割り当てられています。 |
invalidprioritygroup |
指定された優先グループは存在しません。 |
paramtype |
優先グループに割り当てられたタイプと異なります。 |
使用上の注意
列オブジェクトを使用する場合、parameter_column_name
パラメータに列オブジェクトの属性を指定できるかどうかは、競合解消メソッドが組込み(Oracle提供)かユーザー作成かによって異なります。
組込みの競合解消メソッドを使用する場合は、このパラメータにオブジェクトの属性を指定できます。たとえば、cust_address
という列オブジェクトにstreet_address
という属性がある場合、このパラメータにcust_address.street_address
を指定できます。
組込みの競合解消メソッドを使用する場合は、列オブジェクトのLOB属性、列オブジェクトのコレクションまたはコレクション属性、REF
、および列オブジェクト全体といったタイプの列は、このパラメータには指定できません。
ユーザー作成の競合解消メソッドを使用する場合は、列オブジェクト全体を指定する必要があります。列オブジェクトの属性は指定できません。たとえば、cust_address
という列オブジェクトにstreet_address
という属性が(複数の属性の1つとして)ある場合、このパラメータにcust_address
のみを指定できます。
このプロシージャはDBA_REPEXTENSIONS
のデータ・ディクショナリ・ビューに保存されたパラメータの値を変更します。
percentage_for_catchup_mdef
cycle_seconds_mdef
percentage_for_catchup_new
cycle_seconds_new
これらのパラメータはもともと、ADD_NEW_MASTERS
プロシージャで設定されたものです。これらのパラメータに指定する新しい値は、マスター・グループに新しいマスター・サイトを追加するプロセスの残りの手順において使用されます。この変更はそれが実行されるサイトのみで行われます。そのためすべてのサイトでパラメータを変更する場合は、マスター定義サイトを含む各マスター・サイトで変更を行う必要があります。
構文
DBMS_REPCAT.ALTER_CATCHUP_PARAMETERS ( extension_id IN RAW, percentage_for_catchup_mdef IN BINARY_INTEGER := NULL, cycle_seconds_mdef IN BINARY_INTEGER := NULL, percentage_for_catchup_new IN BINARY_INTEGER := NULL, cycle_seconds_new IN BINARY_INTEGER := NULL);
パラメータ
表18-15 ALTER_CATCHUP_PARAMETERSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
extension_id |
静止せずにマスター・データベースを追加するための、現在保留になっている要求の識別子です。 |
percentage_for_catchup_mdef |
マスター定義サイトへの伝播に追いつくために使用する、伝播リソースのパーセンテージです。10の倍数で、かつ0以上100以下の数値にする必要があります。 |
cycle_seconds_mdef |
このパラメータは |
percentage_for_catchup_new |
新しいマスター・サイトへの伝播に追いつくために使用する、伝播リソースのパーセンテージです。10の倍数で、かつ0以上100以下の数値にする必要があります。 |
cycle_seconds_new |
このパラメータは |
このプロシージャは、指定されたマスター・サイトにある指定されたレプリケーション・グループの伝播方法を変更します。レプリケーション・グループは静止する必要があります。このプロシージャは、マスター定義サイトからコールする必要があります。マスターがdblink_list
またはdblink_table
に出現した場合、ALTER_MASTER_PROPAGATION
ではそのデータベース・リンクが無視されます。伝播モードをマスターからマスターに変更できません。
構文
DBMS_REPCAT.ALTER_MASTER_PROPAGATION ( gname IN VARCHAR2, master IN VARCHAR2, { dblink_list IN VARCHAR2, | dblink_table IN DBMS_UTILITY.DBLINK_ARRAY,} propagation_mode IN VARCHAR2 : ='ASYNCHRONOUS', comment IN VARCHAR2 := '');
注意: このプロシージャはオーバーロードされています。dblink_list パラメータとdblink_table パラメータは、同時には指定できません。 |
パラメータ
表18-17 ALTER_MASTER_PROPAGATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
伝播モードの変更先のレプリケーション・グループの名前です。 |
master |
伝播モードを変更するマスター・サイトの名前です。 |
dblink_list |
伝播方法を変更するデータベース・リンクの、カンマ区切りのリストです。値が |
dblink_table |
伝播を変更するデータベース・リンクの、1の位置から索引付けされているPL/SQL連想配列です。 |
propagation_mode |
指定されたマスター・サイトで変更された内容を、データベース・リンクのリストで識別されるサイトへ伝播する方法を指定します。適切な値は |
comment |
このコメントは、 |
このプロシージャは、レプリケーション環境のオブジェクトを変更します。このプロシージャは、マスター定義サイトからコールする必要があります。
このプロシージャでは、次の条件のいずれかに該当する場合、オブジェクトのマスター・グループを静止させる必要があります。
マルチマスター・レプリケーション環境の表を変更する場合。
単一のマスター・レプリケーション環境で、safe_table_change
パラメータがFALSE
に設定された表を変更する場合。
このプロシージャを使用すると、マスター・グループを静止させることなく、表以外のオブジェクトを変更できます。
構文
DBMS_REPCAT.ALTER_MASTER_REPOBJECT ( sname IN VARCHAR2, oname IN VARCHAR2, type IN VARCHAR2, ddl_text IN VARCHAR2, comment IN VARCHAR2 := '', retry IN BOOLEAN := FALSE safe_table_change IN BOOLEAN := FALSE);
パラメータ
表18-19 ALTER_MASTER_REPOBJECTプロシージャのパラメータ
このプロシージャはカレント・マテリアライズド・ビュー・サイトの、指定されたレプリケーション・グループの伝播方法を変更します。このプロシージャは、マテリアライズド・ビュー・サイトの遅延トランザクション・キューをプッシュし、マテリアライズド・ビューをロックし、トリガーおよびトリガーに対応付けられたパッケージを再生成します。このプロシージャは、マテリアライズド・ビュー・サイトからコールする必要があります。
構文
DBMS_REPCAT.ALTER_MVIEW_PROPAGATION ( gname IN VARCHAR2, propagation_mode IN VARCHAR2, comment IN VARCHAR2 := '', gowner IN VARCHAR2 := 'PUBLIC');
例外
表18-22 ALTER_MVIEW_PROPAGATIONプロシージャの例外
例外 | 説明 |
---|---|
missingrepgroup |
指定されたレプリケーション・グループは存在しません。 |
typefailure |
伝播モードが正しく指定されませんでした。 |
nonmview |
カレント・サイトは、指定されたレプリケーション・グループのマテリアライズド・ビュー・サイトではありません。 |
commfailure |
マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトにコンタクトできません。 |
failaltermviewrop |
マテリアライズド・ビュー・グループの伝播は、マテリアライズド・ビュー・サイトを共有するマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトが同一の、他のマテリアライズド・ビュー・グループが存在しない場合のみ変更できます。 |
このプロシージャは、指定された優先グループ・メンバーに対応付けられた優先順位レベルを変更します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.ALTER_PRIORITY ( gname IN VARCHAR2, pgroup IN VARCHAR2, old_priority IN NUMBER, new_priority IN NUMBER);
例外
表18-24 ALTER_PRIORITYプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
duplicatepriority |
新しい優先順位レベルは、優先グループに存在しています。 |
missingrepgroup |
指定されたマスター・グループは存在しません。 |
missingvalue |
|
missingprioritygroup |
指定された優先グループは存在しません。 |
notquiesced |
指定されたマスター・グループは静止していません。 |
このプロシージャは、優先グループ・メンバーの値を変更します。このプロシージャは、マスター定義サイトからコールする必要があります。コールするプロシージャは、priority
列のデータ型によって異なります。
構文
DBMS_REPCAT.ALTER_PRIORITY_datatype ( gname IN VARCHAR2, pgroup IN VARCHAR2, old_value IN datatype, new_value IN datatype);
datatypeは次のとおりです。
{ NUMBER | VARCHAR2 | CHAR | DATE | RAW | NCHAR | NVARCHAR2 }
例外
表18-26 ALTER_PRIORITY_datatypeプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
duplicatevalue |
新しい値は、優先グループに存在しています。 |
missingrepgroup |
指定されたマスター・グループは存在しません。 |
missingprioritygroup |
指定された優先グループは存在しません。 |
missingvalue |
古い値は存在しません。 |
paramtype |
新しい値のデータ型は、この優先グループには不適切です。 |
typefailure |
指定された値のデータ型は、この優先グループには不適切です。 |
notquiesced |
指定されたマスター・グループは静止していません。 |
このプロシージャは、指定されたサイトに対応付けられた優先順位レベルを変更します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.ALTER_SITE_PRIORITY ( gname IN VARCHAR2, name IN VARCHAR2, old_priority IN NUMBER, new_priority IN NUMBER);
例外
表18-28 ALTER_SITE_PRIORITYプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
missingrepgroup |
指定されたマスター・グループは存在しません。 |
missingpriority |
古い優先順位レベルは、どのグループ・メンバーにも対応付けられていません。 |
duplicatepriority |
新しい優先順位レベルは、グループの他のサイト用に存在しています。 |
missingvalue |
古い値は存在しません。 |
paramtype |
新しい値のデータ型は、この優先グループには不適切です。 |
notquiesced |
マスター・グループは静止していません。 |
このプロシージャは、指定された優先順位レベルに対応付けられたサイトを変更します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.ALTER_SITE_PRIORITY_SITE ( gname IN VARCHAR2, name IN VARCHAR2, old_site IN VARCHAR2, new_site IN VARCHAR2);
このプロシージャは、列グループのDBA_REPCOLUMN_GROUP
ビュー内のコメント・フィールドを更新します。このコメントは、DBMS_REPCAT
.GENERATE_REPLICATION_SUPPORT
への次のコールまで、どのマスター・サイトでも追加されません。
構文
DBMS_REPCAT.COMMENT_ON_COLUMN_GROUP ( sname IN VARCHAR2, oname IN VARCHAR2, column_group IN VARCHAR2, comment IN VARCHAR2);
このプロシージャは、指定されたマテリアライズド・ビュー・グループのDBA_REPGROUP
データ・ディクショナリ・ビュー内のSCHEMA_COMMENT
フィールドを更新します。グループ名は、ローカルでレプリケート・マテリアライズド・ビュー・グループとして登録する必要があります。このプロシージャは、マテリアライズド・ビュー・サイトで実行する必要があります。
構文
DBMS_REPCAT.COMMENT_ON_MVIEW_REPSITES ( gowner IN VARCHAR2, gname IN VARCHAR2, comment IN VARCHAR2);
このプロシージャは、優先グループのDBA_REPPRIORITY_GROUP
ビュー内のコメント・フィールドを更新します。このコメントは、GENERATE_REPLICATION_SUPPORT
への次のコールまで、どのマスター・サイトでも追加されません。
構文
DBMS_REPCAT.COMMENT_ON_PRIORITY_GROUP ( gname IN VARCHAR2, pgroup IN VARCHAR2, comment IN VARCHAR2);
このプロシージャは、マスター・グループのDBA_REPGROUP
ビュー内のコメント・フィールドを更新します。このプロシージャは、マスター定義サイトからコールする必要があります。
このプロシージャは、マスター・グループ内のレプリケート・オブジェクトのDBA_REPOBJECT
ビュー内のコメント・フィールドを更新します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.COMMENT_ON_REPOBJECT ( sname IN VARCHAR2, oname IN VARCHAR2, type IN VARCHAR2, comment IN VARCHAR2);
パラメータ
表18-41 COMMENT_ON_REPOBJECTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
オブジェクトが置かれたスキーマの名前です。 |
oname |
コメントを付けるオブジェクトの名前です。オブジェクトには、ネストした表の記憶表は指定できません。 |
type |
オブジェクトのタイプです。サポートされているタイプは次のとおりです。
|
comment |
|
レプリケーション・グループがマスター・グループの場合、このプロシージャは、マスターサイトのDBA_REPSITES
ビュー内のMASTER_COMMENT
フィールドを更新します。レプリケーション・グループがマテリアライズド・ビュー・グループの場合、このプロシージャは、マテリアライズド・ビュー・サイトのDBA_REPGROUP
ビュー内のSCHEMA_COMMENT
フィールドを更新します。
このプロシージャは、マスター・サイトでもマテリアライズド・ビュー・サイトでも実行できます。マテリアライズド・ビュー・サイトでこのプロシージャを実行する場合は、マテリアライズド・ビュー・グループの所有者がPUBLIC
である必要があります。
関連項目: マテリアライズド・ビュー・グループの所有者がPUBLIC でない場合にマテリアライズド・ビュー・サイトのDBA_REPGROUP ビュー内のSCHEMA_COMMENT フィールドにコメントを配置する方法の詳細は、「COMMENT_ON_conflicttype_RESOLUTIONプロシージャ」を参照してください。 |
パラメータ
表18-43 COMMENT_ON_REPSITESプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
レプリケーション・グループの名前です。1つのデータベースが複数のレプリケーション環境でマスター・サイトになっている場合、このパラメータによって混乱が回避されます。 |
master |
コメントを付けるマスター・サイトの、完全修飾されたデータベース名です。マスター・サイトでこのプロシージャを実行する場合は、このパラメータが必要です。マテリアライズド・ビュー・サイトでコメントを更新するには、このパラメータを省略します。このパラメータはオプションです。 |
comment |
適切なディクショナリ・ビューのコメント・フィールドに含める、更新されたコメントのテキストです。サイトがマスター・サイトの場合、 |
このプロシージャは、サイト優先グループのDBA_REPPRIORITY_GROUP
ビュー内のコメント・フィールドを更新します。このプロシージャはCOMMENT_ON_COLUMN_GROUP
プロシージャのラッパーで、便宜的に提供されるものです。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.COMMENT_ON_SITE_PRIORITY ( gname IN VARCHAR2, name IN VARCHAR2, comment IN VARCHAR2);
このプロシージャは、競合解消ルーチンのDBA_REPRESOLUTION
ビュー内のRESOLUTION_COMMENT
フィールドを更新します。コールするプロシージャは、ルーチンが解消する競合のタイプによって異なります。これらのプロシージャは、マスター定義サイトからコールする必要があります。
表18-47 COMMENT_ON_conflicttype_RESOLUTIONプロシージャ
競合のタイプ | プロシージャ名 |
---|---|
|
|
|
|
|
|
コメントは、GENERATE_REPLICATION_SUPPORT
への次のコールまで、どのマスター・サイトでも追加されません。
構文
DBMS_REPCAT.COMMENT_ON_UPDATE_RESOLUTION ( sname IN VARCHAR2, oname IN VARCHAR2, column_group IN VARCHAR2, sequence_no IN NUMBER, comment IN VARCHAR2); DBMS_REPCAT.COMMENT_ON_UNIQUE_RESOLUTION ( sname IN VARCHAR2, oname IN VARCHAR2, constraint_name IN VARCHAR2, sequence_no IN NUMBER, comment IN VARCHAR2); DBMS_REPCAT.COMMENT_ON_DELETE_RESOLUTION ( sname IN VARCHAR2, oname IN VARCHAR2, sequence_no IN NUMBER, comment IN VARCHAR2);
パラメータ
表18-48 COMMENT_ON_conflicttype_RESOLUTIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
スキーマの名前です。 |
oname |
競合解消ルーチンが対応付けられているレプリケート表の名前です。 |
column_group |
更新の競合解消ルーチンが対応付けられている列グループの名前です。 |
constraint_name |
一意性競合解消ルーチンが対応付けられている一意制約の名前です。 |
sequence_no |
競合解消プロシージャの順序番号です。 |
comment |
|
このプロシージャは、遅延トランザクションの伝播中に、更新および削除のために各マスター・サイトの古い列値をレプリケート表の非キー列と比較するかどうかを指定します。デフォルトでは、すべての列の古い値が比較されます。マスター定義サイトでDBMS_REPCAT
.COMPARE_OLD_VALUES
を呼び出すことにより、すべてのマスター・サイトおよびマテリアライズド・ビュー・サイトで、この動作を変更できます。
ユーザー定義型を使用する場合は、列オブジェクトのリーフ属性、または列オブジェクト全体を指定できます。たとえば、cust_address
という列オブジェクトにstreet_address
という属性がある場合、column_list
パラメータに、またはcolumn_table
パラメータの一部として、cust_address.street_address
を指定するか、cust_address
のみを指定できます。
競合検出のための等価比較を実行する場合、オブジェクトは次のいずれかの条件に該当する場合のみ等価として扱われます。
両方のオブジェクトがアトミックNULL
の場合(オブジェクト全体はNULL
)
オブジェクト内で、対応する属性すべてが等価な場合
これらの条件をふまえて、一方のオブジェクトがアトミックNULL
で他方がそうでない場合、それらのオブジェクトは等価とは扱われません。等価比較を実行する際には、MAP
メソッドおよびORDER
メソッドは考慮されません。
構文
DBMS_REPCAT.COMPARE_OLD_VALUES( sname IN VARCHAR2, oname IN VARCHAR2, { column_list IN VARCHAR2, | column_table IN DBMS_UTILITY.VARCHAR2S | DBMS_UTILITY.LNAME_ARRAY,} operation IN VARCHAR2 := 'UPDATE', compare IN BOOLEAN := TRUE );
注意: このプロシージャはオーバーロードされています。column_list パラメータとcolumn_table パラメータは、同時には指定できません。 |
パラメータ
表18-50 COMPARE_OLD_VALUESプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
表が置かれたスキーマの名前です。 |
oname |
レプリケート表の名前。表はネストした表の記憶表を利用できます。 |
column_list |
表の列のカンマ区切りのリストです。各エントリの間にはスペースを挿入しません。 |
column_table |
リストのかわりに、 30バイト以上の列名がある場合は、 |
operation |
可能な値は、 |
compare |
値が |
注意: operation パラメータにより、行が削除または更新された際に非キー列の古い値を比較するかどうかを決定できます。古い値を比較しない場合、古い値は更新または削除を行った時点でのターゲット・サイドの列のカレント値とみなされます。
Oracleのデフォルトの動作を変更する前に、 |
表18-51 COMPARE_OLD_VALUESプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
missingobject |
指定されたオブジェクトは、行レベル・レプリケーションの情報が必要な指定されたスキーマ内の表として存在しません。 |
missingcolumn |
少なくとも1つの列が、表に存在しません。 |
notquiesced |
マスター・グループは静止していません。 |
typefailure |
無効な操作が指定されました。 |
keysendcomp |
指定された列は、表中のキー列です。 |
dbnotcompatible |
機能がデータベースのバージョンと互換性がありません。この例外は一般的に、列オブジェクトの属性を比較しようとした際に発生します。この場合、データベースの互換性のレベルは、すべて9.2.0以上である必要があります。 |
このプロシージャは、新しい空の静止したマスター・グループを作成します。
構文
DBMS_REPCAT.CREATE_MASTER_REPGROUP ( gname IN VARCHAR2, group_comment IN VARCHAR2 := '', master_comment IN VARCHAR2 := '', qualifier IN VARCHAR2 := '');
このプロシージャは、オブジェクトをマスター・グループに追加してレプリケート・オブジェクトにします。このプロシージャはユーザー定義型のオブジェクト識別子および全レプリケーション・サイトのオブジェクト表を保存します。
クラスタ化表のレプリケーションがサポートされていますが、クラスタ化表の場合は、use_existing_object
パラメータをFALSE
に設定できません。つまり、CREATE_MASTER_REPOBJECT
プロシージャを実行する前に、マスター・グループに関係するすべてのマスター・サイトでクラスタ化表を作成する必要があります。ただし、これらの表に表データを入れる必要はありません。このため、クラスタ化表のcopy_rows
パラメータをTRUE
に設定できます。
構文
DBMS_REPCAT.CREATE_MASTER_REPOBJECT ( sname IN VARCHAR2, oname IN VARCHAR2, type IN VARCHAR2, use_existing_object IN BOOLEAN := TRUE, ddl_text IN VARCHAR2 := NULL, comment IN VARCHAR2 := '', retry IN BOOLEAN := FALSE, copy_rows IN BOOLEAN := TRUE, gname IN VARCHAR2 := '');
パラメータ
表18-54 CREATE_MASTER_REPOBJECTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
レプリケートするオブジェクトが置かれたスキーマの名前です。 |
oname |
レプリケートするオブジェクトの名前です。 |
type |
レプリケートするオブジェクトのタイプです。サポートされているタイプは次のとおりです。
|
use_existing_object |
カレント・マスター・サイトで、同じタイプで同じshapeのオブジェクトを再利用する場合は、 注意: クラスタ化表の場合、このパラメータは |
ddl_text |
オブジェクトがマスター定義サイトに存在していない場合は、このオブジェクトの作成に必要なDDLテキストを渡す必要があります。PL/SQLパッケージ、パッケージ本体、プロシージャおよびファンクションには、セミコロン(;)が必要です。SQL文の最後はセミコロン(;)ではありません。DDLは、適用の前に解析されることはないため、DDLテキストには、作成されるオブジェクトについての適切なスキーマおよびオブジェクト名が含まれるようにする必要があります。 スキーマ( 注意: ユーザー定義型やオブジェクト表の追加には、 |
comment |
このコメントは、 |
retry |
前に作成できなかったオブジェクトの作成を再実行する場合は、 |
copy_rows |
新しいレプリケート・オブジェクトの初期の内容を、マスター定義サイトのオブジェクトの内容と一致させる場合は、 |
gname |
レプリケート・オブジェクトを作成するレプリケーション・グループの名前です。レプリケーション・グループ名が指定されない場合、スキーマ名がデフォルトのレプリケーション・グループ名として使用されます。その場合、プロシージャを正常に終了するためには、スキーマと同じ名前のレプリケーション・グループが存在している必要があります。 |
例外
表18-55 CREATE_MASTER_REPOBJECTプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
notquiesced |
マスター・グループは静止していません。 |
duplicateobject |
指定されたオブジェクトは、マスター・グループに存在しており、retryは |
missingobject |
|
typefailure |
指定されたタイプのオブジェクトはレプリケートできません。 |
ddlfailure |
マスター定義サイトのDDLが失敗しました。 |
commfailure |
少なくとも1つのマスター・サイトにアクセスできません。 |
オブジェクト作成
表18-56 マスター・サイトでのオブジェクト作成
既存のオブジェクトの有無 | COPY_ROWS | USE_EXISTING_ OBJECTS |
結果 |
---|---|---|---|
有 |
TRUE |
TRUE |
オブジェクトが一致しない場合、 |
有 |
FALSE |
TRUE |
オブジェクトが一致しない場合、 |
有 |
TRUE/FALSE |
FALSE |
|
無 |
TRUE |
TRUE/FALSE |
オブジェクトが作成されます。マスター定義サイトのデータを使用して、表が設定されます。 |
無 |
FALSE |
TRUE/FALSE |
オブジェクトが作成されます。データベース管理者は、表を設定し、すべてのサイトで表の整合性を保つようにする必要があります。 |
このプロシージャは、ローカル・データベースに、新しい空のマテリアライズド・ビュー・グループを作成します。CREATE_MVIEW_REPGROUP
ではREGISTER_MIEW_REPGROUP
が自動的にコールされますが、登録中にエラーが発生しても無視されます。
構文
DBMS_REPCAT.CREATE_MVIEW_REPGROUP ( gname IN VARCHAR2, master IN VARCHAR2, comment IN VARCHAR2 := '', propagation_mode IN VARCHAR2 := 'ASYNCHRONOUS', fname IN VARCHAR2 := NULL gowner IN VARCHAR2 := 'PUBLIC');
パラメータ
表18-57 CREATE_MVIEW_REPGROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
レプリケーション・グループの名前です。このグループは、指定されたマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトに存在する必要があります。 |
master |
マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトとして使用する、レプリケーション環境のデータベースの完全修飾されたデータベース名です。必要な場合は接続修飾子も指定できます。接続修飾子の使用方法の詳細は、『Oracle Databaseアドバンスト・レプリケーション』および『Oracle Database管理者ガイド』を参照してください。 |
comment |
このコメントは、 |
propagation_mode |
レプリケーション・グループ内の、すべての更新可能なマテリアライズド・ビューのための伝播方法です。使用できる値は |
fname |
このパラメータは内部で使用します。 注意: Oracleサポート・サービスから指示された場合を除き、このパラメータを設定しないでください。 |
gowner |
マテリアライズド・ビュー・グループの所有者です。 |
例外
表18-58 CREATE_MVIEW_REPGROUPプロシージャの例外
例外 | 説明 |
---|---|
duplicaterepgroup |
レプリケーション・グループは、起動サイトに存在しています。 |
nonmaster |
データベースはマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトではありません。 |
commfailure |
指定されたデータベースにはアクセスできません。 |
norepopt |
アドバンスト・レプリケーション・オプションがインストールされていません。 |
typefailure |
伝播モードが正しく指定されませんでした。 |
missingrepgroup |
レプリケーション・グループはマスター・サイトに存在しません。 |
invalidqualifier |
マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトに指定された接続修飾子は、レプリケーション・グループには使用できません。 |
alreadymastered |
ローカル・サイトに、同じグループ名で、マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトが異なる別のマテリアライズド・ビュー・グループがあります。 |
このプロシージャはマテリアライズド・ビュー・グループにレプリケート・オブジェクトを追加します。
構文
DBMS_REPCAT.CREATE_MVIEW_REPOBJECT ( sname IN VARCHAR2, oname IN VARCHAR2, type IN VARCHAR2, ddl_text IN VARCHAR2 := '', comment IN VARCHAR2 := '', gname IN VARCHAR2 := '', gen_objs_owner IN VARCHAR2 := '', min_communication IN BOOLEAN := TRUE, generate_80_compatible IN BOOLEAN := TRUE, gowner IN VARCHAR2 := 'PUBLIC');
パラメータ
表18-59 CREATE_MVIEW_REPOBJECTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
オブジェクトが置かれたスキーマの名前です。スキーマは、このマテリアライズド・ビューのベースとなるマスター表またはマスター・マテリアライズド・ビューを所有するスキーマと同じものである必要があります。 |
oname |
レプリケート・マテリアライズド・ビュー・グループに追加するオブジェクトの名前です。 |
type |
レプリケートするオブジェクトのタイプです。サポートされているタイプは次のとおりです。
|
ddl_text |
タイプ '' (an empty string) 同じ名前のマテリアライズド・ビューが存在している場合、DDLは無視され、既存のマテリアライズド・ビューがレプリケート・オブジェクトとして登録されます。マテリアライズド・ビュー用のマスター表またはマスター・マテリアライズド・ビューが、このスキーマに指定されているマスターのレプリケーション・グループに存在しない場合は、 スキーマを指定せずにDDLが渡された場合、レプリケーション管理者のスキーマがデフォルトのスキーマになります。レプリケーション管理者のスキーマ以外のスキーマを使用する場合は、必ずスキーマを指定してください。 オブジェクトが |
comment |
このコメントは、 |
gname |
オブジェクトを追加するレプリケート・マテリアライズド・ビュー・グループの名前です。グループ名が指定されない場合、スキーマ名がデフォルトのグループ名として使用されます。また、プロシージャを正常に終了するためには、スキーマと同じ名前のマテリアライズド・ビュー・グループが存在している必要があります。 |
gen_objs_owner |
トランザクションの所有者として割り当てるユーザーの名前です。 |
min_communication |
このパラメータは廃止されています。デフォルト値( |
generate_80_compatible |
Oracle8i のデータベースとOracle 11g 以上のデータベース間の相互運用性はサポートされていないため、 |
gowner |
マテリアライズド・ビュー・グループの所有者です。 |
例外
表18-60 CREATE_MVIEW_REPOBJECTプロシージャの例外
例外 | 説明 |
---|---|
nonmview |
起動サイトはマテリアライズド・ビュー・サイトではありません。 |
nonmaster |
マスターがマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトではなくなっています。 |
missingobject |
指定されたオブジェクトは、マスターのレプリケーション・グループに存在しません。 |
duplicateobject |
指定されたオブジェクトは、異なるshapeで存在しています。 |
typefailure |
許可されないタイプです。 |
ddlfailure |
DDLが失敗しました。 |
commfailure |
マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトにアクセスできません。 |
missingschema |
スキーマは、データベース・スキーマとして存在していません。 |
badmviewddl |
DDLは実行されましたが、マテリアライズド・ビューが存在しません。 |
onlyonemview |
マスター表のマテリアライズド・ビュー、またはマスター・マテリアライズド・ビューを、1つのみ作成できます。 |
badmviewname |
マテリアライズド・ビューがマスター表またはマスター・マテリアライズド・ビューと異なります。 |
missingrepgroup |
マスターのレプリケーション・グループは存在しません。 |
このプロシージャは、空の列グループを作成します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.DEFINE_COLUMN_GROUP ( sname IN VARCHAR2, oname IN VARCHAR2, column_group IN VARCHAR2, comment IN VARCHAR2 := NULL);
このプロシージャは、マスター・グループの新しい優先グループを作成します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.DEFINE_PRIORITY_GROUP ( gname IN VARCHAR2, pgroup IN VARCHAR2, datatype IN VARCHAR2, fixed_length IN INTEGER := NULL, comment IN VARCHAR2 := NULL);
パラメータ
表18-63 DEFINE_PRIORITY_GROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
優先グループを作成するマスター・グループの名前です。 |
pgroup |
作成する優先グループの名前です。 |
datatype |
優先グループ・メンバーのデータ型です。サポートされているデータ型は、 |
fixed_length |
|
comment |
このユーザー・コメントは、 |
このプロシージャは、マスター・グループの新しいサイト優先グループを作成します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.DEFINE_SITE_PRIORITY ( gname IN VARCHAR2, name IN VARCHAR2, comment IN VARCHAR2 := NULL);
このプロシージャは、カレント・マスター・サイトの指定されたマスター・グループ、またはすべてのマスター・サイトに対して、ローカルな遅延管理プロシージャを実行します。すべてのマスター・サイトに対する遅延管理プロシージャは、ジョブ・キューを利用して実行されます。
DO_DEFERRED_REPCAT_ADMIN
では、DO_DEFERRED_REPCAT_ADMIN
をコールした接続ユーザーが発行した管理要求のみが実行されます。他のユーザーが発行した要求は無視されます。
このプロシージャは、列グループからメンバーを削除します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.DROP_GROUPED_COLUMN ( sname IN VARCHAR2, oname IN VARCHAR2, column_group IN VARCHAR2, list_of_column_names IN VARCHAR2 | DBMS_REPCAT.VARCHAR2S);
パラメータ
表18-71 DROP_GROUPED_COLUMNプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
レプリケート表が置かれたスキーマの名前です。 |
oname |
列グループが置かれたレプリケート表の名前です。表はネストした表の記憶表を利用できます。 |
column_group |
メンバーを削除する列グループの名前です。 |
list_of_column_names |
指定された列グループから削除する列の名前です。列名は、カンマ区切りのリストとPL/SQL連想配列のいずれでも指定できます。PL/SQL連想配列のタイプは 列オブジェクトは指定できますが、列オブジェクトの属性は指定できません。 表がオブジェクトである場合、 表がネストした表の記憶表である場合は、 |
このプロシージャは、カレント・サイトからマスター・グループを削除します。マスター・グループを、マスター定義サイトを含むすべてのマスター・サイトから削除するには、このプロシージャをマスター定義サイトでコールして、all_sites
をTRUE
に設定します。
構文
DBMS_REPCAT.DROP_MASTER_REPGROUP ( gname IN VARCHAR2, drop_contents IN BOOLEAN := FALSE, all_sites IN BOOLEAN := FALSE);
パラメータ
表18-73 DROP_MASTER_REPGROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
カレント・マスター・サイトから削除するマスター・グループの名前です。 |
drop_contents |
デフォルトでは、マスター・サイトのレプリケーション・グループを削除しても、すべてのオブジェクトはデータベースに残ります。ただし、これらのオブジェクトはレプリケートされなくなります。すなわち、レプリケーション・グループ内のレプリケート・オブジェクトは、他のマスター・サイトとの間で変更をやり取りしなくなります。値を |
all_sites |
値が |
例外
表18-74 DROP_MASTER_REPGROUPプロシージャの例外
例外 | 説明 |
---|---|
nonmaster |
起動サイトはマスター・サイトではありません。 |
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
commfailure |
少なくとも1つのマスター・サイトにアクセスできません。 |
fullqueue |
遅延リモート・プロシージャ・コール(RPC)キューには、マスター・グループへのエントリがあります。 |
masternotremoved |
マスターはマスター定義サイトを認識しません。 |
このプロシージャは、マスター・グループからレプリケート・オブジェクトを削除します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.DROP_MASTER_REPOBJECT ( sname IN VARCHAR2, oname IN VARCHAR2, type IN VARCHAR2, drop_objects IN BOOLEAN := FALSE);
パラメータ
表18-75 DROP_MASTER_REPOBJECTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
オブジェクトが置かれたスキーマの名前です。 |
oname |
マスター・グループから削除するオブジェクトの名前です。オブジェクトには、ネストした表の記憶表は指定できません。 |
type |
削除対象のオブジェクトのタイプです。サポートされているタイプは次のとおりです。
|
drop_objects |
デフォルトでは、オブジェクトはスキーマには残りますが、マスター・グループからは削除されます。すなわち、オブジェクトに対する変更が、他のマスター・サイトやマテリアライズド・ビュー・サイトにレプリケートされなくなります。レプリケーション環境からオブジェクトを完全に削除するには、このパラメータを |
このプロシージャは、レプリケーション環境からマテリアライズド・ビュー・サイトを削除します。DROP_MVIEW_REPGROUP
は、マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトで自動的にUNREGISTER_MVIEW_REPGROUP
をコールしてマテリアライズド・ビューの登録を解除しますが、登録解除の際に起こったエラーはすべて無視します。DROP_MVIEW_REPGROUP
が正常に終了しなかった場合は、マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトに接続してUNREGISTER_MVIEW_REPGROUP
を実行します。
構文
DBMS_REPCAT.DROP_MVIEW_REPGROUP ( gname IN VARCHAR2, drop_contents IN BOOLEAN := FALSE, gowner IN VARCHAR2 := 'PUBLIC');
パラメータ
表18-77 DROP_MVIEW_REPGROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
現行のマテリアライズド・ビュー・サイトから削除するレプリケーション・グループの名前です。トリガーやパッケージなど、レプリケーションのサポート用に生成されたすべてのオブジェクトが削除されます。 |
drop_contents |
デフォルトでは、マテリアライズド・ビュー・サイトのレプリケーション・グループを削除しても、すべてのオブジェクトは対応付けられたスキーマに残ります。ただし、これらのオブジェクトはレプリケートされなくなります。値を |
gowner |
マテリアライズド・ビュー・グループの所有者です。 |
このプロシージャは、マテリアライズド・ビュー・サイトからレプリケート・オブジェクトを削除します。
構文
DBMS_REPCAT.DROP_MVIEW_REPOBJECT ( sname IN VARCHAR2, oname IN VARCHAR2, type IN VARCHAR2, drop_objects IN BOOLEAN := FALSE);
パラメータ
表18-79 DROP_MVIEW_REPOBJECTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
オブジェクトが置かれたスキーマの名前です。 |
oname |
レプリケーション・グループから削除するオブジェクトの名前です。 |
type |
削除対象のオブジェクトのタイプです。サポートされているタイプは次のとおりです。
マテリアライズド・ビューを削除するには、 |
drop_objects |
デフォルトでは、オブジェクトは対応付けられたスキーマには残りますが、対応付けられたレプリケーション・グループからは削除されます。カレント・マテリアライズド・ビュー・サイトのスキーマからオブジェクトを完全に削除するには、このパラメータを |
このプロシージャは、優先順位レベルに基づいて、優先グループのメンバーを削除します。このプロシージャは、マスター定義サイトからコールする必要があります。
このプロシージャは、指定されたマスター・グループの優先グループを削除します。このプロシージャは、マスター定義サイトからコールする必要があります。
このプロシージャは、値に基づいて、優先グループのメンバーを削除します。このプロシージャは、マスター定義サイトからコールする必要があります。コールするプロシージャは、priority
列のデータ型によって異なります。
構文
DBMS_REPCAT.DROP_PRIORITY_datatype ( gname IN VARCHAR2, pgroup IN VARCHAR2, value IN datatype);
datatypeは次のとおりです。
{ NUMBER | VARCHAR2 | CHAR | DATE | RAW | NCHAR | NVARCHAR2 }
このプロシージャは、指定されたマスター・グループのサイト優先グループを削除します。このプロシージャは、マスター定義サイトからコールする必要があります。
このプロシージャは、指定された名前のサイトをサイト優先グループから削除します。このプロシージャは、マスター定義サイトからコールする必要があります。
このプロシージャは、更新、削除または一意性競合解消ルーチンを削除します。これらのプロシージャは、マスター定義サイトからコールする必要があります。コールするプロシージャは、ルーチンが解消する競合のタイプによって異なります。
構文
DBMS_REPCAT.DROP_UPDATE_RESOLUTION ( sname IN VARCHAR2, oname IN VARCHAR2, column_group IN VARCHAR2, sequence_no IN NUMBER); DBMS_REPCAT.DROP_DELETE_RESOLUTION ( sname IN VARCHAR2, oname IN VARCHAR2, sequence_no IN NUMBER); DBMS_REPCAT.DROP_UNIQUE_RESOLUTION ( sname IN VARCHAR2, oname IN VARCHAR2, constraint_name IN VARCHAR2, sequence_no IN NUMBER);
このプロシージャは、いくつかの、またはすべてのマスター・サイトで実行されるDDLを渡します。このプロシージャは、マスター定義サイトからのみコールできます。
構文
DBMS_REPCAT.EXECUTE_DDL (
gname IN VARCHAR2,
{ master_list IN VARCHAR2 := NULL,
| master_table IN DBMS_UTILITY.DBLINK_ARRAY,}
DDL_TEXT IN VARCHAR2);
注意: このプロシージャはオーバーロードされています。master_list パラメータとmaster_table パラメータは、同時には指定できません。 |
パラメータ
表18-94 EXECUTE_DDLプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
マスター・グループの名前です。 |
master_list |
渡されたDDLを実行するマスター・サイトの、カンマ区切りのリストです。各サイト名の間に空白は入れないでください。デフォルトの |
master_table |
渡されたDDLを実行するマスター・サイトをリストした表です。最初のマスターは1の位置、2番目のマスターは2の位置と、順に配置します。 |
ddl_text |
指定された各マスター・サイトで実行するDDLです。スキーマを指定せずにDDLが渡された場合、レプリケーション管理者のスキーマがデフォルトのスキーマになります。レプリケーション管理者のスキーマ以外のスキーマを使用する場合は、必ずスキーマを指定してください。 |
このプロシージャは、トリガーをアクティブにして、更新可能なマテリアライズド・ビューのレプリケーション、またはプロシージャ・レプリケーションのサポートに必要なパッケージを生成します。このプロシージャは、マテリアライズド・ビュー・サイトからコールする必要があります。
注意: CREATE_MVIEW_REPOBJECT は自動的に、更新可能なマテリアライズド・ビューにマテリアライズド・ビュー・サポートを生成します。 |
構文
DBMS_REPCAT.GENERATE_MVIEW_SUPPORT ( sname IN VARCHAR2, oname IN VARCHAR2, type IN VARCHAR2, gen_objs_owner IN VARCHAR2 := '', min_communication IN BOOLEAN := TRUE, generate_80_compatible IN BOOLEAN := TRUE);
パラメータ
表18-96 GENERATE_MVIEW_SUPPORTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
オブジェクトが置かれたスキーマの名前です。 |
oname |
サポートを生成するオブジェクトの名前です。 |
type |
オブジェクトのタイプです。サポートされているタイプは、 |
gen_objs_owner |
|
min_communication |
値が |
generate_80_compatible |
Oracle8i のデータベースとOracle 11g 以上のデータベース間の相互運用性はサポートされていないため、 |
例外
表18-97 GENERATE_MVIEW_SUPPORTプロシージャの例外
例外 | 説明 |
---|---|
nonmview |
起動サイトはマテリアライズド・ビュー・サイトではありません。 |
missingobject |
指定されたオブジェクトは、行または列レベル・レプリケーションの情報が必要なレプリケート・スキーマ内のマテリアライズド・ビューとして存在しないか、またはラッパーの生成が必要なパッケージ(本体)として存在しません。 |
typefailure |
指定されたタイプ・パラメータはサポートされていません。 |
missingschema |
指定された生成オブジェクトの所有者は存在しません。 |
missingremoteobject |
マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトのオブジェクトは、まだレプリケーション・サポートを生成していません。 |
commfailure |
マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトにアクセスできません。 |
このプロシージャは、指定されたオブジェクトのレプリケーションのサポートに必要なトリガーおよびパッケージを生成します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT ( sname IN VARCHAR2, oname IN VARCHAR2, type IN VARCHAR2, package_prefix IN VARCHAR2 := NULL, procedure_prefix IN VARCHAR2 := NULL, distributed IN BOOLEAN := TRUE, gen_objs_owner IN VARCHAR2 := NULL, min_communication IN BOOLEAN := TRUE, generate_80_compatible IN BOOLEAN := TRUE);
パラメータ
表18-98 GENERATE_REPLICATION_SUPPORTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
オブジェクトが置かれたスキーマの名前です。 |
oname |
レプリケーション・サポートを生成するオブジェクトの名前です。 |
type |
オブジェクトのタイプです。サポートされているタイプは、 |
package_prefix |
|
procedure_prefix |
|
distributed |
このパラメータは、必ず |
gen_objs_owner |
|
min_communication |
このパラメータは廃止されています。デフォルト値( |
generate_80_compatible |
Oracle8i のデータベースとOracle 11g 以上のデータベース間の相互運用性はサポートされていないため、 |
例外
表18-99 GENERATE_REPLICATION_SUPPORTプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
missingobject |
指定されたオブジェクトは、行レベル・レプリケーションの情報が必要な指定されたスキーマ内の表として存在しないか、またはラッパーの生成が必要なパッケージ(本体)として存在しません。 |
typefailure |
指定されたタイプ・パラメータはサポートされていません。 |
notquiesced |
レプリケーション・グループは静止していません。 |
commfailure |
少なくとも1つのマスター・サイトにアクセスできません。 |
missingschema |
スキーマが存在しません。 |
duplicateobject |
オブジェクトは存在しています。 |
このプロシージャは、1つ以上のメンバーを持つ新しい列グループを作成します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.MAKE_COLUMN_GROUP ( sname IN VARCHAR2, oname IN VARCHAR2, column_group IN VARCHAR2, list_of_column_names IN VARCHAR2 | DBMS_REPCAT.VARCHAR2S);
パラメータ
表18-100 MAKE_COLUMN_GROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
レプリケート表が置かれたスキーマの名前です。 |
oname |
新しい列グループを作成するレプリケート表の名前です。表はネストした表の記憶表を利用できます。 |
column_group |
作成する列グループに割り当てる名前です。 |
list_of_column_names |
グループ化する列の名前です。列名は、カンマ区切りのリストとPL/SQL連想配列のいずれでも指定できます。PL/SQL連想配列のタイプは 列オブジェクトは指定できますが、列オブジェクトの属性は指定できません。 表がオブジェクト表の場合、 表がネストした表の記憶表である場合は、 |
このプロシージャは、他の準備された新しいマスター・サイトおよび既存のマスター・サイトから起動マスター・サイトへの遅延トランザクションの伝播を有効にします。このプロシージャはまた、起動マスター・サイトから他の準備された新しいマスター・サイトおよび既存のマスター・サイトへの遅延トランザクションの伝播も有効にします。
データベース全体のエクスポートやインポートまたは変更ベースのリカバリを実行した場合は、新しいマスター・サイトにはマスター定義サイトの遅延トランザクション・キューにあった遅延トランザクションがすべて含まれます。これらの遅延トランザクションは新しいマスター・サイトには存在できないため、このプロシージャではデータベース全体のエクスポートやインポートまたは変更ベースのリカバリが使用された場合、遅延トランザクション・キューおよびエラー・キューのすべてのトランザクションを削除します。
オブジェクトレベルのエクスポートまたはインポートの際は、このプロシージャを実行する前に、拡張グループのDBA_REPCATLOG
データ・ディクショナリ・ビューのすべての要求がエラーなしに処理されたことを確認してください。
注意:
|
注意: 変更ベースのリカバリを使用するには、既存のマスター・サイトおよび新しいマスター・サイトを同じオペレーティング・システム上で実行する必要があります(ただし、オペレーティング・システムのリリースは同じでなくてもかまいません)。 |
このプロシージャは、指定されたID番号、ソースまたはマスター・グループに対応付けられた、DBA_REPCATLOG
ビュー内のローカル・メッセージを削除します。
特定のソースから管理要求をすべてパージするには、id
パラメータにNULL
を指定します。全ソースから管理要求をすべてパージするには、id
パラメータとsource
パラメータの両方にNULL
を指定します。
このプロシージャは、DBA_REPRESOLUTION_STATISTICS
ビューから情報を削除します。
構文
DBMS_REPCAT.PURGE_STATISTICS ( sname IN VARCHAR2, oname IN VARCHAR2, start_date IN DATE, end_date IN DATE);
このプロシージャは、マテリアライズド・ビュー・グループを、対応付けられたマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトからの最新データでリフレッシュします。
構文
DBMS_REPCAT.REFRESH_MVIEW_REPGROUP ( gname IN VARCHAR2, drop_missing_contents IN BOOLEAN := FALSE, refresh_mviews IN BOOLEAN := FALSE, refresh_other_objects IN BOOLEAN := FALSE, gowner IN VARCHAR2 := 'PUBLIC');
パラメータ
表18-108 REFRESH_MVIEW_REPGROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
レプリケーション・グループの名前です。 |
drop_missing_contents |
オブジェクトはマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトのレプリケーション・グループから削除されても、マテリアライズド・ビュー・サイトのスキーマからは自動的に削除はされません。これは単に、レプリケートされなくなります。すなわち、オブジェクトに加えられた変更が、対応付けられたマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトに送信されなくなります。マテリアライズド・ビューは、対応付けられたマスター表またはマスター・マテリアライズド・ビューからリフレッシュし続けることができます。ただし、更新可能なマテリアライズド・ビューに加えられた変更は失われます。オブジェクトをレプリケーション・グループから削除する際は、このパラメータを |
refresh_mviews |
値を |
refresh_other_objects |
この値を
|
gowner |
マテリアライズド・ビュー・グループの所有者です。 |
このプロシージャはDBA_REGISTERED_MVIEW_GROUPS
でのマテリアライズド・ビュー・グループの挿入または変更を行って、マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトでのマテリアライズド・ビューの管理を容易にします。
構文
DBMS_REPCAT.REGISTER_MVIEW_REPGROUP ( gname IN VARCHAR2, mviewsite IN VARCHAR2, comment IN VARCHAR2 := NULL, rep_type IN NUMBER := reg_unknown, fname IN VARCHAR2 := NULL, gowner IN VARCHAR2 := 'PUBLIC');
パラメータ
表18-110 REGISTER_MVIEW_REPGROUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
登録するマテリアライズド・ビュー・グループの名前です。 |
mviewsite |
マテリアライズド・ビュー・サイトのグローバル名です。 |
comment |
マテリアライズド・ビュー・サイトのコメント、または既存のコメントの更新です。 |
rep_type |
マテリアライズド・ビュー・グループのバージョンです。割り当てることができる有効な定数を次に示します。
|
fname |
このパラメータは内部で使用します。 注意: Oracleサポート・サービスから指示された場合を除き、このパラメータを設定しないでください。 |
gowner |
マテリアライズド・ビュー・グループの所有者です。 |
このプロシージャは、マスター定義サイトをレプリケーション環境の他のマスター・サイトに変更します。
RELOCATE_MASTERDEF
をコールするときに、古いマスター定義サイトまたは新しいマスター定義サイトが使用可能である必要はありません。計画済の再構成において、notify_masters
をTRUE
、include_old_masterdef
をTRUE
に設定して、RELOCATE_MASTERDEF
をコールします。
構文
DBMS_REPCAT.RELOCATE_MASTERDEF ( gname IN VARCHAR2, old_masterdef IN VARCHAR2, new_masterdef IN VARCHAR2, notify_masters IN BOOLEAN := TRUE, include_old_masterdef IN BOOLEAN := TRUE, require_flavor_change IN BOOLEAN := FALSE);
パラメータ
表18-114 RELOCATE_MASTERDEFプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
マスター定義を再配置するレプリケーション・グループの名前です。 |
old_masterdef |
現行のマスター定義サイトの、完全修飾されたデータベース名です。 |
new_masterdef |
新しいマスター定義サイトにする既存のマスター・サイトの、完全修飾されたデータベース名です。 |
notify_masters |
マスター定義サイトのみに障害が発生している場合は、 |
include_old_masterdef |
|
require_flavor_change |
このパラメータは内部で使用します。 注意: Oracleサポート・サービスから指示された場合を除き、このパラメータを設定しないでください。 |
このプロシージャは、レプリケーション環境から1つ以上のマスター・データベースを削除します。このプロシージャは、残りのマスター・サイトで、トリガーとそれらに対応付けられたパッケージを再生成します。このプロシージャは、マスター定義サイトからコールする必要があります。
構文
DBMS_REPCAT.REMOVE_MASTER_DATABASES ( gname IN VARCHAR2, master_list IN VARCHAR2 | master_table IN DBMS_UTILITY.DBLINK_ARRAY);
注意: このプロシージャはオーバーロードされています。master_list パラメータとmaster_table パラメータは、同時には指定できません。 |
パラメータ
表18-116 REMOVE_MASTER_DATABASESプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
レプリケーション環境に対応付けられたレプリケーション・グループの名前です。1つのマスター・データベースが複数のレプリケーション環境で使用されている場合、このパラメータによって混乱が避けられます。 |
master_list |
レプリケーション環境から削除する完全修飾されたマスター・データベース名の、カンマ区切りのリストです。リスト内の名前の間にはスペースを挿入しません。 |
master_table |
リストのかわりに、 |
このプロシージャは、レプリケート表のシャドウ列グループの名前を変更して、名前付きの列グループにします。このプロシージャを実行するためにレプリケート表のマスター・グループを静止させる必要はありません。
構文
DBMS_REPCAT.RENAME_SHADOW_COLUMN_GROUP ( sname IN VARCHAR2, oname IN VARCHAR2, new_col_group_name IN VARCHAR2)
このプロシージャを実行すると、レプリケート・オブジェクト、またはAdvanced Replicationで使用されたオブジェクトのエクスポートまたはインポート後に、マスター・グループのオブジェクトが適切なオブジェクト識別子およびステータス値を持つようになります。
構文
DBMS_REPCAT.REPCAT_IMPORT_CHECK ( gname IN VARCHAR2, master IN BOOLEAN, gowner IN VARCHAR2 := 'PUBLIC');
例外
表18-121 REPCAT_IMPORT_CHECKプロシージャの例外
例外 | 説明 |
---|---|
nonmaster |
|
nonmview |
|
missingobject |
レプリケーション・グループ内の有効なレプリケート・オブジェクトが存在しません。 |
missingrepgroup |
指定したレプリケート・レプリケーション・グループは存在しません。 |
missingschema |
指定されたスキーマは存在しません。 |
新しいマスター・サイトを静止させずにマスター・グループに追加するプロセスにおいて、このプロシージャは、エクスポートが終了し、マスター・サイトに存在する拡張および影響を受けないレプリケーション・グループのマスター定義サイトへの伝播が可能になったことを示します。このプロシージャは、新しいマスター・サイトをマスター・グループに追加するために必要なエクスポートが完了した後に実行します。
レプリケート表の各非キー列についての遅延トランザクションの伝播中に、表中の行が更新または削除される際、古い列値を送るというオプションがあります。min_communication
がTRUE
に設定されている場合、デフォルトでは次のようになります。
削除された行については、すべての列の古い値を送ります。
更新された行については、キー列の古い値および列グループ内の修正された列を送ります。
マスター定義サイトでDBMS_REPCAT
.SEND_OLD_VALUES
を呼び出すことにより、すべてのマスター・サイトおよびマテリアライズド・ビュー・サイトで、この動作を変更できます。次にすべてのマスター・サイトおよび各マテリアライズド・ビュー・サイトで、レプリケーション・サポートを生成します。
ユーザー定義型を使用する場合は、列オブジェクトのリーフ属性、または列オブジェクト全体を指定できます。たとえば、cust_address
という列オブジェクトにstreet_address
という属性がある場合、column_list
パラメータに、またはcolumn_table
パラメータの一部として、cust_address.street_address
を指定するか、cust_address
のみを指定できます。
構文
DBMS_REPCAT.SEND_OLD_VALUES( sname IN VARCHAR2, oname IN VARCHAR2, { column_list IN VARCHAR2, | column_table IN DBMS_UTILITY.VARCHAR2S | DBMS_UTILITY.LNAME_ARRAY,} operation IN VARCHAR2 := 'UPDATE', send IN BOOLEAN := TRUE );
注意: このプロシージャはオーバーロードされています。column_list パラメータとcolumn_table パラメータは、同時には指定できません。 |
パラメータ
表18-126 SEND_OLD_VALUESプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
表が置かれたスキーマの名前です。 |
oname |
レプリケート表の名前。表はネストした表の記憶表を利用できます。 |
column_list |
表の列のカンマ区切りのリストです。各エントリの間にはスペースを挿入しません。 |
column_table |
リストのかわりに、 30バイト以上の列名がある場合は、 |
operation |
可能な値は、 |
send |
値が 表の |
注意: operation パラメータにより、行が削除または更新された際に非キー列の古い値を送信するかどうかを指定できます。古い値を送信しない場合、古い値のかわりにNULL が送信され、更新または削除が適用されるときに古い値とターゲット・サイドの列の現在の値が等しいとみなされます。
Oracleのデフォルトの動作を変更する前に、 |
例外
表18-127 SEND_OLD_VALUESプロシージャの例外
例外 | 説明 |
---|---|
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
missingobject |
指定されたオブジェクトは、行レベル・レプリケーションの情報が必要な指定されたスキーマ内の表として存在しません。 |
missingcolumn |
少なくとも1つの列が、表に存在しません。 |
notquiesced |
マスター・グループは静止していません。 |
typefailure |
無効な操作が指定されました。 |
keysendcomp |
指定された列は、表中のキー列です。 |
dbnotcompatible |
機能がデータベースのバージョンと互換性がありません。この例外は一般的に、列オブジェクトの属性を送ろうとした際に発生します。この場合、データベースの互換性のレベルは、すべて9.2.0以上である必要があります。 |
このプロシージャを使用すると、主キーのかわりに代替列または列グループを使用して、行レベル・レプリケーションを使用する際に比較する表中の列を決定できます。このプロシージャは、マスター定義サイトからコールする必要があります。
列オブジェクトを使用する際、列オブジェクトの属性が主キーまたは主キーの一部として使用できる場合は、その属性を代替キー列の一部にできます。たとえば、cust_address
という列オブジェクトにstreet_address
というVARCHAR2
属性がある場合、column_list
パラメータに、またはcolumn_table
パラメータの一部として、cust_address.street_address
を指定できます。ただし、列オブジェクトcust_address
全体は指定できません
ネストした表の列の記憶表については、このプロシージャはNESTED_TABLE_ID
を代替キー列として受け入れます。
オブジェクト表を使用する際は、代替キー列は指定できません。オブジェクト表のOIDがシステム生成の場合は、オブジェクト表のOID列がオブジェクト表のキーとして使用されます。オブジェクト表のOIDがユーザー定義の場合は、オブジェクト表の主キーがキーとして使用されます。
次のタイプの列は、代替キー列として指定できません。
LOBまたは列オブジェクトのLOB属性
コレクションまたは列オブジェクトのコレクション属性
REF
列オブジェクト全体
関連項目: 主キー列の制限事項の詳細は、『Oracle Database SQL言語リファレンス』のconstraint_clauseに関する説明を参照してください。 |
構文
DBMS_REPCAT.SET_COLUMNS ( sname IN VARCHAR2, oname IN VARCHAR2, { column_list IN VARCHAR2 | column_table IN DBMS_UTILITY.NAME_ARRAY | DBMS_UTILITY.LNAME_ARRAY } );
注意: このプロシージャはオーバーロードされています。column_list パラメータとcolumn_table パラメータは、同時には指定できません。 |
パラメータ
表18-128 SET_COLUMNSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
sname |
表が置かれたスキーマの名前です。 |
oname |
表の名前です。 |
column_list |
主キーとして使用する表内の列の、カンマ区切りのリストです。各エントリの間にはスペースを挿入しません。 |
column_table |
リストのかわりに、 30バイト以上の列名がある場合は、 |
このプロシージャは、既存のレプリケーション・グループに追加したいマスター・サイトを、グループを静止させずに指定します。このプロシージャは、指定されたマスター・グループのマスター定義サイトで実行する必要があります。
必要な場合は、このプロシージャはマスター・グループに新しいマスター・サイトを追加するプロセスを追跡するextension_id
を作成します。このextension_id
は、プロセスの様々な段階で実行する他のプロシージャで使用します。extension_id
は、DBA_REPSITES_NEW
データ・ディクショナリ・ビューおよびDBA_REPEXTENSIONS
データ・ディクショナリ・ビューを問い合せて検索できます。
このプロシージャは、指定されたレプリケーション・グループのDBA_REPSITES_NEW
データ・ディクショナリ・ビューに新しいマスター・サイトを追加します。このプロシージャは指定されたレプリケーション・グループに何度でも実行できます。2度以上実行する場合、指定されたレプリケーション・グループのローカルなDBA_REPSITES_NEW
データ・ディクショナリ・ビューのマスターは、master_list
パラメータまたはmaster_table
パラメータで指定されたマスターに置換されます。
このプロシージャは、ADD_NEW_MASTERS
プロシージャを実行する前に実行する必要があります。ADD_NEW_MASTERS
プロシージャを実行するまで、マスター・グループに新しいマスター・サイトは追加されません。
構文
DBMS_REPCAT.SPECIFY_NEW_MASTERS (
gname IN VARCHAR2,
{ master_list IN VARCHAR2
| master_table IN DBMS_UTILITY.DBLINK_ARRAY});
注意: このプロシージャはオーバーロードされています。master_list パラメータとmaster_table パラメータは、同時には指定できません。 |
パラメータ
表18-130 SPECIFY_NEW_MASTERSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gname |
新しいマスター・サイトを追加するマスター・グループの名前です。 |
master_list |
マスター・グループに追加する新しいマスター・サイトの、カンマ区切りのリストです。既存のマスター・サイトは含めず、新しいマスター・サイトのみをリストします。各サイト名の間に空白は入れないでください。
|
master_table |
マスター・グループに追加する新しいマスター・サイトをリストした表です。表には既存のマスター・サイトは含めず、新しいマスター・サイトのみをリストします。最初のマスター・サイトは1の位置、2番目のマスターは2の位置と、順に配置します。 表が空の場合は、指定されたレプリケーション・グループのマスター・サイトはすべて |
例外
表18-131 SPECIFY_NEW_MASTERSプロシージャの例外
例外 | 説明 |
---|---|
duplicaterepgroup |
追加しようとしているマスター・サイトは、すでにマスター・グループの一部となっています。 |
nonmasterdef |
起動サイトはマスター定義サイトではありません。 |
propmodenotallowed |
同期伝播モードはこの操作では使用できません。使用できるのは非同期伝播モードのみです。 |
extstinapp |
ステータス付きの拡張要求は使用できません。マスター・グループに |
dbnotcompatible |
機能がデータベースのバージョンと互換性がありません。すべてのデータベースには、9.2.0以上の互換性のレベルが必要です。 |
notsamecq |
マスター・グループが同じ接続修飾子を持っていません。 |
Advanced Replication環境をStreams環境に移行する移行スクリプトを生成します。具体的には、このプロシージャでは、特定のレプリケーション・グループに対するStreams環境を設定するスクリプトが生成されます。生成されたスクリプトはカスタマイズが可能であり、各マスター・サイトでこのスクリプトを実行して移行できます。
関連項目: Advanced ReplicationからStreamsへの移行の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。 |
構文
DBMS_REPCAT.STREAMS_MIGRATION ( gnames IN DBMS_UTILITY.NAME_ARRAY, file_location IN VARCHAR2, filename IN VARCHAR2);
パラメータ
表18-132 STREAMS_MIGRATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
gnames |
Streamsに移行するレプリケーション・グループのリストです。リスト表示されたすべてのレプリケーション・グループには、同じマスター・サイトが含まれている必要があります。レプリケーション・グループに異なるマスターが含まれていると、エラーが発生します。 |
file_location |
移行スクリプトのディレクトリ位置です。指定する位置は、PL/SQLにアクセスできるディレクトリ・オブジェクトである必要があります。SQL文 関連項目: |
filename |
移行スクリプトの名前です。 |
このプロシージャは、マスター・グループのレプリケーション・アクティビティを中断します。このプロシージャを使用して、マスター・グループを静止させます。このプロシージャは、マスター定義サイトからコールする必要があります。
このプロシージャは、マテリアライズド・ビュー・グループのマスター・サイトを他のマスター・サイトに変更します。このプロシージャは、影響を受けるマテリアライズド・ビューの完全なリフレッシュを行い、必要に応じてトリガーおよびその対応付けられたパッケージを再生成します。このプロシージャでは、マスター・サイトの変更前に、キューが古いマスター・サイトにプッシュされることはありません。
注意: 他のマテリアライズド・ビュー(レベル2以上)に基づくマテリアライズド・ビューのマスターを切り替えることはできません。このようなマテリアライズド・ビューのベースを別のマスターにするには、マテリアライズド・ビューを削除して再作成する必要があります。 |
構文
DBMS_REPCAT.SWITCH_MVIEW_MASTER ( gname IN VARCHAR2, master IN VARCHAR2, gowner IN VARCHAR2 := 'PUBLIC');
例外
表18-136 SWITCH_MVIEW_MASTERプロシージャの例外
例外 | 説明 |
---|---|
nonmview |
起動サイトはマテリアライズド・ビュー・サイトではありません。 |
nonmaster |
データベースはマスター・サイトではありません。 |
commfailure |
指定されたデータベースにはアクセスできません。 |
missingrepgroup |
マテリアライズド・ビュー・グループは存在しません。 |
qrytoolong |
マテリアライズド・ビュー定義問合せが32KBを超えています。 |
alreadymastered |
ローカル・サイトに、同じグループ名で、古いマスター・サイトをマスターに持つ別のマテリアライズド・ビュー・グループがあります。 |
このプロシージャは、指定されたextension_id
について、SPECIFY_NEW_MASTERS
プロシージャおよびADD_NEW_MASTERS
プロシージャによるすべての変更を元に戻します。
このプロシージャは1つのマスター・サイト(マスター定義サイトの場合もある)で実行され、そのマスター・サイトのみに影響を与えます。このプロシージャを、要求の影響を受けた1つのマスター・サイトで実行するには、その要求の影響を受けた、新規および既存のマスター・サイトすべてで実行する必要があります。DBA_REPSITES_NEW
データ・ディクショナリ・ビューを問い合せると、extension_id
の影響を受けた新しいマスター・サイトを調べることができます。このデータ・ディクショナリ・ビューには、レプリケーション・グループ名もリストされており、このプロシージャはレプリケーション・グループ内の既存のマスター・サイトすべてで実行する必要があります。
注意: このプロシージャは、通常はコールしません。このプロシージャは、1つ以上のマスター・サイトで、新しいマスターを静止なしで追加する操作が行えない場合にのみ使用します。このプロシージャは、SPECIFY_NEW_MASTERS プロシージャおよびADD_NEW_MASTERS プロシージャの実行後で、RESUME_PROPAGATION_TO_MDEF プロシージャおよびPREPARE_INSTANTIATED_MASTER プロシージャの実行前に実行してください。
特定の |
構文
DBMS_REPCAT.UNDO_ADD_NEW_MASTERS_REQUEST ( extension_id IN RAW, drop_contents IN BOOLEAN := TRUE);
パラメータ
表18-137 UNDO_ADD_NEW_MASTERS_REQUESTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
extension_id |
静止せずにマスター・グループにマスター・データベースを追加するための、現在保留になっている要求の識別子です。 |
drop_contents |
ローカル・サイトで拡張されている新しいレプリケーション・グループ内のオブジェクトの目次を削除するには、デフォルトの |
このプロシージャはDBA_REGISTERED_MVIEW_GROUPS
からのマテリアライズド・ビュー・グループの削除を行って、マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトでのマテリアライズド・ビューの管理を容易にします。このプロシージャは、マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトで実行します。
このファンクションは、マルチマスター・レプリケーション環境のキー条件が正確であるかどうかを確認します。
構文
DBMS_REPCAT.VALIDATE ( gname IN VARCHAR2, check_genflags IN BOOLEAN := FALSE, check_valid_objs IN BOOLEAN := FALSE, check_links_sched IN BOOLEAN := FALSE, check_links IN BOOLEAN := FALSE, error_table OUT DBMS_REPCAT.VALIDATE_ERR_TABLE) RETURN BINARY_INTEGER; DBMS_REPCAT.VALIDATE ( gname IN VARCHAR2, check_genflags IN BOOLEAN := FALSE, check_valid_objs IN BOOLEAN := FALSE, check_links_sched IN BOOLEAN := FALSE, check_links IN BOOLEAN := FALSE, error_msg_table OUT DBMS_UTILITY.UNCL_ARRAY, error_num_table OUT DBMS_UTILITY.NUMBER_ARRAY ) RETURN BINARY_INTEGER;
注意: このファンクションはオーバーロードされています。VALIDATE の戻り値は、検出されたエラーの数です。このファンクションのOUT パラメータでは、検出されたエラーが戻されます。「構文」に示す最初のインタフェース・ファンクションで、error_table は、レコードの配列で構成されます。それぞれのレコードには、VARCHAR2 とNUMBER があります。文字列フィールドにはエラー・メッセージが、数値フィールドにはOracleエラー番号が入ります。
「構文」に示す2番目のインタフェース・ファンクションも同様ですが、 |
パラメータ
表18-140 VALIDATEファンクションのパラメータ
パラメータ | 説明 |
---|---|
gname |
確認するマスター・グループの名前です。 |
check_genflags |
グループ内のすべてのオブジェクトが生成されたかどうかが確認されます。この処理は、マスター定義サイトでのみ行われます。 |
check_valid_objs |
グループ内のオブジェクトの基になるオブジェクトが有効であるかどうかが確認されます。この処理は、マスター定義サイトでのみ行われます。マスター定義サイトでの処理が他のすべてのサイトに波及し、基になるオブジェクトが有効であるかどうかがチェックされます。オブジェクトの有効性は、接続ユーザーのスキーマ内で確認されます。 |
check_links_sched |
リンクがスケジュールされているかどうかが確認されます。この処理は各マスター・サイトで実行されます。 |
check_links |
レプリケーションが正しく行われるように、接続ユーザー(repadmin)およびプロパゲータに正しいリンクが設定されているかどうかが確認されます。リンクがデータベースに存在し、アクセス可能であるかどうかがチェックされます。この処理は各マスター・サイトで実行されます。 |
error_table |
検出されたエラーの総数およびメッセージが戻されます。 |
error_msg_table |
検出されたすべてのエラーのメッセージが戻されます。 |
error_num_table |
検出されたエラーの総数が戻されます。 |
例外
表18-141 VALIDATEファンクションの例外
例外 | 説明 |
---|---|
missingdblink |
データベース・リンクがレプリケーション・プロパゲータのスキーマに存在しないか、またはスケジュールされていません。データベース・リンクが確実にデータベースに存在し、アクセス可能で、その実行がスケジュールされるようにしてください。 |
dblinkmismatch |
ローカル・ノードのデータベース・リンク名が、リンクがアクセスするデータベースのグローバル名と一致しません。 |
dblinkuidmismatch |
ローカル・ノードのレプリケーション管理ユーザーのユーザー名と、データベース・リンクに対応するノードのユーザー名が異なります。Advanced Replicationでは、これらのユーザーの名前が同じことを前提としています。ローカル・ノードのレプリケーション管理ユーザーのユーザーIDと、データベース・リンクに対応するノードのユーザーIDを同じにしてください。 |
objectnotgenerated |
オブジェクトが他のマスター・サイトで生成されていないか、生成がまだ終了していません。マスター定義サイトのオブジェクトに対する |