本連載は、企業の成長に不可欠な「データ活用」を推進していくために必要なデータ基盤の基礎を“あらためて”解説していきます。今回は、「データベース障害対策」の基礎を解説します。【更新版】
データベースのデータはさまざまな業務で利用されています。データベースに障害が発生すると多くの業務やサービスが止まり、ビジネスに大きな影響を及ぼしてしまいます。しかし、どのようなデータベースシステムであれ、障害が発生する可能性はゼロではありません。このリスクを最小限にとどめるためには、「障害は起こり得る」と想定した対策が必要です。
そこで今回は、データベース障害対策の基礎として、障害の備えと、復旧(リカバリー)の仕組みをおさらいします。
データベースシステムには、以下のような障害が発生する可能性があります。
このように、データベースシステムに発生し得る障害と、その原因や影響範囲は多岐にわたります。本稿では、障害の中でも影響の大きい「データベース構成ファイルが破損した障害」を想定して説明していきます。
データベースの構成ファイルが破損すると、ファイルに新しくデータを書き込めなくなるだけでなく、格納されていたデータも失われてしまい、大変深刻な被害を受けます。
しかし、「備え」があれば、この障害からデータを復旧することが可能です。障害が発生してからでは遅いため、データベースが正常に稼働しているときに、リカバリーに備えた準備をしておくことが重要です。
正しくリカバリーするには、以下の2つのデータが必要です。
バックアップファイルは、「データベースを構成するファイル」のコピーです。
データベースを構成するファイルが破損した場合、破損前の正常なファイル(=バックアップファイル)と置き換えることでリカバリーを行います。このバックアップファイルを、「システムが正常な状態のとき」に取っておくのが基礎中の基礎となる対策です(図1)。
また、バックアップファイルは定期的に取得するようにします。バックアップファイルがあまりにも古いと、後述する変更履歴が多くなり、ファイルを置き換えたあとリカバリー作業に時間がかかってしまうことがあるためです。
バックアップファイルは、“過去のある時点”のコピーとなります。そのためにバックアップ以降に変更されたデータは含まれません。
しかし障害が発生したら、「障害発生直前」までリカバリーしたいでしょう。そこで、バックアップ取得から障害までの変更履歴を履歴として記録しておくのです。障害によってデータが失われてしまっても、残っている履歴で変更操作を再実行することによってデータを復旧できます(図2)。
Copyright © ITmedia, Inc. All Rights Reserved.