国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

2017年計(jì)算機(jī)等級(jí)考試四級(jí)數(shù)據(jù)庫工程師復(fù)習(xí)(11)

時(shí)間:2017-02-16 15:16:00   來源:無憂考網(wǎng)     [字體: ]

  第11章 故障管理

  11.1 事務(wù)

  1、事務(wù)是數(shù)據(jù)庫的邏輯控制單位,是操作數(shù)據(jù)的一個(gè)程序執(zhí)行單元。

  2、為了保證數(shù)據(jù)的完整性,要求數(shù)據(jù)庫系統(tǒng)維護(hù)事務(wù)具有如下性質(zhì):

  (1) 原子性:事務(wù)是一個(gè)不可分割的工作單位,事務(wù)中的操作要么都做,要么都不做;

  (2) 一致性:事務(wù)執(zhí)行的結(jié)果必須使數(shù)據(jù)庫從一個(gè)一致的狀態(tài)變到另一個(gè)一致的狀態(tài);

  (3) 隔離性:一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)于其他并發(fā)事務(wù)是隔離的;

  (4) 持續(xù)性:一個(gè)事務(wù)提交后,它對(duì)數(shù)據(jù)庫中數(shù)據(jù)的改變是永久性的,即使系統(tǒng)可能出現(xiàn)故障,也不會(huì)對(duì)其它執(zhí)行的結(jié)果有任何影響。

  11.2 故障的種類及解決方法

  11.2.1 事務(wù)內(nèi)部故障

  1、預(yù)期的事務(wù)內(nèi)部故障:

  通過事務(wù)程序本身發(fā)現(xiàn)的事物內(nèi)部故障,可以通過將事務(wù)回滾,撤銷其對(duì)數(shù)據(jù)庫的修改,從而使數(shù)據(jù)庫回到一致性的狀態(tài);

  2、非預(yù)期的事務(wù)內(nèi)部故障:

  (1)由于事務(wù)內(nèi)部故障大部分屬于此類,所以事務(wù)故障僅限指此類故障;

  (2)事務(wù)故障表明事務(wù)沒有提交或撤銷就結(jié)束了,因此數(shù)據(jù)庫可能處于不正確的狀態(tài),因此,恢復(fù)事務(wù)必須強(qiáng)行回滾事務(wù),在保證該事務(wù)對(duì)其他事務(wù)沒有影響的條件下,利用日志文件撤銷其對(duì)數(shù)據(jù)庫的修改,使數(shù)據(jù)庫恢復(fù)到該事務(wù)運(yùn)行之前的效果;

  (3)事務(wù)故障恢復(fù)是由系統(tǒng)自動(dòng)完成的,對(duì)用戶是透明的。

  11.2.2 系統(tǒng)故障(軟故障)

  1、指數(shù)據(jù)庫在運(yùn)行過程中,由于硬件故障、數(shù)據(jù)庫軟件及操作系統(tǒng)的漏洞、突然停電等情況,導(dǎo)致系統(tǒng)停止運(yùn)轉(zhuǎn),所有正在運(yùn)行的事務(wù)以非正常方式終止,需要系統(tǒng)重新啟動(dòng)的一類故障;

  2、系統(tǒng)故障導(dǎo)致內(nèi)存中的內(nèi)容丟失,而在硬盤上的內(nèi)容仍然完好;從而導(dǎo)致數(shù)據(jù)庫的數(shù)據(jù)可以處于不正確的狀態(tài);

  3、要消除這些事務(wù)對(duì)數(shù)據(jù)庫的影響,保證數(shù)據(jù)庫中數(shù)據(jù)的一致性,辦法就是在計(jì)算機(jī)系統(tǒng)重新啟動(dòng)后,對(duì)于未完成的事務(wù)可能已經(jīng)寫入數(shù)據(jù)庫的內(nèi)容,回滾所有未完成的事務(wù)寫的結(jié)果,以保證數(shù)據(jù)庫中數(shù)據(jù)的一致性;對(duì)于已完成的事務(wù)可能部分或全部留在緩存區(qū)的結(jié)果,需要重做所有已提交的事務(wù),以將數(shù)據(jù)庫真正恢復(fù)到一致狀態(tài)。

  4、一句話,當(dāng)數(shù)據(jù)庫發(fā)生系統(tǒng)故障時(shí),容錯(cuò)對(duì)策是在重新啟動(dòng)系統(tǒng)后,撤銷(UNDO)所有未提交的事務(wù),重做(REDO)所有已提交的事務(wù)。

  11.2.3 介質(zhì)故障(硬故障)

  1、指數(shù)據(jù)庫在運(yùn)行過程中,由于磁盤損壞、天災(zāi)****等情況,使用數(shù)據(jù)庫中的數(shù)據(jù)部分或全部丟失的一類故障;

  2、介質(zhì)故障的容錯(cuò)對(duì)策采用兩種方式:

  (1)軟件容錯(cuò):

  是使用數(shù)據(jù)庫備份及事務(wù)日志文件,通過恢復(fù)技術(shù),恢復(fù)數(shù)據(jù)庫到備份結(jié)束時(shí)的狀態(tài);

  (2)硬件容錯(cuò):

  目前常用的方法是采用雙物理存儲(chǔ)設(shè)備,最完全的方式是設(shè)計(jì)兩套相同的數(shù)據(jù)庫系統(tǒng)同時(shí)工作,數(shù)據(jù)的變化也同步,空間有一定距離,這樣當(dāng)發(fā)生損壞性的自然現(xiàn)象時(shí),由于兩套數(shù)據(jù)庫系統(tǒng)具有空間距離,因此同時(shí)發(fā)生破壞的概率幾乎為零,達(dá)到數(shù)據(jù)庫的完全安全。

  11.2.4 計(jì)算機(jī)病毒故障

  1、計(jì)算機(jī)病毒是一種惡意的計(jì)算機(jī)程序,在對(duì)計(jì)算機(jī)系統(tǒng)造成破壞的同時(shí)也可對(duì)數(shù)據(jù)庫系統(tǒng)造成破壞(主要破壞數(shù)據(jù)庫文件);

  2、可以通過設(shè)立防火墻預(yù)防,殺毒軟件查殺已感染的文件和數(shù)據(jù)庫備份來解決;

  11.3 數(shù)據(jù)庫恢復(fù)技術(shù)概述

  1、 恢復(fù)機(jī)制涉及兩個(gè)關(guān)鍵問題:

  (1) 如何建立冗余數(shù)據(jù);

  (2) 如何利用這些冗余數(shù)據(jù)實(shí)施數(shù)據(jù)庫恢復(fù)。

  2、 最常用的建立冗余數(shù)據(jù)技術(shù)是數(shù)據(jù)備份和登錄日志文件,他們通常是結(jié)合起來使用的。

  11.4 數(shù)據(jù)轉(zhuǎn)儲(chǔ)

  1、 數(shù)據(jù)轉(zhuǎn)儲(chǔ)—指數(shù)據(jù)庫管理員(DBA)定期拷貝數(shù)據(jù)庫,并將拷貝得到的數(shù)據(jù)庫放到其他介質(zhì)中的過程。

  2、 DBA可在數(shù)據(jù)庫系統(tǒng)發(fā)生故障后,利用這些副本恢復(fù)數(shù)據(jù)庫,但此時(shí)恢復(fù)的數(shù)據(jù)庫只能回到轉(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ù)庫的任何存取、修改活動(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ù)庫的可用性為代價(jià);而動(dòng)態(tài)轉(zhuǎn)儲(chǔ)雖然提高了數(shù)據(jù)庫的可用性,但數(shù)據(jù)庫的有效性卻得不到保證。

  (4) 為了能保證數(shù)據(jù)的有效性,而又不降低可用性,就需要引入日志文件,用它記錄轉(zhuǎn)儲(chǔ)期間各事務(wù)對(duì)數(shù)據(jù)庫的修改活動(dòng),然后使用動(dòng)態(tài)轉(zhuǎn)儲(chǔ)的備份副本加上日志文件就可將數(shù)據(jù)庫恢復(fù)到某一時(shí)刻的正確狀態(tài)。

  3、 幾種數(shù)據(jù)轉(zhuǎn)儲(chǔ)機(jī)制

  (1) 完全轉(zhuǎn)儲(chǔ):對(duì)所有數(shù)據(jù)庫進(jìn)行備份,需占用較多時(shí)間和空間,可作為系統(tǒng)失敗時(shí)恢復(fù)數(shù)據(jù)庫的基礎(chǔ);

  (2) 增量轉(zhuǎn)儲(chǔ):只復(fù)制上次備份后變化的文件;

  (3) 差量轉(zhuǎn)儲(chǔ):對(duì)最近一次數(shù)據(jù)庫完全備份以來發(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ù)庫更新操作的文件,數(shù)據(jù)庫系統(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ù)庫;

  (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)記加入撤銷隊(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ǔ)方式中,也可以建立日志文件

  11.5.3 登記日志文件的原則

  1、 登記的次序嚴(yán)格按并行事務(wù)執(zhí)行的時(shí)間次序;

  2、 必須先寫日志文件,后寫數(shù)據(jù)庫

  11.6 具有檢查點(diǎn)的恢復(fù)技術(shù)

  11.6.1 檢查點(diǎn)的作用

  檢查點(diǎn)限度地減少數(shù)據(jù)庫完全恢復(fù)時(shí)所必須執(zhí)行的日志部分;

  11.6.2 檢查點(diǎn)的引入

  1、在日志文件中增加一類新的記錄—檢查點(diǎn)記錄,增加一個(gè)“重新開始文件”,并讓恢復(fù)子系統(tǒng)在登錄日志文件期間動(dòng)態(tài)地維護(hù)日志

  2、檢查點(diǎn)記錄的內(nèi)容:

  (1) 建立檢查點(diǎn)時(shí)刻所有正在執(zhí)行的事務(wù)清單;

  (2) 這些事務(wù)最近一個(gè)日志記錄的地址。

  3、“重新開始文件”用來記錄各個(gè)檢查點(diǎn)在日志文件中的地址;

  2、 動(dòng)態(tài)維護(hù)日志文件的方法是周期性地執(zhí)行如下操作:建立檢查點(diǎn)、保存數(shù)據(jù)庫狀態(tài),具體步驟:

  (1) 將當(dāng)前日志緩沖中的所有日志記錄寫入磁盤的日志文件上;

  (2) 在日志文件中寫入一個(gè)檢查點(diǎn)記錄;

  (3) 將當(dāng)前數(shù)據(jù)緩沖的所有數(shù)據(jù)記錄寫入磁盤的數(shù)據(jù)庫中;

  (4) 把檢查點(diǎn)記錄在日志文件中的地址寫入一個(gè)“重新開始文件”;

  3、 恢復(fù)子系統(tǒng)可以定期或不定期地建立檢查點(diǎn)來保存數(shù)據(jù)庫狀態(tài);

  4、 使用檢查點(diǎn)方法可以改善恢復(fù)效率,事務(wù)在檢查點(diǎn)前已經(jīng)提交,則不必執(zhí)行REDO操作。

  11.6.3 恢復(fù)的步驟

  1、 從“重新開始文件”中找到最后一個(gè)檢查點(diǎn)記錄在日志文件中的地址,由該地址在日志文件中找到最后一個(gè)檢查點(diǎn)記錄;

  2、 由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時(shí)刻所正在執(zhí)行的事務(wù)清單,需要執(zhí)行UNDO操作的事務(wù)建立UNDO隊(duì)列,需要執(zhí)行REDO操作的事務(wù)建立REDO隊(duì)列;

  3、 從檢查點(diǎn)開始正向掃描日志文件,如有新開始的事務(wù),則放入U(xiǎn)NDO隊(duì)列,如有提交事務(wù),則放入REDO隊(duì)列;

  4、 對(duì)UNDO隊(duì)列中的每個(gè)事務(wù)執(zhí)行UNDO操作,對(duì)REDO隊(duì)列中的事務(wù)進(jìn)行REDO操作。

  11.7 數(shù)據(jù)庫鏡像

  11.7.1 數(shù)據(jù)庫鏡像的引入

  為了避免介質(zhì)故障對(duì)數(shù)據(jù)庫可用性的影響,許多數(shù)據(jù)庫系統(tǒng)都提供了數(shù)據(jù)庫鏡像的功能

  11.7.2 數(shù)據(jù)庫鏡像簡介

  1、 數(shù)據(jù)庫鏡像是一種用于提高數(shù)據(jù)庫可用性的解決方案,它根據(jù)DBA要求,自動(dòng)把整個(gè)數(shù)據(jù)庫或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個(gè)磁盤中。

  2、 數(shù)據(jù)庫鏡像的優(yōu)點(diǎn):

  (1) 數(shù)據(jù)庫鏡像提供完整或接近完整的數(shù)據(jù)冗余,增強(qiáng)數(shù)據(jù)保護(hù)功能;

  (2) 發(fā)生災(zāi)難時(shí),數(shù)據(jù)庫鏡像可快速使數(shù)據(jù)庫的備用副本提供服務(wù),使數(shù)據(jù)不會(huì)丟失,提高數(shù)據(jù)庫的可用性;

  (3) 提高鏡像數(shù)據(jù)庫在升級(jí)期間的可用性。

  11.7.3 數(shù)據(jù)庫鏡像分類

  1、 雙機(jī)互備援模式:就是兩臺(tái)主機(jī)均為工作機(jī),兩臺(tái)工作機(jī)均為信息系統(tǒng)提供支持,并互相監(jiān)視對(duì)方的運(yùn)行情況,當(dāng)一臺(tái)主機(jī)出現(xiàn)異常時(shí),另一主機(jī)則主動(dòng)接管異常機(jī)的工作,保證信息系統(tǒng)能夠不間斷運(yùn)行。工作機(jī)的切換時(shí)機(jī):

  (1) 系統(tǒng)軟件或應(yīng)用軟件造成服務(wù)器宕機(jī);

  (2) 服務(wù)器沒有宕機(jī),系統(tǒng)軟件或應(yīng)用軟件工作不正常;

  (3) SCSI卡損壞,造成服務(wù)器與磁盤陳列無法存取數(shù)據(jù);

  (4) 服務(wù)器內(nèi)硬件損壞,造成服務(wù)器宕機(jī);

  (5) 服務(wù)器不正常關(guān)機(jī)

  2、雙機(jī)熱備份模式:一臺(tái)主機(jī)為工作機(jī),另一臺(tái)主機(jī)為備份機(jī),在系統(tǒng)正常運(yùn)行的情況下,工作機(jī)為信息系統(tǒng)提供支持,備份機(jī)監(jiān)視工作機(jī)的運(yùn)行情況。當(dāng)工作機(jī)異常時(shí),備份機(jī)主動(dòng)接管工作機(jī)工作,從而保證信息系統(tǒng)不間斷提供服務(wù)。

  11.7.4 工作方式

  1、 在“數(shù)據(jù)庫鏡像會(huì)話”中,主體服務(wù)器和鏡像服務(wù)器作為“伙伴”進(jìn)行通信和協(xié)作。這兩個(gè)伙伴在會(huì)話中扮演互補(bǔ)的角色:“主體角色”和“鏡像角色”,擁有主體角色的稱為“主體服務(wù)器”,擁有鏡像角色的稱為“鏡像服務(wù)器”。

  2、 數(shù)據(jù)庫鏡像涉及盡快將對(duì)主體數(shù)據(jù)庫執(zhí)行的每項(xiàng)插入、更新和刪除操作重做到鏡像數(shù)據(jù)庫中。重做通過將每個(gè)活動(dòng)事務(wù)日志記錄發(fā)送到鏡像服務(wù)器來完成,這會(huì)盡快將日志記錄按順序應(yīng)用到鏡像數(shù)據(jù)庫中,這樣,每當(dāng)數(shù)據(jù)庫更新時(shí),DBMS將自動(dòng)保證鏡像數(shù)據(jù)與主體數(shù)據(jù)的一致性;

  3、 在出現(xiàn)介質(zhì)故障時(shí),可由鏡像數(shù)據(jù)庫繼續(xù)提供使用,同時(shí)DBMS將自動(dòng)利用鏡像磁盤數(shù)據(jù)進(jìn)行主數(shù)據(jù)庫的恢復(fù),不需關(guān)閉系統(tǒng)。

  4、 一旦出現(xiàn)介質(zhì)故障,通常使用一個(gè)“角色切換”的過程來互換主體服務(wù)器和鏡像服務(wù)器。

  5、 由于數(shù)據(jù)庫鏡像是通過復(fù)制數(shù)據(jù)實(shí)現(xiàn)的,在實(shí)際應(yīng)用中,用戶只選擇對(duì)關(guān)鍵數(shù)據(jù)和日志文件進(jìn)行鏡像,而不是對(duì)整個(gè)數(shù)據(jù)庫進(jìn)行鏡像。

  11.8 RAID的恢復(fù)技術(shù)

  1、 RAID—廉價(jià)冗余磁盤陳列,它是由多塊磁盤構(gòu)成的一個(gè)整體,但并不是簡單的磁盤容量疊加,而是相對(duì)于其他存儲(chǔ)設(shè)備在容量、管理、性能、可靠性和可用性上都有了進(jìn)一步的提高。尤其獨(dú)特的是,當(dāng)從這些磁盤中抽出一塊,利用其他磁盤上的信息,可以恢復(fù)出這塊磁盤的信息;

  2、 RAID系統(tǒng)可以連接在主機(jī)系統(tǒng)上,作為其存儲(chǔ)數(shù)據(jù)的介質(zhì),與一般存儲(chǔ)設(shè)備不同的是,它具有設(shè)備虛擬化的能力。即RAID系統(tǒng)內(nèi)部可以包含很多個(gè)磁盤驅(qū)動(dòng)器,但在主機(jī)系統(tǒng)是看不到的,主機(jī)系統(tǒng)主能通過一個(gè)子系統(tǒng)RAID控制器與這些磁盤構(gòu)成虛擬設(shè)備進(jìn)行交互。

  3、 RAID的冗余技術(shù):

  (1) 鏡像冗余:把所有的數(shù)據(jù)拷貝到其他設(shè)備上,但額外開銷很大,需要更多磁盤、控制器和電纜;

  (2) 校驗(yàn)冗余:通過對(duì)成員磁盤的數(shù)據(jù)執(zhí)行異或(XOR)操作,得到其校驗(yàn)值,并存放在另外的校驗(yàn)磁盤上。該技術(shù)實(shí)現(xiàn)起來稍顯復(fù)雜,但它占用的磁盤比鏡像少。