(数据库系统概论|王珊)第十章数据库恢复技术:习题
名詞解釋
- 事務:是用戶定義的一個數據庫操作序列。這些操作要么不做,要么全做,是一個不可分割的工作單位。例如在RDBMS中一個事務可以是一條SQL語句或整個程序。事務是數據庫恢復和并發控制的基本單位
- 事務原子性:事務是數據庫的邏輯工作單位,事務中包含的諸多操作要么全做、要么不做。因故障未能做完的,需要有一套機制用于“撤銷”那一部分已經做了的
- 事務一致性:事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態
- 事務隔離性:一個事務不能被其他事務干擾。也即一個事務的內部操作及使用的數據對其他并發事務是隔離的,并發執行的各個事務之間不能互相干擾
- 事務持續性:一個事務一旦提交,它對數據庫中數據的改變就是永久性的。接下來的其他操作或故障不應該對其執行結果有任何影響
- 數據庫恢復:把數據庫從因破壞或故障而導致的錯誤狀態恢復到某個已知的正確狀態的技術
- 事務故障:某個事務在運行過程中由于種種原因未運行至正常終止點就夭折了
- 事務撤銷(UNDO):事務故障意味著事務沒有達到預期的終點(COMMIT或者顯式的ROLLBACK),因此,數據庫可能處于不正確狀態。恢復程序要在不影響其他事務運行的情況下,強行回滾該事務,即撤銷該事務已經作出的任何對數據庫的修改,使得該事務好像根本沒有啟動一樣
- 系統故障:是指造成系統停止運轉的任何事件,使得系統需要重新啟動
- 數據轉儲:指DBA定期手動或者通過設置使DBMS定期自動將整個數據庫復制到存儲介質上保存起來的過程。這些備用的數據稱之為后備副本。當數據庫早到破壞后可以將后備副本重新裝入,但是重裝后的副本只能將數據庫恢復到轉儲時的狀態,要想恢復到故障發生時的狀態,必須重新運行自轉儲以后的所有更新事物。因此,轉儲常和日志配合使用
- 靜態轉儲:是在系統中無運行事務時進行的轉儲操作。即轉儲操作開始的時刻數據庫處于一致性狀態,而轉儲期間不允許(或不存在)對數據庫的任何存取、修改活動。顯然,靜態轉儲得到的一定是一個數據一致性的副本
- 動態轉儲:是指轉儲期間允許對數據庫進行存取或修改,也即轉儲和用戶事物可以并發執行
- 數據庫鏡像:自動地將整個數據庫或其中關鍵數據復制到另一個磁盤上。需要注意,在實際應用中,只對關鍵數據和日志文件進行鏡像,而不是對整個數據庫進行鏡像
簡答題
應用題
【答案】
事務的概念
四個特性
恢復技術可以保證事務的原子性和持久性
【答案】
事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態。如果數據庫系統運行中發生故障,有些事務尚未完成就被迫中斷,這些未完成事務對數據庫所做的修改有一部分已寫入物理數據庫,這時數據庫就處于一種不正確的狀態,或者說是不一致性狀態。
例如,某工廠的庫存管理系統中,要把數量為Q的某種零件從倉庫1移到倉庫2存放,則可以定義一個事務T。T包括兩個操作:Q1=Q1-Q,Q2=Q2+Q。如果T非正常終止時只做了第一個操作,則數據庫就處于不一致性狀態,庫存量無緣無故少了Q
【答案】
如果先寫了數據庫修改,而在運行記錄中沒有登記下這個修改,則以后就無法恢復這個修改了。如果先寫日志,但沒有修改數據庫,按日志文件恢復時只不過是多執行一次不必要的UNDO操作,并不會影響數據庫的正確性。所以為了安全,一定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數據庫的修改
原則
【答案】
(1)T1T_{1}T1?、T3T_{3}T3?重做;T2T_{2}T2?、T4T_{4}T4?回滾
(2)T1T_{1}T1?重做;T2T_{2}T2?、T3T_{3}T3?回滾
(3)T1T_{1}T1?重做;T2T_{2}T2?、T3T_{3}T3?回滾
(4)T1T_{1}T1?重做;T2T_{2}T2?回滾
【答案】
(1)A=8、B=7、C=11
(2)A=10、B=0、C=11
(3)A=10、B=0、C=11
(4)A=10、B=0、C=11
(5)A=0、B=0、C=0
【答案】
【答案】
【答案】
點擊跳轉
【答案】
總結
以上是生活随笔為你收集整理的(数据库系统概论|王珊)第十章数据库恢复技术:习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下常用运行命令
- 下一篇: 实现SELECT的全选,反选,AB选的J