《《數(shù)據(jù)庫原理》作業(yè)參考答案2》由會員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫原理》作業(yè)參考答案2(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第七次
( P261)
1.試述事務(wù)的概念和事務(wù)的四個特性。
答:事務(wù)是由一系列操作序列構(gòu)成的程序執(zhí)行單元,這些操作要么都做,要么都不做,是一個不可分
割的工作單位。事務(wù)的四個特性: ACID
原子性 (Atomicity) :事務(wù)中包含的所有操作要么全做,要么全不做。原子性由恢復(fù)機制實現(xiàn)。
一致性 (Consistency) :事務(wù)的隔離執(zhí)行必須保證數(shù)據(jù)庫的一致性。事務(wù)開始前,數(shù)據(jù)庫處于一致
性的狀態(tài);事務(wù)結(jié)束后,數(shù)據(jù)庫必須仍處于一致性狀態(tài)。數(shù)據(jù)庫的一致性狀態(tài)由用戶來負責(zé)。隔離性
(Isolation):系統(tǒng)必須保證事務(wù)不受其它并發(fā)執(zhí)行事務(wù)的影響。對任何一對事務(wù) T1 , T
2、2,在T1看來,
T2 要么在 T1 開始之前已經(jīng)結(jié)束,要么在 T1 完成之后再開始執(zhí)行。 隔離性通過并發(fā)控制機制實
現(xiàn)。
持久性 (Durability) :一個事務(wù)一旦提交之后,它對數(shù)據(jù)庫的影響必須是永久的,即使系統(tǒng)出現(xiàn)故 障時也如此。系統(tǒng)發(fā)生故障不能改變事務(wù)的持久性。持久性通過恢復(fù)機制實現(xiàn)。
4.?dāng)?shù)據(jù)庫運行中可能產(chǎn)生的故障有哪幾類?哪些故障影響事務(wù)的正常執(zhí)行?哪些故障破壞數(shù)據(jù)庫數(shù)
據(jù)?。
答:數(shù)據(jù)庫運行中可能產(chǎn)生三種故障:
事務(wù)故障:違反完整性約束引起事務(wù)夭折;
系統(tǒng)故障:軟硬件錯誤斷電引起事務(wù)夭折;
介質(zhì)故障:磁盤損壞部分或全部數(shù)據(jù)丟失。
事務(wù)故障和系統(tǒng)故障影響事務(wù)
3、的正常執(zhí)行,介質(zhì)故障破壞數(shù)據(jù)庫數(shù)據(jù)。
5.?dāng)?shù)據(jù)庫恢復(fù)的基本技術(shù)有哪些?
答: 恢復(fù)是把數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一正確狀態(tài)的功能, 從而確保數(shù)據(jù)庫的一致性?;謴?fù)的基本
原理是冗余, 即數(shù)據(jù)庫中任一部分的數(shù)據(jù)可以根據(jù)存儲在系統(tǒng)別處的冗余數(shù)據(jù)來重建。 恢復(fù)的基本技
術(shù):數(shù)據(jù)轉(zhuǎn)儲和登記日志文件。
6.?dāng)?shù)據(jù)庫轉(zhuǎn)儲的意義是什么?試比較各種數(shù)據(jù)轉(zhuǎn)儲方法。
答:轉(zhuǎn)儲即 DBA 定期將整個數(shù)據(jù)庫復(fù)制到另一個磁盤上保存起來的過程,這些備用的數(shù)據(jù)文本稱為 后備副本或后援副本。當(dāng)數(shù)據(jù)庫遭到破壞后可將后備副本重新裝入,恢復(fù)到轉(zhuǎn)儲時狀態(tài)。
轉(zhuǎn)儲分為靜態(tài)海量轉(zhuǎn)儲,靜態(tài)增量轉(zhuǎn)儲,動態(tài)海量轉(zhuǎn)儲,動態(tài)增量轉(zhuǎn)儲。
4、7.什么是日志文件?為什么要設(shè)立日志文件?
答: 日志文件是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件, 由系統(tǒng)自動記錄。 不同數(shù)據(jù)庫采用的日志
文件格式不一樣。
設(shè)立日志文件的意義: 事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù)必須用日志; 在動態(tài)轉(zhuǎn)儲方式中必須轉(zhuǎn)存日
志文件,由后援副本和日志結(jié)合有效恢復(fù)數(shù)據(jù)庫; 在靜態(tài)轉(zhuǎn)儲方式中, 利用日志文件可以恢復(fù)到故障
前某一時刻的正確狀態(tài)。
9.針對不同故障,給出恢復(fù)的策略和方法。
答:事物故障的恢復(fù):利用日志文件撤消非正常終止的事務(wù),事務(wù)故障發(fā)生后由系統(tǒng)自動完成。反向
掃描日志,查找該事務(wù)的更新操作,執(zhí)行該更新操作的逆操作,繼續(xù)查找該事務(wù)其他更新操作,直
5、到
該事務(wù)的開始標(biāo)記。
系統(tǒng)故障的恢復(fù):利用日志撤消未完成的事務(wù),重做已經(jīng)完成的事務(wù),重啟系統(tǒng),由系統(tǒng)自動完
成。從頭正向掃描日志文件,找出已經(jīng)有結(jié)束標(biāo)志的事務(wù),將其事務(wù)標(biāo)記為重做( REDO )隊列;同
時找出沒有結(jié)束的事務(wù), 將其事務(wù)標(biāo)記為撤消 ( UNDO ) 隊列。 正向掃描日志文件, 對于每一個 REDO
事務(wù)重新執(zhí)行。反向掃描日志文件,對于每一個 UNDO 事務(wù),執(zhí)行更新的逆操作。系統(tǒng)故障恢復(fù)的
策略復(fù)雜,一般很耗時。
介質(zhì)故障的恢復(fù): 重新裝入最近的數(shù)據(jù)副本和有關(guān)的日志文件副本, 然后執(zhí)行系統(tǒng)提供的恢復(fù)命
令。介質(zhì)故障的恢復(fù)需要由 DBA 介入,重裝數(shù)據(jù)庫。
1
6、0 .什么是檢查點記錄,檢查點記錄包括哪些內(nèi)容?
答:系統(tǒng)周期性的執(zhí)行檢查點( checkpoint ) ,做如下操作:將內(nèi)存中所有日志記錄輸出到日志文件;
將內(nèi)存中所有修改了的數(shù)據(jù)快輸出到數(shù)據(jù)文件;將一個日志記錄( checkpoint )輸出到日志文件,該
日志記錄稱為檢查點記錄。 檢查點記錄的內(nèi)容: 建立檢查點時刻所正在執(zhí)行的事務(wù)清單; 這些事務(wù)最
近一個日志記錄地址。
12 .使用檢查點方法進行恢復(fù)的步驟。
答: 故障發(fā)生后, 檢查日志來確定最近的檢查點發(fā)生前開始執(zhí)行的最近的事務(wù)清單。 從日志尾部由后
向前掃描日志,找到第一個(checkpoint)記錄,即日志文件中最后
7、一個( checkpoint)記錄。由最后
一個(checkpoint)記錄得到該檢查點發(fā)生時正在執(zhí)行的事務(wù)清單 1。再掃描檢查點之后的日志記錄,
得到事務(wù)清單 2 。由事務(wù)清單 1 和事務(wù)清單 2 組成的事務(wù)清單,對不同事務(wù)采取不同的恢復(fù)策略。
13 .什么是數(shù)據(jù)庫鏡像?它有什么用途?
答:根據(jù) DBA 要求 DBMS 自動把整個數(shù)據(jù)庫或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個磁盤上,稱為鏡像。
DBMS 自動保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性。 鏡像可以自動恢復(fù)數(shù)據(jù)庫關(guān)鍵數(shù)據(jù), 一旦出現(xiàn)介質(zhì)故障,
可由鏡像磁盤繼續(xù)提供使用,同時 DBMS 自動利用鏡像磁盤數(shù)據(jù)進行數(shù)據(jù)庫恢復(fù)。實際應(yīng)用中,往 往只對關(guān)鍵數(shù)據(jù)和日志文件鏡像,而不對整個數(shù)據(jù)庫鏡像。