厳格2相ロックとは?
厳格2相ロックとは、獲得したすべての専有ロックをコミットまたはロールバックの時点まで保持し続ける2相ロックの強化版。
データベーススペシャリスト試験の過去問では1回出題されています。
げんかくにそうロック
厳格2相ロックの意味
厳格2相ロックの具体例
未コミットの値が他から読まれないため、連鎖的な取消し(カスケードアボート)が起きない。表単位のロックと併用すればSERIALIZABLE相当の隔離が実現できる。
厳格2相ロックは試験でどう引っ掛けられる?
「2相」が指すのは、ロックを獲得するだけの拡大相と、解放するだけの縮退相であって、2相コミットの2フェーズ(準備・確定)とは無関係。名前が似ているので取り違えが頻出する。また2相ロックが保証するのは直列化可能性で、デッドロックは防げない(厳格版で防げるのは連鎖ロールバックのほう)。
厳格2相ロックと関連する用語
厳格2相ロックが出た過去問
厳格な2相ロッキングプロトコルと表ロックを適用して、同時実行している他のトランザクションの処理結果に影響を与えないようにする。実現されるトランザクションの隔離性…
正解:SERIALIZABLE
要点:厳格2相ロック+表ロックはSERIALIZABLEを実現する
厳格な2相ロッキングでは獲得したロックをコミットまで解放せず、さらに表単位でロックをかければ、他のトランザクションはその表に一切手を出せなくなる。行の追加による現象まで含めてあらゆる干渉が排除されるため、最も高い隔離性水準であるSERIALIZABLEが実現される。
出典:平成30年度 春期 データベーススペシャリスト試験 am2 問14(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。