郵局 專業職(二)內勤 櫃台業務資訊規劃與管理大意114 年第 12 題單選題
有關資料庫系統中用來處理交易並行控制(Transaction Currency Control)的兩階段鎖定(Two-Phase Locking)技術,下列敘述何者正確?
A兩階段鎖定僅適用於讀取操作,不適用於寫入操作
B所有鎖在第一階段就會立即被釋放
C在兩階段鎖定過程中,如果任意一個子系統發生錯誤,交易仍然會繼續進行
D在兩階段鎖定中,交易首先持有所有必要的鎖,直到所有操作完成並進行提交(Commit)或回復(Rollback)正確答案
D正確答案
兩階段鎖定分成長與收縮階段確保隔離性;Strict 2PL要求鎖維持至交易結束才釋放,為並行控制核心技術。
為什麼答案是 D
此為嚴格兩階段鎖定(Strict 2PL)的特性,交易持有所有必要鎖直到Commit或Rollback才釋放,確保可序列化與一致性。
考點:鎖定型別適用考點:階段動作限制考點:交易原子性考點:Strict 2PL
載入中…
完整詳解
Pro · 無限重點 兩階段鎖定分成長與收縮階段確保隔離性;Strict 2PL要求鎖維持至交易結束才釋放,為並行控制核心技術。
成長階段只能拿鎖不能放,收縮階段只能放鎖不能拿。Strict 2PL將所有鎖撐到Commit或Rollback才釋放。
逐選項分析
A鎖定型別適用✕
2PL同時適用於讀取(共用鎖)與寫入(獨佔鎖)操作,並非僅限讀取,寫入時必須取得獨佔鎖以防止其他交易修改。
B階段動作限制✕
第一階段為成長階段,只能取得鎖不能釋放;必須進入第二階段的收縮階段後,系統才會開始逐步釋放已持有的鎖。
C交易原子性✕
若發生錯誤,基於交易原子性,系統會執行回復(Rollback)並釋放所有鎖,交易絕對不會繼續進行,以確保資料正確。
DStrict 2PL✓ 正確
此為嚴格兩階段鎖定(Strict 2PL)的特性,交易持有所有必要鎖直到Commit或Rollback才釋放,確保可序列化與一致性。
兩階段鎖定 (2PL) 階段比較
| 階段 | 允許動作 | 禁止動作 | 目的 |
|---|
| 成長階段 | 取得新鎖 | 釋放任何鎖 | 確保取得所有必要資源 |
| 收縮階段 | 釋放已持有的鎖 | 取得任何新鎖 | 逐步釋放資源供其他交易使用 |
考生極易將「成長階段」與「收縮階段」的允許與禁止動作搞混。請務必釐清核心邏輯:成長階段只能取得鎖不能釋放,收縮階段只能釋放鎖不能取得,兩者界線分明。