ArcSDE 服务详解

转载 2011年01月17日 15:48:00

ArcSDE 服务详解
ArcSDE程序服务介绍: ArcSDE是空间数据与GIS程序之间的一个重要的“通路”,它是一种中间件,使用它可以将ArcGIS等程序与普通关系数据库系统联系起来当作一个地理数据库使用,这些关系数据库既包括如ACCESS数据库,也包括类似ORACLE和SQLSERVER的分布式DBMS;同时ArcSDE for Coverages系统,也可以以只读的方式访问诸如Coverage、Shapefile、ArcSotrm等基于文件的数据。

ArcSDE是一种C/S结构的组件,它提供了两种数据连接架构,即两层和三层模型,一般我们都是使用的三层架构,如果用户需要使用前者,可以在ArcCatalog中选择“产生一个直接联结”,它是直接通过ODBC访问DBMS而不通过 ArcSDE的数据服务器。

Sdemon命令可以允许管理员管理和监视ArcSDE服务,在SDE服务启动后,始终存在一个giomgr的SDE服务器进程,它负责监听连接请求(服务器名和端口)、验证连接(密码和用户)、给每个成功的连接分配一个独立的gsrvr进程,而gsrvr负责在客户端和服务器之间进行通讯(使用相同的服务器名和端口)。

 ArcSDE是一种客户端/服务器模式的组件,存在几个需要注意的属性:

1. Home目录 它是一个被记录的路径,成为SDEHOME,这个目录中包含可执行文件,配置文件和动态共享库等。

2. 两个进程 giomgr和gsrvr(作用如前),当我们连接SDE数据库的时候,giomgr Service负责整个连接过程,比如寻找数据库和端口,到DBMS中查询SDE.SERVER_CONFIG表是否存在License记录等等。

3. 由于SDE走的是TCP/IP协议,因此服务器名和端口在通讯在起着重要的作用。服务建立后,服务名和端口号被存储在“C:/WINNT /system32/drivers/etc”的services文件中。它有两种形式:服务名:端口、IP:端口。

4. 配置参数 配置参数被保存在一个名为SDE.SERVER_CONFIG的表中,缺省的参数文件为giomgr.defs,它被存放在SDEHOME中的etc文件夹中。

安装ArcSDE Application Server是一件简单的事情,不过,如果中间迟迟搞不定,且你使用的是Windows系统,你只需要做两点:你的许可文件是否还有效;重启操作系统。

如何启动SDE服务:

(1). 使用正常服务启动程序

(2). 使用命令行的方式,如Sdemon –o start –p sde 参数配置: SDE服务的参数是可以被修改的,这个过程可以通过修改数据库中表或修改service.sde或dbinit.sde两个文件,这两个文件都被保存在 SDEHOME中的etc文件夹中。

对于一个SDE服务而言,外界程序联系到它的方法是通过TCP/IP协议的,因此,在默认的情况下,当我们打开<SDEHOME>/ora9iexe/etc/service.sde文件,我们会发现下面的代码:

esri_sde 5151/tcp #ArcSDE 9.0 for Oracle9i

这就是名为esri_sde的SDE服务的端口号,当执行Sdemon –o start –p sde时,系统会寻找这个文件的参数,看看是否匹配。如果匹配再验证密码和用户。

在一台机器上可以同时存在多个SDE服务,这些服务名将不一样,占用的端口也不一样,但是它们的参数都保存在service.sde文件,如: esri_sde2 5152/tcp #ArcSDE 9.0 for Oracle9i

SDE服务需要从dbinit.sde文件中读取一些系统的环境变量,以获得必要的关系数据库信息,如: # Oracle SID for service esri_sde. set ORACLE_SID=SDE 上面的语句指明了SDE服务使用的是那一个ORACLE数据库例程。下面是获得全部参数的命令: Sdemon –o info –I config 用户也可以打开SDE.SERVER_CONFIG表,查看其中的具体参数。

服务器的管理:服务器的管理包括服务的启动、暂停和关闭两个操作,在WINDOWS平台下,服务的启动关闭,例程的关闭都可以可视化实现,下面我们将介绍使用命令行的方式:

1. 启动一个远程SDE服务 Sdemon –o start –p mypassword –s service –i arcsde 上句中的-p后为密码,-s后为远程机器名,而-i为SDE服务名

2. 暂停一个服务 Sdemon –o pause –p mypassword

3. 重新启动 Sdemon –o resume –p mypassword

4. 关闭一个giomgr进程 Cd %SDEHOME%/tools Killp 100 (100为进程号) Do you really want to kill process with pid 100(y/n)? Y

5. 关闭一个服务 Sdemon –o shutdown –p mypassword

6. 关闭所有用户会话 Sdemon –o kill –t all

如果你忘记了命令,可以键入Sdemon -?来获取信息

SDE作为一种Windows Service,在启动的时候是需要一些基本配置参数的。它的参数文件包括两个,即dbinit.sde和service.sde,前者记录了该sde所依赖的DBMS,后者记录了服务名和端口号,如esri_sde 5151/tcp的信息。这两个文件都保存在<SDEHOME>/etc 中。尽管如此,在windows系统中,SDE服务的启动其实并不依赖于这两个文件,而是使用注册表的信息,我们打开 [HKEY_LOCAL_MACHINE]/[SOFTWARE]/[ESRI]/[ARCINFO]/[ARCSDE/[ARCSDE for Oracle]/esri_sde即可。

SDE在寻找到DBMS和端口后,就会在DBMS的Service_config表中寻找相应的记录来初始化服务。我们来看看这些参数:

ReadOnly 参数表是否以只读模式被访问,默认为否

CONNECTIONS最大连接数,即最大连接SDE的用户数量,在Windows上为48 个

TEMP,SDE访问时产生的临时文件存放地点

TCPKEEPALIVE,这是一个系统级别的参数,如果设置为true,则所有使用TCP 的服务都会每两个钟头去自动检查连接状态,可能会引起短暂的网络溢出现象

MAXBUFSIZE 最大缓冲值,由于SDE的数据不是直接发送,而是通过缓冲的方式送出,因此必须精确调整好这个值,如果值过大,MAXBUFSIZE*用户数>物理内存,将降低系统的性能

MINBUFSIZE 最小缓冲值,不要超过最大值的一般,一般1/3为佳,否则数据只有达到最小值才发送,会增加反应时间

MINBUFOBJCTS最小记录条数

SDE与DBMS之间(除了ACCESS),是通过一种被称为Array Buffer的机制来实现数据传输的,这也是一种缓冲器,我们是先通过这种机制将数据传送给SDE,SDE再使用自己的缓冲机制将数据发送到客户端,因此这是两种不同的缓冲器。MAXARRAYSIZE,即每次取出的记录条数、MAXARRAYBYTES,即每次取出的记录总容量,SHAPEPTSBUFSIZE,这些记录中几何数据的最大容量,ATTRBUFSIZE即属性的最大容量。

使用Array Buffer的方式传递Geometry分为两部分,即要素的metadata和point data,前者包括要素的ID,点的数量,实体类型;后者是储存点的实际空间。[SDE中几何对象都是使用有序点集和实体曲线来存储的]

这些数据的取值都是需要进行计算的,如果SHAPEPTSBUFSIZE=400000,而 MAXARRAYSIZE=100条记录,则每条记录的SHAPE值容量最大为4000bytes,则其构成要素的点最多为4000/16=250,如果有要素的点超过250,则不会被取出。如果该要素还有Z值或M值,则为4000/24,如果同时具有M和Z值,则为4000/32=125


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/muzai/archive/2010/04/13/5482222.aspx

Arcsde10.0服务启动后停止

这种问题出现后,应该关注两个log.第一是"#homeSDE\etc\sde_esri_服务名.log";第二是 "#homeSDE\etc\giomgr_esri_服务名.log" (#home...
  • wpz0713
  • wpz0713
  • 2016年06月01日 15:01
  • 1533

ArcSDE分布式安装时服务创建和启动

软件环境 【操作系统】 oracle :IBM aix ArcSDE:windows2003server 【数据库版本】             Oracle10.2 【ArcSD...
  • SYDBC
  • SYDBC
  • 2013年12月30日 16:33
  • 1128

ARCSDE直连与服务连接架构

配置连接 使用Oracle数据库管理系统中的空间数据需要一个数据库连接。建立空间数据的连接有两种方法。 1、应用服务器连接(也称为ArcSDE连接、三级连接) 最常用的连接方式,默认情况下可...
  • gisinfo
  • gisinfo
  • 2013年01月16日 16:42
  • 3413

ArcSDE92 for RedHat多服务安装手册

  • 2011年03月20日 19:04
  • 66KB
  • 下载

arcsde service(esri_sde)服务启动后又停止

可能的原因有: 1、许可文件过期 2、重新Post Installation前部分的安装,指定新可用的license文件(ECP),后面的不用进行了。 3、 前些天装的ArcSDE,...
  • zcyy1211
  • zcyy1211
  • 2012年06月05日 10:13
  • 3393

启动ArcSDE服务提示:ORA-01017:invalid username/password;logon denied

转自:http://blog.csdn.net/linghe301/article/details/8506198 本文适用于:经常使用ArcSDE服务的用户、Windows操作系统、Ora...
  • kg_loveyou2
  • kg_loveyou2
  • 2015年02月04日 23:02
  • 749

ArcSDE数据库连接(直连、服务连)与GT_Geometry存储配置图解

 众说周知,ArcSDE空间数据库引擎提供了两种连接数据库的方式。一是服务连接方式,一是直连方式。后者也是Esri所推崇的方式。但是,在客户的生产环境和开发商的开发环境中这两种方式都是有需求的。...
  • yiranaiu
  • yiranaiu
  • 2015年04月06日 14:53
  • 340

ArcSDE数据库连接(直连、服务连)与GT_Geometry存储配置图解

众说周知,ArcSDE空间数据库引擎提供了两种连接数据库的方式。一是服务连接方式,一是直连方式。后者也是Esri所推崇的方式。但是,在客户的生产环境和开发商的开发环境中这两种方式都是有需求的。下面就以...
  • runing9
  • runing9
  • 2016年03月26日 12:06
  • 363

ArcGIS10.1桌面怎么使用ArcSDE服务连接

如果现在大家打开ArcGIS10.1桌面,默认的ArcSDE连接都是直连,但是往往有用户还是比较怀旧的,可能还是喜欢原来的服务连接,那么怎么在一个全新的ArcGIS10.1环境下使用ArcSDE的服务...
  • kone0611
  • kone0611
  • 2015年09月22日 09:52
  • 430

DB不在本机的ArcSDE服务安装配置

1、ArcSDE如果和数据库安装在同一台机器上,需要同操作系统及数据库的版本一致;2、数据库与ArcSDE不在一台机器上,一般使用分布式的有两种情况:数据库端为64Bit,但是用户并没有64Bit的A...
  • yongrong
  • yongrong
  • 2011年03月10日 17:03
  • 1132
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ArcSDE 服务详解
举报原因:
原因补充:

(最多只允许输入30个字)