問題
データベースのデッドロックを検出した場合の一般的な対処方法として、最も適切なものはどれか。
選択肢
- 1すべての関連トランザクションを直ちにコミットする。
- 2関連するトランザクションのうち一部をロールバックして強制終了し、解放されたロックで他を続行させる。
- 3システムを再起動する。
- 4デッドロックを起こしたユーザにエラーを返して放置する。
正解
2. 関連するトランザクションのうち一部をロールバックして強制終了し、解放されたロックで他を続行させる。
詳しい解説を見る解説を閉じる
解説
デッドロックを検出したDBMSは、いずれかのトランザクション(被害者:victim)を選択してロールバックし、それが保持していたロックを解放する。これにより残りのトランザクションは処理を続行できる。被害者選定基準はロールバックコストの少なさなど。
一問一答
全400問を繰り返し学習