风飞扬

顺风飞扬,逆风飞扬,无风自飞扬!

用户操作
[即时聊天] [发私信] [加为好友]
风飞扬ID:fengfeiyang
14506次访问,排名8079(1)好友0人,关注者1
……
fengfeiyang的文章
原创 6 篇
翻译 0 篇
转载 7 篇
评论 6 篇
风飞扬的公告
山不矜高自及天,水唯能下方成海.
最近评论
weiwei966736:我有一个arcsde的问题想请教

我想在windows 2003上安装arcsde 8.1,我的数据库是oracle 8.1.7,我看过了安装说明

首先:install software
在这步时我的状况根本进入不了license agreement界面不知道为什么?就是没反映也没有提示,介质没有问题。
c0871:我也遇到lxy所示的问题,在cmd中 grant dba to sde和grant ALTER ANY INDEX to sde
grant ALTER ANY TABLE to sde
grant ANALYZE ANY to sde
grant CREATE ANY INDEX to sde
grant CREATE ANY PROCEDURE t……
果果:我最近在用命令行创建SDE服务,一直不能成功,还请楼主指点一下。
在命令行中输入sdeservice -o create -p sde -h D:\tools\SDE\ArcSDE\ora9iexe -d oracle9i,oracle92 -i esri_sde –n,当然其中的目录和全局数据库名已换成自己的目录,输入后却没有成功,只是显示了sdeservice的一系列参数,不知道……
lrender:谢谢,不错的文章,帮我解决了不少问题.
lxy:不好意思,找到原因了,我又看了安装帮助,发现是因为我曾在我的Ora8数据库中生成过一个SDE的表空间,再次安装SDE相当于升级,因此需要给SDE用户赋予修改数据库的权利。
文章分类
收藏
相册
链接
DonNET --- CodeProject
GIS --- 3S新闻周刊
GIS --- SharpMap官方网站
存档
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 ArcSDE安装详解收藏

新一篇: 让心灵去旅行 | 旧一篇: 简单东西早准备(初始化数据录入)

ArcSDE安装详解 

 

一、安装的前期准备:  

 

1.1 首先创建一个Oracle数据库实例用来存储GIS数据。 使用sys用户登陆,在该数据库中创建一个表空间 sde 大小可以为200MB 

 

1.2 创建sde用户,设置表空间为sde,临时为temp;在角色标签中,授予sde用户connectResource角色;在系统权限中授予sde用户Select Any Table权限;在限额中设置sde表空间为无限制,点击应用创建sde用户。 

 

1.3 在打开方案->程序包->SYS,选择DBMS_LOCK,鼠标右击选择授予权限,授予EXECUTE PUBLIC;用相同的方法授予DBMS_PIPEPublic. 

 

1.4如果是AIX系统操作,需要以下文件或更高的版本

xlC.aix50.rte 6.0.0.0

xlC.msg.en_US.rte 6.0.0.0

xlC.rte 6.0.0.0

还需要做一下环境变量的设置: 

 

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  

LD_LIBRARY_PATH  $SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib (All platforms except HP and IBM)  

LIBPATH $SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib (for IBM only)

 

    通过上面的操作,我们的准备工作就完成了,其实 Post Installation 前半部分的操作就是上面这个过程的向导,通过向导界面就可以完成,写出来只是为了有什么问题可以参考一下。 

 

二、ArcSDE软件安装: 

 

2.1首先,Setup,一路下一步到结束。如果是OracleSDE安装在同一台机器,而且运气比较好,就不需要往下看了。启动服务,OK 

 

2.2 后面的POST INSTALL是比较麻烦的,在DOS状态下,输入: 

 

sdesetupora9i -o install -p sde 

 

其中sdesetupora9i根据不同数据库版本而定,如果你的8i那么就是sdesetupora8i-o 后面是操作; -p后面是sde用户的密码。系统会提示你确认,输入 Y 确认。(一堆堆表格就拷到sde表空间里面了,如果已经建立过并导入过数据就不用执行了。) 

 

    2.3创建SDE服务:在DOS状态下输入: 

 

sdeservice -o create -p sde -H D:\tools\SDE\ArcSDE\ora9iexe -d oracle9i,oracle92 -i esri_sde -n 

 

其中sdeservice是创建服务的命令行工具;-o 后面是操作; -p 后面是sde用户的密码;-h 后面是ArcSDE的安装目录(这是我的安装目录,你的有可能会不同,但最后一级一定是 ora9iexe 目录,Oracle8oraexe;本文档中以后的SDE安装路径同样处理。);-d 后面是数据库版本 + 数据库实例名(是SID,不是服务名); -i 后面是要创建的SDE服务的名称; -n 确认。 

 

2.4修改Windows服务配置文件首先在c:\winnt\system32\drivers\ect目录下找到 services文件,使用记事本打开,在最后加一行: esri_sde    5151/tcp    #ArcSDE for Oracle9i 

 

2.5修改SDE服务配置文件首先在 D:\tools\SDE\ArcSDE\ora9iexe\etc目录下找到 services文件,使用记事本打开,在最后加一行: esri_sde    5151    #ArcSDE for Oracle9i 

 

    2.6启动SDE服务。使用命令行: 

 

sdemon -o start -p sde 

 

其中 sdemon是启动工具,-o 后面是操作;-p 后面是sde用户的密码。 

 

三、常见问题说明: 

 

    3.1 OracleSDE不在同一台机器上时如何配置服务:   

    上面默认的都是OracleSDE在同一台机器上,如果不在同一台机器上,可以创建SDE服务,但是无法启动,会报下面的错: 

    esri_sde service failed during initialization.

    Please check event log or error log files. 

    Error starting esri_sde_206 service(997) 

    Could not start ArcSDE -- Check Network, $SDEHOME disk, DBMS settings and dbinit.sde.  

现在只要打开D:\tools\SDE\ArcSDE\ora9iex\etc\下的dbinit.sde文件,里面会有一句:set ORACLE_SID=ORACLE9I 改为:set LOCAL=ORACLE9I就可以了。其中ORACLE9I是我的实例名,记得替换成你的! 

3.2不同网段的ArcSDE数据库连接失败的解决方案如下:  

打开C:\WINDOWS\system32\drivers\etc目录(如果Windows没有安装在C盘,将C换为相应的盘符,如:DE等)下的Hosts文件,如果该文件不存在,则新建一个。在该文件最后添加一行:

10.168.0.159            sdeServer 

 

保存文件,重新连接,则能成功连接。 

    3.3一台机器上创建多个ArcSDE实例:

 

    对于Windows: 

 

    1. 拷贝 %SDEHOME% 到一个新的位置。

 

    2. 用适当的RDBMS连接变量(如ORACLE_SID)更新新的dbinit.sde 文件。

 

    3. 用新的实例名、端口号和网络协议更新 %SDEHOME%\etc\services.sde文件。

 

    4. 添加服务名、端口号和网络协议到 c:\winnt\system32\drivers\etc\services 文件中。须确认所用的端口号没有被用过。

 

    5. 删除新的giomgr.log文件中的内容。

 

    6. 如果需要,更新新的giomgr.defs文件,以指定新实例的操作参数。

 

    7. 如果需要,更新新的dbtune.sde 文件,以指定参数给在新实例的数据库中创建数据时使用。

 

    8. 确认SDEHOME 变量指向正确的新ArcSDE实例位置,并运行给对应数据库使用的sdesetup 命令来创建新数据的存储表。

 

    9. 使用 “sdeservice -o create” 命令创建新的ArcSDE服务。 

 

    对于UNIX:

 

    1. 给新实例创建一个新的工作目录。

 

    2. 拷贝 $SDEHOME 到新创建的工作目录。

 

    3. 用适当的RDBMS 连接变量(如ORACLE_SID)更新新的dbinit.sde 文件。

 

    4. 用新的实例名、端口号和网络协议更新 $SDEHOME/etc/services.sde 文件。

 

    5. 添加服务名、端口号和网络协议到 /etc/services 文件。须确认所用的端口号没有被用过。

 

    6. 删除新的giomgr.log文件中的内容。

 

    7. 如果需要,更新新的giomgr.defs文件,以指定新实例的操作参数。

 

    8. 如果需要,更新新的dbtune.sde 文件,以指定参数给在新实例的数据库中创建数据时使用。

 

    9. 确认SDEHOME 变量指向正确的新ArcSDE实例位置,并运行给对应数据库使用的sdesetup 命令来创建新数据的存储表。 

 

四、配置文件说明:

 

    根据经验,上面的所有操作都集中在这几个文件上,C:\WINDOWS\system32\drivers\etc下的hostsservicesD:\tools\SDE\ArcSDE\ora9iex\etc下的dbinit.sdeservices.sde。说明如下:

 

    hosts:主机域名解析文件。当在网络上找不到所需要的域名解析服务时,Windows就会调用这个文件来查找响应的IP地址。在这里可以绑定SDEServer为你需要的SDE服务器的IP地址。

 

    services:服务端口列表文件。主机对外开发的所有服务端口都在这里注册,SDE服务当然也在其中,必须保证你的SDE服务以规定的格式存在于其中,且不与其他服务冲突,两个SDE实例同时存在时也必须保证互相不冲突。

 

    dbinit.sdeSDE数据库配置文件。当数据库在本机时为 set ORACLE_SID=实例名,数据库在其他机器上时为 set LOCAL=实例名。

 

    services.sdeSDE服务列表。SDE本身的服务注册列表,必须保障你的所有SDE实例都在其中。

 

    个人认为 sdeservice –o create 命令的主要任务之一就是把服务端口号写到servicesservices.sde中,把实例名写到dbinit.sde中。

五、常用命令

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

sdeservice -o create     -d <ORACLE8I,SID|ORACLE9I,SID|ORACLE10G,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 <ORACLE8I|ORACLE9I|ORACLE10G|SQLSERVER|  

                            DB2|INFORMIX|COVERAGES>]  

                        [-i <service>] [-N]  

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

                         -d <ORACLE8I|ORACLE9I|ORACLE10G|SQLSERVER|  

                            DB2|INFORMIX|COVERAGES>  

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

sdeservice -o unregister -r <registry_keyword>  

                         -d <ORACLE8I|ORACLE9I|ORACLE10G|SQLSERVER|  

                             DB2|INFORMIX|COVERAGES>  

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

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

                         -d <ORACLE8I|ORACLE9I|ORACLE10G|SQLSERVER|  

                             DB2|INFORMIX|COVERAGES>  

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

sdeservice -o list      [-i <service>]  

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

sdemon -o status   {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-q]  

sdemon -o start    {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-p <DB_Admin_password>]  

sdemon -o shutdown {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-p <DB_Admin_password>]  [-N]  

sdemon -o pause    {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-p <DB_Admin_password>]  

sdemon -o resume   {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-p <DB_Admin_password>]  

sdemon -o info       -I {users | config | stats | locks | vars}  [-q]  

                   {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

sdemon -o kill       -t {all | <pid>} [-p <DB_Admin_password>] [-N]  

                   {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

    其中:  -o 要做的操作  

            -p sde用户的密码  

            -h sde的安装路径  

            -i sde服务名  

            -n 确认  

    其他的还没有用过,用过以后再补,不过应该能不会很难吧!以上是SDE的一些基本使用方法。非常感谢ESRI公司技术服务人员的帮助。另外,你如果发现有什么不对的,请及时告诉我! 

 

 

 

发表于 @ 2005年12月14日 18:47:00|评论(loading...)|编辑

新一篇: 让心灵去旅行 | 旧一篇: 简单东西早准备(初始化数据录入)

评论

#lxy 发表于2006-06-13 17:04:00  IP: 218.11.20.*
不好意思,找到原因了,我又看了安装帮助,发现是因为我曾在我的Ora8数据库中生成过一个SDE的表空间,再次安装SDE相当于升级,因此需要给SDE用户赋予修改数据库的权利。
2008-08-27 08:47:53作者回复
grant ALTER ANY INDEX to sde
grant ALTER ANY TABLE to sde
grant ANALYZE ANY to sde
grant CREATE ANY INDEX to sde
grant CREATE ANY PROCEDURE to sde
grant CREATE ANY SEQUENCE to sde
grant CREATE ANY TRIGGER to sde
grant CREATE ANY VIEW to sde
grant CREATE SESSION to sde
grant DROP ANY INDEX to sde
grant DROP ANY TABLE to sde
grant DROP ANY VIEW to sde
grant DROP ANY PROCEDURE to sde
grant DROP ANY SEQUENCE to sde
grant EXECUTE ANY PROCEDURE to sde
grant SELECT ANY SEQUENCE to sde
grant SELECT ANY TABLE to sde
grant UNLIMITED TABLESPACE to sde

一般升级安装时都会遇到权限的问题,我一般都用 grant dba to sde,呵呵,虽然不是很严谨,但是敲的代码少!
#lxy 发表于2006-06-13 16:35:00  IP: 218.11.20.*
我初用SDE,在安装过程中也出现了一些问题,想请楼主指点一下。

我的用法是SDE安装到一台计算机上,Ora8数据库在令一台计算机上,两台计算机在一个网段内,当我的SDE安装配置进行到Connect to create SDE repository时出现了问题,提示:

The ArcSDE Repository was unsuccessfully completed.

我查看了错误日志,其内容如下:
Instance initialized for SDE . . .


ESRI ArcSDE Server Setup Utility Tue Jun 13 16:19:03 2006
----------------------------------------------------------------
To upgrade your ArcSDE for Oracle 8i or Oracle 9i
service, you will also have to grant the following
additional permissions to the sde user to accomplish
the upgrade:

ALTER ANY INDEX
ALTER ANY TABLE
ANALYZE ANY
CREATE ANY INDEX
CREATE ANY PROCEDURE
CREATE ANY SEQUENCE
CREATE ANY TRIGGER
CREATE ANY VIEW
CREATE SESSION
DROP ANY INDEX
DROP ANY TABLE
DROP ANY VIEW
DROP ANY PROCEDURE
DROP ANY SEQUENCE
EXECUTE ANY PROCEDURE
SELECT ANY SEQUENCE
SELECT ANY TABLE
UNLIMITED TABLESPACE

小弟初用SDE实在不知道如何寻找答案,还望楼主不吝赐教。谢谢。
#lrender 发表于2006-07-22 17:33:00  IP: 218.75.11.*
谢谢,不错的文章,帮我解决了不少问题.
#果果 发表于2006-09-21 09:43:00  IP: 221.218.134.*
我最近在用命令行创建SDE服务,一直不能成功,还请楼主指点一下。
在命令行中输入sdeservice -o create -p sde -h D:\tools\SDE\ArcSDE\ora9iexe -d oracle9i,oracle92 -i esri_sde –n,当然其中的目录和全局数据库名已换成自己的目录,输入后却没有成功,只是显示了sdeservice的一系列参数,不知道到底哪步没做对。
2008-08-27 08:46:56作者回复
果果的问题。你可能是直接把代码粘到cmd中的吧。那样会是有问题的,实在是不好意思。是我搞错了一个参数。正确的应该是: sdeservice -o create -p sde -H D:\tools\SDE\ArcSDE\ora9iexe -d oracle9i,oracle92 -i esri_sde -n

安装路径前面的操作符应该是“-H”。还有就是建议你不要直接粘,有时候文档里会有全角字符,或者回车字符什么的,一般很难发现,但是都会造成命令无法执行成功。再就是多试几次,总有一次会成功!呵呵!

文档里我也改过来,不是为了消灭我自己不严谨的罪证,而是为了哪些看不到这里的急性子的朋友!呵呵!
#c0871 发表于2006-11-26 14:03:00  IP: 210.73.78.*
我也遇到lxy所示的问题,在cmd中 grant dba to sde和grant ALTER ANY INDEX to sde
grant ALTER ANY TABLE to sde
grant ANALYZE ANY to sde
grant CREATE ANY INDEX to sde
grant CREATE ANY PROCEDURE to sde
grant CREATE ANY SEQUENCE to sde
grant CREATE ANY TRIGGER to sde
grant CREATE ANY VIEW to sde
grant CREATE SESSION to sde
grant DROP ANY INDEX to sde
grant DROP ANY TABLE to sde
grant DROP ANY VIEW to sde
grant DROP ANY PROCEDURE to sde
grant DROP ANY SEQUENCE to sde
grant EXECUTE ANY PROCEDURE to sde
grant SELECT ANY SEQUENCE to sde
grant SELECT ANY TABLE to sde
grant UNLIMITED TABLESPACE to sde
也还是不行,请楼主指点
2008-08-27 08:45:51作者回复
c0871的问题!
你的具体情况我不是很了解,没有办法给你明确的答案。
不过有以下几点建议:
1、先用Oracle的工具(SQL/PLUS等)单独执行一下那些授权语句,确定数据库本身没有问题才可以!
2、看一下日志,一般在你的安装目录下有……\SDE\ArcSDE\ora9iexe\etc这个目录,日志在这里,那里一般会说明什么原因造成问题的。
#weiwei966736 发表于2008-08-26 17:47:08  IP: 61.144.226.*
我有一个arcsde的问题想请教

我想在windows 2003上安装arcsde 8.1,我的数据库是oracle 8.1.7,我看过了安装说明

首先:install software
在这步时我的状况根本进入不了license agreement界面不知道为什么?就是没反映也没有提示,介质没有问题。
2008-08-27 08:45:07作者回复
你的这种情况还真没有遇到过。
首先,建议你看一下你的Arcsde是for Oracle8.1.7版本的吗?Arcsde每个版本都会细分的。
其次,你可以现在Oracle数据库里建个SDE的数据空间,用户名,密码也是SDE。然后用命令行的方式导入表,以及建立相应的服务(见:第二章、ArcSDE软件安装)。
想到的就这些了,祝你好运。
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 风飞扬