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

DB2 9 數據庫恢復簡介。

編輯:DB2教程
var alimama_pid="mm_10096109_566393_892186"; var alimama_titlecolor="0000FF"; var alimama_descolor ="000000"; var alimama_bgcolor="FFFFFF"; var alimama_bordercolor="E6E6E6"; var alimama_linkcolor="008000"; var alimama_bottomcolor="FFFFFF"; var alimama_anglesize="0"; var alimama_bgpic="0"; var alimama_icon="0"; var alimama_sizecode="11"; var alimama_width=760; var alimama_height=90; var alimama_type=2; 


一個不錯的博客,東東還多些!http://onlyzq.cnblogs.com 


數據庫日志
  DB2 數據庫支持兩種不同的日志模式:循環(Circular)和歸檔(Archival)。當新數據庫創建時,系統默認的日志模式為循環。如果業務需求要求更高級的功能,您可以將日志模式從循環修改為歸檔。
  DB2 事務日志摘要
  事務是邏輯工作單元。每一個事務在事務日記文件中都存儲有相應的日志記錄。每個事務都有一個相應的 Redo Log 條目。Redo Log 條目將寫入當前的活動日志文件。當活動日志文件變滿時,它將被標記為 unavailable。此時,DB2 將接著此活動日志文件另外創建一個日志文件,並繼續在其中寫入日志條目。當前活動日志文件變滿時,DB2 將重復這一循環過程。當事務完成後(發起 COMMIT 或 ROLLBACK 語句),相應的日志條目將被釋放,因為不再需要將它們用於恢復數據庫。
  DB2 將一直嘗試將日志條目寫入主要日志文件集,也就是數據庫活動時間自動分配的日志文件。如果某個事務將所有主要日志文件消耗怠盡(所有主要日志文件都被標記為 unavailable),則數據庫管理員將分配一個次要日志文件。當這個文件變滿時,數據庫管理員將再次檢查主要日志文件的狀態是否為 unavailable。如果是,則再分配一個次要日志文件並繼續在其中寫入條目。該過程將不斷重復,直到所有次要日志文件都分配並寫滿。如果沒有主要日志文件可供寫入 Redo 條目,並且已經分配最大數量的次要日志文件,則應用程序將收到以下錯誤消息:
  SQL0964C The transaction log for the database is full.
  希望您曾經遇到過這種錯誤。但是,如果遇到此錯誤,則應該根據需要增加主要和次要日志文件(或者它們的大小)的數量。在理想情況下,主要日志文件的數量或大小應該足夠保存最大的事務。分配次要日志文件相當消耗資源,因為它將在運行時執行。因此,我們應該將需要在高峰工作負荷期間分配的次要日志文件數量降到最低。要更新主要或次要日志文件的數量,可以發起以下命令:
  UPDATE DB CFG FOR db_name USING LOGPRIMARY value
  UPDATE DB CFG FOR db_name USING LOGSECOND value
  注意:如果出現此問題,則應該分析造成整個日志文件空間變滿的原因是什麼。它可能是由失控查詢或用戶錯誤造成的,因此增加日志文件的數量或大小只能在表面上解決問題。比如說,假設某個用戶發起了一個 DELETE FROM tab1 語句,且 TAB1 是一個相當大的表。雖然這一語句看上去沒什麼問題,每行生成一條刪除日記記錄,但是如果未經過配置處理它可以輕易地將日志空間填滿。
  循環日志
  當循環日志生效時,事務數據將通過循環的方式寫入主要日志文件。當存儲於某個日志文件中的所有記錄都不再需要用於恢復時,該日志文件將被重用,並且可以在以後再次成為活動日志文件。這意味著在循環日志模式中,日志文件的內容最終將被新日志條目重寫。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved