解決済み
データベースについて データベースの障害回復(リカバリ)について勉強していたときの疑問です。 基本情報技術者のテキストに、トランザクション障害について以下のような記述があります。トランザクション開始がチェックポイント以前で、チェックポイントまでの更新内容がデータベースに書き込まれている場合はロールバックを行う。 トランザクション障害ということで、コミットまでできていない前提だと思うのですが、チェックポイントまでの途中段階でデータベースへの更新があるのですか? チェックポイントではログファイルへの書き出しがあると思いますが、同時にデータベースへの書き出しもあるということでしょうか? 時刻Tでのチェックポイントでは、時刻Tのログファイルが生成されると同時に、時刻T-1(一段階前)のチェックポイント時点でログファイルに書き出された内容がデータベースに反映されるイメージでした。
52閲覧
> チェックポイントではログファイルへの書き出しがあると思いますが、同時にデータベースへの書き出しもあるということでしょうか? 逆です。 チェックポイントではデータベースバッファのダーティブロックの書き出しが行われます。 チェックポイントでその時点のデータベースの変更内容は確定されます。 ログファイルにはトランザクションのコミット、ログバッファがいっぱいになる、一定の時間経過などのタイミングで書き出しが行われます。 チェックポイントでも書き出しが行われますが。 そうしないとログファイルの変更内容データの反映処理が多大になってしまいます。
裏で動いているトランザクションがDBを更新してしまっている 可能性を考慮するので、ロールバックですね。
< 質問に関する求人 >
基本情報技術(東京都)この条件の求人をもっと見る
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
覆面調査に関する求人(東京都)この条件の求人をもっと見る