複製鏈接
請複製以下鏈接發送給好友

系統恢復

鎖定
數據庫資源是企業和社會一種無可替代的財富,數據庫系統恢復在信息時代的今天變得越來越重要。系統恢復是把數據庫由存在故障的狀態轉變為某一已知的無故障狀態的過程。在這一過程實施過程中會得到完全恢復、不完全恢復和無法恢復三種結果。
中文名
系統恢復
外文名
system recovery
學    科
計算機
定    義
故障的狀態轉變為無故障狀態
有關術語
數據庫系統
領    域
數據庫

系統恢復簡介

系統恢復是把數據庫由存在故障的狀態轉變為某一已知的無故障狀態的過程。在數據庫管理系統中,數據庫恢復子系統是其中一個重要的組成部分,而數據庫系統發生故障的原因是多方面的: 人為的和非人為的,事務內部和外部的 ,系統範圍內和系統範圍外的等等因素都可以造成數據庫故障。如: 計算機主板上的芯片不能正常工作,會導致計算機系統不能正常工作,一般不會導致應用和數據的損壞。但如果計算機的硬盤損壞,將會導致數據丟失。特別是當前隨着辦公自動化和電子商務的飛速發展,企業對信息系統的依賴性越來越高,數據庫作為信息系統的核心擔當着重要的角色 。數據庫資源是業和社會一種無可替代的財富,尤其在軍事領域 、銀行、證券等行業,如果發生意外的數據丟失將會危及到國家安全和國民生計。數據庫恢復逐漸被學術界所重視,一個完善的數據庫恢復策略和方案會給社會和企業大大降低人力物力、財力的消耗。

系統恢復數據庫系統

數據庫系統是指在計算機系統中引入數據庫後構成的系統,一般由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員和用户構成。
數據庫系統是一個由硬件、軟件(操作系統、數據庫管理系統和編譯系統等)、數據庫和用户構成的完整計算機應用系統。數據庫是數據庫系統的核心和管理對象。因此,數據庫系統的含義已經不僅僅是一個對數據進行管理的軟件,也不僅僅是一個數據庫,數據庫系統是一個實際運行的,按照數據庫方式存儲、維護和嚮應用系統提供數據支持的系統 [1] 

系統恢復恢復策略

系統恢復備份策略

該策略是把數據庫複製到轉儲設備的過程 。轉儲設備是指用於放置數據庫拷貝的磁帶或磁盤,通常也將存放於轉儲設備中的數據庫的拷貝稱為原數據庫的備份或轉儲。轉儲是十分消耗時間和資源的,不能頻繁進行。備份可分為一致性備份( consistent backup) 和不一致性備份( inconsistentbackup) 兩種 。一般習慣於進行物理備份,物理備份是數據庫文件拷貝的備份,冷備份、熱備份屬於物理備份。冷備份是在數據庫被正常關閉之後進行的數據文件的物理備份 。當數據庫被關閉時,被數據庫使用的每一個文件都被備份下來,這些文件因而保持着數據關閉時的完整的映象。熱備份是在數據庫運行的情況下,採用某種特定的( 如 :archivelog mode) 方式備份數據的方法 。這涉及到將每個表空間設置為備份狀態,然後備份其數據文件,最後將表空間恢復成正常的狀態。數據庫可以從這個備份中完全地恢復過來,也可以通過歸檔的重做日誌回滾到前面時間的任一個點上。

系統恢復重新處理策略

該策略是對事務進行重新處理。儘管重新處理不能精確地恢復到某一點,但都可以回到某個已知點,並從那裏開始重新執行。這類恢復最簡單形式是定期對數據庫進行備份,保持自備份以來所有處理過的事務記錄。這樣在故障發生時,操作員就可以從備份中恢復數據庫 ,重新執行所有事務。在實際應用過程中,卻難以實施。因為一方面,重新處理事務與第一次處理這些事務耗費的時間是一樣的。如果計算機調度繁重,系統就可能永遠執行不完;另一方面,當事務併發處理時,事件不能同時執行。人類活動中的微小變化都可能改變併發事務的執行次序。因此,重新處理很少作為恢復技術在併發系統中使用。

系統恢復前向回滾/後向回滾策略

該策略是採取定期對數據庫進行備份,並保持自備份以來的事務對數據庫的改變。這種方式需要保持事務結果的日誌( log)。回滾段用於存放數據修改之前的值( 包括數據修改之前的位置和值)。回滾段的頭部包含正在使用的該回滾段事務的信息。一個事務只能使用一個回滾段來存放它的回滾信息,而一個回滾段可以存放多個事務的回滾信息。當事務正在處理的時候,回滾段的信息保存在重做日誌文件中。當前回滾段區的所有塊用完而事務還需要更多的回滾空間時,回滾段的指針將移到下一個區。當最後一個區用完, 指針將移到第一個區的前面。當下一個區正在使用時,事務將為回滾段分配一個新的區 , 這種分配稱為回滾段的擴展。回滾段將一直擴展到該回滾段區的個數到達回滾段的參數 MAXEXTENTS 的值時為止。在此過程中,事務存儲點提供了一種機制,用於回滾部分事務。因此,我們可以不必在更新之前檢查更新的有效性 ,而是預設一個存儲點,在更新之後,如果沒有出現錯誤,就繼續執行 ,否則回滾到更新之前的存儲點。存儲點的作用就在於此。更新和回滾代價很大,只有在遇到錯誤的可能性很小,而且預先檢查更新的有效性的代價相對很高的情況下,使用存儲點才會非常有效。在這,DBMS 提供了檢查點( checkpoint) 的機制,它提供了數據庫和事務日誌間的同步點。從某種意義上講,檢查點是一種低代價操作。

系統恢復數據庫鏡像策略

該策略一般是根據 DBA 要求,自動把整個數據庫或其中之一的關鍵數據複製到另一個磁盤上。當主數據庫更新時,DBMS 自動把更新後的數據庫或其中的關鍵數據複製過去,始終使鏡像數據和主數據保持一致性。出現故障時,可由鏡像磁盤繼續提供使用,同時 DBMS 自動利用鏡像磁盤數據進行數據庫的恢復。由於數據鏡像是通過複製數據實現的,頻繁地複製數據會降低系統運行效率。因此,在實際應用過程中,只選擇對關鍵數據和日誌文件鏡像,而不是對整個數據庫進行鏡像。一般來講,該策略主要針對介質故障( 介質故障是對系統影響最為嚴重的一種故障) 。

系統恢復方式

系統恢復事前預測規範

事前防範主要通過數據隔離、加密、過濾、管理、備份等技術,加強整個網絡數據庫的健壯性。事前預測規範也是建立在”冗餘”原理基礎上的,這種冗餘主要體現在資源的消耗和大量的前期工作。如在數據庫應用前做好數據庫的標準化和規範工作,建立數據備份冗餘途徑 ,制訂預防數據庫損壞的備份方案等等。在設備可靠性方面,可以採取熱插拔、熱備份,同時設備的交換網絡、路由處理系統等所有關鍵部件採用冗餘熱備份設計,滿足網絡對設備高可靠性的要求。在數據庫組網設計時,在骨幹節點採取雙機備份等方式進行環網自愈保護,接入骨幹傳輸網的鏈路可採取雙歸鏈路等設計進行環網自愈保護,從組網角度避免單網點故障。另外,還可採用備份中心技術,為路由器上的任意接口提供備份接口,路由器上的任一接口可以作為其它接口( 或邏輯鏈路)的備份接口,可對接口上的某條邏輯鏈路提供備份。通過靈活的備份機制及完善的技術,可以充分利用備份資源,確保網絡互聯互通的可靠性。以上列舉的有效防範措施不僅能減少數據庫的損壞,更重要的在發生相應故障時能儘可能降低恢復成本,最大限度地達到完全恢復的效果 [2] 

系統恢復事中監測預警

事中監測預警是指在數據庫應用過程中,監測各個數據傳遞和處理過程,監測各個軟硬件數據處理的性能等等從而達到有效預警效果。在這種情況下,數據庫在運行,但是在運行時能監測到部分數據的不正確,從而發現問題及時進行採取有效措施使數據損壞降低到最小範圍。在此機制下,相應的數據信息反饋能獲取可能發生的問題大小和範圍,為下一步工作提供有效的信息支持,以便做好相應的補救工作。如在數據庫網絡中可以通過建立數據庫網絡的數量龐大動態發現、動態拓撲生成、自動配置的功能,從而降低網絡數據庫恢復的工作量,提高數據庫系統恢復工作效率。

系統恢復事後彌補核實

事後彌補核實是在數據庫發生損壞後,進行數據庫恢復,盡力進行補救工作。在數據庫恢復過程中必須採取各種措施進行合理組合,力爭以最大限度和最有效的方式進行數據庫恢復。比如,日誌記錄等功能就是一個非常良好的追溯手段,在出現問題時可以根據記錄迅速查找源頭,防止事態進一步擴大。日誌記錄僅限於在應用層的服務器,在網絡數據庫中必須提供在網絡級做日誌記錄的能力,可以定位到端口,從而確定物理地點與時間,將會給後期進一步查明真相帶來很大的幫助。數據庫恢復後必須進行有效核實,抽查關鍵數據進行核對,確保恢復效果。
參考資料
  • 1.    吳衝龍.地質信息技術基礎[M].清華大學出版社,2008.8.
  • 2.    王轉利.關於數據庫系統恢復的探討[J]. 計算機與數字工程,2005( 3):31-33