ArcSDE 中空間資料的備份與恢復策略

2021-05-24 22:26:56 字數 2755 閱讀 4320

除了儲存空間資料並提供訪問,對於空間資料的備份和恢復,是空間資料管理中最重要的工作環節之一,也是保障空間資料安全的重要方式。首先,空間資料本身在應用過程中不斷地被更新變動,所以經常會需要備份不同時期,不同的空間資料版本;第二,儲存介質的意外損壞會導致嚴重的空間資料丟失,因此需要定期對空間資料物件的整體進行完全備份;第三,有時出於調整的必要,需要在不同伺服器、甚至不同資料庫管理系統之間進行空間資料的移植和轉換。

在採用檔案形式空間資料的時代,空間資料的備份僅僅是作業系統中的檔案拷貝、備份和歸檔的過程;而空間資料的恢復也不過是複製、覆蓋的操作;在基於arcsde和關係型資料庫的空間資料庫時代,空間資料的備份更多的依賴於關係型資料庫的備份和恢復技術,當然也不能缺少arcsde所提供的備份工具。按照備份的方式和物件,arcsde中空間資料的備份和恢復可以分為如下兩類:指定空間資料物件的備份恢復,和整體空間資料庫的備份恢復。

一、 指定空間資料物件的備份和恢復

這種方式主要用於備份指定的空間資料物件,比如某個圖層和要素類、其中的某些滿足特定條件的記錄、甚至特定的版本。實現這種備份方式的方法主要是利用arcsde提供的管理工具:sdeexport和sdeimport命令。它們的位置在%arcsdehome%bin中。其中,sdeexport用於將空間資料從arcsde server上備份為單獨的資料檔案,而sdeimport用於將經由sdeexport備份的資料檔案恢復到arcsde server中。

這一方式的缺點在於不能一次備份完整的空間資料庫。但是也有個明顯的優點,在於通過sdeexport和sdeimport工具,可以將空間資料在不同的關係型資料庫管理系統(rdbms)之間進行移植。

1. 備份全部記錄

使用sdeexport命令的預設方式即可,比如:

(1) 將指定的圖層備份到備份檔案

sdeexport -o create -l dcxq,shape -f d:dcxq.exp -i jerry_oracle -u sde -p sde

就是將名為jerry_oracle的sde服務(arcsde for oracle8i)中的指定圖層「dcxq」按預設方式備份到檔案d:dcxq.exp中。

(2) 利用作業系統命令,拷貝備份檔案到目標伺服器上

(3) 將備份檔案恢復至目標rdbms中

sdeimport -o create -l newdcxq,shape -f d:dcxq.exp -i jerry_sqlsvr -u sde -p sde

此操作將備份檔案恢復到名為jerry_sqlsvr的sde服務(arcsde for sqlserver)中,圖層名為:newdcxq。

2. 備份部分記錄

sdeexport命令中新增-w引數和乙個條件選擇表示式即可,比如:

(1) 將指定圖層中滿足條件的記錄備份到備份檔案

sdeexport -o create -l dcxq,shape -f d:dcxq.exp -w xzqy = /'徐匯區/' -i jerry_oracle -u sde -p sde

就是將名為jerry_oracle的sde服務(arcsde for oracle8i)內的指定圖層「dcxq」中所有/"徐匯區/"的人口調查小區備份到檔案d:dcxq.exp中。

(2) 利用作業系統命令,拷貝備份檔案到目標伺服器上

(3) 將備份檔案恢復至目標rdbms中

sdeimport -o create -l xhdcxq,shape -f d:dcxq.exp -i jerry_sqlsvr -u sde -p sde

此操作將備份檔案恢復到名為jerry_sqlsvr的sde服務(arcsde for sqlserver)中,圖層名為:xhdcxq。

3. 備份特定資料版本

sdeexport命令中新增-v引數和乙個版本名稱即可,比如:

(1) 將指定圖層的特定版本備份到備份檔案

sdeexport -o create -l dcxq,shape -f d:dcxq.exp -v verapr -i jerry_oracle -u sde -p sde

此操作將名為jerry_oracle的sde服務(arcsde for oracle8i)內的指定圖層「dcxq」的verapr版本備份到檔案d:dcxq.exp中。

(2) 利用作業系統命令,拷貝備份檔案到目標伺服器上

(3) 將備份檔案恢復至目標rdbms中

sdeimport -o create -l aprdcxq,shape -f d:dcxq.exp -i jerry_sqlsvr -u sde -p sde

此操作將備份檔案恢復到名為jerry_sqlsvr的sde服務(arcsde for sqlserver)中,圖層名為:aprdcxq。

二、 整體空間資料庫的備份和恢復

arcsde空間資料庫的整體備份和恢復,實質上很大程度上是其所在的資料庫或者資料庫物件的備份和恢復問題。當然完整的arcsde資料備份應當還包括dbtune.sde,giomgr.defs,dbinit.sde和services.sde等檔案。

資料庫的備份和恢復有很多種類。在不同的資料庫管理系統中,更是千差萬別。總體上,大都可以分為靜態轉儲和動態轉儲兩個型別。靜態轉儲是在系統中無事務處理時進行的轉儲操作,因而這種方式得到的一定是乙個資料一致性的副本。靜態轉儲的優點是操作簡單,保證資料一致性,但是缺點也很明顯,轉儲操作必須等待使用者事務結束才能進行,而新的事務必須等待轉儲操作結束才能執行,因此會降低資料庫的可用性。動態轉儲是指轉儲操作與使用者事務併發進行,轉儲期間允許資料庫進行訪問和修改操作,它不必等待所有執行的事務結束,也不會影響新事務的執行,但是無法保證副本中的資料正確、有效、完整。所以在動態轉儲期間,往往會建立日誌檔案。後備檔案加上日誌檔案就可以把資料庫恢復到正確的狀態。

ArcSDE操作非空間資料表

大家都知道sde 企業級資料庫中可以儲存空間資料表 featureclass featuredataset 但是還有非空間資料表的操作,下面演示一下讀取非空間資料表中的某乙個值。pproset 是介面ipropertyset物件例項 ifeatureworkspace iiptableworkspa...

ArcSDE 新增空間資料庫連線

我的service檔案已經新增了例項名了,正確的填寫方式是 ok 第一步測試成功 下一步 實際新增乙個空間資料庫連線 如上 填好內容 點選確定,視窗關閉,可我的資料庫連線並沒有新增,why 是不是我填寫的格式還是有問題,網上查了下,有人說可以不填伺服器一項,試試 點選確定,再看左側樹選單 ok 終於...

Sql Server 空間資料

1 地理座標系空間需要用geography 平面座標系空間用geometry,計算距離使用stdistance 字串裡經緯度的順序是 經度 空格 緯度 即 longitude latitude 如果要計算兩個lat lon點之間的實際距離就需要將geometry型別轉成geography型別,不然結...