Howto: 当没有ArcSDE服务时如何罗列地理数据库的用户进程和相关锁信息

文章编号 : 35794
软件: ArcSDE 9.0, 9.1, 9.2, 9.3, 9.3.1
操作系统: N/A
已邀请:

易智瑞技术支持

赞同来自:

摘要: ArcSDE应用服务器利用SDEMON命令获得有关用户的进程信息和geodatabase的锁定信息。在一个没有ArcSDE服务的环境下,只能通过直连的方式连接geodatabase,这些SQL脚本提供了收集当前连接geodatabase的用户和对已存在geodatabase表和状态锁定信息一种方式。

内容:
这些例子是针对Oracle和SQLServer geodatabase的,它们可以运行在任何客户端例如Oracle的SQL*Plus或者Microsoft的SQLServerManagement Studio。例如在Oracle SQL*Plus连接SDE用户,在MS SQLServerManagement Studio,右键数据选择“New Query”。 显示用户进行列表 Oracle SELECT SDE_ID, OWNER, NODENAME||':'||SYSNAME "NODENAME:SYSNAME",TO_CHAR(START_TIME,'DAY MON DD HH24:MI:SS YYYY') "START_TIME" FROM SDE.PROCESS_INFORMATION; SQL Server
select sde_id, owner, nodename + ':' + sysname "nodename:sysname", start_time from sde.sde_process_information;

显示表的锁定信息
Oracle
SELECT A.SDE_ID, A.OWNER, L.REGISTRATION_ID, B.OWNER||'.'||B.TABLE_NAME "TABLE", A.NODENAME, L.LOCK_TYPE FROM SDE.PROCESS_INFORMATION A, SDE.TABLE_REGISTRY B, SDE.TABLE_LOCKS L
WHERE A.SDE_ID = L.SDE_ID AND L.REGISTRATION_ID = B.REGISTRATION_ID
ORDER BY "TABLE";
SQL Server
select a.sde_id, a.owner, l.registration_id, b.owner + '.' + b.table_name "Table", a.nodename, l.lock_type from sde.sde_process_information a, sde.sde_table_registry b, sde.sde_table_locks l
where a.sde_id = l.sde_id and l.registration_id = b.registration_id
order by "Table";

显示状态锁定信息
Oracle
SELECT L.STATE_ID, L.LOCK_TYPE, A.SDE_ID, A.OWNER, A.NODENAME FROM SDE.PROCESS_INFORMATION A, SDE.STATE_LOCKS L
WHERE A.SDE_ID = L.SDE_ID
ORDER BY STATE_ID;
SQL Server
select l.state_id, l.lock_type, a.sde_id, a.owner, a.nodename from sde.sde_process_information a, sde.sde_state_locks l
where a.sde_id = l.sde_id
order by state_id;

提示:ArcSDE系统表可以安全的选中数据,不能用ArcGIS以外的软件来更改系统表。




创建时间:2008-11-11
最近更新: 2009-12-02


原文链接
http://support.esrichina.com.cn/2008/1111/733.html

要回复问题请先登录注册