ArcGIS10.5.1通過SDE直連Oracle 12c——建立企業級地理資料庫

阿甘亮發表於2018-03-14

       最近安裝部署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中建立企業資料庫

 

2.輸入SDE相關資訊

 

3.連線SDE

 

4.ArcGIS Server連線SDE和註冊

 

5.新增資料儲存

 

6.填寫SDE相關資訊,完成註冊

 

五、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

相關文章