博客

共享 传承

导航

2/5 ArcSDE简介&安装

(一)ArcSDE的通道作用

ArcSDE是ArcGIS与关系数据库之间的GIS通道。

标准的SQL并不支持空间数据,ArcSDE不但灵活地支持了每个DBMS提供的独特功能,而且能为底层DBMS提供它们所不具备的功能的支持。

在关系数据库(例如oracle上,创建sde空间数据库,借助sde空间库支持的数据类型及功能,将数据转换为arcgis可使用的形式,存储到标准关系数据库表中)

ArcSDE服务保障了geodatabase应用程序操纵geodatabase的一个通道的数据传输,Geodatabase应用软件提供高级的数据处理功能,而ArcSDE保证了在多种DBMS体系中有效地存储和访问数据。

                       

(二)ArcSDE安装系统、硬件条件

支持系统:windows unix linux

支持数据库:oracle Microsoft SQL server IBM DB2 informix

(三)ArcSDE 在unix系统(Solaris 10)、oracle10G为例安装过程说明

1 安装用户准备

创建安装用户arcsde

格式:useradd -m -g 用户组名 -d 用户的文件目录用户名

useradd –m –g dba –d /export/home/arcsde arcsde(回车)

passwd arcsde(回车)

2 环境变量设置

使用arcsde用户登录

编辑用户安装文件目录(arcsde 目录 /export/home/arcsde)下的.profile 设置环境变量

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

SDEHOME <location of ArcSDE>

ORACLE_HOME <location of Oracle>

ORACLE_SID <Oracle SID value>

TNS_ADMIN <location of the tnsnames.ora file>

PATH$PATH:$SDEHOME/bin:$ORACLE_HOME/bin

ArcSDE安装目录

SDEHOME=/usr/arcsde/sdeexe100
export SDEHOME

Oracle安装目录
ORACLE_HOME=/opt/oracle/oracle/product/10.2.0/db_1
export ORACLE_HOME

Oracle安装目录/opt/oracle/oracle/product/10.2.0/db_1/network/admintnsnames.ora中连接数据库的连接串
ORACLE_SID=wnms
export ORACLE_SID

tnsnames.ora 路径
TNS_ADMIN=/opt/oracle/oracle/product/10.2.0/db_1/network/admin
export TNS_ADMIN

LIB库路径
LIBPATH=$SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib
export LIBPATH
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280
export NLS_LANG
PATH=$PATH:$SDEHOME/bin:$SDEHOME/lib:$ORACLE_HOME/bin:/usr/bin:/usr/ucb:/etc:/home/sde/sdeexe93/bin
export PATH
LD_LIBRARY_PATH=$SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib
export LD_LIBRARY_PATH
SHLIB_PATH=$SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib
export SHLIB_PATH

TWO_TASK <value for TWO_TASK> (if ArcSDE and Oracle on different machines)

ESRI_ARCSDE_LICENSE_FILE <port>@<host> (for License Manager)

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

3 安装ArcSDE

输入命令

$ ./install -load

ESRI is willing to license the software to you only if you accept and agree to the enclosed license agreement. If you have read and agree with the terms in the enclosed license agreement type 'yes' to continue the installation process, if not press <return> or type 'no' to exit installation process. [no] yes

Press <return> to take the default, '?' for help, '^' to return to
the previous question, or 'q' to quit.

Enter CD-ROM mount point: [/cdrom] /home/arcsde/arcgis 安装包实际路径

Enter pathname to install directory:=/usr/arcsde/sdeexe100 安装路径

ArcSDE version 9.3 for Oracle11g - May 15, 2008
-------------------------------------------------

......

Loading package(s), Please wait...

Finished loading package(s)

Exiting...

修改/usr/arcsde/sdeexe100/etc/service.sde

* $Id: services.sde,v 1.2 1999/01/22 01:01:35 donna Exp $ */
#
# ESRI SDE Remote Protocol
# Note: uncomment the line below to use ESRI's default port
#
esri_sde 5151/tcp
#

4 空间数据库用户创建

在中创建sde用户和表空间

授予sde用户权限

create user sde identified by sde

default tablespace sde temporary tablespace temp;

connect system/oracle

create tablespace sde

datafile '/tablespace/dqa4ora/sde.dbf' size 500M

extent management local uniform size 512K;

grant CREATE SESSION to sde;

grant CREATE TABLE to sde;

grant CREATE PROCEDURE to sde;

grant CREATE SEQUENCE to sde;

......

REM revoke DROP ANY VIEW from sde;

REM revoke DROP ANY PROCEDURE from sde

5 授权

执行命令 sdesetup -o install -d ORACLE版本 -u sde用户名 -p sde密码 -i esri_sde -l 授权文件所在路径

sdesetup -o install -d ORACLE10G -u sde -p sde -i esri_sde -l /opt/arcsde/BOCO-ArcGIS-Server-lsxk.ecp

若授权过期,获取新的授权文件后,使用如下命令更新

sdesetup -o -update_key -d ORACLE11G -l c:/1.ecp -u sde -p sde

6、ArcSDE启动与停止

sdemon -o start

sdemon -o shutdown

7、通过Arc catalog测试连接

打开Arccatalog-Database Connection - Add Spatial DatabaseConnection

 

建立连接成功。

(四)ArcSDE常见问题

Q1:SDE.ST_POINT报错问题

针对“ORA-28595: Extproc agent : Invalid DLL Path

"SDE.ST_POINT"”的错误,需要进行如下设置:

1、将sde安装包内的3个.so库文件放入sde安装目录的lib目录:

libst_shapelib.so

libpe.so

libsg.so

2、修改oracle的tnsnames.ora文件:

Tnsnames.ora

EXTPROC_CONNECTION_DATA =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

(ADDRESS =(PROTOCOL = TCP)(HOST = inds-db)(PORT = 1521))

)

(CONNECT_DATA =

(SID = PLSExtProc)

(PRESENTATION = RO)

)

)

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

3、修改oracle的listener.ora文件:

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1))

(ADDRESS = (PROTOCOL = TCP)(HOST = inds-db)(PORT = 1521))

)

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /oracle/app/product/11.2.0)

(PROGRAM = extproc)

(ENVS="EXTPROC_DLLS=/path/to/sdehome/lib/libst_shapelib.so")

)

(SID_DESC =

(GLOBAL_DBNAME = inds)

(ORACLE_HOME = /oracle/app/product/11.2.0)

(SID_NAME = inds)

)

)

4、重启oracle监听,让修改的文件生效。

Q2:连接数超过最大

解决方式:
1:利用PL/SQL工具直接操作SDE的server_config表,修改连接数connections,设置TCPKEEEPALIVE参数为TRUE 数值为1。
2:修改SDEHOME/Ora10gexe/etc/giomgr.defs文件,修改相关的参数。然后通过命令行导入到数据库中。
Sdeconfig –o import –f 文件路径 –i esri_sde –u sde –p sde。然后重新启动SDE服务。

关闭sde :sdemon -o shutdown -p sde(Sde密码)

启动sde :sdemon -o start -p sde(Sde密码)
3:使用ArcSDE命令修改这两个参数值也可以
sdeconfig -o alter -v CONNECTIONS=100 -u sde -p sde

附加说明:

查看最大连接数

$ sdemon -o info -I config

ArcSDE I/O Manager Configuration Parameters at Thu Jan 10 11:07:06 2013
-------------------------------------------------------------------------
ArcSDE Version 10.0
ArcSDE Server Build for Oracle10g Build 685 Fri May 14 12:05:43 2010
Underlying DBMS Other
Max. Server Connections 64
Root Path
Temp Path /tmp
......

权限相关:

root用户创建arcsde
linux系统下 arcsde用户隶属组oinstall 。 若执行安装命令./install 或其他命令 有问题,可将执行命令路径权限归属oinstall组

空间库sde用户授权
grant CREATE SESSION to sde;
grant CREATE TABLE to sde;
grant CREATE PROCEDURE to sde;
grant CREATE SEQUENCE to sde;
grant CREATE TRIGGER to sde;
grant CREATE TYPE to sde;
grant CREATE LIBRARY to sde;
grant CREATE PUBLIC SYNONYM to sde;
grant CREATE OPERATOR to sde;
grant CREATE INDEXTYPE to sde;
grant DROP PUBLIC SYNONYM to sde;
grant CREATE VIEW to sde;
grant UNLIMITED TABLESPACE to sde;
grant ADMINISTER DATABASE TRIGGER to sde;

sys用户执行
GRANT EXECUTE ON DBMS_PIPE TO PUBLIC;
GRANT EXECUTE ON DBMS_LOCK TO PUBLIC;

 

posted on 2013-01-23 16:43  好好学习&&&天天向上  阅读(474)  评论(0编辑  收藏  举报