平成22年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15
テクノロジ/データベース2相ロック方式を用いたトランザクションの同時実行制御に関する記述のうち,適切なものはどれか。
出典:平成22年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15
- アすべてのトランザクションが直列に制御され,デッドロックが発生することはない。
- イトランザクションのコミット順序は,トランザクション開始の時刻順となるように制御される。
- ウトランザクションは,自分が獲得したロックをすべて解除した後にだけ,コミット操作を実行できる。
- エトランザクションは,必要なロック獲得命令をすべて実行した後にだけ,ロック解除命令を実行できる。
正解:エ
解説
2相ロック方式は,各トランザクションがロックを獲得する局面(成長相)とロックを解除する局面(縮退相)を分け,一度ロックの解除を始めたら新たなロックを獲得できないようにする方式です。これにより,必要なロック獲得命令をすべて実行し終えるまでは,ロック解除命令を実行できないという制約が課されます。
選択肢ごとの解説
- ア誤り。2相ロック方式は,同時実行制御によって直列化可能性を保証する方式ですが,ロックの獲得順序によってはデッドロックが発生し得ます。
- イ誤り。2相ロック方式は,トランザクションのコミット順序をトランザクション開始の時刻順に制御するものではありません。
- ウ誤り。2相ロック方式では,コミット操作の前にすべてのロックを解除する必要はなく,通常はコミット時にまとめてロックを解除します。
- エ正しい。2相ロック方式では,成長相で必要なロック獲得命令をすべて実行した後でなければ,縮退相のロック解除命令を実行できません。