免費開始練習
調查局三等申論題 112年 [資訊科學組] 資料庫應用

第 四 題

請以 Log-Based Recovery 資料復原模式為例,就如下的交易紀錄進行程序,以表格說明 Deferred Update 及 Immediate Update(包括 undo/redo及 undo/no-redo 兩種更新模式),在 t5 or t9 時間點,發生非毀滅性系統故障(兩個時間的系統故障屬獨立事件),T1~T6 交易紀錄應採取那種動作,來進行資料的復原?(20 分)
(附圖為交易時間軸,包含 T1 至 T6 在 t1 到 t10 的執行區間。System Failure 在 t5,Check Point 在 t7,另一個 System Failure 在 t9。)
題目圖片
📝 此題為申論題

思路引導 VIP

  1. 先釐清各交易在故障時間點(t5、t9)的狀態:是已 Commit、Active(未 Commit)還是尚未發生。2. 判斷 Check Point(t7)的作用:在 t7 之前已 Commit 的交易,其異動已強制寫回 Disk,後續發生故障時不需再執行 Redo。3. 套用三種模式的核心規則:Deferred 只有 Redo(Active 不管)、Immediate(Undo/Redo) 兩者皆有、Immediate(Undo/No-Redo) 只有 Undo(Commit 者不管)。
🤖
AI 詳解 AI 專屬家教

【破題】本題測驗 Log-Based Recovery 機制下,不同更新模式(Deferred 與 Immediate)及檢查點(Check Point)機制對系統故障復原動作(Undo/Redo)之影響。 【解析】 一、 交易狀態與檢查點(Check Point)分析

▼ 還有更多解析內容
📝 資料庫復原機制
💡 依據更新模式與檢查點位置,判斷交易應執行 Undo 或 Redo 復原。
比較維度 延遲更新 (Deferred) VS 立即更新 (Immediate)
磁碟寫入時機 Commit 後才寫入 交易執行中隨時寫入
未 Commit 處理 Ignore (免 Undo) 執行 Undo 回滾
已 Commit 處理 Redo (重做) Redo (除非 Force 模式)
日誌策略 No-Undo / Redo Undo / Redo
💬核心差異在於磁碟寫入時機,決定了故障復原時是否需要針對執行中交易進行 Undo。
🧠 記憶技巧:延遲不撤 (No-Undo)、立即要撤 (Undo);點前完畢免動作,點後未完必撤回。
⚠️ 常見陷阱:容易忽略 Checkpoint 的過濾作用,錯誤地對在檢查點前就已 Commit 的交易 (如 t9 故障時的 T1, T3) 進行重複 Redo。
ACID 交易特性 Write-Ahead Logging (WAL) 二階段鎖定 (2PL) 影頁技術 (Shadow Paging)

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

資料庫交易管理與並行控制機制
查看更多「[資訊科學組] 資料庫應用」的主題分類考古題