スケーラブルデータベースサーバ HiRDB ファーストステップガイド(Windows(R)用)
データベースの障害が発生したとき,障害発生前の最新の状態に回復するためにはバックアップデータ以外にシステムログファイルが必要になります。このシステムログの運用によって,データベースをどの時点まで回復できるか,バックアップをどのように取得するかなどが異なります。
システムログとは,一般的にはジャーナルとも呼ばれているデータベースの更新履歴情報のことです。HiRDBはこのシステムログを次に示す目的のためにシステムログファイルに取得しています。
HiRDBまたはUAPが異常終了すると,実行中のUAPが更新したデータベースの内容をロールバックする必要が生じます。この処理はHiRDBが行います。このときの入力情報がシステムログとなります。
システムログにはデータベースの更新履歴情報が格納されているので,データベースに障害が発生したときでも,バックアップファイルとそのバックアップを取得した時点以降の更新履歴を利用して,データベースを最新の状態に回復できます。
ディスク障害など,データベースを回復する必要が生じた場合,pdrstrコマンドでデータベースを回復します。このとき,次に示す入力情報が必要になります。
システムログの運用の種類には,表4-3に示す方法があります。このマニュアルでは,運用方法が最も単純なアンロード状態のチェックを解除する運用でHiRDBを運用します。「2.3.1 作成する環境」で紹介した自動ログアンロード機能は,システムログをアンロードする運用でHiRDBを運用する場合に利用できます。それぞれの運用方法の詳細については,「HiRDB Version 7 システム運用ガイド(Windows(R)用)」を参照してください。
表4-3 システムログの運用の種類
運用の種類 | 運用方法 | データベースの回復方法 | 利点 |
---|---|---|---|
システムログをアンロードする運用 |
|
|
|
アンロードレスシステムログ運用 |
|
|
|
アンロード状態のチェックを解除する運用 |
|
|
|
この節には,システムログをアンロードする運用の場合の演習を記載しています。このマニュアルではアンロード状態のチェックを解除する運用を利用しているので,この演習は実行する必要はありません。
システムログをアンロードする運用の場合,(1)の(b)で説明したように,データベースの障害に備えてアンロードログファイルを保管しておく必要があります。
システムログが出力されているファイルを「現用」ファイルといいます。この「現用」ファイルの容量いっぱいにシステムログが出力されると,システムログの出力先がほかのシステムログファイルに変更されます。これをシステムログファイルのスワップといいます。
「現用」であったファイルは「アンロード待ち状態」のファイルとなります。HiRDB管理者は,この「アンロード待ち状態」のファイルをpdlogunldコマンドでアンロードします。
システムログファイルの状態変化を図4-2に示します。
システムログファイルの状態は,pdloglsコマンドで確認できます。pdlogls出力例を次に示します。
「アンロード待ち状態」のファイルにはシステムログを出力できません。全システムログファイルが「アンロード待ち状態」になると,システムログが出力できなくなり,HiRDBが異常終了します。したがって,システムログのアンロードは忘れずに実行してください。
システムログをアンロードする運用では,pdlogunldコマンドでアンロード待ち状態のシステムログファイルをアンロードする必要があります。この作業を忘れるとスワップ先にできる状態のシステムログファイルがなくなり,HiRDBが異常終了します。これを回避するための機能として,自動ログアンロード機能があります。自動ログアンロード機能を使うと,システムログファイルのアンロード作業をHiRDBが自動的に行います。アンロード作業が頻繁に発生する場合は,システムログのアンロード作業の自動化を検討してください。
HiRDBが自動的に作成するアンロードログファイルの名称には次に示すような規則があり,アンロードされた順序がわかるようになっています。したがって,バックアップ取得時の最新のアンロードログファイルを調べておくと,データベースの回復時にはそれ以降に作成されたアンロードログファイルを使うことでデータベースを最新の状態に回復できます。
sds01_404d793d0001_log1 ←バックアップ直前にアンロードしたファイル sds01_404d793d0002_log2 sds01_404d793d0003_log3 sds01_404d793d0004_log4 |
通常は,サーバを停止するときはバックアップを取得するときなので,サーバランIDが異なる複数のアンロードログファイルがデータベースの回復に必要になることはありません。バックアップ取得時に,次にアンロードされる予定のアンロードログファイル名を調べておけば,世代番号に注目することでバックアップ取得以降に作成されたアンロードログファイルを把握することができます。
上記の例の場合,「sds01_404d793d0001_log1」がバックアップ直前にアンロードしたファイルとすると,取得したバックアップを使ってデータベースを回復するには,「sds01_404d793d0002_log2」以降の三つのファイルが必要になります。
自動ログアンロード機能の詳細については,マニュアル「HiRDB Version 7 システム運用ガイド(Windows(R)用)」を参照してください。
このあとに行う演習ではアンロードログファイルをデータベースと同じディスクに格納していますが,本番のシステムではアンロードログファイルをデータベースと異なるディスクに格納してください。同じディスクに格納すると,そのディスクに障害が発生した場合,データベースを回復できなくなります。
システムログをアンロードする手順を図4-3に示します。
図4-3 システムログをアンロードする手順
「アンロード待ち状態」のファイルがない場合は,pdlogswapコマンドでシステムログファイルをスワップさせて,「アンロード待ち状態」のファイルを作成してください。
C:\>pdlogswap -d sys |
All Rights Reserved. Copyright (C) 1999, 2004, Hitachi, Ltd.