連載
» 2017年04月27日 05時00分 公開

ゼロからのリレーショナルデータベース入門(9):データベース障害復旧の基礎 「バックアップファイル」「変更履歴」の仕組みを理解する (3/3)

[坂田素道,株式会社アシスト]
前のページへ 1|2|3       

Oracle Databaseの障害復旧の仕組み

 ここまで、バックアップファイルと変更履歴の必要性と、それらを使って障害から復旧する流れを説明してきました。続いて、より具体的なイメージをつかめるように、Oracle Database(以下、Oracle)を例に、具体的な障害復旧の仕組みを解説します。なお、RDBMSによってファイルの名前などは異なりますが、基本的な仕組みは同じです。

 データベースを構成するファイル(データファイル、オンラインREDOログファイル、制御ファイル)の破損や、誤操作によるファイルの削除などが原因でファイルにアクセスできなくなる障害を、Oracleでは「メディア障害」と呼んでいます。

 また、Oracleでは障害の発生に備えて、データベースに対して行った変更履歴を「オンラインREDOログファイル」と呼ばれるファイルに格納しています。オンラインREDOログファイルは最低2つ以上必要で、全てのファイルが変更履歴でいっぱいになると、一巡してファイルを上書きして循環利用します。

 そのため、オンラインREDOログファイルだけの運用では、リカバリーに必要な変更履歴が上書きされる可能性があります。そこで、全ての変更履歴を残すために「アーカイブREDOログファイル」も取得しておきます。アーカイブREDOログファイルとは、オンラインREDOログファイルのコピーファイルのことで、上書きされることはありません(図5)。

photo 図5 オンラインREDOログファイルとアーカイブREDOログファイル

 Oracleでは、「バックアップファイル」と上記の「2つのREDOログファイル」を基にメディア障害からのリカバリーを行います。例えば、データファイルが1つ破損してしまった場合は、破損したファイルとバックアップファイルを置き換えます。その後、アーカイブREDOログファイルの変更履歴を使って再実行し、最後に最新のオンラインREDOログファイルの変更履歴を基に再実行すれば、リカバリーは完了です(図6)(図7)。

photo 図6 Oracle メディア障害からのリカバリー手順(1):バックアップファイルを置き換え
photo 図7 Oracle メディア障害からのリカバリー手順(2):バックアップ取得以降のアーカイブREDOログファイルを使って再実行→続いて、最新のオンラインREDOログを使って再実行

障害復旧/リカバリーは、バックアップを正しく取ることから

 今回は、障害からの復旧の仕組みについて解説しました。事前の備えと正しい知識があれば、障害が発生してもリカバリーできることを理解いただけたかと思います。安定したデータベースシステム運用のために、普段からバックアップファイルを取得する備えをしておきましょう。

更新履歴

【2017/4/24】2017年時点の状況に合わせて、内容を追記更新しました

【2009/01/19】初版公開


筆者紹介

坂田素道

株式会社アシスト データベース技術本部所属。Oracle研修の講師として、リカバリーやチューニングなどの研修を幅広く担当

初版:大宅はつ恵

株式会社アシスト サービス事業部教育部(当時)。Oracle研修の講師として、初心者向けコースから管理者向けコースまで担当している。研修では、Oracleの仕組みや、運用管理をするうえでの注意点を理解していただけるように心掛けている。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。