阅读:2532回复:0
解决Arcsde用户锁定的问题
<p>采用arcgis平台做GIS应用的人,可能偶尔碰到sde用户锁定(Arccatalog 或应用程序异常退出的时比较多)的问题,往往咱们解决的办法是重启sde服务。如果一个服务器上有多个连接时,重启服务会影响别人。下面小罗介绍另外二种办法:</p> <p><strong>方法一:</strong></p> <p>1, 用sde用户身份登录到Oracle(如:PLSQL developer之类的东东),找到sde用户下面的process_information 表;</p> <p>2, 然后执行查询select t.sde_id,t.owner from process_information t , sde_id 是sde的进程ID, owner 是连接的oracle用户</p> <p>3, 从owner中找到你要解除锁定的用户以及所对应的sde_id ;</p> <p>4, 进入ArcSDE安装的服务器(如:192.9.100.185),进入cmd ,执行sdemon如下:(下面这些就是sdemon常用操作,感兴趣的同事可以自己去摸索,当然也可以直接执行第5步,第4步主要是防止出错)</p> <p>C:/Documents and Settings/Administrator>sdemon </p> <p>ESRI ArcSDE System Monitor Utility Thu Mar 05 16:15:26 2009</p> <p>----------------------------------------------------------------------</p> <p>sdemon -o status {[-i <service>] [-s <server_name>] | [-H <sde_direc [-q]</p> <p>sdemon -o start {[-i <service>] [-s <server_name>] | [-H <sde_direc [-p <DB_Admin_password>]</p> <p>sdemon -o shutdown {[-i <service>] [-s <server_name>] | [-H <sde_direc [-p <DB_Admin_password>] [-N]</p> <p>sdemon -o pause {[-i <service>] [-s <server_name>] | [-H <sde_direc [-p <DB_Admin_password>]</p> <p>sdemon -o resume {[-i <service>] [-s <server_name>] | [-H <sde_direc [-p <DB_Admin_password>]</p> <p>sdemon
-o info -I {users | config | stats | locks | vars | insta] {[-i <service>] [-s <server_name>] | [-H <sde_direc</p> <p>sdemon -o kill -t {all | <pid>} [-p DB_Admin_password>] [-N] {[-i <service>] [-s <server_name>] | [-H <sde_direc</p> <p>5, 然后执行 sdemon -o kill -t 5459 这里的5459 是上面从process_information表中查询出来的sde_id,然后要你输入sde的密码,完了之后确认ok,如下所示:</p> <p>Please enter ArcSDE DBA password:</p> <p>ArcSDE Instance esri_sde Process Management on testserver185 at Thu Ma:42 2009</p> <p>-------------------------------------------------------Kill Server Task 5459? ARE YOU SURE (Y/N)?: y</p> <p>6, 搞定收工;</p> <p><strong>方法二:直接在Arcsde空间服务器上面,运行 </strong></p> <p>sdemon -o info -I users -i esri_sde (sde服务名),如下所示:</p> <p>C:/>sdemon -o info -I users -i esri_sde</p> <p>ArcSDE Instance esri_sde Registered Server Tasks on hzgt-dbcenter at Sun Dec 13 <br/>17:39:46 2009 <br/>------------------------------------------------------------------------- <br/>S-ID User Host:OS Started <br/>----- -------- -------------------------------- ------------------------ <br/>635 SJZX hzgt-appsrv:Win32 Sun Dec 13 17:36:24 2009 <br/>625 CJ_SGYX hzgt-appsrv:Win32:XDR Sun Dec 13 16:14:13 2009 <br/>626 SJZX hzgt-appsrv:Win32 Sun Dec 13 16:14:15 2009 <br/>633 SJZX hzgt-appsrv:Win32 Sun Dec 13 17:31:26 2009 <br/>636 SJZX hzgt-appsrv:Win32 Sun Dec 13 17:37:06 2009 <br/>622 CJ_SGYX hzgt-appsrv:Win32:XDR Sun Dec 13 13:45:50 2009</p> <p>然后kill掉某个连接进程:</p> <p>C:/>sdemon -o kill -t 622 <br/>Please enter ArcSDE DBA password:</p> <p>ArcSDE Instance esri_sde Process Management on hzgt-dbcenter at Sun Dec 13 17:41 <br/>:55 2009 <br/>------------------------------------------------------------------------- <br/>Kill Server Task 622? ARE YOU SURE (Y/N)?:y</p> |
|
|