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

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

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

Failed to delete selected object(s)
Cannot acquire a schema lock because of an existing lock.

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

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

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

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

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

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