基本情報 平成31年度 春期 問57:マネジメント系に関する問題
ディスク障害時に, フルバックアップを取得してあるテープからディスクにデー タを復元した後, フルバックアップ取得時以降の更新後コピーをログから反映させ てデータベースを回復する方法はどれか。
- aチェックポイントリスタート
- bリブート
- cロールバック
- dロールフオォワード正答
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは d「ロールフォワード」 です。
データベース障害からの復旧手順を考えましょう:
1. フルバックアップを戻す(過去の状態に復元)
2. その後の更新ログを前へ前へ反映して最新状態へ
この2の手順がロールフォワード(roll forward=前に転がす=先に進む)。
👉 覚え方:ロールフォワード=前進(更新ログで未来へ進める)/ロールバック=後退(処理取り消し)。
ほかの選択肢:a チェックポイントリスタート=処理途中再開/b リブート=再起動/c ロールバック=元に戻す。
なぜこれが正解か
正解は d。ロールフォワード(Roll Forward)は、ディスク障害等の媒体障害発生時にフルバックアップを復元した後、バックアップ取得時以降のログ(更新後ログ/アーカイブログ)を順次適用して最新状態または指定時点まで回復する手法。Forward Recoveryとも呼ばれる。
各選択肢の解説
- a チェックポイントリスタート:定期的に取得したチェックポイント(処理途中の整合状態)から再実行する手法。OSやバッチ処理で利用。
- b リブート:単にシステム再起動。データ復旧手法ではない。
- c ロールバック:トランザクション障害時に更新前ログを使って処理開始前に戻す手法。COMMIT前の中途処理を取り消す。
覚え方・ひっかけ注意
ロールバック vs ロールフォワード:
- ロールバック(後退):更新前ログ/Undoログ → 処理失敗時に元に戻す → トランザクション障害向け
- ロールフォワード(前進):更新後ログ/Redoログ → 媒体復旧後に最新に追いつく → 媒体障害向け
「前ログで前へ進む=ロールフォワード」「後ログで後ろへ戻す=ロールバック」と覚える。
理論的背景
DBMSの障害分類:
- トランザクション障害:プログラムバグ、デッドロック、ユーザキャンセル → ロールバック
- システム障害:OSクラッシュ、電源断 → 再起動時にREDO(コミット済み未反映)+UNDO(未コミット)でリカバリ
- 媒体障害:ディスク故障、災害 → フルバックアップ+ロールフォワード
DBMSはWAL(Write-Ahead Logging)プロトコルで「ログをディスクに書いてからデータページを書く」原則を守り、回復可能性を担保する。
ロールフォワードの実装詳細
- アーカイブログ/WALアーカイブ:オンラインログを溢れる前に別場所へ退避
- PITR(Point-in-Time Recovery):任意時点までロールフォワードして停止
- Oracle:RMAN(Recovery Manager)でフルバックアップ+REDOログ適用
- PostgreSQL:pg_basebackup+WALアーカイブ
- SQL Server:完全復旧モデルでトランザクションログバックアップ+RESTORE WITH NORECOVERY/RECOVERY
- MySQL:mysqlbackup/XtraBackup+バイナリログ
RTO/RPOへの影響
- RPO(目標復旧時点):ログアーカイブ間隔で決まる。リアルタイム同期ならRPO=0近傍
- RTO(目標復旧時間):フルバックアップ復元時間+ログ適用時間
- 増分バックアップを併用すると復元時間を短縮可能
実務での使われ方
- 金融勘定系:データ無損失+秒単位復旧。Active-Active構成+同期レプリケーション
- ECサイト:DR用に別リージョンへログ転送(クロスリージョンレプリケーション)
- クラウド:AWS RDS/Aurora自動バックアップ、Azure SQL自動復元、GCP Cloud SQLのPITR
試験での位置づけ
基本情報・応用情報・データベーススペシャリストで必出。ACIDのDurability(耐久性)保証の中核技術。直近はクラウドDBのマネージドバックアップ/ポイントインタイム復元と絡めた出題が増加。
選択肢の発展補足
チェックポイント(Checkpoint)はDBMSが定期的にメモリ上のダーティページをディスクに書き戻し、リカバリ範囲を限定する仕組み。システム障害時はチェックポイント以降のログをREDO/UNDO処理する。WAL(Write-Ahead Log)+ARIESアルゴリズムが古典的かつ事実上の標準で、PostgreSQL、SQL Server、DB2などが採用している。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成31年度 春期 問57/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。