この記事ではデータベースの障害対応で使うバックアップとログファイルについてIT初心者にも分かりやすく解説します。
バックアップ
- バックアップとは、データベースに保管されたデータをコピーして別の場所に保管すること。
- フルバックアップは全てのデータをバックアップすること。
- 差分バックアップは前回のフルバックアップから変更があったデータのみバックアップすること。
- 増分バックアップは前回のバックアップから変更があったデータのみバックアップすること。
ログファイル
- ログファイルはデータを更新する前と後の状態を記録したファイル。
- ロールフォワードはバックアップと更新後ログファイルからデータを復旧する方法。
- ロールバックは更新前ログファイルからデータを復旧する方法。
基本情報ではバックアップやログファイルに関する問題が出題されます。是非最後までご覧ください。
バックアップ
バックアップとは、データベースに保存されたデータをコピーして別の場所に保管することです。データベースに障害が起きてデータが破損した時も、バックアップをしていればデータを復元できます。
![](https://shikaku-dou.com/wp-content/uploads/2023/10/a90d9d53df4b592a9870f78325c2620f-e1697671473356-1024x449.jpg)
バックアップには主に3種類の方法があります。
フルバックアップ
フルバックアップでは、データベース内の全てのデータをバックアップします。
![](https://shikaku-dou.com/wp-content/uploads/2023/10/c75cf927c39bd7116ffa8997b8ebea26-e1697672193477-1024x403.jpg)
差分バックアップ
差分バックアップでは、前回のフルバックアップから変更があったデータをバックアップします。
![](https://shikaku-dou.com/wp-content/uploads/2023/10/c563fa861131adfe0373ef38282a20a7-1024x621.jpg)
増分バックアップ
増分バックアップでは、前回のバックアップから変更があったデータをバックアップします。
![](https://shikaku-dou.com/wp-content/uploads/2023/10/930b1203843bec182ff835e238205aa6-1024x621.jpg)
それぞれのバックアップのメリットとデメリット
バックアップ対象のデータが多いほど、バックアップに必要な時間が多くなります。なので、フルバックアップ>差分バックアップ>増分バックアップの順番で必要な時間が少なくなります。
しかし、データの復旧は増分バックアップ>差分バックアップ>フルバックアップの順番で必要な時間が少なくなります。
例えば、1月3日のバックアップ直後にデータが破損した場合、
- フルバックアップでは、1/3分のバックアップデータだけを復旧します。
- 差分バックアップでは、1/1,3分のバックアップデータを復旧します。
- 増分バックアップでは、1/1,2,3分のバックアップデータを復旧します。
![](https://shikaku-dou.com/wp-content/uploads/2023/10/547c150b4b036142c425108bcd65a307-1024x621.jpg)
ログファイル
ログファイルとは、データを更新する際に更新前の情報と更新後の情報を記録したファイルです。ログファイルもデータの復旧に使います。
バックアップは時間が掛かるので1日の終わり等、切りが良いタイミングで行います。一方、トランザクション処理のたびに記録を取るのがログになります。
ロールフォワード
ロールフォワードは、データベースに物理的な障害が発生した際に、直前のバックアップデータとログの更新後情報からデータを復旧させる方法です。
データベースに物理的な障害が発生した場合は新しいデータベースを用意してデータを復旧する必要があります。新しいデータベースには、直近のバックアップデータを適用し、その後のトランザクションの更新後ログを順番に適用していくことで、物理的な障害が発生する前の状態に戻します。
![](https://shikaku-dou.com/wp-content/uploads/2023/10/be01975c228f365adc7f88a7d3f22ba0-e1697758549473-1024x602.jpg)
ロールバック
ロールバックは、トランザクション処理の途中で論理的な障害が発生した際に、ログファイルの更新前情報を使ってデータを復旧させる方法です。
トランザクション処理中に障害が発生した時は、トランザクション処理の更新前ログの情報からデータベースを復旧します。
![](https://shikaku-dou.com/wp-content/uploads/2023/10/bf43c4e8c8b1a11c99443211274876cd-e1697769985140-1024x565.jpg)
基本情報技術者試験での出題例
令和元年度秋期問19
基本情報技術者
午前試験 令和元年度秋期問19
バックアップ方式の説明のうち,増分バックアップはどれか。ここで,最初のバックアップでは,全てのファイルのバックアップを取得し,OSが管理しているファイル更新を示す情報はリセットされるものとする。
ア 最初のバックアップの後,ファイル更新を示す情報があるファイルだけをバックアップし,ファイル更新を示す情報は変更しないでそのまま残しておく。
イ 最初のバックアップの後,ファイル更新を示す情報にかかわらず,全てのファイルをバックアップし,ファイル更新を示す情報はリセットする。
ウ 直前に行ったバックアップの後,ファイル更新を示す情報があるファイルだけをバックアップし,ファイル更新を示す情報はリセットする。
エ 直前に行ったバックアップの後,ファイル更新を示す情報にかかわらず,全てのファイルをバックアップし,ファイル更新を示す情報は変更しないでそのまま残しておく。
正解は”ウ”
平成30年度秋期問30
基本情報技術者
午前試験 平成30年度秋期問30
データベースが格納されている記憶媒体に故障が発生した場合,バックアップファイルとログを用いてデータベースを回復する操作はどれか。
ア アーカイブ イ コミット
ウ チェックポイントダンプ エ ロールフォワード
正解は”エ”
平成30年度春期問29
基本情報技術者
午前試験 平成30年度春期問29
データベースの更新前や更新後の値を書き出して,データベースの更新記録として保存するファイルはどれか。
ア ダンプファイル
ウ バックアップファイル
イ チェックポイントファイル
エ ログファイル
正解は”エ”
平成29年度秋期問30
基本情報技術者
午前試験 平成29年度秋期問30
トランザクション処理プログラムが,データベース更新の途中で異常終了した場合,ロールバック処理によってデータベースを復元する。このとき使用する情報はどれか。
ア 最新のスナップショット情報
イ 最新のバックアップファイル情報
ウ ログファイルの更新後情報
エ ログファイルの更新前情報
正解は”エ”
基本情報に関する他の記事
ハードウェア | ソフトウェア | システム構成 |
ネットワーク | データベース | 開発手法 | 情報セキュリティ |
データベースに関する記事
関係データベースについての記事
【基本情報】関係データベースの基本!関係演算も解説!
【基本情報】トランザクション処理について解説
【基本情報】関係データベースの排他制御について解説
SQLについての記事
障害対応についての記事
【基本情報】データベースの障害対応について解説