ArcSDE 服务疑难解答

由于系统环境问题,出现的大部分问题都与启动 ArcSDE 服务有关。通常,在安装或配置软件的过程中,会遗漏一些关键步骤。

此主题中的疑难解答提示涉及多个不同的管理命令。有关此命令使用方法的详细信息,请参阅随 ArcSDE 应用程序服务器安装的《管理命令参考》。

识别问题

UNIX 服务器上 ArcSDE 服务的疑难解答

系统路径变量问题

若系统路径变量设置不当或尚未进行设置,则会出现以下错误。有关如何设置路径变量,请参阅适用于您的 DBMS 的 ArcSDE 应用程序服务器安装指南。

临时文件权限问题

若存在任何不归 ArcSDE 管理员所有的 ArcSDE 临时文件,则会返回以下错误消息:

ERROR: Cannot Initialize Shared Memory (-79)
Delete /tmp/<service name> and /tmp<service
name>.lock if present.
Could not start ArcSDE - Check Network,
$SDEHOME disk, DBMS settings and dbinit.sde.

要修复此错误,请删除临时文件 /tmp/<服务名称> 和 /tmp/<服务名称>.lock。例如,若服务名称为 esri_sde,则您可删除文件 /tmp/esri_sde 和 /tmp/esri_sde.lock。您可能需要以根用户身份登录才能删除这些文件。

已从 /tmp 中删除文件

启动 ArcSDE 服务之后,若存储在 /tmp 目录下的文件被删除,则无论用户是否与 ArcSDE 服务连接,ArcSDE 服务都将运行失败。该服务依赖于 UNIX 套接字协议文件(在 /tmp 目录下创建)。通常情况下,不应删除 /tmp 目录下的文件。不过,若您一定要这样做,应在此之前先关闭 ArcSDE 服务。有关如何执行此操作的说明,请参阅停止 Linux 或 UNIX 上的本地 ArcSDE 服务停止 Windows 上的本地 ArcSDE 服务停止远程 ArcSDE 服务

DBMS 相关问题

Solaris server 上的 SE_OUT_OF_MUTEXES (-109) 错误

Solaris 操作系统使用文件来实现 ArcSDE 所使用的 POSIX 共享信号灯。如果操作系统出现故障或断电之后这些文件被遗留下来,有时可能会引发许多问题。这些文件的位置是由 Solaris 操作系统控制的。它们位于 /tmp 或 /var/tmp 目录下,如下所示:

/tmp/.SEMD/
SDE_9.0_<instance>_iomgr_shared_semaphore
/tmp/.SEML/
SDE_9.0_<instance>_iomgr_shared_semaphore

或者

/var/tmp/.SEMD/
SDE_9.0_<instance>_iomgr_shared_semaphore
/var/tmp/.SEML/
SDE_9.0_<instance>_iomgr_shared_semaphore

在操作系统出现故障后,若无法启动 ArcSDE 服务并接收到 -109 错误,则可能是因为这两个共享信号灯文件已存在。若您发现这些文件中的任何一个文件位于 /tmp 或 /var/tmp 下,请删除这些文件并尝试重新启动 ArcSDE 服务。

Windows 服务器上 ArcSDE 服务的疑难解答

下面列出了在 Windows 上启动 ArcSDE 服务时经常遇到的错误。此列表中包含错误代码及可能的原因(若适用)。

997 启动 esri_sde 服务时出错

如果 ArcSDE 应用程序服务器的安装或配置不正确或不完整,则可能会导致该错误:

"ESRI_sde service failed during initialization. 
Please check event log or error log files. 
Error starting ESRI_sde service(997) 
Could not start ArcSDE — Check Network, $SDEHOME disk, DBMS settings"

解决方案

1068 依存关系失败

找不到 ArcSDE 服务试图连接的 DBMS。最有可能导致该问题的原因是

请确保 DBMS 服务器存在且服务已启动,并检查 DBMS 连接信息以确保其正确。若错误依然存在,则请使用 sdeservice 命令删除现有的 ArcSDE 服务,并重新创建 ArcSDE 服务。

1069 登录失败

通常,该错误表示:启动 ArcSDE 服务的 Windows 用户既不是 Windows 管理员,也不是 Windows 高级用户。还有可能是密码不正确。

若未使用系统管理员帐户启动该服务,则需确保该用户帐户是管理员组或高级用户组的成员。

1072 注册表忙

在涉及 ArcSDE 服务条目的注册表中,出现了一些问题。也许是运行了带删除操作的 sdeservice,或者已使用注册表编辑器开启了该服务。还有可能是对象链接及嵌入数据库 (OLE DB) 提供程序有问题。

1075 服务依存关系已删除

ArcSDE 服务无法定位应与其连接的 DBMS 服务。请确保 DBMS 服务存在且已被启动。若问题依然存在,则请使用 sdeservice 命令删除 ArcSDE 服务,并重新创建该服务。

2140 内部 Windows 错误

ArcSDE 服务无法完成启动进程。请检查 sde 错误日志文件 - %SDEHOME%\etc\sde_<sde_instance>.log,以获取有关 ArcSDE 服务未启动的可能原因。

可能的原因及其解决方案

gsrvr.exe - DLL 初始化失败或 gsrvr.exe - 应用程序错误:正常初始化应用程序失败

在 Windows 中,ArcSDE 服务以非交互桌面形式启动。名为 SharedSection 的 Windows 初始化参数用于设定分配给非交互桌面的堆内存上限值。若您接收到此错误消息,可能需要更改 SharedSection 参数。

SERVER_CONFIG(SQL Server 和 PostgreSQL 中的 sde_server_config)表中的 CONNECTIONS 参数也将限制可为地理数据库设置的并发连接数量,但可能需要增大该参数值。

5/10/2014