程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 解析DB2數據庫恢復概念

解析DB2數據庫恢復概念

編輯:DB2教程

DB2數據庫恢復是怎樣的呢?如果您是個初學者,下面的內容將會幫到你很大的忙。那麼就由我帶領大家進入DB2數據庫恢復的世界。

恢復場景

您永遠也無法知道您的系統何時會碰到災難或故障。因此最好早作准備,不但要防止數據受到外部因素的影響,也要防止內部用戶無意中用不正確的信息破壞您的數據庫。

您有備份您的數據庫嗎?您能夠恢復執行到最後一秒的所有事務嗎?

為了盡量減少丟失的數據,需要有一個恢復策略,確保這個恢復策略可行,並不斷地加以演練。您應該考慮以下一些恢復場景:

恢復策略

為了制定恢復策略,應該問一問自己下面這些問題:

事務

一個工作單元(UOW),也稱一個事務,由一條或多條 SQL 語句組成,最後是一條 COMMIT 或 ROLLBACK 語句。這個 UOW 中的所有語句被看作一個單元,以確保數據的一致性。例如,一個客戶試圖將 100 美元從一個儲蓄帳戶轉到一個支票帳戶。在這種情況下,UOW 是這樣的:

DELETE 100 dollars from SAVINGS account

INSERT 100 dollars to CHECKING account

COMMIT

如果這些語句沒有被當作一個單元,那麼可以想像一下,如果在 DELETE 之後、INSERT 語句之前出現硬件故障,會出現什麼情況:這個客戶將丟失 100 美元。但是,如果將這些語句當作一個單元,就不會發生這樣的事情。DB2 將知道這個單元沒有完成(COMMIT),因此它將回滾之前的語句作出的所有更改,並將受影響的行返回到事務開始之前的狀態。

沒有語句用於標識一個事務的開始。COMMIT 或 ROLLBACK 之後的語句將開始一個新的事務。

恢復的類型

我們來熟悉一下恢復類型方面的概念。DB2 允許以下類型的恢復:

1、緊急事故恢復

通過撤銷(回滾)未提交的事務,使處於不一致狀態的數據庫恢復到一致狀態。再次考慮前一屏中的例子。如果在 COMMIT 語句之前出現停電事故,則下一次 DB2 重新啟動並訪問數據庫時,DB2 將首先回滾 INSERT 語句,然後回滾 DELETE 語句。(回滾的語句的順序與這些語句當初執行的順序相反。)

  2、版本恢復

允許使用從 BACKUP 命令獲得的一個備份鏡像恢復前一個版本的數據庫。被恢復的數據庫將包含關於當執行 BACKUP 命令時該數據庫所處狀態的信息。如果在備份之後又執行了新的活動,則該信息將丟失。

  3、前滾恢復

這種恢復結合使用完整的數據庫備份和日志文件,從而擴展了版本恢復。在使用一個備份作為基准之前,必須首先存儲這個備份,然後在該備份上應用日志。這個過程允許將數據庫或表空間恢復到某個特定的時間點上。前滾恢復要求啟用歸檔日志記錄 。在 日志記錄類型 中對歸檔日志記錄作了討論。
 

總結:

1.在進行DB2異地DB2數據庫恢復的時候,已經要先建好相應的目錄,數據文件目錄,日志目錄,歸檔日志目錄。

2.在操作失敗需要查看日志時候,盡量想辦法去看老日志,因為重新操作,再實時看日志,雖然比較明朗,但是需要花費更多的時間。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved