ArcSDE数据被锁定后的解锁方法

ArcSDE数据被锁定后的解锁方法


在sde数据被锁定的情况下,编辑、创建featureclass或者注册版本的时候会报告:Lock request conflicts with an established lock。多半情况下关闭数据库连接可以解决这个问题,但有时候问题依然存在。


解决的方法是:


1.关闭所有的ArcMap和ArcCatalog session。


2.运行命令'sdemon -o kill -t all -p sde'


3.运行命令'sdemon -o info -I locks',会报告'no arcsde layer/State/Table/Ojbects Locks registered.


如果以上步骤执行了后依然报告数据被锁定,可到sde数据库中进行如下操作解除锁定;


1.执行如下sql语句,可得到表名包含“LOCK”的表的信息:

select * from tabs t where t.table_name like '%LOCK%';


2.执行如下sql语句,可得到,每张表的数据记录:

select t.*,t.rowid from LAYER_LOCKS t;

select t.*,t.rowid from STATE_LOCKS t;

select t.*,t.rowid from TABLE_LOCKS t;

select t.*,t.rowid from OBJECT_LOCKS t;



3.执行如下sql语句,可删除这些表的所有数据记录:

delete from LAYER_LOCKS;

delete from STATE_LOCKS;

delete from TABLE_LOCKS;

delete from OBJECT_LOCKS;


主要是执行3步骤,2步骤可用来检验是否已全部删除数据成功,若有,则空间数据库将不会被锁定,即可在ArcMap进行删除服务数据




你可能感兴趣的:(ArcGIS)