邱會群
(浙江華電烏溪江水力發電有限公司,浙江衢州,324000)
關鍵字:Oracle數據庫系統;備份與恢復技術;恢復管理器;RMAN
Oracle數據庫系統進行所有文檔數據的備份時,常用三種不同的備份方法,它們依次為:邏輯備份、物理備份以及聯機備份。對于邏輯備份而言,主要借助Oracle中的導入導出程序,將Oracle數據庫中需要備份的文檔數據或者所有選中備份對象的元數據導出,然后再將導出的備份數據導入OS文件中;對于物理備份而言,備份對象主要為系統中的物理文件;對于聯機備份而言,備份過程主要是借助RMAN完成Oracle數據庫中的物理備份。
邏輯備份通過Oracle Export工具把系統中需要備份的對象導出,將其存儲在OS文件中,當Oracle數據庫系統需要用到備份數據時,就可通過Oracle Import工具把備份數據重新導進。因此邏輯備份主要有以下工作:第一,數據庫導出,使用了Export程序來識別備份對象,將其轉化成二進制文件的形式存入到OS文件中,OS文件則可以以指定用戶和指定表的形式導出,導出數據文件時需要考慮導出權限以及約束條件;第二,數據庫導入,首先需要識別數據庫中的二進制文件,再將其恢復導入到Oracle數據庫系統中,因此,數據庫導入程序和導出程序息息相關,一旦導出程序中選取的是增量更新模式,導入程序應該匹配足夠的表空間容量和數據文件。
物理備份主要有熱備份和冷備份,Oracle數據庫中最簡單的備份方式為冷備份,只需要使用系統中的備份工具,或者借助外界備份軟件完成文檔數據的備份,但是備份過程中數據庫處于關閉的狀態,并且無法實現點恢復功能。熱備份能夠完成數據庫運行過程的數據備份,也具備點恢復功能,但是整體操作難度系數較大,同時數據庫測試起來也很復雜,備份文件的打開需要使用專門的拷貝工具,從而加大了數據系統開銷。
聯機備份從數據備份的策略角度可分為完全備份、差異備份和增量備份。對于完全備份而言,主要對Oracle數據庫系統中的數據使用完整備份的形式,備份過程可以直接忽略未曾使用過的數據文件,并且進行完全備份不會干擾到后續的增量備份;對于差異備份而言,備份對象必須為前面進行完全備份的數據,并且數據文件在完全備份遭到修改,對應的數據恢復周期短、恢復數據文件少,僅需要上次完全備份文件和最后進行差異備份的文件,但是備份周期長;對于增量備份而言,和差異備份的對象相似,但是也會對增量備份過程中遭到修改的文件進行備份,使得備份周期短、備份文件容量小,相應的Oracle數據庫恢復難度大,而且數據極容易受損。
RMAN是Oracle數據庫中恢復管理器特有的工具程序,主要完成Oracle數據庫的備份和恢復工作。RMAN進行數據的備份與恢復操作時,數據庫必須處于運行的狀態。因此,RMAN不會將修改后的數據文件儲存到全新的數據文件中,也不會影響到Oracle數據庫系統的正常運行。
RMAN和Oracle數據庫連接有下面幾種:一,RMAN和執行操作程序對象的數據庫連接,完成后續的RMAN備份和RMAN恢復;二,RMAN和恢復數據庫連接,可以儲存RMAN進行備份和恢復的日志信息。RMAN執行數據備份和數據恢復操作程序時,應該分配好對應的通道,使得分配好的通道能夠和RMAN完美銜接,不同通道對應的I/O設備也有所不同。目前常用的通道配置有手動通道配置和自動通道配置,前者通過執行RUN指令完成通道配置,還可以執行BACKUP指令完成多個通道的配置;系統不存在手動配置通道時,Oracle數據庫中的恢復管理器就執行自動通道配置,其中CONFIGURE DEVICE TYPE 指令完成通道個數的配置。
RMAN備份既可以是完全備份,也可以是增量備份,但是兩者區別在于完全備份包括了數據庫中所有備份的數模塊,增量備份的對象為完全備份過程中修改后的數據文件。因此,當執行RMAN備份操作時,增量備份必須選用匹配的RMAN通道,RMAN備份對象和物理備份一致,包括了系統中的所有物理文件。RMAN備份能夠自行形成備份日志,使得RMAN備份可以輕松執行定時備份,并且備份過程中沒有人為因素干擾,大大提高了備份工作的質量和效率,但是RMAN備份的數據的恢復只能借助RMAN,同時RMAN難以完成操作系統文件的備份,多個備份信息不能同時存在同一控制文件,增加了Oracle數據庫系統的開銷。
Oracle數據庫執行RMAN恢復操作時,主要有以下操作流程:第一,必須安裝同一版本的Oracle服務器軟件,減少軟件版本不同影響MAN恢復操作的正常運行;第二,測試的環境變量以及變量的選定應該相匹配,比如“export ORACLE_SID=test”必須對應好;第三,創建的RMAN恢復文件和恢復目錄必須對照好安裝的Oracle服務器,文件信息都可以在RMAN備份的文件中查看;第四,復制以及存儲的RMAN備中的文檔信息必須正確對應Oracle數據庫中恢復管理器,尤其要注意RMAN備份文件存儲的路徑,減少不必要的數據損傷和丟失;第五,RMAN恢復Oracle數據庫時,注意運算符和操作指令的級別。針對不同類型的恢復采取的操作指令也不同,進行一致性恢復時應該選用RESRORE和RECOVER指令。
介質恢復是Oracle數據庫中使用最多的恢復形式,主要分為完全恢復和不完全恢復兩種類型。前者主要將Oracle數據庫重新恢復到備份之前的狀態,可以使用增量備份或者更換數據日志的方式,使得數據塊能夠達到原有得最佳時間點;后者主要將Oracle數據庫恢復到和之前不同版本的狀態,恢復數據庫對象為部分介質損壞、用戶使用不當引起的數據損壞和丟失以及歸檔文件和控制文件丟失等,必須注意不完全恢復的核心:不完全恢復針對的是整個Oracle數據庫,無法對部分Oracle數據庫單獨執行恢復操作。
實例恢復對象主要為斷電斷網、計算機硬件設備出現故障、計算機操作系統不靈等引起的數據損壞和數據丟失,所以在實例恢復中需要識別數據庫中已經緩存的數據,并將其存儲到數據文件中,從而使得數據庫的可靠性和一致性有保障,所有恢復流程都是數據庫操作系統自行實現。因此,聯機備份中的日志和數據文件可以選用實例恢復,實例恢復分為Rolling Forward和Rolling Back兩個階段。
Oracle數據庫系統存在較多不確定因素使得數據損壞和丟失,數據的備份與恢復技術就顯得尤為關鍵,能夠顯著的改善Oracle數據庫運行的完整性和可靠性。本文詳細的闡述的物理備份、邏輯備份以及聯機備份的優勢和不足,在進行數據備份時選擇合理的備份方式,同時正確區分實例恢復和介質恢復的對象,使得Oracle數據庫安全可靠的運行。