データベース障害復旧の基礎 「バックアップファイル」「変更履歴」の仕組みを理解する:ゼロからのリレーショナルデータベース入門(9)(3/3 ページ)
本連載は、企業の成長に不可欠な「データ活用」を推進していくために必要なデータ基盤の基礎を“あらためて”解説していきます。今回は、「データベース障害対策」の基礎を解説します。【更新版】
Oracle Databaseの障害復旧の仕組み
ここまで、バックアップファイルと変更履歴の必要性と、それらを使って障害から復旧する流れを説明してきました。続いて、より具体的なイメージをつかめるように、Oracle Database(以下、Oracle)を例に、具体的な障害復旧の仕組みを解説します。なお、RDBMSによってファイルの名前などは異なりますが、基本的な仕組みは同じです。
データベースを構成するファイル(データファイル、オンラインREDOログファイル、制御ファイル)の破損や、誤操作によるファイルの削除などが原因でファイルにアクセスできなくなる障害を、Oracleでは「メディア障害」と呼んでいます。
また、Oracleでは障害の発生に備えて、データベースに対して行った変更履歴を「オンラインREDOログファイル」と呼ばれるファイルに格納しています。オンラインREDOログファイルは最低2つ以上必要で、全てのファイルが変更履歴でいっぱいになると、一巡してファイルを上書きして循環利用します。
そのため、オンラインREDOログファイルだけの運用では、リカバリーに必要な変更履歴が上書きされる可能性があります。そこで、全ての変更履歴を残すために「アーカイブREDOログファイル」も取得しておきます。アーカイブREDOログファイルとは、オンラインREDOログファイルのコピーファイルのことで、上書きされることはありません(図5)。
Oracleでは、「バックアップファイル」と上記の「2つのREDOログファイル」を基にメディア障害からのリカバリーを行います。例えば、データファイルが1つ破損してしまった場合は、破損したファイルとバックアップファイルを置き換えます。その後、アーカイブREDOログファイルの変更履歴を使って再実行し、最後に最新のオンラインREDOログファイルの変更履歴を基に再実行すれば、リカバリーは完了です(図6)(図7)。
障害復旧/リカバリーは、バックアップを正しく取ることから
今回は、障害からの復旧の仕組みについて解説しました。事前の備えと正しい知識があれば、障害が発生してもリカバリーできることを理解いただけたかと思います。安定したデータベースシステム運用のために、普段からバックアップファイルを取得する備えをしておきましょう。
更新履歴
【2017/4/24】2017年時点の状況に合わせて、内容を追記更新しました
【2009/01/19】初版公開
筆者紹介
坂田素道
株式会社アシスト データベース技術本部所属。Oracle研修の講師として、リカバリーやチューニングなどの研修を幅広く担当
初版:大宅はつ恵
株式会社アシスト サービス事業部教育部(当時)。Oracle研修の講師として、初心者向けコースから管理者向けコースまで担当している。研修では、Oracleの仕組みや、運用管理をするうえでの注意点を理解していただけるように心掛けている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SQLの基礎 「SELECT」文を覚えよう
- SQLとはどういう言語か
「SQLは何となく苦手」という人は意外と多いものです。すでに何らかのプログラミング言語を習得している人を見ても、SQLを苦手としている人は少なくありません。そこで、実際にSQLを入力して結果を見ながら学習する連載を始めます。用意するのはインターネットにつながったWebブラウザだけ。気軽に始めてみてください。(編集部) - RDBMS製品のビッグ3、それぞれの“癖”をつかもう
本連載はOracleを使ったデータベースシステムの開発・運用管理にある程度の知識を持つ読者を対象に、Oracle以外の商用RDBMSであるMicrosoft SQL ServerとIBM DB2とのアーキテクチャの違いを明らかにし、マルチベンダに対応できるデータベースシステムの設計・開発・運用ノウハウを紹介していく。(編集局) - NoSQLはRDBMSに取って代わるものなのか?
「memcached」や「Apache Cassandra」、「Apache CouchDB」など、RDBMSとは異なる考えで設計してあるデータベース管理システムが普及しつつあります。この連載では、これら新しいデータベース管理システムの特徴と、RDBMSとの使い分け方について解説します。(編集部)