Problem: sdemon -o info -I users不能列出当前arcsde连接的错误

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

EsriSupport

赞同来自:

错误信息:
当启动ArcSDE服务时,giomgr 进程也会启动,并且连接 SDE 用户到 Oracle 数据库。giomgr 的主要工作是为新的连接和指定的实例信息请求服务。Giomgr 还监视 gsrvr 进程和清理进程。 当客户端连接ArcSDE三层结构时,专用的 gsrvr 进程将Sde用户的连接到 Oracle。 使用下面的SQL语句查看giomgr进程是否连接sde用户到oracle select program, serial#, username from v$session;
原因:
如果“sdemon –o info –I users”命令没有显示当前连接的用户,原因可能为giomgr进程已经与RDBMS失去连接 1:在Oracle数据库中,该情况有可能发生在Oracle服务器连接超时或者利用Oracle DBA工具杀死(kill)连接。 2:当没有关闭ArcSDE服务的前提下关闭Oracle数据库,那么ArcSDE进行仍然在服务器运行(giomgr、gsrvr),虽然giomgr进行与oracle断开了连接,但是giomgr仍然运行,但是它不能与oracle进行通信,如果oracle重新连接,那么该进程也不会重新连接。 在这种情况下,使用sdemon 命令没有任何用户显示,在Oracle会话(sessions)表里面也不是一个新的giomgr,尽管如此,SDE.Process_information 表仍然可以看到相关的信息。当ArcSDE服务停止或者重新启动时,这些孤立的进程会被清理,也可以通过手动删除这些孤立进程。 当进行版本编辑或者版本协调时Oracle数据库关闭,在sde.State_locks 或 sde.Layer_locks 表中会出现一些孤立的行。在重新启动oracle后,需要停止或者重新启动ArcSDE服务(或者手动删除这些孤立的行)。 这种情况发生在使用oracle 冷备份,在关闭Oracle时,没有首先关闭ArcSDE服务。 任何关系数据库进行这些操作都有可能导致giomgr进程失去连接。

解决方法: 在Oracle重新启动后,关闭ArcSDE服务,重新启动ArcSDE服务,重新连接SDE用户到Oracle中。
如果出现重新启动ArcSDE服务不能清除SDE.Process_information 表或者 SDE.State_locks 表里面的孤立数据,利用手动清除。
如果问题仍然发生,就必须确定为什么Oracle会删除giomgr的进程连接。
 检查进行数据库备份和维护关闭数据库时是否没有关闭ArcSDE服务
 检查数据库是否配置为服务器超时
 检查Oracle的警报文件(alert files)获得进一步的信息



创建时间:2003-02-04
最近更新: 2009-01-02


原文链接
http://support.esrichina.com.cn/2003/0204/715.html

要回复问题请先登录注册