1 .________ 是一系列的數據庫操作,是數據庫應用程序的基本邏輯單元。 (問答題)
查看答案
事務
2 . 試述事務的概念及事務的四個特性。 (填空題)
查看答案
事務是用戶定義的一個數據庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。事務具有四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持續性(Durability)。這個四個特性也簡稱為ACID特性。原子性:事務是數據庫的邏輯工作單位,事務中包括的諸操作要么都做,要么都不做。一致性:事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態。隔離性:一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對其他并發事務是隔離的,并發執行的各個事務之間不能互相干擾。持續性:持續性也稱永久性(Permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其執行結果有任何影響。
3 . 為什么事務非正常結束時會影響數據庫數據的正確性,請列舉一例說明之。 (填空題)
查看答案
事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態。如果數據庫系統運行中發生故障,有些事務尚未完成就被迫中斷,這些未完成事務對數據庫所做的修改有一部分已寫入物理數據庫,這時數據庫就處于一種不正確的狀態,或者說是不一致的狀態。例如某工廠的庫存管理系統中,要把數量為Q的某種零件從倉庫1移到倉庫2存放。則可以定義一個事務T,T包括兩個操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常終止時只做了第一個操作,則數據庫就處于不一致性狀態,庫存量無緣無故少了Q。
4 . 事務處理技術主要包括________ 技術和________技術。 (問答題)
查看答案
數據庫恢復 并發控制
5 . 在SQL語言中,定義事務控制的語句主要有________ 、________ 和 ________ 。 (問答題)
查看答案
BEGIN TRANSACTION COMMIT ROLLBACK
6 . 數據庫中為什么要有恢復子系統?它的功能是什么? (填空題)
查看答案
因為計算機系統中硬件的故障、軟件的錯誤、操作員的失誤以及惡意的破壞是不可避免的,這些故障輕則造成運行事務非正常中斷,影響數據庫中數據的正確性,重則破壞數據庫,使數據庫中全部或部分數據丟失,因此必須要有恢復子系統;謴妥酉到y的功能是:把數據庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為一致狀態或完整狀態)。
7 . 事務具有四個特性:它們是________ 、________ 、________ 和 ________ 。這個四個特性也簡稱為________特性。 (問答題)
查看答案
原子性(Atomicity) 一致性(Consistency) 隔離性(Isolation) 持續性(Durability) ACID
8 . 數據庫運行中可能產生的故障有哪幾類?哪些故障影響事務的正常執行?哪些故障破壞數據庫數據? (填空題)
查看答案
數據庫系統中可能發生各種各樣的故障,大致可以分以下幾類:(1) 事務內部的故障;(2) 系統故障;(3) 介質故障;(4) 計算機病毒。事務故障、系統故障和介質故障影響事務的正常執行;介質故障和計算機病毒破壞數據庫數據。
9 . 把數據庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為一致狀態)的功能,這就是________ 。 (問答題)
查看答案
數據庫的恢復
10 . 數據庫恢復的基本技術有哪些? (填空題)
查看答案
數據轉儲和登錄日志文件是數據庫恢復的基本技術。當系統運行過程中發生故障,利用轉儲的數據庫后備副本和日志文件就可以將數據庫恢復到故障前的某個一致性狀態。
11 . 數據庫系統中可能發生各種各樣的故障,大致可以分為________ 、________ 、________ 和 ________ 等。 (問答題)
查看答案
事務故障 系統故障 介質故障 計算機病毒
12 .數據庫轉儲的意義是什么? 試比較各種數據轉儲方法。 (填空題)
查看答案
數據轉儲是數據庫恢復中采用的基本技術。所謂轉儲即DBA定期地將數據庫復制到磁帶或另一個磁盤上保存起來的過程。當數據庫遭到破壞后可以將后備副本重新裝入,將數據庫恢復到轉儲時的狀態。靜態轉儲:在系統中無運行事務時進行的轉儲操作。如上圖所示。靜態轉儲簡單,但必須等待正運行的用戶事務結束才能進行。同樣,新的事務必須等待轉儲結束才能執行。顯然,這會降低數據庫的可用性。動態轉儲:指轉儲期間允許對數據庫進行存取或修改。動態轉儲可克服靜態轉儲的缺點,它不用等待正在運行的用戶事務結束,也不會影響新事務的運行。但是,轉儲結束時后援副本上的數據并不能保證正確有效。因為轉儲期間運行的事務可能修改了某些數據,使得后援副本上的數據不是數據庫的一致版本。為此,必須把轉儲期間各事務對數據庫的修改活動登記下來,建立日志文件(log file)。這樣,后援副本加上日志文件就能得到數據庫某一時刻的正確狀態。轉儲還可以分為海量轉儲和增量轉儲兩種方式。海量轉儲是指每次轉儲全部數據庫。增量轉儲則指每次只轉儲上一次轉儲后更新過的數據。從恢復角度看,使用海量轉儲得到的后備副本進行恢復一般說來更簡單些。但如果數據庫很大,事務處理又十分頻繁,則增量轉儲方式更實用更有效。
13 . 建立冗余數據最常用的技術是________ 和________ 。通常在一個數據庫系統中,這兩種方法是一起使用的。 (問答題)
查看答案
數據轉儲 登錄日志文件
14 .什么是日志文件?為什么要設立日志文件? (填空題)
查看答案
(1) 日志文件是用來記錄事務對數據庫的更新操作的文件。(2) 設立日志文件的目的是: 進行事務故障恢復;進行系統故障恢復;協助后備副本進行介質故障恢復。
15 . 轉儲可分為________ 和________,轉儲方式可以有________和 ________。 (問答題)
查看答案
靜態轉儲 動態轉儲 海量轉儲 增量轉儲
16 .登記日志文件時為什么必須先寫日志文件,后寫數據庫? (填空題)
查看答案
把對數據的修改寫到數據庫中和把表示這個修改的日志記錄寫到日志文件中是兩個不同的操作。有可能在這兩個操作之間發生故障,即這兩個寫操作只完成了一個。如果先寫了數據庫修改,而在運行記錄中沒有登記這個修改,則以后就無法恢復這個修改了。如果先寫日志,但沒有修改數據庫,在恢復時只不過是多執行一次UNDO操作,并不會影響數據庫的正確性。所以一定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數據庫的修改。
17 .針對不同的故障,試給出恢復的策略和方法。(即如何進行事務故障的恢復?系統故障的恢復?介質故障恢復?) (填空題)
查看答案
答:事務故障的恢復:事務故障的恢復是由DBMS自動完成的,對用戶是透明的。 DBMS執行恢復步驟是:(1)反向掃描文件日志(即從最后向前掃描日志文件),查找該事務的更新操作。(2)對該事務的更新操作執行逆操作。即將日志記錄中“更新前的值”寫入數據庫。(3)繼續反向掃描日志文件,做同樣處理。(4)如此處理下去,直至讀到此事務的開始標記,該事務故障的恢復就完成了。答:系統故障的恢復:系統故障可能會造成數據庫處于不一致狀態:一是未完成事務對數據庫的更新可能已寫入數據庫;二是已提交事務對數據庫的更新可能還留在緩沖區,沒來得及寫入數據庫。因此恢復操作就是要撤銷(UNDO)故障發生時未完成的事務,重做(REDO)已完成的事務。系統的恢復步驟是:(1)正向掃描日志文件,找出在故障發生前已經提交的事務隊列(REDO隊列)和未完成的事務隊列(UNDO隊列)。(2)對撤銷隊列中的各個事務進行UNDO處理。進行UNDO處理的方法是,反向掃描日志文件,對每個UNDO事務的更新操作執行逆操作,即將日志記錄中“更新前的值”(Before Image)寫入數據庫。(3)對重做隊列中的各個事務進行REDO處理。進行REDO處理的方法是:正向掃描日志文件,對每個REDO事務重新執行日志文件登記的操作。即將日志記錄中“更新后的值”(After Image)寫入數據庫。 *解析:在第(1)步中如何找出REDO隊列和UNDO隊列?請大家思考一下。下面給出一個算法: 1) 建立兩個事務隊列: ? UNDO-LIST: 需要執行undo操作的事務集合; ? REDO-LIST: 需要執行redo操作的事務集合;兩個事務隊列初始均為空。 2) 從日志文件頭開始,正向掃描日志文件 ? 如有新開始(遇到Begin Transaction)的事務Ti,把Ti暫時放入UNDO-LIST隊列; ? 如有提交的事務(遇到End Transaction)Tj,把Tj從UNDO-LIST隊列移到REDO-LIST隊列;直到日志文件結束答:介質故障的恢復:介質故障是最嚴重的一種故障;謴头椒ㄊ侵匮b數據庫,然后重做已完成的事務。具體過程是:(1) DBA裝入最新的數據庫后備副本(離故障發生時刻最近的轉儲副本),使數據庫恢復到轉儲時的一致性狀態。(2) DBA裝入轉儲結束時刻的日志文件副本(3) DBA啟動系統恢復命令,由DBMS完成恢復功能,即重做已完成的事務。 *解析 1)我們假定采用的是靜態轉儲,因此第(1)步裝入數據庫后備副本便可以了。 2)如果采用的是動態轉儲,第(1)步裝入數據庫后備副本還不夠,還需同時裝入轉儲開始時刻的日志文件副本,經過處理后才能得到正確的數據庫后備副本。 3)第(2)步重做已完成的事務的算法是: a. 正向掃描日志文件,找出故障發生前已提交的事務的標識,將其記入重做隊列 b. 再一次正向掃描日志文件,對重做隊列中的所有事務進行重做處理。即將日志記錄中“更新后的值”寫入數據庫。
18 .________ 是用來記錄事務對數據庫的更新操作的文件。主要有兩種格式:以________為單位的日志文件和以________為單位的日志文件。 (問答題)
查看答案
日志文件 記錄 數據塊
19 .什么是檢查點記錄,檢查點記錄包括哪些內容? (填空題)
查看答案
檢查點記錄是一類新的日志紀錄。它的內容包括: ① 建立檢查點時刻所有正在執行的事務清單。 ② 這些事務的最近一個日志記錄的地址。
20 .具有檢查點的恢復技術有什么優點?試舉一個具體的例子加以說明。 (填空題)
查看答案
利用日志技術進行數據庫恢復時,恢復子系統必須搜索日志,確定哪些事務需要REDO,哪些事務需要UNDO。一般來說,需要檢查所有日志記錄。這樣做有兩個問題:一是搜索整個日志將耗費大量的時間。二是很多需要REDO處理的事務實際上已經將它們的更新操作結果寫到數據庫中了,恢復子系統又重新執行了這些操作,浪費了大量時間。檢查點技術就是為了解決這些問題。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: