0

0

Ubuntu下安装ArcSDE 9.1 [图文]

php中文网

php中文网

发布时间:2016-06-07 16:53:57

|

1414人浏览过

|

来源于php中文网

原创

虽然ESRI的官方文档如何安装ArcSDE已经很详细了(英文的),而且网上也有很多参考资料,但是这里还是针对自己的习惯以及针对Ubun

虽然ESRI的官方文档如何安装ArcSDE已经很详细了(英文的),而且网上也有很多参考资料,但是这里还是针对自己的习惯以及针对Ubuntu,用中文做一下说明,只是为了之后自己方便查阅。

1. 安装环境
我们安装的ArcSDE版本是9.1 for Oracle 10gR2,根据ESRI的官方文档,针对Oracle 9i的可以直接用来给10g,只不过有一些改动。
1. All references to Oracle9i can be changed to Oracle10gR2.
2. All references to the sdesetupora9i command should be substituted with sdesetupora10g.
3. All references to the sdeservice –o create –d oracle9i,SID command should be substituted with sdeservice –o create –d oracle10g,SID
4. UNIX installations/System Requirements

The ArcSDE 9.1 for Oracle10gR2 release is available on the following UNIX and Linux platforms:
Solaris 64bit
AIX 64bit
Red Hat Linux

2. 安装前的准备
a. 安装好Oracle 10g,在Ubuntu上安装Oracle 10g可以参考这篇文档。
b. 创建并设置好sde用户。
ArcSDE需要一个名为sde的用户,这个用户其他的属性都不重要,所以我将其所属的组设置为admin,以便于使用sudo。
官方文档上说shell应当设置为/bin/sh或者/bin/csh,我这里设置成bash,也可以。
同时,将sde加入oinstall组,是为了使之能运行一些oracle命令,同时使用oracle的一些动态链接库。
创建用户
sudo useradd -g admin -G oinstall -d /home/sde -s /bin/bash -m -k /etc/skel sde
设置密码
sudo passwd sde
输入你为sde用户设置的密码。
然后su sde,登录sde用户,或者直接退出当前用户,用sde用户登录。
c. 设置环境变量。
在.bashrc文件里修改(ubuntu默认.profile文件读取.bashrc文件,而且.bashrc文件在每次登录的时候都会读取),需要设置的环境变量如下:

SDEHOME #ArcSDE安装的地方
ORACLE_HOME #Oracle安装的地方
ORACLE_SID #Oracle SID的值
TNS_ADMIN #tnsnames.ora文件所在的地方
PATH $PATH:$SDEHOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH $SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib (All platforms except HP and IBM)
SHLIB_PATH $SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib (for HP only)
LIBPATH $SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib (for IBM only)
TWO_TASK #value for TWO_TASK (if ArcSDE and Oracle on different machines)


如果Oracle数据库安装在本地,那么ORACLE_HOME和ORACLE_SID是需要设置并且起作用的,而,如果设置了TWO_TASK,那么它们就不起作用。
TWO_TASK指出在远程安装的Oracle的地址。如果在本地安装的Oracle,那么就不需要指出TNS_ADMIN和TWO_TASK。
注意:ArcSDE启动的时候,giomgr进程会读取$SDEHOME/etc/dbinit.sde文件中的设置,这会覆盖掉在.profile文件中的设置。
我的环境变量的设置如下:
umask 022export ORACLE_BASE=/opt/oracleexport SDEHOME=/home/sde/sdeexe91export ORACLE_HOME=/opt/oracleexport ORACLE_SID=GISexport PATH=$SDEHOME/bin:$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$SDEHOME/lib:/usr/lib:/lib:$LD_LIBRARY_PATH:$ORACLE_HOME/lib/stubs

d. 创建Oracle数据库用户和tablespace。
i. 创建tablespace。
tablespace至少需要200M的空间,我们这里创建成2G,最大是unlimited。
由于Oracle推荐使用本地管理表空间,那么这里就设置成本地管理。关于本地管理和数据字典管理的定义和比较,请参阅下面的文档:

Locally Managed Tablespaces:
A tablespace that manages its own extents maintains a bitmap in each datafile to keep track of the free or used status of blocks in that data file. Each bit in the bitmap corresponds to a block or a group of blocks. When an extent is allocated or freed for reuse, the Oracle server changes the bitmap values to show the new status of the blocks.

Dictionary-Managed Tablespaces:
For a tablespace that uses the data dictionary to manage its extents, the Oracle server updates the appropriate tables in the data dictionary whenever an extent is allocated or deallocated.

Advantages of Locally Managed Tablespaces:
Locally managed tablespaces have the following advantages over dictionary-managed tablespaces:
Local management avoids recursive space management operations, which can occur in dictionary-managed tablespaces if consuming or releasing space in an extent results in another operation that consumes or releases space in a undo segment or data dictionary table.
Because locally managed tablespaces do not record free space in data dictionary tables, it reduces contention on these tables.
Local management of extents automatically tracks adjacent free space, eliminating the need to coalesce free extents.
The sizes of extents that are managed locally can be determined automatically by the system. Alternatively, all extents can have the same size in a locally managed tablespace.
Changes to the extent bitmaps do not generate undo information because they do not update tables in the data dictionary (except for special cases such as tablespace quota information).

CNdian单页面淘宝客程序
CNdian单页面淘宝客程序

CNdian单页面淘宝客程序第一次安装,直接上传到.net2.0空间就能运行。 CNdian单页面淘宝客程序主要功能: 1、url重写(伪静态aspx) 2、模板动态修改 3、带文章系统并带hmtl编辑器 4、seo优化(rss,网站地图) 5、商品手动添加灵活性(非api) 6、广告动态化添加 7、友情链接交换 8、数据包备份功能 CNdian单页面淘宝客程序升级安装以下文件不要上传App_Da

下载


关于这两种管理方式性能的比较可以参看
创建tablespace的语句是:
CREATE TABLESPACE sde DATAFILE'/opt/oradata/GIS/SDE/SDE.dbf' SIZE 2000MAUTOEXTEND ONNEXT 32MMAXSIZE UNLIMITEDLOGGINGEXTENT MANAGEMENT LOCAL UNIFORM SIZE 1MSEGMENT SPACE MANAGEMENT AUTO;

在做这部之前,需要用oracle用户登录,然后在/opt/oradata/GIS/下创建SDE文夹。
其中,EXTENT MANAGEMENT LOCAL是指本地管理方式,UNIFORM 是指对于一个表来说,,每次增加分配的空间大小(extent的大小)。
而NEXT是指对于tablespace来说,每次空间不够的时候再次分配的大小。
这里有一段话,可以表明这两者的一些区别:
“每次分配extent时是一个消耗资源的操作,当然是分配次数越少越好。在有些情况下,这也会直接影响性能。例如,在执行批量插入时,如果你的 extent太小,很快就要用完,就得再分配下一个,这时insert进程就只能等待系统去分配下一个extent.在这种情况下分配大一点的 extent会有助于提高性能。另外一点是extent是由连续的block组成的,extent大的话,数据存放会比较集中。这对于顺序读可能有利,但对于随机读则不见得有什么好处。并且现在数据文件基本上都是放在存储上,存储已经把空间分散到不同的磁盘上了。即使在oracle看来是连续的空间,在存储上实际也可能是分散的。
如果你的表确实很大,那就分配大一些的extent,如果表比较小就分配小一些的extent.”
我的理解是,如果tablespace的空间不足了,那么分配NEXT标明的大小。在tablespace空间足够的情况下,在往tablespace中的table里插入数据的时候,如果一次插入的数据大于UNIFORM的值,那么就需要再次分配UNIFORM规定的大小。
所以,如果每次插入的数据量比较大,那么可以考虑UNIFORM的值大一些。

SEGMENT SPACE MANAGEMENT应当设置为AUTO,这个网页
阐述了为什么设置成AUTO的好处。
其余参数可以参看Oracle的说明,这里推荐一个网页:
同时,这里有两幅Oracle提供的图,能够很清楚的看出如何创建和修改tablespace。
创建tablespace:

Ubuntu下安装ArcSDE 9.1 [图文]

修改tablespace:

Ubuntu下安装ArcSDE 9.1 [图文]

ii. 创建sde用户。
使用sqlplus,创建的sql语句是:
CREATE USER sdeIDENTIFIED BY 你的密码DEFAULT TABLESPACE sdeTEMPORARY TABLESPACE TEMP;

创建用户的sql语句很简单,关于其参数可以参看这个网页

linux

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
AO3官网入口与中文阅读设置 AO3网页版使用与访问
AO3官网入口与中文阅读设置 AO3网页版使用与访问

本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。

45

2026.02.02

主流快递单号查询入口 实时物流进度一站式追踪专题
主流快递单号查询入口 实时物流进度一站式追踪专题

本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。

8

2026.02.02

Golang WebAssembly(WASM)开发入门
Golang WebAssembly(WASM)开发入门

本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。

4

2026.02.02

PHP Swoole 高性能服务开发
PHP Swoole 高性能服务开发

本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。

3

2026.02.02

Java JNI 与本地代码交互实战
Java JNI 与本地代码交互实战

本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。

3

2026.02.02

go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

62

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

55

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

27

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

【李炎恢】ThinkPHP8.x 后端框架课程
【李炎恢】ThinkPHP8.x 后端框架课程

共50课时 | 4.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号