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中建立企業資料庫
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,請看這篇檔案:
相關文章
- ArcGIs建立企業級資料庫資料庫
- Oracle 12c系列(九) | 通過unplug與plug方式升級pdb資料庫Oracle資料庫
- 2.3 通過DBCA建立資料庫資料庫
- Oracle 12c資料庫安裝Oracle資料庫
- 【資料庫升級】Oracle指令碼升級12c CDB to 19c CDB資料庫Oracle指令碼
- 企業級地理資料庫(3)為不同需求的使用者設定許可權資料庫
- Oracle 12C RAC CDB資料庫部署Oracle資料庫
- 【SQL】Oracle資料庫通過job定期重建同步表資料SQLOracle資料庫
- C#連線Oracle資料庫,通過EF自動生成與資料庫表相關的實體類C#Oracle資料庫
- 1.3.3. 通過SQL*Plus 連線資料庫SQL資料庫
- 靜默方式安裝、升級oracle(二): 建立資料庫Oracle資料庫
- 能否通過Enterprise Console建立目錄資料庫PW資料庫
- ORACLE 12C RAC資料庫的啟停Oracle資料庫
- 【轉載】SAP 通過http協議 介面做銀企直連HTTP協議
- 企業級雲資料庫最佳實踐資料庫
- root 使用者通過 sqlplus 連線資料庫SQL資料庫
- Python 連線 Oracle資料庫PythonOracle資料庫
- 【Oracle 12c資料庫支援閃回庫功能】實驗Oracle資料庫
- oracle資料庫建立資料庫例項-九五小龐Oracle資料庫
- 資料庫不能直連怎麼造資料呢資料庫
- 通過觸發器記錄資料庫連線資訊觸發器資料庫
- 使用阿里雲PolarDB替代Oracle資料庫,申通完美扛過618業務高峰阿里Oracle資料庫
- Java的JDBC通過SSH Tunnel連線MySQL資料庫JavaJDBCMySql資料庫
- 通過命令在navicat中建立資料庫及表結構資料庫
- Oracle 12c系列(一)|多租戶容器資料庫Oracle資料庫
- Oracle資料庫12c最新安全工具Data RedactionFPOracle資料庫
- 使用instantclient連線oracle資料庫clientOracle資料庫
- [Navicate]Navicate連線Oracle資料庫Oracle資料庫
- 【AWR】Oracle資料庫建立awr基線Oracle資料庫
- 【12c】12c RMAN新特性之通過網路遠端恢復資料庫(RESTORE/Recover from Service)資料庫REST
- 使用NineData定製企業級資料庫規範資料庫
- 將Oracle 12c資料庫註冊到Oracle 19c Grid InfrastructureOracle資料庫ASTStruct
- oracle資料庫透過sqlplus連線的幾種方式介紹Oracle資料庫SQL
- Oracle透過ODBC連線SQL Server資料庫後ORA-12514OracleSQLServer資料庫
- 使用ArcGIS連線瀚高資料庫與地理資訊的匯入資料庫
- PLSQL通過Oracle 11g客戶端連線Oracle 12c伺服器錯誤 ORA-28040SQLOracle客戶端伺服器
- kettle通過命令列引數傳遞資料庫連線資訊命令列資料庫
- python環境連結Oracle資料庫PythonOracle資料庫