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

來源:互聯網
上載者:User

隨著GIS應用系統在複雜性、整合性、並發性等方面的要求不斷增加,系統所需的空間資料量在急劇地增長,同時使用者對空間資料並發訪問的需求也越來越突出。以傳統的檔案形式儲存和表示空間資料的方法顯然已經無法滿足這些需求。由於ArcSDE本身所具有的海量資料存放區、多使用者並發訪問、版本管理、長交易處理等強大優勢,在GIS應用系統中引入ArcSDE作為空白間資料存放區和管理引擎,變得越來越普遍。ArcSDE作為空白間資料庫引擎,在ArcGIS 8.1系列軟體中屬於伺服器端的產品,在整個產品架構中,處於資料中心的重要地位,它利用Oracle、DB2、SQL Server、Informix等關係型資料庫在資料存放區、資料完整性等方面的先進技術手段,將海量空間資料(包括向量資料和柵格資料)有機地組織和管理起來,通過其內部非同步緩衝、空間索引等先進的機制,提供對空間資料的多使用者高效並發訪問。

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

在採用檔案形式空間資料的時代,空間資料的備份僅僅是作業系統中的檔案拷貝、備份和歸檔的過程;而空間資料的恢複也不過是複製、覆蓋的操作;在基於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等檔案。

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

1. Oracle資料庫
(1) 兩種歸檔模式(archive MapObjectde)
Oracle有兩中歸檔模式:NO ARCHIVELOG和ARCHIVELOG。在NO ARCHIVELOG模式(該模式為預設模式)下的資料庫操作不歸檔線上日誌重做檔案。當儲存介質損壞時,NO ARCHIVELOG模式的資料庫只能恢複到上一次的備份點上。ARCHIVELOG模式的資料庫可以通過上一次的備份和歸檔日誌重做檔案相結合的方式,恢複到介質損壞之前的點上。 編輯:GIS教程網

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.