修了試験 2021-07-25実施分 基本情報技術者試験 問27
データベースのトランザクションに関する記述のうち,適切なものはどれか。
正答4
解説
正解は4です。 トランザクション処理で使う、ロック、コミット、ロールバック、ロールフォワードの意味と、それを誰が行うかを区別する問題です。 【選択肢別解説】 1:× ほかのトランザクションに更新されないようにするには、ロックを解放するのではなく、ロックをかける必要があります。 ロックを解放すると、ほかのトランザクションが更新できるようになります。 2:× 異常終了したトランザクションは、更新前ログを使ってロールバックし、開始前の状態に戻します。 ロールフォワードは、媒体障害のときにバックアップと更新後ログで更新を再現する処理です。 3:× トランザクションの更新結果を確定するのはコミットです。 ロールバックは更新を取り消して、トランザクション開始前の状態に戻す処理です。 4:○ デッドロックは、複数のトランザクションが互いに相手のロック解放を待って止まる状態です。 DBMSはこれを検出すると、いずれかのトランザクションをロールバックしてロックを解放させ、処理を進められるようにします。 【ポイント】 ロールバックは「更新前ログで元に戻す」、ロールフォワードは「バックアップと更新後ログで障害直前まで再現する」処理です。 トランザクション障害やデッドロックではロールバック、媒体障害ではロールフォワードを使います。まとめて解く
修了試験 2021-07-25実施分を通しで解く(80問)→