資格スワイプ
科目A-2(多肢選択式・四肢択一、25問)

ある銀行システムで、口座Aから口座Bへの1万円の振替処理を行うトランザクションが、口座Aからの引き落とし処理を終えた直後、口座Bへの入金処理を行う前にシステム障害でトランザクションが中断した。再起動後のデータベースの状態として、トランザクションのACID特性のうち原子性(Atomicity)を満たすために正しい対応はどれか。

  • A口座Aの引き落としだけを確定させ、口座Bへの入金は次回起動時に改めて行う
  • B口座Bへの入金額を仮に計上し、口座Aの残高は変更しない
  • 口座Aの引き落としと口座Bへの入金の両方を取り消し、振替前の状態に戻す
  • D障害発生時点の状態をそのまま確定させ、管理者が手動で整合性を確認する

解説

原子性は、トランザクションに含まれる一連の処理が「すべて実行される」か「すべて実行されない」かのいずれかであることを保証する特性である。障害でトランザクションが未完了のまま中断した場合、DBMSはロールバックによって未完了の更新をすべて取り消し、振替前の状態に戻す。

根拠シラバス「期待する技術水準」データベース管理システムの特性(信頼性)・トランザクション管理(ACID特性・原子性)

← 前の問題次の問題 →
スワイプでまとめて流す