- 浏览: 1741804 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (520)
- Oracle (10)
- Oracle错误集 (8)
- Oracle安装升级 (15)
- Oracle日常管理 (51)
- Oracle字符集 (7)
- Oracle备份恢复 (24)
- Oracle优化 (4)
- Oracle编程 (52)
- Oracle导入导出 (19)
- Oracle体系结构 (15)
- Oracle网络 (2)
- Oracle安全 (2)
- Oracle权限 (3)
- Oracle数据字典和性能视图 (2)
- Oracle常用地址 (5)
- SQLPLUS专栏 (7)
- SqlServer (13)
- SqlServer2005编程 (27)
- SqlServer2005管理 (15)
- MySQL (20)
- Dorado应用 (1)
- C# (24)
- Arcgis Server开发 (20)
- ArcSDE技术 (19)
- UML学习 (2)
- 设计模式 (2)
- JAVA EE (4)
- JavaScript (3)
- OFBIZ (27)
- JAVA WEB开发 (22)
- Linux&Unix (34)
- SHELL编程 (14)
- C语言 (11)
- 网络协议 (14)
- FREEMARKER (2)
- GROOVY (2)
- JAVA语言 (3)
- 防火墙 (0)
- PHP (2)
- Apache (2)
- Loader Runner (1)
- Nginx (3)
- 数据库理论 (2)
- maven (1)
最新评论
-
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
pg_guo:
感谢
oracle中查看用户权限 -
xu234234:
5、MapResourceManager控件中添加了两个服务, ...
北京ArcGis Server应用基础培训笔记1
ArcSDE作为空间数据库解决方案,应用非常广泛,本短文将尝试描述SDE的工作机制,简要说明空间数据库中SDE用户的使用方法。
ArcSDE如何工作
ArcSDE属于中间件技术,其本身并不能够存储空间数据,它的作用可以理解为数据库的“空间扩展”。在基于Oracle的ArcSDE空间数据库中,ArcSDE保存了一系列Oracle对象,用于管理空间信息。这些对象统称为资料档案库(Repository),包含空间数据字典和ArcSDE软件程序包。ArcSDE需要SDE用户管理空间资料档案库,这类似于Oracle中需要SYS用户管理数据字典。Oracle的数据字典存储在SYSTEM表空间中;相应地,在存储ArcSDE空间资料档案库的时候,也需要使用特定的表空间。通常,为了方便起见,默认使用名称也是SDE的表空间管理空间数据字典。
ArcSDE的工作机制中,SDE用户负责ArcSDE与Oracle的交互,通过维护SDE模式下的空间数据字典以及运行其模式中的程序包,来保证空间数据库的读/写一致性。在ArcSDE服务启动的过程中,SDE用户通过Oracle验证,并且创建和维护一个Oracle会话连接,连接的程序便是giomgr,即ArcSDE服务器管理进程,该进程一直存在,负责监听用户连接请求,分配相应的gsrvr管理进程(见注1),进行空间数据字典的维护。
ArcSDE的安全性
ArcSDE的安全机制完全依赖于Oracle,空间数据库用户(包括SDE),需要Oracle的用户密码才能够访问空间数据,ArcSDE本身并不保存任何认证信息。
在Oracle中,SDE用户的最小系统权限设置要求是:
Create procedure / Create table / Create sequence / Create trigger / Create session
由此可见,SDE亦属于Oracle数据库中的普通权限用户。
对于Oracle来说,虽然SDE属于非DBA用户,但是在ArcSDE架构中,SDE的地位比较特殊,是ArcSDE管理员。只有SDE可以完成一些特定的工作:比如启动/停止ArcSDE服务;终止某些用户连接;压缩多版本数据库等。SDE用户虽然不是一个真正的Oracle DBA用户,但是在ArcSDE工作过程中,软件会进行一些特定的对象权限操作。因此,应该将SDE用户等同于Oracle DBA用户处理,就像SYS或者SYSTEM一样,必须严格保护其密码。
在ArcSDE空间数据库中,从权限管理级别上,可以把用户分成两大类:
1、 空间数据库管理员,只有并且只能是SDE
2、 空间数据库一般用户,包括创建、浏览空间数据的除SDE外的其它oracle用户 使用SDE用户,强烈推荐遵循两个原则:
- SDE用户不用于加载空间数据
- SDE存储资料档案库的表空间不用于存放空间数据
SDE用户的特殊对象权限
SDE用户作为Oracle数据库的一般用户,可以创建自己的表或者存储过程;作为ArcSDE空间数据库管理员,在对象权限设置中,ArcSDE会自动授予SDE一些对象权限。SDE用户需要这些对象权限,以保证ArcSDE Geodatabase的完整性。空间数据库的一般用户在创建新的Geodatabase对象的时候,ArcSDE将这些新建对象的权限授予SDE用户。比如ACTC用户创建一个名称为Country的Geodatabase的要素类,此时数据库中同时生成Country(即B表,Business Table)的相应支撑表,即F表(Feature Table)和S表(Spatial Index Table)。这时候,SDE用户将自动获取得到Country、F表和S表这几个表的Select权限。当用户将Country注册为版本,此时ACTC模式下生成记录编辑信息的A表(Additions Table)和D表(Deletions Table)。这时候,SDE用户获得该A表和D表的Select / Insert / Update / Delete权限。在这些对象权限授予过程中,ACTC用户并未获取任何通知信息。
在ArcGIS Desktop的空间数据库连接中,并没有体现出来SDE用户的这些对象权限,如果使用SDE用户进行空间数据库连接,只能够观察到上例中的Country表,其它的支撑表都被过滤掉了。如果需要完整查看SDE用户被授予的对象权限,可以通过Oracle的USER_TAB_PRIVS_RECD视图获取。
SDE用户完成哪些特定工作
在空间数据库中,作为管理员的SDE完成一般用户不能完成的操作,以下举例说明:
1、 启动/停止ArcSDE服务
只有SDE能够与Oracle完成交互,启动或停止ArcSDE的服务。操作为:
sdemon –o start / shutdown (启动/停止)
这时候需要提交SDE用户密码。
2、 终止某个空间用户连接
在空间数据库连接中,有时候出连接进程挂起或者非法连接的时候,可以使用SDE终止其连接。操作为:
首先,从连接列表中获取该连接的信息
sdemon –o info –I users
在获取到需要终止的连接ID后,使用kill命令
sdemon –o kill –t < 连接 ID>
<连接ID> 完成此项操作需要提交SDE用户密码。
3、 压缩多版本数据库(Multi-versioned Geodatabase)
在ArcSDE Geodatabase中,随着数据编辑工作的进行,SDE空间资料档案库中相应元数据表、以及用户模式中的A表和D表的记录逐渐增加,会影响空间数据的访问效率,因此经常需要进行数据库版本的压缩工作。在确定数据库不存在任何锁定后,便可以进行压缩工作,操作为:
sdeversion –o compress –u sde
完成此项操作需要提交SDE用户密码。
作为ArcSDE管理员,SDE还要完成其它一些工作。比如,在控制空间数据的数据段、索引段存储的时候,SDE用户可以使用sdedbtune命令来提高数据库效率。
注1:这是传统的ArcSDE应用服务器连接(Application-server connection)的工作方式,在这种方式中,ArcSDE服务器进程(giomgr)分配名为gsrvr的进程来全面负责客户机与服务器的元数据通信。ArcSDE 8.1版本之后,出现新的连接方式,即直接连接方式(Direction-connection),在这种连接方式中,gsrvr进程功能嵌入到客户机连接应用程序中,如ArcCatalog或其它ESRI软件产品。此种方式下,Gsrvr的功能由客户端连接应用程序完成。
测试环境:ArcSDE 9.0,Oracle 9.2.0.4.0,Windows NT
发表评论
-
SDE用户权限脚本
2008-07-14 13:44 3459DROP ROLE SDE_UPGRADE;CREATE RO ... -
ArcSDE/Oracle的简单优化(图层和索引分开)
2008-07-10 10:01 27191.SDE的性能主要还是取决于Oracle的性能,然后才是SD ... -
ArcSDE的版本管理机制
2008-07-07 15:10 2653版本是SDE数据库中管理数据的一种机制,主要解决长事务问题。 ... -
ArcSDE栅格数据的存储结构
2008-07-07 13:19 2231一个元数据表:SDE_raster_columns 一个业务 ... -
Raster dataset schema overview
2008-07-07 10:51 12991、Business table 2、AUX table:St ... -
常用命令
2008-07-07 10:41 13881、sdetable 查看表的关系 eg. sdet ... -
Manage vector storage
2008-07-07 10:32 1335一、创建表空间create tablespace gis_da ... -
Manage raster storage
2008-07-07 09:37 1023一、创建表空间create tablespace versio ... -
SDE中的表
2008-07-04 09:25 24241、B表:属性表 2、F表:要素表 3、S表:索引表 4、A表 ... -
SDE三种连接方式
2008-07-03 14:57 2592一、Application server connection ... -
Operating multiple geodatabases
2008-07-03 14:15 1392Creating multiple geodatabases ... -
Using multiple geodatabases within a DBMS
2008-07-03 13:46 3546Each database management system ... -
基于Geodatabase数据模型的版本机制
2008-07-03 11:32 1657一、版本是什么?(What is Version?) “版本” ... -
arcsde9.2和oracle分布式安装
2008-07-02 11:18 2654环境: oracle10gR2安装在两台服务器上,但只是做双机 ... -
创建多个ArcSDE实例
2008-07-02 09:29 2663有时候,我们需要有多于一个的ArcSDE实例同时运行。只要存在 ... -
SDE命令行安装配置
2008-07-01 16:34 3351一、创建相关表空间 创建sde表空间 create table ... -
oracle for sde配置
2008-06-30 15:40 21261、修改oracle系统参数alter system set ... -
创建多个ArcSDE实例
2008-06-23 19:42 2065有时候,我们需要有多 ...
相关推荐
本文揭示在ArcGIS企业中应用ArcSDE空间数据库和一个企业标准的DBMS来复制数据的本质。 面对的是系统实施架构师,帮助他们理解在设计ESRI GIS系统的时候,那些是可行的哪些是不 可行的(在一个比较高的水平上来...
ArcSDE多源空间数据库的建立方法 arcsde 及 Geodatabase简介 数据库设计和组织 数据库性能优化 备份复制和分区优化
ArcSde与数据库分开部署安装,有详细的步骤
基于ArcSDE的数字城市规划空间数据库设计与实现
该文档描述了ArcSDE在RDB中表的结构关系,对我们理解ArcSDE是如何组织的大有帮助。
真的很好的,真的很好这样才会能发表吧,介绍数据库的一篇相对较好的论文
在ArcEngine连接ArcSDE数据库时,怎样对连接参数进行设置
ArcSDE 地理数据库系统表:存储在Oracle中的地理数据库内的系统表
该设计报告详细阐述了,Oracle的安装及配置问题,和基于ArcSDE的配置过程,并介绍了数据编辑、数据上传、数据删除的一些方法。
空间数据库是目前地理信息系统(GIS)应用的一个很重要的部分,其中空间数据库引擎(SDE)作为中间件连接GIS应用程序和关系 数据库系统,较好地解决了空间数据和属性数据统一存储和管理的问题。如何与ArcSDE交互,实现...
Oracle ArcSDE模式下空间数据库用户监控技术研究.pdf
不同网段的ArcSDE数据库连接失败的解决方案
ArcSde UNIX 安装手册-SDE用户 安装过程详解,配操作截图 亲测,绝对可行
AcrSde 空间数据库引擎. 很好的东西发给大家共享!
基于ArcSDE Oracle模式的海量空间数据库建设.pdf
AO编程和ArcSDE连接SQLserver数据库的最好入门教程!对与搞Gis的绝对有帮助!
《空间数据库课程设计》是《空间数据库》课程的实践环节,通过本课程设计的学习,学生应该掌握空间数据库的基本理论及应用技术,熟练掌握ArcSDE Geodatabse空间数据库设计、创建、版本及事务管理、分布式空间数据...
基于ArcSDE的空间数据库技术的应用.docx