ファイル ジオデータベースとロック

ファイル ジオデータベースのデータセットを操作するユーザーが 1 人だけであり、アクセスも 1 プロセスのみの場合、データセットのプロパティまたはコンテンツを編集または変更することができます。 ジオデータベースのデータセットの削除、圧縮、圧縮解除も可能です。

しかし、別のプロセスがすでにデータにアクセスしている場合は、それが自分のコンピューター、別のコンピューター、あるいは Web サービスのプロセスであっても、これらの操作を実行することはできません。 他のプロセスが終了した後で、これらの操作を再び実行できるようになります。 たとえば、ArcGIS Pro 内のマップに表示されるフィーチャクラスがあり、同じフィーチャクラスをジオデータベースから削除しようとすると、次のようなメッセージが表示されます。

選択オブジェクトを削除できませんでした。ロックがすでに存在するため、スキーマ ロックを取得できません。

マップを閉じてから再試行した場合、他のプロセスがデータにアクセスしていなければ、このフィーチャクラスを削除できるようになります。

プロセスはデータセットにアクセスする際に、データセットをロックします。 これにより、他のプロセスによる変更を防ぎます。 データセットにアクセスすると、次のように関連するデータセットもロックされます。

  • フィーチャ データセット内の 1 つのフィーチャクラスにアクセスするプロセスは、そのフィーチャ データセット内のすべてのフィーチャクラスをロックします。
  • ロックはリレーションシップ クラスの両方の側に適用されます。 つまり、2 つのスタンドアロン フィーチャクラスがリレーションシップ クラスで関連付けられている場合、プロセスがその一方にアクセスすると両方のフィーチャクラスがロックされます。

ロックされたデータベースを追跡するために、ArcGIS はファイル ジオデータベース フォルダーにロック ファイルを作成します。 プロセスが終了すると、プロセスに関連付けられたロック ファイルは自動的に削除されますが、 プロセスが異常終了した場合などには、ロック ファイルがジオデータベース フォルダーに残ることがあります。 残ったロック ファイルは最終的に、後続のセッションで新しいロックが発生するときに ArcGIS によって削除されます。 [データベースの最適化 (Compact)] ジオプロセシング ツールを実行、または ArcGIS でデータをコピー/貼り付けしたときも削除されます。 削除までの間、これらのロック ファイルがデータをロックし続けることはありません。

ロックはファイルとプロセスの管理に不可欠です。 ときにはロックが障害になることもありえます。 データセットやそのプロパティの編集ができない、または削除、圧縮、圧縮解除ができない場合には、以下のいずれかが発生していることが原因です。

  • 複数のアプリケーションまたは Web サービスでデータに同時にアクセスしています。 いずれかのアプリケーションを終了するかサービスを停止すれば、必要な操作を実行できるようになります。
  • コンピューター上の他のプロセスが正常に終了しなかったため、そのプロセスがデータにアクセスしている状態が続いています。 たとえば、アプリケーションが実行されていないように見えても、適切に終了されなかったためにデータのロックをまだ保持している可能性があります。 タスク マネージャーで、このようなプロセスを確認して終了してください。