科目A-1(多肢選択式・四肢択一、30問)
トランザクションAが表Xをロックした後に表Yのロック取得待ちとなり、同時にトランザクションBが表Yをロックした後に表Xのロック取得待ちとなり、互いに相手の解放を待ち続ける状態が発生した。DBMSがこの状態を検出した際に一般的に行う対応はどれか。
- A両方のトランザクションを正常にコミットする
- ✓一方のトランザクションを選択して強制的にロールバックし、ロックを解放させる
- Cすべてのトランザクションの実行を無期限に停止する
- D表Xと表Yを自動的に1つの表に統合する
解説
これはデッドロックの状態であり、DBMSはデッドロック検出機構により関与するトランザクションの一方を犠牲者として選び強制的にロールバックしてロックを解放させ、もう一方の処理を継続させる。
根拠シラバス「データベース管理システムの特性」排他制御・デッドロック