ArcGIS10.5.1通过SDE直连Oracle 12c——建立企业级地理数据库

       最近安装部署ArcGIS 10.5连接Oracle 12c,记录一下相关步骤和注意事项。

     ESRI 参考官方文件

 

一、部署环境

        Windows Sever 2012R2

       ArcMap 10.5.1  和 ArcGIS Server 10.5.1
       Oracle 12c 

二、目标

        1.通过ArcMap 可以连接Oracle,把空间数据保存在oracle(SDE)中,以便对空间数据进行管理;
        2.把Oracle的空间数据库(即SDE)注册到ArcGIS Server,以便把SDE空间数据在ArcGIS Server进行发布;

        3.配置Oracle具备空间SQL能力。

三、简要流程

        1.安装Oracle 12c,创建表空间(给SDE用户专用),创建SDE用户(用户名一定是SDE)并授权。

        2.在安装了ArcMap的计算机上安装Oracle 12c 32位客户端(因为ArcGIS Desktop是32位的),配置环境变量,确保能够客户端能够连接到Oracle数据库。ArcGIS Desktop其实是通过Oracle 的客户端来连接Oracle的。注意:配置好后,要重启Desktop

        3.在安装了ArcGIS Server的服务器上安装Oracle 12c 64位客户端(因为Server是64位的),如果同时也安装Oracle 12c 32位客户端(一般这里也安装了Desktop),配置环境变量:64位的环境变量放在32位的前面。

        配置完毕,重启ArcGIS Server服务

        4.ArcMap中,ArcCatalog中选择工具箱,创建企业地理数据库,填写SDE相关的信息,并提供授权文件。在ArcCatalog中建立数据库直接方式,输入相关信息,登陆到SDE数据库。

        5.在ArcGIS Server中(可以在ArcCatalog建立Server连接,最好在服务器的Desktop上操作),在服务器属性中添加数据存储,把SDE注册到ArcGIS Server。

四、流程截图:

1.在ArcMap中创建企业数据库

ArcGIS10.5.1通过SDE直连Oracle 12c——建立企业级地理数据库_第1张图片

 

2.输入SDE相关信息

ArcGIS10.5.1通过SDE直连Oracle 12c——建立企业级地理数据库_第2张图片

 

3.连接SDE

ArcGIS10.5.1通过SDE直连Oracle 12c——建立企业级地理数据库_第3张图片

 

4.ArcGIS Server连接SDE和注册

ArcGIS10.5.1通过SDE直连Oracle 12c——建立企业级地理数据库_第4张图片

 

5.添加数据存储

ArcGIS10.5.1通过SDE直连Oracle 12c——建立企业级地理数据库_第5张图片

 

6.填写SDE相关信息,完成注册

ArcGIS10.5.1通过SDE直连Oracle 12c——建立企业级地理数据库_第6张图片

 

五、Oracle 12C部署的相关注意事项


        Oracle 12C 建设完毕,默认是CDB,在该数据库下面,新建用户必须以C##开头命名;所以,需要从CDB切换到PDB,再开始SDE的各种建设工作。因为SDE用户一定要命名为"SDE"
        最好是重新建设一个数据库,不选择默认的CDB,那么数据库就是PDB,这样才能创建SDE用户。

1.创建表空间

CREATE TABLESPACE sdetablespace DATAFILE
'E:\app\orcl\SDEDATA01.DBF' 
SIZE 500M 
AUTOEXTEND ON NEXT 100M 
MAXSIZE UNLIMITED
LOGGING
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;


2.创建SDE用户并授权

--首先创建SDE用户:
CREATE USER SDE IDENTIFIED BY *******
DEFAULT TABLESPACE "SDETABLESPACE"
TEMPORARY TABLESPACE "TEMP"
QUOTA UNLIMITED ON "SDETABLESPACE";

3.--必须为公共角色授予对这些包的执行权限

GRANT EXECUTE ON dbms_pipe TO public;
GRANT EXECUTE ON dbms_lock TO public;
GRANT EXECUTE ON dbms_lob TO public;
GRANT EXECUTE ON dbms_utility TO public;
GRANT EXECUTE ON dbms_sql TO public;
GRANT EXECUTE ON utl_raw TO public;
GRANT EXECUTE ON dbms_crypto to sde;

----说明:创建或升级地理数据库后,您可以限制这些包的权限,
方法是:将这些执行权限从公共角色中撤消,然后为登录地理数据库的每个单独的用户(包括地理数据库管理员)授予这些执行权限。
再向各用户授予执行权限后,重新编译 sde 方案:
EXEC dbms_utility.compile_schema( 'SDE' );

4.--赋予SDE管理权限

GRANT CREATE SESSION,
CREATE TABLE,
CREATE VIEW,
CREATE PROCEDURE,
CREATE SEQUENCE,
CREATE TRIGGER,
CREATE TYPE,
CREATE INDEXTYPE,
CREATE LIBRARY,
CREATE PUBLIC SYNONYM,
DROP PUBLIC SYNONYM,
ADMINISTER DATABASE TRIGGER,
CREATE OPERATOR
TO SDE;
---说明:一般来说,上述两个步骤都是数据库管理员来操作,业务端只需要提交说明即可,
需要说明的是Oracle中创建SDE空间数据库,必须要创建以SDE为名的数据库用户。


六、错误信息

       建立完毕,在ArcMap处理结果中,有以下错误信息:

ST_Geometry 形状库路径可能无效,或者未在 Oracle 实例中正确配置 EXTPROC。
[ (Unable to determine current version of ST_SHAPELIB.
Please check the ST_Geometry shape library path on the Oracle server,
which is set to "c:\progra~2\arcgis\desktop10.5\DatabaseSupport\Oracle\Windows64\st_shapelib.dll".
Refer to the ArcGIS help topics for more details.

      需要在Oracle 实例中正确配置 EXTPROC,请看这篇文件:

      创建SDE企业级数据库——在 Oracle 中配置 extproc 以访问 ST_Geometry

你可能感兴趣的:(ArcGIS,ORACLE)