双方向レプリケーションでは、親レプリカから子レプリカへのデータ変更の送信および、子レプリカから親レプリカへのデータ変更の送信の両方の方向の同期処理を繰り返し行うことができます。両方のレプリカ ジオデータベースで同じ行が編集された場合には、レプリカを同期する際に競合として検出されます。競合の処理方法を定義するためにリコンサイル ポリシーが提供されます。双方向レプリカを作成する場合は、子レプリカをエンタープライズ ジオデータベースにする必要があります。詳細については、「レプリケーションの種類」をご参照ください。
[データ分散] ショートカット メニューの [レプリカの作成] オプション を使用すると、エンタープライズ ジオデータベースから双方向レプリカを作成できます。双方向レプリカは同期の後も存続するので、繰り返し、レプリカの編集と同期を行うことができます。
開始前に「レプリケーションのためのデータの準備」を参照して、データ要件をご確認ください。ArcGIS Pro のジオデータベース レプリケーションでサポートされているデータ タイプのリストについては、「レプリケーションとジオデータベースの互換性」をご参照ください。
[分散ジオデータベース] ショートカット メニューまたは [レプリカの作成 (Create Replica)] ジオプロセシング ツールを使用して、双方向レプリカを作成できます。
- テンプレートを使用せずに ArcGIS Pro を起動するか、既存の ArcGIS Pro プロジェクトを開きます。
- [カタログ] ウィンドウで、既存のジオデータベース接続を右クリックして、[分散ジオデータベース] ショートカット メニューをクリックします。
メモ:
レプリカを作成するには、データ作成者権限のあるユーザーとして、エンタープライズ ジオデータベースに対する接続を使用する必要があります。
- [レプリカの作成] を選択します。[レプリカの作成 (Create Replica)] ジオプロセシング ツール ダイアログ ボックスが開き、デフォルト設定が表示されます。
- [レプリカ データセット] で、すべてのデータを複製するには、参照ボタンを使用して、このレプリカ内で複製するレイヤーを選択します。
ヒント:
- [複数追加] アイコン が表示されるには、マップに少なくともレイヤーが 1 つ含まれている必要があります。
- [レプリカ データセット] の横の [複数追加] を使用して、複数のデータセットを一括追加します。
- データのサブセットを複製する場合には、「複製するデータセットの決定」の説明に従ってフィルター設定を適用します。次にドロップダウン メニューを使用して、データのサブセットを含むデータセットをこの一方向レプリカに追加します。ドロップダウン メニューではなく、参照ボタンを使用してデータのサブセットを含むデータセットを選択すると、フィルター設定が適用されず、デフォルトの動作が適用されます。
- レプリカにテーブルを含むには、テーブルのデフォルト動作ではスキーマのみがレプリカに含まれることを理解するのが重要です。すべてのレコードを複製するには、フィルター設定に対して SQL 式 1=1 を指定します。テーブルのレコードのサブセットを複製する場合は、それに応じて適切な SQL 式を設定します。
- [レプリカ タイプ] で [双方向レプリカ] が選択されていることを確認します。これがデフォルトです。
- [複製したデータを格納するジオデータベース] で、参照ボタン をクリックして、子レプリカをホストするエンタープライズ ジオデータベースを参照します。双方向レプリカでは、ソースとターゲットのジオデータベースにエンタープライズ ジオデータベースを使用する必要があります。エンタープライズ ジオデータベースを参照するときには、データベース内のデータを作成する権限のあるユーザーとして接続していることを確認します。
- [レプリカ名] に、レプリカを識別する名前を入力します。レプリカ名はそれぞれ、そのレプリカを作成するユーザーに対して一意でなければなりません。
メモ:
レプリカ名を決定するときには、以下に示す追加のルールに注意してください。- 名前は文字で始まらなければなりません。数字、またはアスタリスク (*) やパーセント記号 (%) などの特殊文字で始まる名前は使用できません。
- 名前にスペースを含めることはできません。レプリカに 2 つの部分からなる名前を使用する場合は、2 つの単語をアンダースコア (_) でつなぎます。
- 名前に予約語 (select や add など) を含めることはできません。その他の予約語については、DBMS のドキュメントをご参照ください。
- レプリカの名前の長さは基盤となるデータベースによって異なります。名前の文字制限については、DBMS ドキュメントをご参照ください。
- レプリケーションのデフォルト オプションをオーバーライドする場合には、[高度な設定] をクリックして、追加オプションを展開します。デフォルト オプションに何も変更を加えない場合は、手順 14 に進んでください。
- [高度な設定] では、[レプリカ アクセス タイプ] で、ジオデータベース モデルについて [完全] または [シンプル] を選択します。
- [初期のデータ送信側] では、非接続モード時にどちらのレプリカがデータ変更を送信できるかを指定します。このオプションを指定すると、最初のデータ送信を行うレプリカから変更データが最初に受信されるまで、相対レプリカは更新内容を送信することはありません。接続モードで動作中は、このパラメーターは使用されません。
- 子データ送信側 - 初期のデータ送信側は子レプリカです。これがデフォルトです。
- 親データ送信側 - 親レプリカが最初のデータ送信側になります。
- [拡張フィーチャクラスとテーブル] で、次の 4 つのオプションのいずれかを選択します。
- [デフォルトの使用] - レプリカ内のフィーチャクラスおよびテーブルに関連した拡張フィーチャクラスおよびテーブルを追加します。フィーチャクラスの場合は、デフォルトで空間フィルターを交差するすべてのフィーチャがレプリカに含まれます。空間フィルターが指定されていないと、すべてのフィーチャが含まれます。テーブルの場合は、デフォルトでスキーマのみがレプリカに含まれます。
- スキーマのみを使用して追加 - 拡張フィーチャクラスおよびテーブルのスキーマのみを追加します。
- [すべての行] - 拡張フィーチャクラスおよびテーブルのすべての行を追加します。
- [追加しない] - 拡張フィーチャクラスおよびテーブルを追加しません。
- [関連データの複製] で、[関連データを取得] または [関連データを取得しない] のいずれかを選択して、レプリカ内にすでに存在する行に関連した行を複製するかどうかを指定します。デフォルト設定は [関連データを取得] です。
データの複製時のこの設定が機能する仕組みについては、「レプリケーションと関連データ」をご参照ください。
- [レプリカ ジオメトリ フィーチャ] を使用して、レプリカ ジオメトリを指定できます。
- レプリカ ジオメトリ フィーチャは、ポイント、ライン、またはポリゴンを含むフィーチャ レイヤーになります。
- レプリカ ジオメトリ フィーチャに使用されるフィーチャ レイヤーには、1 つ以上のフィーチャを含めることができます。複数のフィーチャがある場合は、ジオメトリがマージされ、マージされたジオメトリと交差するデータだけが複製されます。
- フィルター (フィルター設定など) がレプリカ ジオメトリ フィーチャに対して指定されている場合は、これらのフィルター条件を満たしたフィーチャだけがレプリカ ジオメトリの定義に使用されます。
- [範囲] 環境設定を使用してレプリカ ジオメトリを指定することもできます。
- [実行] をクリックして、双方向レプリカを作成します。