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