エンタープライズ ジオデータベースのロック

ユーザーがデータを表示および編集すると、ArcGIS Pro でエンタープライズ ジオデータベース内のオブジェクトに対してロックの適用と解除が実行されます。 これらのロックは、データとバージョンの一貫性を維持するのに必要です。 ジオデータベース内のオブジェクトがロックされると、これらのオブジェクトへのアクセスは、使用されているのが共有ロック モードであるか排他ロック モードであるかに応じて変更されます。

[ジオデータベース管理] ダイアログ ボックスを使用してエンタープライズ ジオデータベースのロックを表示できます。 ロックがプロパティとともにリスト表示され、特定のデータセットとバージョンの編集操作を禁止している可能性のあるユーザーを特定するのに役立ちます。 これにより、他のユーザーと編集プロセスを調整したり、データセットにスキーマの変更を行ったりすることができます。 ジオデータベース管理者は、そのジオデータベースのすべてのデータとバージョン ロックの表示と管理を行えます。 これにより、管理者は管理タスク (データのリコンサイルやジオデータベースの圧縮、アップグレードなど) を妨げている可能性のある接続がわかります。

ジオデータベース ロックの管理方法の詳細

ロック モード

実行中の操作に応じて、共有ロック モードまたは排他ロック モードが使用されます。

共有

共有ロックは、ユーザーがフィーチャクラスまたはテーブルのコンテンツを編集または検索するなど、個々のデータセットが使用されるたびに適用されます。 このメカニズムは、データセットの使用中は、他のユーザーが元のデータセットやそのスキーマを変更できないようにするために使用されます。 単一のフィーチャクラスまたはテーブルに一度に設定できる共有ロックの数に制限はありません。

排他的

排他ロックは、ジオデータベース内のオブジェクトに必要な変更を加えるために、他のユーザーがそのオブジェクトを使用できないようロックするために使用されます。 適切な権限を持つユーザーがジオデータベースのデータセットに対して変更を開始すると、排他ロックがそのオブジェクトに設定されます。 そのデータセットにすでに共有ロックが設定されている場合、排他ロックを設定することはできません。 たとえば、フィーチャクラスのバージョン対応登録を解除するには、データセットへの排他ロックが必要です。

排他ロックは共有ロックから格上げされ、必要がなくなったら共有ロックに戻ります。 排他ロックは一度に 1 つしか許可されません。

ロック タイプ

エンタープライズ ジオデータベースを操作する場合に使用されるロック タイプにはいくつかのタイプがあります。 使用されるロック タイプは、データセットの登録タイプと操作に応じて異なります。

スキーマ ロック

ArcGIS のアプリケーションと Web レイヤーは、ジオデータベースのデータを操作する間はジオデータベースのスキーマが固定され、変化しないという原則に基づいて動作します。 たとえば、マップ イメージ レイヤーの使用者は、マップ イメージ レイヤーのデータのスキーマが変化しないと想定します。

この一貫性を可能にするため、データセットがアクセスされるとき、たとえば ArcGIS Pro でデータセットをマップに追加するとき、または Web レイヤーでデータセットが使用されるときなどは、データセットについて共有スキーマ ロックが適用されます。 データセットのスキーマが何らかの方法で変更されると、その共有スキーマ ロックは、スキーマの変更作業の間、共有から排他に格上げされます。 他のユーザーがそのデータセットを開いているときにデータセットのスキーマの変更を禁止することによって、複数のユーザーがいる環境の整合性が保たれます。

スキーマを変更する必要があるのと同じジオデータベース データセットに他のユーザーがアクセスしている場合、データセットが使用されていないときにスキーマの変更を行うよう、ワークフローを作成する必要があります。 たとえば、他のユーザーに影響を与えずに変更を加えるには、他のすべてのユーザーがシステムを使用していないときにスキーマの作業を実行するようスケジュールします。 データセットがサービスに公開されているなら、サービスを停止してからスキーマの変更を行います。 詳細については、ArcGIS Server ヘルプにある「マップ サービスのスキーマの変更」をご参照ください。

ステート ロック

共有ステート ロックは、トラディショナル バージョン対応のデータセットにアクセスするたびに適用されます。 ロックのオブジェクト名として、特定の state_id が表示されます。 このロック タイプは、トラディショナル バージョン対応データセットにのみ有効です。

バージョン ロック

バージョン ロックは、特定の操作を切り離して実行できるようにするため、バージョン内で読み取りや編集をする際に適用されます。 ロック モードは、実行中の操作とデータセットのバージョニング タイプによって異なります。

各種バージョンでのロック モード

各種バージョニングで使用されるロックのタイプを次に示します:

  • ブランチ バージョニング - 共有バージョン ロックは、セッションが読み取りを開始したときに適用されます。 ArcGIS Pro では、ブランチ バージョン対応サービスをマップに追加して表示するときに適用されます。 編集時、バージョン ロックのロック モードは編集中のバージョンによって次のように変わる場合があります:
    • デフォルト - デフォルト バージョンの編集時、共有バージョン ロックはそのままです。
    • バージョン - 名前付きバージョンの編集時、共有バージョン ロックは排他ロックになります。
  • トラディショナル バージョニング - 共有バージョン ロックは、トラディショナル バージョン対応データセットが編集されているときに適用されます。 リコンサイルの操作中、共有バージョン ロックは排他バージョン ロックになります。

各種バージョンでのユーザー エクスペリエンス

バージョンとロックを操作する際のユーザー エクスペリエンスは次のとおりです:

  • ブランチ バージョニング
    • デフォルト - 同時に複数のユーザーによる読み取りと編集がサポートされます。
    • バージョン - 1 人のユーザーによる編集がサポートされます。
      注意:

      名前付きバージョンを編集している場合、ロック モデルは ArcGIS Enterprise のバージョンによって異なります。

      • ArcGIS Enterprise 12.0 以降では、ロック モデルによって、複数の閲覧者による同時アクセスおよび 1 人の編集者によるアクセスを実現できます。 書き込みロックによって他の書き込みロックはブロックされますが、読み取りは許可されます。 リコンサイル処理中は、読み取りと書き込みの両方をブロックする排他バージョン ロックが取得されます。 そのバージョンにアクセスしている閲覧者がいる状態で編集者がリコンサイルを試みると、エラーを受信します。
      • ArcGIS Enterprise 11.5 以前の場合、ロック モデルにより、複数の閲覧者による同時アクセスまたは 1 人の編集者によるアクセスを実現できます。 そのバージョンに他の閲覧者または編集者がアクセスしている状態でユーザーが編集を開始しようとすると、エラーを受信します。

      ジオデータベース管理者は、ジオデータベース管理 → ロックの表示を使用して、ジオデータベース ロックを管理したり、編集操作やリコンサイル操作をブロックしているユーザーを切断したりすることができます。

  • トラディショナル バージョニング - 同時に複数のユーザーによる読み取りと編集がサポートされます。

OID 予約ロック

OID 予約ロックは、ブランチ バージョン対応のデータセットが編集されているときに適用されます。 Object ID は、データベースへの移動回数を制限して、編集操作中に Object ID を取得するために予約されます。 このロック タイプは、ブランチ バージョン対応データセットにのみ有効です。


このトピックの内容
  1. ロック モード
  2. ロック タイプ