(57)【要約】【課題】  基底ジャーナルと累積ジャーナルに出力されるジャーナルレコードに連番を付加することで、無停止で採取されたＤＢとジャーナルのバックアップを使用して、整合性のあるＤＢをリカバリすることを可能とするデータベース復旧方法、データベース復旧装置及びデータベース復旧プログラムを提供する。【解決手段】  ＤＢのリカバリ時、ジャーナルレコードに付加された連番を用いて、トランザクション単位でジャーナルレコードの連番確認を行い、全てのジャーナルレコードが揃っている場合のみリカバリの対象とする。【選択図】図２
2008250717.tif 000002
【特許請求の範囲】
【請求項１】
データベースのデータファイルを所定の時点でジャーナルレコードとして保存する基底ジャーナル保存ステップと、
前記基底ジャーナル保存ステップに保存されたジャーナルレコードが更新された場合に、更新後のジャーナルレコードを保存する累積ジャーナル保存ステップと、
前記基底ジャーナル保存ステップと、前記累積ジャーナル保存ステップに保存されるジャーナルレコードに連番を付加する連番付加ステップと、
前記データベース、基底ジャーナル保存ステップ、前記累積ジャーナル保存ステップが有するデータを記憶媒体へバックアップするバックアップステップと、
前記記憶媒体から、データベース、基底ジャーナル保存ステップ、前記累積ジャーナル保存ステップへのリストアを実施するリストアステップと、
前記リストアしたデータベース、基底ジャーナル保存ステップ、前記累積ジャーナル保存ステップのデータに基づきデータベースをリカバリするリカバリステップと、
前記データベースのリカバリステップによるリカバリ時、前記連番付加ステップにより付加されたジャーナルレコードの連番を用いて、ジャーナルレコードの連番確認を行う連番確認ステップと、
前記連番確認ステップにより全てのジャーナルレコードが揃っていると確認できた場合のみ前記リカバリステップの対象とするリカバリ可否判断ステップと、を備えることを特徴とするデータベース復旧方法。
【請求項２】
前記リカバリステップによるリカバリに利用するジャーナルレコードの有効範囲を決定するリカバリ有効範囲決定ステップを備え、
前記連番確認ステップは、前記決定された有効範囲内のジャーナルレコードの連番を確認し、
前記リカバリ可否ステップは、前記決定された有効範囲内のジャーナルレコードの連番が全て揃っていると確認し、前記有効範囲内のリカバリが可能か否か判断することを特徴とする請求項１記載のデータベース復旧方法。
【請求項３】
前記有効範囲は、トランザクション開始のジャーナルレコードから、対応するトランザクション終了のジャーナルレコードまでの範囲であることを特徴とする請求項２記載のデータベース復旧方法。
【請求項４】
前記リカバリ有効範囲決定ステップは、前記有効範囲内で全ての連番が揃わなかった場合は、ジャーナルレコードを逆順に走査し、次の有効範囲を決定することを特徴とする請求項２又は３記載のデータベース復旧方法。
【請求項５】
前記バックアップステップによりデータをバックアップする記憶媒体は、外部記憶媒体であることを特徴とする請求項１から４のいずれか１項記載のデータベース復旧方法。
【請求項６】
データベースのデータファイルを所定の時点でジャーナルレコードとして保存する基底ジャーナル保存手段と、
前記基底ジャーナル保存手段に保存されたジャーナルレコードが更新された場合に、更新後のジャーナルレコードを保存する累積ジャーナル保存手段と、
前記基底ジャーナル保存手段と、前記累積ジャーナル保存手段に保存されるジャーナルレコードに連番を付加する連番付加手段と、
前記データベース、基底ジャーナル保存手段、前記累積ジャーナル保存手段が有するデータを記憶媒体へバックアップするバックアップ手段と、
前記記憶媒体から、データベース、基底ジャーナル保存手段、前記累積ジャーナル保存手段へのリストアを実施するリストア手段と、
前記リストアしたデータベース、基底ジャーナル保存手段、前記累積ジャーナル保存手段のデータに基づきデータベースをリカバリするリカバリ手段と、
前記データベースのリカバリ手段によるリカバリ時、前記連番付加手段により付加されたジャーナルレコードの連番を用いて、ジャーナルレコードの連番確認を行う連番確認手段と、
前記連番確認手段により全てのジャーナルレコードが揃っていると確認できた場合のみ前記リカバリ手段の対象とするリカバリ可否判断手段と、を備えることを特徴とするデータベース復旧装置。
【請求項７】
データベースのデータファイルを所定の時点でジャーナルレコードとして保存する基底ジャーナル保存処理と、
前記基底ジャーナル保存処理に保存されたジャーナルレコードが更新された場合に、更新後のジャーナルレコードを保存する累積ジャーナル保存処理と、
前記基底ジャーナル保存処理と、前記累積ジャーナル保存処理に保存されるジャーナルレコードに連番を付加する連番付加処理と、
前記データベース、基底ジャーナル保存処理、前記累積ジャーナル保存処理が有するデータを記憶媒体へバックアップするバックアップ処理と、
前記記憶媒体から、データベース、基底ジャーナル保存処理、前記累積ジャーナル保存処理へのリストアを実施するリストア処理と、
前記リストアしたデータベース、基底ジャーナル保存処理、前記累積ジャーナル保存処理のデータに基づきデータベースをリカバリするリカバリ処理と、
前記データベースのリカバリ処理によるリカバリ時、前記連番付加処理により付加されたジャーナルレコードの連番を用いて、ジャーナルレコードの連番確認を行う連番確認処理と、
前記連番確認処理により全てのジャーナルレコードが揃っていると確認できた場合のみ前記リカバリ処理の対象とするリカバリ可否判断処理と、をコンピュータに実行させることを特徴とするデータベース復旧プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース復旧方法、データベース復旧装置及びデータベース復旧プログラムに関し、特に整合性のあるＤＢをリカバリすることが出来るデータベース復旧方法、データベース復旧装置及びデータベース復旧プログラムに関する。
【背景技術】
【０００２】
従来のデータベース（以下「ＤＢ」と称す）の管理システムとして、ＤＢのバックアップを単一のジャーナル・ファイルにより実行し、かかるジャーナル・ファイルに基づくＤＢ遅延更新方法が提案されている（例えば特許文献１参照）。
【０００３】
また、地震や火災などにより、ＤＢとジャーナルの双方に障害が発生した場合は、無停止でデータをバックアップしていた。
【特許文献１】特開２０００−１１２８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のように、基底ジャーナルと累積ジャーナルを無停止でバックアップした場合、基底ジャーナルと累積ジャーナルの双方のバックアップが非同期に行なわれるため、基底ジャーナルと累積ジャーナルの各ジャーナルレコード間の出力順序が判別できなくなるという問題があった。
【０００５】
業務無停止でのＤＢ、ジャーナルのバックアップからＤＢがリカバリ出来ない動作例について図を用いて説明する。図１１は、従来のジャーナルレコードをバックアップする例を示し、基底ジャーナルは点線枠ｇで囲まれたジャーナルレコード、累積ジャーナルは点線枠ｈで囲まれたジャーナルレコード、ＤＢは点線枠ｉで囲まれた状態がバックアップされたとする。かかるバックアップをリストアした状態を図１２に示す。
【０００６】
ロールフォワードリカバリの動作について図１３を用いて説明すると、ロールフォワードリカバリとして、累積ジャーナル上のジャーナルレコード３５、３６、３７を用いてＤＢのレコードＲ１とＲ２を上書きしていく。この後、基底ジャーナルにはトランザクション終了ジャーナル（「Ｔ３終了」）が出力されていない未完了トランザクション（Ｔ３）があるため、ロールバックリカバリを行う必要がある。
【０００７】
ロールバックリカバリの動作について図１４を用いて説明すると、基底ジャーナル上のジャーナルレコード３８がロールバックリカバリの対象となるジャーナルレコードとなり、ジャーナルレコード３８の記録をもとにＤＢのレコードＲ１を上書きする。
【０００８】
ロールバックリカバリが完了した図１４の状態が、業務無停止でバックアップされたジャーナルを用いたリカバリとなるが、ＤＢのレコードＲ１とＲ２は、基底ジャーナルと累積ジャーナルに全てのジャーナルレコードがバックアップされているトランザクションＴ１終了時の状態でならなければいけないのに、ジャーナルリカバリ処理はトランザクションＴ１終了時とは異なる状態でリカバリが完了してしまい、ＤＢに不整合が発生してしまう。
【０００９】
従って、地震や火災などによるＤＢとジャーナルの同時障害の対策としては、業務無停止のバックアップではなく、静止点におけるバックアップが必要であった。また、上記ＤＢの不整合は、リストアされた基底ジャーナルと累積ジャーナルに、互いの関係を確認する連番が付加されていないため、リストアされたジャーナルレコードをそのままジャーナルリカバリ手段に渡すことしか出来ず、生じる問題である。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、基底ジャーナルと累積ジャーナルに、互いの関係を確認する連番を付加することにより、ＤＢとジャーナルの両方の障害からのリカバリを目的としたバックアップを行い、業務無停止で整合性のあるＤＢをリカバリすることを目的としている。
【課題を解決するための手段】
【００１１】
請求項１記載の発明は、データベースのデータファイルを所定の時点でジャーナルレコードとして保存する基底ジャーナル保存ステップと、前記基底ジャーナル保存ステップに保存されたジャーナルレコードが更新された場合に、更新後のジャーナルレコードを保存する累積ジャーナル保存ステップと、前記基底ジャーナル保存ステップと、前記累積ジャーナル保存ステップに保存されるジャーナルレコードに連番を付加する連番付加ステップと、前記データベース、基底ジャーナル保存ステップ、前記累積ジャーナル保存ステップが有するデータを記憶媒体へバックアップするバックアップステップと、前記記憶媒体から、データベース、基底ジャーナル保存ステップ、前記累積ジャーナル保存ステップへのリストアを実施するリストアステップと、前記リストアしたデータベース、基底ジャーナル保存ステップ、前記累積ジャーナル保存ステップのデータに基づきデータベースをリカバリするリカバリステップと、前記データベースのリカバリステップによるリカバリ時、前記連番付加ステップにより付加されたジャーナルレコードの連番を用いて、ジャーナルレコードの連番確認を行う連番確認ステップと、前記連番確認ステップにより全てのジャーナルレコードが揃っていると確認できた場合のみ前記リカバリステップの対象とするリカバリ可否判断ステップと、を備えることを特徴とするデータベース復旧方法である。
【００１２】
請求項２記載の発明は、請求項１記載の方法において、前記リカバリステップによるリカバリに利用するジャーナルレコードの有効範囲を決定するリカバリ有効範囲決定ステップを備え、前記連番確認ステップは、前記決定された有効範囲内のジャーナルレコードの連番を確認し、前記リカバリ可否ステップは、前記決定された有効範囲内のジャーナルレコードの連番が全て揃っていると確認し、前記有効範囲内のリカバリが可能か否か判断することを特徴とする。
【００１３】
請求項３記載の発明は、請求項２記載の方法において、前記有効範囲は、トランザクション開始のジャーナルレコードから、対応するトランザクション終了のジャーナルレコードまでの範囲であることを特徴とする。
【００１４】
請求項４記載の発明は、請求項２又は３記載の方法において、前記リカバリ有効範囲決定ステップは、前記有効範囲内で全ての連番が揃わなかった場合は、ジャーナルレコードを逆順に走査し、次の有効範囲を決定することを特徴とする。
【００１５】
請求項５記載の発明は、請求項１から４のいずれか１項記載の方法において、前記バックアップステップによりデータをバックアップする記憶媒体は、外部記憶媒体であることを特徴とする。
【００１６】
請求項６記載の発明は、データベースのデータファイルを所定の時点でジャーナルレコードとして保存する基底ジャーナル保存手段と、前記基底ジャーナル保存手段に保存されたジャーナルレコードが更新された場合に、更新後のジャーナルレコードを保存する累積ジャーナル保存手段と、前記基底ジャーナル保存手段と、前記累積ジャーナル保存手段に保存されるジャーナルレコードに連番を付加する連番付加手段と、前記データベース、基底ジャーナル保存手段、前記累積ジャーナル保存手段が有するデータを記憶媒体へバックアップするバックアップ手段と、前記記憶媒体から、データベース、基底ジャーナル保存手段、前記累積ジャーナル保存手段へのリストアを実施するリストア手段と、前記リストアしたデータベース、基底ジャーナル保存手段、前記累積ジャーナル保存手段のデータに基づきデータベースをリカバリするリカバリ手段と、前記データベースのリカバリ手段によるリカバリ時、前記連番付加手段により付加されたジャーナルレコードの連番を用いて、ジャーナルレコードの連番確認を行う連番確認手段と、前記連番確認手段により全てのジャーナルレコードが揃っていると確認できた場合のみ前記リカバリ手段の対象とするリカバリ可否判断手段と、を備えることを特徴とするデータベース復旧装置である。
【００１７】
請求項７記載の発明は、データベースのデータファイルを所定の時点でジャーナルレコードとして保存する基底ジャーナル保存処理と、前記基底ジャーナル保存処理に保存されたジャーナルレコードが更新された場合に、更新後のジャーナルレコードを保存する累積ジャーナル保存処理と、前記基底ジャーナル保存処理と、前記累積ジャーナル保存処理に保存されるジャーナルレコードに連番を付加する連番付加処理と、前記データベース、基底ジャーナル保存処理、前記累積ジャーナル保存処理が有するデータを記憶媒体へバックアップするバックアップ処理と、前記記憶媒体から、データベース、基底ジャーナル保存処理、前記累積ジャーナル保存処理へのリストアを実施するリストア処理と、前記リストアしたデータベース、基底ジャーナル保存処理、前記累積ジャーナル保存処理のデータに基づきデータベースをリカバリするリカバリ処理と、前記データベースのリカバリ処理によるリカバリ時、前記連番付加処理により付加されたジャーナルレコードの連番を用いて、ジャーナルレコードの連番確認を行う連番確認処理と、前記連番確認処理により全てのジャーナルレコードが揃っていると確認できた場合のみ前記リカバリ処理の対象とするリカバリ可否判断処理と、をコンピュータに実行させることを特徴とするデータベース復旧プログラムである。
【発明の効果】
【００１８】
本発明によれば、基底ジャーナルと累積ジャーナルに出力されるジャーナルレコードに連番を付加することで、無停止で採取されたＤＢとジャーナルのバックアップを使用して、整合性のあるＤＢをリカバリすることを可能とする。
【発明を実施するための最良の形態】
【００１９】
本発明では、基底ジャーナルと累積ジャーナルとが別々に構成されるトランザクション処理システム（Transaction Processing System）において、地震や火災などにより、ＤＢとジャーナルの双方に障害が発生した場合、無停止でＤＢとジャーナルをバックアップしたとしても整合性のあるＤＢのリカバリを行う。以下、本発明の実施形態について、図面を用いて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００２０】
まず、本発明が適用されるトランザクション処理システムについて説明する。図１は、トランザクション処理と、基底ジャーナル、累積ジャーナル、ＤＢレコード（Ｒ１）、ＤＢレコード（Ｒ２）の動作処理の流れを対応させている。なお、図１に示すように、本発明の実施形態が適用されるトランザクション処理システムは、基底ジャーナルと累積ジャーナルとが別ファイルで構成されているトランザクション処理システムである。
【００２１】
ここでジャーナル（Journal）とは、コンピュータ・システムの稼働中に、システムが記録する更新情報などの履歴のことで、かかる記録はシステムに障害が発生したときなどに、原因究明や復旧のために使用される。本実施形態では、ジャーナルの出力性能向上と容量拡大のために、ジャーナルを基底ジャーナルと累積ジャーナルに分散して管理している。基底ジャーナルにはトランザクション開始（図１、「Ｔ（Transaction）１開始」）、トランザクション終了（図１、「Ｔ（Transaction）１終了」）、更新前イメージの各ジャーナルレコード（図１、「Ｒ１：Ｘ」「Ｒ２：Ｙ」）が出力され、累積ジャーナルには更新後イメージのジャーナルレコード（図１、「Ｒ１：Ａ」「Ｒ２：Ｌ」）が出力される。
【００２２】
本発明の特徴は、基底ジャーナルおよび累積ジャーナルに出力されるジャーナルレコードに連番を付加することであり、かかる連番を付加したジャーナルレコードの出力例を図２に示す。
【００２３】
本発明の実施形態に係るホストコンピュータ１のブロック構成図を図３に示す。なお、図３にはホストコンピュータ１の他、ＤＢ、基底ジャーナル、累積ジャーナルのセーブデータを保持する外部媒体１３も参考に示している。
【００２４】
ホストコンピュータ１は、トランザクション制御部２と、ＤＢＭＳ（database management system；データベース管理システム）３と、連番保存領域４と、連番付加部５と、ジャーナル出力部６と、ジャーナルリカバリ部７と、ジャーナル有効範囲決定部８と、バックアップ／リストア部９と、累積ジャーナル１０と、基底ジャーナル１１と、ＤＢ１２から構成される。
【００２５】
トランザクション制御部２は、トランザクションの実行を制御し、ジャーナルの出力をＤＢＭＳ３に通知する。ＤＢＭＳ３は、トランザクション制御部２と連携して、ＤＢ、基底ジャーナル、累積ジャーナルの入出力を制御する。
【００２６】
連番付加部５は、連番保存領域４に保存された連番を利用し、１ジャーナルレコードの出力ごとに１増加していく連番をジャーナルレコードに付加する。
【００２７】
ジャーナル出力部６は、累積ジャーナル１０と基底ジャーナル１１へジャーナルレコードを出力する。
【００２８】
ジャーナルリカバリ部７は、累積ジャーナル１０と基底ジャーナル１１のジャーナルレコードを元に、ＤＢ１２のリカバリを行う。
【００２９】
ジャーナル有効範囲決定部８は、連番付加部５がジャーナルレコードに付加した連番を参照し、ジャーナルリカバリ部７がリカバリを行うときに利用されるジャーナルレコードの範囲を決定する。
【００３０】
バックアップ／リストア部９は、累積ジャーナル１０と基底ジャーナル１１とＤＢ１２を外部媒体１３へのバックアップと、外部媒体１３から基底ジャーナル１１と累積ジャーナル１０とＤＢ１２へのリストア（Restore；復元）を行う。ここで、リストアとは、プログラム作成におけるデータを元の場所に戻すことであり、具体的にはバックアップしたプログラムやデータを元に戻すことである。
【００３１】
次に、本実施形態に係るＤＢ復元方法の動作処理について図を用いて説明する。まず、ジャーナルレコード出力時の動作処理を示すフローチャート（図４）を用いて説明する。ジャーナル出力部６が基底ジャーナル１１または累積ジャーナル１０にジャーナルレコードを出力する時、連番付加部５は、連番保存領域４に保存されていた現在の連番を読み出し（ステップＳ１）、ステップＳ１で取得した連番に１を加算し（ステップＳ２）、ジャーナル出力部６が出力するジャーナルレコードへ書き込み（ステップＳ３）、ステップＳ３で連番を付加したジャーナルレコードをジャーナル出力部６を用いて基底ジャーナル１１または累積ジャーナル１０に出力し（ステップＳ４）、現在保持している連番を連番保存領域４へ書き込む（ステップＳ５）。
【００３２】
無停止でのバックアップは、バックアップ／リストア部９を用いて、外部媒体１３にバックアップする。ＤＢとジャーナルをバックアップする動作を図５に示す。図５では、基底ジャーナルは点線枠ａで囲まれたジャーナルレコード、累積ジャーナルは点線枠ｂで囲まれたジャーナルレコード、ＤＢは点線枠ｃで囲まれた状態がそれぞれ外部媒体１３にバックアップされたとする。以降の説明も図５に示したバックアップ状態を前提として説明を行う。
【００３３】
次に、ＤＢのリカバリ処理についてフローチャート（図６）を用いて説明する。ＤＢのリカバリを行う時は、バックアップ／リストア部９を用いて外部媒体１３から累積ジャーナル１０、基底ジャーナル１１、ＤＢ１２へのリストアを実施し（ステップＳ６）、ジャーナル有効範囲決定部８を用いてリカバリに利用するジャーナルレコードの範囲を決定し（ステップＳ７）、ステップＳ７で決定されたジャーナルレコードの範囲に対しジャーナルリカバリ部７を使用しＤＢ１２のリカバリを行い（ステップＳ８）、ＤＢ１２のリカバリが完了する。
【００３４】
次に、上記ステップＳ７におけるジャーナル有効範囲決定部８を用いたリカバリに利用するジャーナルレコードの範囲の決定処理を、図を用いて詳細に説明する。まず、基底ジャーナルの終端に位置づけを行い（図７  ステップＳ１０）、トランザクション終了ジャーナルを逆順に走査する（ステップＳ１１）。
【００３５】
図８を用いてステップＳ１０の動作を説明する。図８の矢印で示すように、基底ジャーナルの終端からジャーナルレコード２５と２４を飛び越え、ジャーナルレコード２３でトランザクション終了ジャーナル（「Ｔ２終了」）を見つけ、図７のステップＳ１０の走査を完了する。
【００３６】
次に、ステップＳ１０で発見したトランザクション終了ジャーナル（図８  ジャーナルレコード２３）に対応するトランザクション開始ジャーナル（「Ｔ２開始」）を見つけ、トランザクション開始ジャーナルからトランザクション終了ジャーナルまでの全ジャーナルレコードが全て揃っているか確認する。つまり、トランザクション開始ジャーナルが持つ連番と、トランザクション終了ジャーナルがもつ連番の間の全ての連番が、リストアされたジャーナルレコードから見つけ出せるかを検査する（図７  ステップＳ１２）。
【００３７】
上記ステップＳ１２の動作について、図８を用いて詳細に説明する。トランザクション終了ジャーナル２３と対応するトランザクション開始ジャーナルがジャーナルレコード２０となるので、トランザクション開始ジャーナル２０がもつ連番７から、トランザクション終了ジャーナル２３がもつ連番１２までの連番８、９、１０、１１が、リストアされた基底ジャーナルと累積ジャーナルのジャーナルレコードから見つけられるかを検査することとなる。図８では、連番１１を持つジャーナルレコードを見つけることが出来ないため、トランザクション開始ジャーナル２０で始まり、トランザクション終了ジャーナル２３で終わるトランザクションＴ２はリカバリ不可能と判断される。
【００３８】
ステップＳ１２での検査で、全ての連番が揃わないと判断された場合（ステップＳ１３／Ｎｏ）、再びステップＳ１１に戻り、トランザクション終了ジャーナルの走査を繰り返し、発見したトランザクション終了ジャーナルを基準にステップＳ１２の検査を行う。
【００３９】
図８で示した連番の検査では、連番１１が見つからなかったため、再びトランザクション終了ジャーナルを逆順に走査する必要がある。再度トランザクション終了ジャーナルが発見してからの動作を図９に示す。発見されたトランザクション終了ジャーナル（「Ｔ１終了」）３０と対応するトランザクション開始ジャーナル（「Ｔ１開始」）はジャーナルレコード２７なので、トランザクション開始ジャーナル２７が持つ連番１とトランザクション終了ジャーナル３０が持つ連番６までの連番、つまり連番２、３、４、５がリストアされた基底ジャーナルと累積ジャーナルのジャーナルレコードから見つけられるかを検査することとなる。
【００４０】
図９では、連番２、３、４、５を持つジャーナルレコードが全て発見できるため（ジャーナルレコード２８、３０、２９、３１参照）、トランザクション開始ジャーナル２７で始まりトランザクション終了ジャーナル３０で終わるトランザクションＴ１は、ジャーナルリカバリ部７でリカバリ可能であると判断される。
【００４１】
ステップＳ１３で全ての連番が揃っていることが確認されると（ステップＳ１３／Ｙｅｓ）、ジャーナルレコードの有効範囲決定部８による有効範囲決定処理（図６のステップＳ７）は終了し、ジャーナルレコードの有効範囲に対してジャーナルリカバリ部７によるＤＢのリカバリを実施する（図６  ステップＳ８）。
【００４２】
図９で有効範囲と判断されたトランザクションＴ１のジャーナルレコードに対してジャーナルリカバリを実施する動作を図１０に示す。累積ジャーナルのジャーナルレコード３３、３４をロールフォワード（Roll Forward；ＤＢに反映されていない更新情報をＤＢに反映すること）リカバリ（Recovery；障害回復）に使用し、ＤＢのレコードＲ１、Ｒ２の上書きをする。トランザクションＴ１はトランザクション終了ジャーナルが出力されている完了トランザクションなので、ロールバックリカバリ（Rollback；ログ・ファイルを見て、ＤＢを処理開始前の状態に戻すこと。）は行わずリカバリは終了する。
【００４３】
上記実施形態により、基底ジャーナルと累積ジャーナルをもつトランザクション処理システムにおいて、地震や火災などによるＤＢとジャーナルの両方の障害からのリカバリを目的としたバックアップのために業務を停止させる必要がなく、業務無停止で採取されたＤＢおよびジャーナルから、ジャーナルレコードに付加された連番を用いることで、ＤＢのリカバリが可能になる。
【００４４】
なお、各図のフローチャートに示す処理を、ＣＰＵが実行するためのプログラムは本発明によるプログラムを構成する。このプログラムを記録する記録媒体としては、半導体記憶部や光学的及び／又は磁気的な記憶部等を用いることができる。このようなプログラム及び記録媒体を、前述した各実施形態とは異なる構成のシステム等で用い、そこのＣＰＵで上記プログラムを実行させることにより、本発明と実質的に同じ効果を得ることができる。
【００４５】
以上、本発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施形態に係るトランザクション処理、基底ジャーナル、累積ジャーナル、ＤＢレコードＲ１、ＤＢレコードＲ２の動作の流れを対応させて示す図である。
【図２】本発明の実施形態に係る基底ジャーナルおよび累積ジャーナルに出力されるジャーナルレコードに連番を付加した出力例を示す図である。
【図３】本発明の実施形態に係るホストコンピュータのブロック構成図である。
【図４】本発明の実施形態に係るジャーナルレコード出力時の動作処理を示すフローチャートである。
【図５】本発明の実施形態に係るＤＢとジャーナルをバックアップする動作処理を説明するための図である。
【図６】本発明の実施形態に係るＤＢのリカバリ時の動作処理を示すフローチャートである。
【図７】本発明の実施形態に係るジャーナル有効範囲決定部８を用いたリカバリに利用するジャーナルレコードの範囲の決定処理を示すフローチャートである。
【図８】本発明の実施形態に係るトランザクション終了ジャーナルを逆順に走査することを説明するための図である。
【図９】本発明の実施形態に係るトランザクション終了ジャーナルを再度発見してからの動作を説明するための図である。
【図１０】本発明の実施形態に係る有効範囲と判断されたトランザクションＴ１のジャーナルレコードに対してジャーナルリカバリを実施する動作を説明するための図である。
【図１１】従来のジャーナルレコードをバックアップする例を示す図である。
【図１２】従来のバックアップをリストアした状態を示す図である。
【図１３】従来のロールフォワードリカバリの動作について説明するための図である。
【図１４】従来のロールバックリカバリの動作について説明するための図である。
【符号の説明】
【００４７】
１    ホストコンピュータ
２    トランザクション制御部２
３    ＤＢＭＳ
４    連番保存領域
５    連番付加部
６    ジャーナル出力部
７    ジャーナルリカバリ部
８    ジャーナル有効範囲決定部
９    バックアップ／リストア部
１０    累積ジャーナル
１１    基底ジャーナル
１２    ＤＢ
【図１】
2008250717.tif 000003
【図２】
2008250717.tif 000004
【図３】
2008250717.tif 000005
【図４】
2008250717.tif 000006
【図５】
2008250717.tif 000007
【図６】
2008250717.tif 000008
【図７】
2008250717.tif 000009
【図８】
2008250717.tif 000010
【図９】
2008250717.tif 000011
【図１０】
2008250717.tif 000012
【図１１】
2008250717.tif 000013
【図１２】
2008250717.tif 000014
【図１３】
2008250717.tif 000015
【図１４】
2008250717.tif 000016