使用ArcCatalog、ArcSDE连接Oracle

转载 2007年10月09日 08:19:00
通过ArcCatalog进行矢量数据的入库  
ArcCatalog左边树形控件->Database Connections->Add Spatial Database Connection,双击弹出“Spatial Database Connection”对话框,依次填写:
Server:swfcjkx;          主机名
Service: esri_sde;    服务名
Database: geoora;   数据库实例,Oracle Instance
User Name: sde;    用户名
Password: sde;  用户密码,这里是sde
确定,出现Connect to swfjkx;右键,点击Connect,连接到SDE;
 
然后选择要导入的文件,右键,选择相应的Export选项,弹出对话框,选择目标库,确定,数据导入成功。
 
也可以通过ArcToolbox进行数据的入库。
ArcSDE程序服务介绍:
ArcSDE是空间数据与GIS程序之间的一个重要的“通路”,使用它可以将ArcGIS等程序与关系数据库系统联系起来,这些关系数据库并不是如ACCESS的桌面型,而是类似ORACLE和SQLSERVER的分布式关系数据库服务系统。
ArcSDE提供了两种数据联结架构,即两层和三层模型,一般我们都是使用的三层架构,如果用户需要使用前者,可以在ArcCatalog中选择“产生一个直接联结”。
Sdemon命令可以允许管理员管理和监视ArcSDE服务,在SDE服务启动后,始终存在一个giomgr的SDE服务器进程,它负责监听连接请求(服务器名和端口)、验证连接(密码和用户)、给每个成功的连接分配一个独立的gsrvr进程,而gsrvr负责在客户端和服务器之间进行通讯(使用相同的服务器名和端口)。
ArcSDE是一种客户端/服务器模式,因此存在几个需要注意的属性:
1. Home目录它是一个被记录的路径,成为SDEHOME,这个目录中包含可执行文件,配置文件和动态共享库等。
2. 两个进程 giomgr和gsrvr(作用如前)
3. 由于SDE走的是TCP/IP协议,因此服务器名和端口在通讯在起着重要的作用。服务建立后,服务名和端口号被存储在“C:/WINNT/system32/drivers/etc”的services文件中。它有两种形式:服务名:端口、IP:端口。
4. 配置参数配置参数被保存在一个名为SDE.SERVER_CONFIG的表中,缺省的参数文件为giomgr.defs,它被存放在SDEHOME中的etc文件夹中。

启动服务:
1. 使用正常服务启动程序
2. Sdemon –o start –p sde

参数配置:
SDE服务的参数是可以被修改的,这个过程可以通过修改数据库中表或修改service.sde或dbinit.sde两个文件,这两个文件都被保存在SDEHOME中的etc文件夹中。
对于一个SDE服务而言,外界程序联系到它的方法是通过TCP/IP协议的,因此,在默认的情况下,当我们打开service.sde文件,我们会发现下面的代码:
esri_sde 5151/tcp #ArcSDE 9.0 for Oracle9i
(
不安装sde,在catalog中直接连接sde连不上的问题                                   

问题:在服务器端安装了sde,我在客户端通过arccatalog,连接不上,提示

Fail to connect to the specified server.

Entry for SDE instance not found in services file.

解决方法:

到C:/WINNT/system32/drivers/etc

用文本编辑器打开services 文件

在文件最后加上

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

SDE服务的监视:
为了显示SDE服务的状态,我们需要使用sdemon命令来显示一些信息:
1. 状态监视
Sdemon –o status
2. 数据锁
Sdemon –o info –I locks
SDE提供了四种锁,它们分别是:
对象锁:用于版本和地理数据库的激活
表锁:用于锁定表
区域锁Area Locks:用于锁定一个要素类的空间范围
状态锁State Locks:用于锁定一个要素类或表的版本状态
3. 用户状态
Sdemon –o info –I users

SDE服务故障解决:
1. 启动SDE服务时发生了什么?
 SDE服务程序启动一个giomgr进程
 进程从dbinit.sde文件中获得系统环境变量
 进程探测服务的license是否已经安装
 进程读取services.sde文件
 进程获得TCP/IP协议和服务名
 Giomgr使用dbinit.sde和系统变量定义的连接信息连接到一个DBMS上
 Giomgr遍历所有锁定表
服务启动了。giomgr进程开始监听它的端口,以确定外界是否有连接
2. SDE客户端连接服务时候发生了什么?
 Giomgr进程监听着它的端口
 程序确认一个连接到服务的连接请求
 Giomgr比较程序计算机的锁定时间和它的主机时间,如果它的时间大于MAXTIMEDIFF,则不允许连接
 Gimogr开始比较客户端程序的ARCSDE版本和ARCSDE服务端版本,如果前者比后者旧,连接将被拒绝
 Gimogr进程启动一个gsrvr进程,为客户端程序服务
 Gsrvr进程获得共享内存
 Gsrvr进程连接到DBMS上一旦上面的过程成功,giomgr将继续监听下一个连接

除次以外,我们还可以通过命令行的方式来管理服务和数据,这些程序都放在%SDEHOME%/bin文件夹内,如:
Alphabetical listing of commands
Command Description
cov2sde
Converts ArcInfo coverages to ArcSDE feature classes.
sde2cov
Converts ArcSDE feature classes to ArcInfo coverages.
sde2shp
Converts an ArcSDE feature class to an ESRI shapefile.
sde2tbl
Converts ArcSDE tables into INFO and dBASE tables.
sdeconfig
Manages your ArcSDE server configuration file
sdedbtune
Exports and imports an ArcSDE dbtune file.
sdeexport
Creates an ArcSDE export file.
sdegcdrules
Manages ArcSDE geocoding rules
sdegroup
Merges feature classes.
sdeimport
Imports data from an ArcSDE export file.
sdelayer
Administers feature classes.
sdelocator
Manages ArcSDE locators.
sdelog
Administers ArcSDE log files.
sdemon
Manages the ArcSDE server.
sderaster
Manages ArcSDE raster layers.
sdeservice
Manages the ArcSDE service on Windows NT platforms.
sdesetup
Initial setup program for ArcSDE for your RDBMS.
sdetable
Administers business tables and their data.
sdeversion
Manages versions of a geodatabase.
sdexinfo
Provides descriptive information of an ArcSDE export file.
sdexml
Administers XML columns.
shp2sde
Converts an ESRI shapefile to an ArcSDE feature class.
tbl2sde
Converts INFO and dBASE tables into ArcSDE tables.

 

ArcSDE10.x for Oracle的客户端直连配置问题

随着ArcGIS10.1的发布,更多的用户也慢慢接受了使用ArcSDE直连,不仅仅是因为直连...
  • linghe301
  • linghe301
  • 2014-04-11 11:45:17
  • 9349

ArcSDE10.1+Oracle数据库环境配置教程(1)

基于已有工作经验,介绍一种ArcSDE数据库配置方案,适合oracle服务器安置在LINUX系统下,不便于安装ArcSDE的工作模式。1. 软件环境概述服务器: 64位Oracle数据库客户端: 3...
  • u011102141
  • u011102141
  • 2017-04-19 22:57:06
  • 155

Oracle SQL 查询 ArcSde 属性域数据

Oracle SQL 查询  ArcGIS 10.2 的 sde 属性域数据 u  项目背景 森林资源平台系统想要脱离 ArcGIS 平台,采用 Oracle Spatial 存储空间图层数据(例...
  • Johon_Medison
  • Johon_Medison
  • 2016-11-21 13:55:59
  • 1270

Oracle与SDE安装简介

一、双机热备环境 1.1双机热备简介 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式 (A...
  • SYDBC
  • SYDBC
  • 2014-01-07 15:51:38
  • 1188

在ArcGIS中如何使用直连方式连接Oracle数据库

1.      背景 直连方式比使用SDE方式更加稳定,特别是在大数据量处理的应用中,不易出场由SDE连接进程造成的gsvr错误。同时直连方式由于采用Orale客户端连接数据库,在数据库双机部署或集...
  • zy332719794
  • zy332719794
  • 2013-12-24 10:12:03
  • 5189

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

如果现在大家打开ArcGIS10.1桌面,默认的ArcSDE连接都是直连,但是往往有用户还是比较怀旧的,可能还是喜欢原来的服务连接,那么怎么在一个全新的ArcGIS10.1环境下使用ArcSDE的服务...
  • linghe301
  • linghe301
  • 2012-08-06 09:06:27
  • 14110

ArcGIS_10.2_直连和ArcSDE_10.2服务链接_Oracle_11g_r2_配置总结

  • 2015年06月14日 22:52
  • 1.7MB
  • 下载

启动ArcSDE服务,长时间未响应的解决办法

在非windows操作系统下,我们安装完ArcSDE后启动ArcSDE服务,会出现长时间未响应的情况,造成这种情况的一般有这两种情况,这样是我遇到的两种情况,给大家分享一下: 1:一次AIX...
  • linghe301
  • linghe301
  • 2012-07-16 09:13:19
  • 3343

arccatalog不能创建ORACLE连接的问题

现象 新建用户后不能使用tnsping命令,PATH里没有ORACLE_HOME,和bin目录 解决方案 设置应用用户下的path信息,因为要用tnspng服务,所以路径中需要设置ORACLE...
  • nirvana52
  • nirvana52
  • 2014-11-19 16:56:30
  • 1610

解决ArcCatalog无法连接到ArcGIS Server的错误

一、问题描述:通过ArcCatalog连接ArcGis Server时出现以下错误二、解决方案将登陆电脑的账号加入到agsadmin和agsusers组,重启电脑。 ...
  • junmail
  • junmail
  • 2008-04-30 13:42:00
  • 4664
收藏助手
不良信息举报
您举报文章:使用ArcCatalog、ArcSDE连接Oracle
举报原因:
原因补充:

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