cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5818
  • QQ14265545
  • 铜币29290枚
  • 威望130点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
阅读:1338回复:0

解决Arcsde用户锁定的问题

楼主#
更多 发布于:2013-07-19 09:26
 <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>
喜欢0 评分0
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
游客

返回顶部