SDE下令操作

SDE命令操作

 

作为SDE用户的管理员通过命令可以做很多工作,参考网上的资料现总结整理如下:

1、sdemon

(1)sdeMon主要是用来管理sde服务,包括7种命令

Status 获取指定实例的状态

start 启动sde服务

shutdown 关闭SDE服务

pause 暂停服务(不接受连接)

resume 重启服务(使服务处于可以连接的状态)

info 显示实例的相关信息

kill 删除所有或者指定的SDE连接

-o 操作

-s 指定的服务

-t 终止

-p SDE管理员密码

-H ArcSDE 实例所在的目录

-i 操作的实例

-I 信息类型

 

(2)查看sdemon所有的命令在命令行中输入sdemon -h即可

(3)查看SDE锁

sdemon -o info -I locks -i 5151/tcp -s 172.168.13.0

(4)终止某个空间用户连接

在空间数据库连接中,有时候出连接进程挂起或者非法连接的时候,可以使用SDE终止其连接。操作为:

首先,从连接列表中获取该连接的信息

sdemon –o info –I users

在获取到需要终止的连接ID后,使用kill命令

sdemon –o kill –t < 连接 ID>

<连接ID> 完成此项操作需要提交SDE用户密码。

2、sdeversion

压缩多版本数据库(Multi-versioned Geodatabase)

在ArcSDE Geodatabase中,随着数据编辑工作的进行,SDE空间资料档案库中相应元数据表、以及用户模式中的A表和D表的记

录逐渐增加,会影响空间数据的访问效率,因此经常需要进行数据库版本的压缩工作。在确定数据库不存在任何锁定后,便

可以进行压缩工作,操作为:

sdeversion –o compress –u sde

完成此项操作需要提交SDE用户密码。

3、sdedbtune

在控制空间数据的数据段、索引段存储的时候,SDE用户可以使用sdedbtune命令来提高数据库效率。

4、sdeservice

(1)sdeservice –o modify命令来修改。这个命令可以用于修改SDEHOME目录、SDE用户、License服务器和NLS 语言。一旦

SDE用户密码在数据库和注册表中都经过修改,这时我们便可以启动ArcSDE服务了。

sdeservice –o modify –r <SDEHOME|SDE_DBA_PASSWORD|LICENSE_SERVER|NLS_LANG>

-p <old_DB_ASMIN_password> -v <new_value> [-i <service>] [-q]

具体介绍:

-------------------------------------

sdeservice -o create -d <ORACLE,SID|SQLSERVER,SQLSERVERINSTANCE|

DB2,DB2INSTANCE|INFORMIX|COVERAGES>

-p <SDE_DBA_Password>

[-i <service>] [-u <service_user>] [-n]

[-H <sde_directory>] [-P <service_user_password>]

sdeservice -o delete [-d <ORACLE|SQLSERVER|DB2|

INFORMIX|COVERAGES>]

[-i <service>] [-N]

sdeservice -o register -r <registry_keyword> -v <value>

-d <ORACLE|SQLSERVER|

DB2|INFORMIX|COVERAGES>

-p <SDE_DBA_Password> [-i <service>]

sdeservice -o unregister -r <registry_keyword>

-d <ORACLE|SQLSERVER|

DB2|INFORMIX|COVERAGES>

-p <SDE_DBA_Password> [-i <service>]

sdeservice -o modify -r <registry_keyword> -v <new_value>

-d <ORACLE|SQLSERVER|

DB2|INFORMIX|COVERAGES>

-p <SDE_DBA_Password> [-i <service>]

sdeservice -o list [-i <service>] 列出所有服务

5.sdeexport sdeimport

实用教程:

1.导出

(1)导出数据集表结构

(2)sdeexport批处理命令导出要素类数据

2.导入

(1)先导入数据集表结构

(2)sdeimport批处理命令导入要素类数据

如:

导出SQL数据库图层

sdeexport -o create -l sde.SDE.ASJ_PT_500,shape -f

D:/ASJ_PT_500.exp -i 5151 -u sa -p sa

导入到Oracle数据库中

sdeimport -o create -l ASJ_PT_500,shape

-f D:/ASJ_PT_500.exp -i ora_sde -u sde -p sde

如果已经创建原表:

sdeimport -o append -l SDE.ASJ_PT_500,shape

-f D:/ASJ_PT_500.exp -i ora_sde -u sde -p sde

详细解释:

这种方式主要用于备份指定的空间数据对象,比如某个图层和要素类、其中的某些满足特定条件的记录、甚至特定的版本。

实现这种备份方式的方法主要是利用ArcSDE提供的管理工具:sdeexport和sdeimport命令。它们的位置在%ArcSDEHOME%/bin/

中。其中,sdeexport用于将空间数据从ArcSDE Server上备份为单独的数据文件,而sdeimport用于将经由sdeexport备份的

数据文件恢复到ArcSDE Server中。

 

这一方式的缺点在于不能一次备份完整的空间数据库。但是也有个明显的优点,在于通过sdeexport和sdeimport工具,可以

将空间数据在不同的关系型数据库管理系统(RDBMS)之间进行移植。

(一).备份全部记录

使用sdeexport命令的缺省方式即可,比如:

(1)将指定的图层备份到备份文件

sdeexport -o create -l dcxq,shape -f d:/dcxq.exp -i jerry_oracle -u sde -p sde

就是将名为jerry_oracle的sde服务(ArcSDE for Oracle8i)中的指定图层“dcxq”按缺省方式备份到文件d:/dcxq.exp中。

(2)利用操作系统命令,拷贝备份文件到目标服务器上

(3)将备份文件恢复至目标RDBMS中

sdeimport -o create -l newDcxq,shape -f d:/dcxq.exp -i jerry_sqlsvr -u sde -p sde

此操作将备份文件恢复到名为jerry_sqlsvr的sde服务(ArcSDE for SQLServer)中,图层名为:newDcxq。

 

(二).备份部分记录

sdeexport命令中添加-w参数和一个条件选择表达式即可,比如:

(1)将指定图层中满足条件的记录备份到备份文件

sdeexport -o create -l dcxq,shape -f d:/dcxq.exp -w xzqy = '徐汇区' -i jerry_oracle -u sde -p sde

就是将名为jerry_oracle的sde服务(ArcSDE for Oracle8i)内的指定图层“dcxq”中所有"徐汇区"的人口调查小区备份到

文件d:/dcxq.exp中。

(2)利用操作系统命令,拷贝备份文件到目标服务器上

(3)将备份文件恢复至目标RDBMS中

sdeimport -o create -l XHDcxq,shape -f d:/dcxq.exp -i jerry_sqlsvr -u sde -p sde

此操作将备份文件恢复到名为jerry_sqlsvr的sde服务(ArcSDE for SQLServer)中,图层名为:XHDcxq。

 

(三).备份特定数据版本

sdeexport命令中添加-v参数和一个版本名称即可,比如:

(1)将指定图层的特定版本备份到备份文件

sdeexport -o create -l dcxq,shape -f d:/dcxq.exp -V verAPR -i jerry_oracle -u sde -p sde

此操作将名为jerry_oracle的sde服务(ArcSDE for Oracle8i)内的指定图层“dcxq”的verAPR版本备份到文件d:/dcxq.exp

中。

(2)利用操作系统命令,拷贝备份文件到目标服务器上

(3)将备份文件恢复至目标RDBMS中

sdeimport -o create -l APRdcxq,shape -f d:/dcxq.exp -i jerry_sqlsvr -u sde -p sde

此操作将备份文件恢复到名为jerry_sqlsvr的sde服务(ArcSDE for SQLServer)中,图层名为:APRDcxq。

6.exp imp

本方法只使用与Oracle数据库

导出

如:exp sde/sde@huishi file=c:/sde.dmp

用户名/密码@Oracle服务名

导入

如:imp sde/sde fromuser=sde file=c:/sde.dmp touser=sde

具体的Oracle数据库备份实现步骤需要参考Oracle相关文档,比如《Oracle8 Backup and Recovery Guide》。本实例采用

Oracle中的逻辑备份,使用了exp和imp工具,以sde用户方式备份和恢复整体空间数据。

* 备份数据库:使用Oracle中的exp命令,以sde用户方式备份所有相关数据。

* 恢复数据库:使用Oracle中的imp命令,以sde用户方式恢复后备数据文件。

* 恢复ArcSDE系统文件:如果有必要,在恢复oracle数据之后,需要恢复安装ArcSDE的程序文件;另外还需要从备份机器上

恢复dbtune,giomgr.defs,dbinit.sde,和services.sde文件。

 

7.其他命令

除次以外,我们还可以通过命令行的方式来管理服务和数据,这些程序都放在%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