Oracle+ArcGIS创建空间数据库步骤

需积分: 21 2 下载量 147 浏览量 更新于2024-08-05 收藏 212KB DOCX 举报
本文档详细介绍了如何使用Oracle数据库和ArcGIS软件来创建一个名为"std"的空间数据库。创建过程涉及到创建特定的Oracle用户(sde),分配必要的权限,以及设置表空间,以便于ArcGIS能够管理和操作地理数据。 在创建空间数据库的过程中,首先需要通过Oracle的管理员用户来创建一个名为`sde`的用户。这个用户有特殊的命名要求,即用户名必须为`sde`,并且密码不能包含任何特殊符号。创建用户sde的SQL命令如下: ```sql create user sde identified by sde; ``` 接着,我们需要赋予`sde`用户一系列的基础权限,包括创建会话、创建表、创建表空间、创建视图等。这些权限是通过以下SQL语句授予的: ```sql grant create session to sde; grant create table to sde; grant create tablespace to sde; grant create view to sde; ``` 之后,我们需要创建一个名为`SDE_TABLESPACE`的表空间,用于存储空间数据库的数据。表空间的定义如下: ```sql create tablespace SDE_TABLESPACE datafile '/db/oracle/oradata/lcjdb/sdedata.dbf' size 500m autoextend on next 100m maxsize 20480m extent management local; ``` 为了让`sde`用户能在这个表空间中工作,我们需要将它设为用户的默认表空间: ```sql alter user sde default tablespace SDE_TABLESPACE; ``` 为了支持ArcGIS地理数据库的创建和升级,还需要赋予`sde`用户执行特定Oracle包的权限,例如`dbms_pipe`、`dbms_lock`、`dbms_lob`、`dbms_utility`、`dbms_sql`和`utl_raw`: ```sql grant execute on dbms_pipe to sde; grant execute on dbms_lock to sde; grant execute on dbms_lob to sde; grant execute on dbms_utility to sde; grant execute on dbms_sql to sde; grant execute on utl_raw to sde; ``` 此外,作为地理数据库管理员,`sde`还需要具备创建序列、触发器和存储过程的能力: ```sql grant create sequence to sde; grant create trigger to sde; grant create procedure to sde; ``` 最后,为了使`sde`用户能够在其自己的方案中创建地理数据库,需要额外的权限,如创建加密函数、索引类型、库和操作符: ```sql grant execute on dbms_crypto to sde; -- 允许创建st_geometry类型的地图成员函数 grant create index type to sde; grant create library to sde; grant create operator to sde; ``` 完成以上步骤后,你就可以在Oracle数据库中使用ArcGIS创建和管理std空间数据库了。这个过程涉及到了Oracle数据库管理和ArcGIS空间数据库的集成,确保了地理数据的有效存储和高效处理。