11.4 數(shù)據(jù)轉(zhuǎn)儲
1、 數(shù)據(jù)轉(zhuǎn)儲—指數(shù)據(jù)庫管理員(DBA)定期拷貝數(shù)據(jù)庫,并將拷貝得到的數(shù)據(jù)庫放到其他介質(zhì)中的過程。
2、 DBA可在數(shù)據(jù)庫系統(tǒng)發(fā)生故障后,利用這些副本恢復(fù)數(shù)據(jù)庫,但此時恢復(fù)的數(shù)據(jù)庫只能回到轉(zhuǎn)儲時的狀態(tài),要想恢復(fù)到故障前的狀態(tài),需要參考日志文件,重新運行轉(zhuǎn)儲后到故障前的所有事務(wù)才可以;
3、 靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲
(1) 靜態(tài)轉(zhuǎn)儲:在靜態(tài)轉(zhuǎn)儲過程中系統(tǒng)不能運行其他事務(wù),不允許在轉(zhuǎn)儲期間對數(shù)據(jù)庫的任何存取、修改活動。
(2) 動態(tài)轉(zhuǎn)儲:允許轉(zhuǎn)儲操作和用戶事務(wù)并發(fā)執(zhí)行;
(3) 靜態(tài)轉(zhuǎn)儲雖然保證了數(shù)據(jù)的有效性,但卻是以降低數(shù)據(jù)庫的可用性為代價;而動態(tài)轉(zhuǎn)儲雖然提高了數(shù)據(jù)庫的可用性,但數(shù)據(jù)庫的有效性卻得不到保證。
(4) 為了能保證數(shù)據(jù)的有效性,而又不降低可用性,就需要引入日志文件,用它記錄轉(zhuǎn)儲期間各事務(wù)對數(shù)據(jù)庫的修改活動,然后使用動態(tài)轉(zhuǎn)儲的備份副本加上日志文件就可將數(shù)據(jù)庫恢復(fù)到某一時刻的正確狀態(tài)。
3、 幾種數(shù)據(jù)轉(zhuǎn)儲機制
(1) 完全轉(zhuǎn)儲:對所有數(shù)據(jù)庫進(jìn)行備份,需占用較多時間和空間,可作為系統(tǒng)失敗時恢復(fù)數(shù)據(jù)庫的基礎(chǔ);
(2) 增量轉(zhuǎn)儲:只復(fù)制上次備份后變化的文件;
(3) 差量轉(zhuǎn)儲:對最近一次數(shù)據(jù)庫完全備份以來發(fā)生的數(shù)據(jù)變化進(jìn)行備份,優(yōu)點是速度快,占用較少的時間和空間。
4、 多種轉(zhuǎn)儲方法結(jié)合使用
(1) 僅采用完全轉(zhuǎn)儲;
(2) 完全轉(zhuǎn)儲加增量轉(zhuǎn)儲;
(3) 完全轉(zhuǎn)儲加差量轉(zhuǎn)儲
11.5 登記日志文件
11.5.1 日志文件的格式和內(nèi)容
日志文件是記錄每個事務(wù)對數(shù)據(jù)庫更新操作的文件,數(shù)據(jù)庫系統(tǒng)在運行過程中,DBMS負(fù)責(zé)將所有事務(wù)的更新操作登記到日志文件中,也就是說日志文件是系統(tǒng)自動維護(hù)的。
1、以記錄為單位的日志文件:其內(nèi)容包括每個事務(wù)的開始標(biāo)記、結(jié)束標(biāo)記和所有更新操作;每個日志記錄的內(nèi)容包括:事務(wù)標(biāo)識、操作類型、操作對象、更新前數(shù)據(jù)的舊值,和更新后數(shù)據(jù)的新值;
2、數(shù)據(jù)塊為單位的日志文件:將更新前的整個數(shù)據(jù)塊和更新后的整個數(shù)據(jù)塊全部放在了日志文件中;
11.5.2 日志文件的作用
1、事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù)必須使用日志文件
(1)故障恢復(fù)的兩個基本操作:UNDO和REDO
(A) UNDO的作用是撤銷事務(wù),具體步驟:
(a) 反向掃描日志文件,找到需要撤銷的事務(wù)的更新操作;
(b) 對事務(wù)的更新操作執(zhí)行逆操作;
(c) 繼續(xù)反向查找該事務(wù)的其他更新操作,并執(zhí)行相應(yīng)的逆操作;
(d) 重復(fù)執(zhí)行步驟(C),直至遇到該事務(wù)開始記錄。
(B) REDO的作用是重做事務(wù),具體步驟:
(a) 正向掃描日志文件,找到需要重做的事務(wù)的更新操作;
(b) 對事務(wù)重新執(zhí)行日志文件登記的操作,即將日志文件中“更新后的值”寫入數(shù)據(jù)庫;
(c) 繼續(xù)正向查找該事務(wù)的其他更新操作,并重新執(zhí)行,將日志文件中“更新后的值”寫入數(shù)據(jù)庫;
(d) 重復(fù)執(zhí)行步驟(C),直至遇到該事務(wù)的提交記錄。
(1) 事務(wù)故障恢復(fù):只需把相應(yīng)的事務(wù)作撤銷UNDO即可;
(2) 系統(tǒng)故障恢復(fù):
(A) 正向掃描日志文件,找到系統(tǒng)故障前發(fā)生的所有事務(wù),如果該事務(wù)沒有完成,將其事務(wù)標(biāo)記加入撤銷隊列,如果該事務(wù)已經(jīng)完成,則將其事務(wù)標(biāo)記加入重做隊列;
(B) 對撤銷隊列中的所有事務(wù)作撤銷操作UNDO;
(C) 對重做隊列中的所有事務(wù)作重做操作REDO。
2、在動態(tài)轉(zhuǎn)儲方式中必須建立日志文件
1、 在靜態(tài)轉(zhuǎn)儲方式中,也可以建立日志文件
相關(guān)推薦:2010年9月計算機等級考試精華備考資料匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |