ArcSDE服务入门


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

这就是名为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.

转载于:https://www.cnblogs.com/chinhr/archive/2010/06/02/1750247.html

ArcSDE服务入门相关推荐

  1. swagger 返回json字符串_Net Core微服务入门全纪录(完结)——Ocelot与Swagger

    前言 上一篇[.Net Core微服务入门全纪录(八)--Docker Compose与容器网络]完成了docker-compose.yml文件的编写,最后使用docker compose的一个up指 ...

  2. 云容器实例服务入门必读

    云容器实例服务入门必读 华为云容器实例(Cloud Container Instance)服务是基于Kubernetes的Serverless Container(无服务器容器)引擎,兼容Kubern ...

  3. arcsde服务启动不了

    本文根据以往经验及其他博客总结: 所有的启动不了服务都可以查看安装目录下(例如:C:\Program Files\ArcGIS\ArcSDE\ora11gexe\etc)SDE的日志. arcsde服 ...

  4. .net core ocelot 获取路由的mothed_Net Core微服务入门全纪录(四)Ocelot网关(上)

    上一篇[.Net Core微服务入门全纪录(三)--Consul-服务注册与发现(下)]已经使用Consul完成了服务的注册与发现,实际中光有服务注册与发现往往是不够的,我们需要一个统一的入口来连接客 ...

  5. Java生鲜电商平台-微服务入门与服务的拆分架构实战

    Java生鲜电商平台-微服务入门与服务的拆分架构实战 刚开始进入软件行业时还是单体应用的时代,前后端分离的概念都还没普及,开发的时候需要花大量的时间在"强大"的JSP上面,那时候S ...

  6. .Net Core微服务入门全纪录(完结)——Ocelot与Swagger

    点击上方蓝字"小黑在哪里"关注我吧 前言 上一篇[.Net Core微服务入门全纪录(八)--Docker Compose与容器网络]完成了docker-compose.yml文件 ...

  7. Kubernetes微服务入门教程:部署spring-boot应用

    测试如下教程时,请确认kubernates环境正常,可参考该文件搭建kubernates环境Kubernetes微服务入门教程:环境安装_jacarri的博客-CSDN博客. 创建一个Spring b ...

  8. 微服务入门篇(二),万字长文带你实操作SpringCloudAlibaba微服务组件

    目录 SpringCloudAlibaba介绍 简介 为什么要学SpringCloudAlibaba 从Spring Cloud netflix 到 Spring Cloud Alibaba 功能组件 ...

  9. .Net Core微服务入门——Ocelot API网关接入(二)

    Net Core微服务入门--Ocelot API网关接入(二) 我们先接入Consul,实现服务发现 服务发现 1.引入 Ocelot.Provider.Consul 包 2.修改ocelot.js ...

最新文章

  1. .netcore 如何获取系统中所有session_集群化部署,Spring Security 要如何处理 session 共享?
  2. Ubuntu安装TensorFlow
  3. keil编译出错关于__use_no_semihosting_swi的使用
  4. 空客fctm避免已识别风险_最远可航行15000公里,南航首架空客A350飞机首航,将先飞广州-上海航线再飞国际...
  5. 7种方法帮助企业改进软件维护效率
  6. Servlet使用适配器模式进行增删改查案例(BaseDaoUtilImpl.java)
  7. python codefirst_Python code.co_consts方法代码示例
  8. (二)使用CycleGAN进行移动风格迁移
  9. There is no more space for virtual disk. db_ sqlserver , vmdk.You might be able to continue this ses
  10. typora输入LATEX数学公式语法总结
  11. 罗克露计算机组成原理书籍,计算机组成原理
  12. 008 [转载]文件后缀查询
  13. 新浪十年路 新浪的触角 新浪成年
  14. 2021年度总结—四非计算机保研经历(参营:清华网研院、中科大先研院、华师大数据科学院、厦大计算机系、上科大信息学院)
  15. 小学生计算机按键分布图,小学生计算器上各种按键的作用
  16. thinkpad linux win7,Thinkpad t440 Win7+ubuntu双系统
  17. 【统计学习方法】模型评估与模型选择
  18. 关于Android Studio项目的Gradle构建 泡在网上的日子 / 文 发表于2016-02-16 12:16 第2500次阅读 Gradle 3 编辑推荐:稀土掘金,这是一个针对技术开发者的
  19. Python中类之间的关系
  20. 众筹,帮创业者跨过“死亡之谷”

热门文章

  1. 如何在SQL Server中的SELECT TOP 中使用变量
  2. php怎么把日志推送过去_实践 | 基于Flink的用户行为日志分析系统
  3. 计算机二级考试考不考二进制,如何通过计算机一、二级考试?方法很重要,过来人的经验告诉你...
  4. java环境卡顿_解决Emacs在windows使用的问题,比如环境设置、卡顿……
  5. linux下查看mysql数据库的字段类型_系统运维|[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型...
  6. mongodb 无法查出数据_MongoDB,再见还是再等等?
  7. Java游戏用户登录注册_Java实现多用户注册登录的幸运抽奖
  8. echarts 其他样式 折线 重叠_echarts 折线图 areaStyle颜色重叠问题
  9. webstorm 创建react组件_webstorm的下载以及React环境搭建
  10. python绘制散点图的函数_Python用PyQt5绘制多彩随机散点图,基本控件之QPainter使用详解...