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

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

エンタープライズ ジオデータベースのデータセットを操作する場合、使用されるバージョニング タイプによりロック動作が決まります。 ロックの仕組みを完全に理解することが重要です。ロックはユーザー エクスペリエンスに影響します。 たとえば、名前付きバージョンでトラディショナル バージョン対応データセットを操作する場合、複数のユーザーが同時に編集できます。 これは、共有バージョンのロックが取得されるためです。 名前付きバージョンでブランチ バージョン対応データセットを操作する場合、一度に 1 人のみ編集可能です。 この動作は、名前付きブランチ バージョンの編集時に取得される排他バージョンのロックにより実施されます。

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

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

ロック モード

共有または排他ロック モードは、実行される操作とデータセットの登録タイプに応じて使用されます。

Shared

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

排他的

排他ロックは、バージョンをリコンサイルするなど、ジオデータベースのデータセットに必要な変更を加えるために、他のユーザーがそのデータセットを使用できないようロックするために使用されます。 適切な権限を持つユーザーがジオデータベースのデータセットに対して変更を開始すると、排他ロックは、個々の属性テーブル、フィーチャクラス テーブル、ラスター テーブル、またはその他のデータセットに設定されます。 ただし、そのデータセットにすでに共有ロックが設定されている場合、排他ロックを設定することはできません。

排他ロックは共有ロックから格上げされ、必要がなくなったら共有ロックに戻ります。 排他ロックは、1 つのデータセットまたはバージョンに対して一度に 1 つしか許可されません。

ロック タイプ

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

スキーマ ロック

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

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

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

ステート ロック

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

バージョン ロック

バージョン ロック タイプは、エンタープライズ ジオデータベースのバージョン対応データセットにアクセスするときに適用されます。 ロック モードは、実行される操作とデータセットのバージョニング タイプによって異なります。

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

OID 予約ロック

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


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