ArcGIs創建企業級數據庫


本文主要描述ArcGIs創建企業級數據庫。

目標:創建企業級地理數據庫,使用ArcMap通過SDE引擎 與Oracle交互數據,創建完成后將本地的mdb數據庫中數據遷移到Oracle的地理數據庫當中。

一,安裝Oracle客戶端

因為ArcMap也是通過Oracle客戶端來連接Oracle的,所以我們要先安裝Oracle客戶端。

需要注意的是,安裝后的oracle程序文件根目錄是沒有network文件夾的,需要手動建立。

然后在network下建立admin文件夾。

然后創建tnsnames.ora。

然后編輯tnsnames.ora,把我們要可以連接的Oracle數據都寫在里面。

ORCL@11 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
  
ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )
​
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.7.81)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
​
ORCL@192.168.1.111 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
)

安裝完Oracle客戶端后可以安裝一個PLSQL來測試安裝的Oracle客戶端是否正常運行。

二,創建企業級地理數據庫

1,測試連接

首先打開ArcMap測試本機與Oracle是否可以正常連接,如下圖,在右側找到數據庫連接,然后點擊添加數據庫連接。

選擇Oracle數據,輸入實例名和數據庫用戶的賬戶密碼。

實例名是我們編輯tnsnames.ora時,等號前的名稱,如下圖:

2,創建企業級地理數據庫

因為企業級數據庫是創建在Oracle實例上的,而不是創建在表空間上的,即一旦企業級地理數據庫創建成功,數據庫內所有表空間都可以存儲空間數據,所以一個數據庫只能創建一個企業級數據庫,簡單來說就是把某個Oracle數據庫設置成企業級數據庫。

下面我們點擊ArcToolBox—數據庫管理工具—創建企業級數據庫。

然后輸入數據庫實例,數據庫管理員密碼(sys默認密碼是sys),然后創建一個地理數據庫管理員(即數據庫用戶),然后設置用戶的表空間,然后選擇安裝Desktop時使用的許可文件。

創建時會彈出提示框顯示創建進度(數據庫管理員和表空間不為sde的情況下,創建會提示失敗)。

創建成功后提示框信息如下:

查看企業級數據庫

創建完成后,我們添加數據庫連接查看,會出現一個.sde后綴的數據庫,然后點擊,會發現可以看到數據庫全部的表。

這是由於在創建SDE用戶時賦予了SELECT ANY TABLE權限,因此可以訪問其他用戶的表,這對於數據管理來說是不安全的,而且也增加了尋找要素表的難度。

為了安全,我們刪除用戶權限。

打開PLSQL,隨便一個用戶登錄后,輸入查詢。

select privilege from dba_sys_privs where grantee='SDE' 

如下圖:

刪除SELECT ANY TABLE權限

revoke SELECT ANY TABLE from SDE

再去連接空間庫后會發現其他用戶的表不見了。

然后我們再找到數據庫連接,然后右鍵,會發現新建下面多了一個要素類和要素數據集,這代表我們可以直接在數據庫中創建空間數據了。

三,刪除企業級用戶

刪除企業級用戶執行如下代碼:

drop  user  SDE  cascade
DROP  TABLESPACE SDE INCLUDING CONTENTS  CASCADE  CONSTRAINTS;

window用戶,物理刪除sde文件夾

D:\app\Administrator\product\11.2.0\dbhome_1\database\sde

Linux用戶執行命令刪除

# cd/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
# rm -rf sde

如果用戶處於連接狀態,可以先查詢當前連接,如下。

select username,sid,serial# from v$session 

如下結果:

username sid serial#
NETBNEW 513 22974
NETBNEW 514 18183
NETBNEW 531 9

然后執行下面代碼,刪除當前用戶連接。

alter system kill session '531,9' 

三,轉移空間數據

首先在右側文件夾連接中,連接一個文件夾,然后把地圖的mdb放進去,然后選擇一個圖層右鍵導出,選擇轉出至地理數據庫(單個),如下圖:

在[要素類至要素類]頁面的輸出位置中選擇剛剛我們創建的數據庫連接,然后在輸出要素類中輸入導入至Oracle后的要素類名稱。

點擊確定后,需多等待一會,數據導入成功后,可以右鍵刷新數據庫連接,然后就可以看到剛剛導入的要素類了。

完成后右下角會提示,如下圖:

然后就可以基於oracle的數據進行共享服務了。

點擊文件—共享為—服務,如下圖:

然后輸入響應的信息,就可以發布服務了。

----------------------------------------------------------------------------------------------------

注:此文章為原創,任何形式的轉載都請聯系作者獲得授權並注明出處!
若您覺得這篇文章還不錯,請點擊下方的推薦】,非常感謝!

https://www.cnblogs.com/kiba/p/16035784.html

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM