(57)【特許請求の範囲】
【請求項１】
第一のデータベースを有する第一のストレージ装置と、第二のデータベースを有する第二のストレージ装置と、を備えると共に、
前記第一のデータベースの更新時に、その更新内容を表すジャーナルを前記第一のストレージ装置に形成された所定の容量を有するジャーナルボリュームに格納するデータベース更新手段と、
前記第一のストレージ装置内の前記ジャーナルボリュームを、前記第二のストレージ装置に転送するジャーナル転送手段と、
前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルを、前記第二のデータベースに反映するデータベースリカバリ手段と、を備え、
前記データベースリカバリ手段は、前記第二のストレージ装置に既に転送された複数の前記ジャーナルボリュームに含まれるジャーナルのうち、当該各ジャーナルボリューム内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正して当該ジャーナル群をリカバリ対象とし、当該リカバリ対象である当該補正したジャーナル群を構成するジャーナルを前記第二のデータベースに反映する、
レプリケーションシステム。
【請求項２】
請求項１に記載のレプリケーションシステムであって、
前記データベースリカバリ手段は、前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルの一部と、このジャーナルボリュームの前に前記第二のストレージ装置に転送された他の前記ジャーナルボリューム内のジャーナルの一部と、を含む前記ジャーナル群を形成するよう補正する、
レプリケーションシステム。
【請求項３】
請求項１又は２に記載のレプリケーションシステムであって、
前記データベースリカバリ手段は、前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルの一部と、前記他のジャーナルボリューム内のジャーナルの一部と、を含む前記ジャーナル群が、所定のトランザクション処理の内容を表すジャーナル群を形成するよう補正する、
レプリケーションシステム。
【請求項４】
請求項１乃至３のいずれかに記載のレプリケーションシステムであって、
前記データベースリカバリ手段は、前記第二のストレージ装置に転送された前記ジャーナルボリューム内に、所定のトランザクション処理の内容を表すジャーナル群を構成するジャーナルの全てが含まれていない場合に、そのジャーナル群を構成するジャーナルを前記第二のデータベースへの反映対象から除外する、
レプリケーションシステム。
【請求項５】
請求項１乃至４のいずれかに記載のレプリケーションシステムであって、
前記ジャーナル転送手段は、前記第一のストレージ装置内の前記ジャーナルボリュームの空き容量が無くなったときに、当該ジャーナルボリュームを前記第二のストレージ装置に転送する、
レプリケーションシステム。
【請求項６】
第一のデータベースを有する第一のストレージ装置と、第二のデータベースを有する第二のストレージ装置と、に接続された情報処理システムに、
前記第一のデータベースの更新時に、その更新内容を表すジャーナルを前記第一のストレージ装置に形成された所定の容量を有するジャーナルボリュームに格納するデータベース更新手段と、
前記第一のストレージ装置内の前記ジャーナルボリュームを、前記第二のストレージ装置に転送するジャーナル転送手段と、
前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルを、前記第二のデータベースに反映するデータベースリカバリ手段と、を実現させると共に、
前記データベースリカバリ手段は、前記第二のストレージ装置に既に転送された複数の前記ジャーナルボリュームに含まれるジャーナルのうち、当該各ジャーナルボリューム内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正して当該ジャーナル群をリカバリ対象とし、当該リカバリ対象である当該補正したジャーナル群を構成するジャーナルを前記第二のデータベースに反映する、
プログラム。
【請求項７】
請求項６に記載のプログラムであって、
前記データベースリカバリ手段は、前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルの一部と、このジャーナルボリュームの前に前記第二のストレージ装置に転送された他の前記ジャーナルボリューム内のジャーナルの一部と、を含む前記ジャーナル群を形成するよう補正する、
プログラム。
【請求項８】
第一のデータベースを有する第一のストレージ装置と、第二のデータベースを有する第二のストレージ装置と、を備えたレプリケーションシステムにて、
前記第一のデータベースの更新時に、その更新内容を表すジャーナルを前記第一のストレージ装置に形成された所定の容量を有するジャーナルボリュームに格納し、
前記第一のストレージ装置内の前記ジャーナルボリュームを、前記第二のストレージ装置に転送し、
前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルを、前記第二のデータベースに反映すると共に、
前記ジャーナルを前記第二のデータベースに反映する際に、前記第二のストレージ装置に既に転送された複数の前記ジャーナルボリュームに含まれるジャーナルのうち、当該各ジャーナルボリューム内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正して当該ジャーナル群をリカバリ対象とし、当該リカバリ対象である当該補正したジャーナル群を構成するジャーナルを前記第二のデータベースに反映する、
レプリケーション方法。
【請求項９】
請求項８に記載のレプリケーション方法であって、
前記ジャーナルを前記第二のデータベースに反映する際に、前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルの一部と、このジャーナルボリュームの前に前記第二のストレージ装置に転送された他の前記ジャーナルボリューム内のジャーナルの一部と、を含む前記ジャーナル群を形成するよう補正する、
レプリケーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レプリケーションシステムにかかり、特に、一方のストレージ装置から他方のストレージ装置にデータをレプリケーションするレプリケーションシステムに関する。
【背景技術】
【０００２】
近年、種々の情報がデジタルデータ化されており、かかるデータの信頼性を確保すべく、特許文献１に示すように、一方のストレージ装置から他方のストレージ装置にデータを複製（レプリケーション）することが行われている。そして、データベース（以下、「ＤＢ」ともいう。）のレプリケーションには、データベースそのものを転送する手法と、ジャーナル（更新ログ）を転送する手法の２種類がある。近年多く使われている手法は、後者のジャーナルを転送する手法である。
【０００３】
そして、ジャーナルを転送するレプリケーションには、以下の方式が存在する。
・データベース管理ソフトによるレプリケーション
・ストレージ装置によるレプリケーション
ところが、上記データベース管理ソフトを用いたレプリケーションは、ホストコンピュータの資源（ＣＰＵ、メモリ等）を必要とするため、ストレージ装置のレプリケーション機能を用いる方式が一般的である。
【０００４】
そして、上述したストレージ装置によるレプリケーション方式では、以下の３種類のジャーナル転送方法がそれぞれ存在する。
（１）同期式転送
ローカルホスト、リモートホストの両方のストレージ装置へ同時に書き込みＩ／Ｏが行われ、両方とも書き込みＩ／Ｏが完了した時点で、Ｉ／Ｏ発行者へ書き込み完了が返される。
（２）データの書き込み順が保証される非同期式転送
ローカルホストのストレージ装置への書き込みＩ／Ｏが完了した時点で、Ｉ／Ｏ発行者へ書き込み完了が返される。その後、ローカルホストのストレージ装置への書き込みＩ／Ｏと同じ順でリモートホストのストレージ装置に書き込みＩ／Ｏが行われる。
（３）データの書き込み順が保証されない非同期式転送
ローカルホストのストレージ装置への書き込みＩ／Ｏが完了した時点で、Ｉ／Ｏ発行者へ書き込み完了が返される。その後、ローカルホストのストレージ装置のデータを、リモートホストのストレージ装置へ転送し反映する。この際、ローカルホストのストレージ装置への書き込みＩ／Ｏと同じ順で、リモートホストのストレージ装置に書き込みＩ／Ｏが行われる保証は無い。
【０００５】
ここで、上述した（１）の同期式転送を行うためには、高速な回線が必要である、という問題がある。また、上記（２）のデータの書き込み順が保証される非同期式転送を行うためには、ストレージ装置側に複雑な機構が必要である、という問題がある。
【０００６】
さらに、上記（３）のデータの書き込み順が保証されない非同期式転送を用いる場合には、ローカルホストのストレージ装置への書き込みＩ／Ｏと同じ順でリモートホストのストレージ装置に書き込みＩ／Ｏが行われる保証が無いという性質のため、ローカルホストのストレージ装置への書き込みＩ／Ｏが全てディスクへ反映された状態（静止点）のものを転送する必要がある。そのためには、システムを一定時間停止（オンライン業務の停止など）する必要があり、２４時間稼動のシステムに適用できないという問題がある。また、現実的には１日１回程度しかシステムを停止できないため、システム停止時にどの時点までさかのぼってデータを回復させるかを示すＲＰＯ（Recovery Point Objective）を短くすることも難しい、という問題もあった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２６８７４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以上のように、上述した（３）のデータの書き込み順が保証されない非同期式転送を用いる場合には、静止点確立のためにシステムを停止させる必要があるため、２４時間稼動システムに適用することができない、という問題が生じる。一方で、現実的には１日１回程度しか停止させることができないため、ＲＰＯを１日より短くすることが困難である、という問題も生じる。従って、ストレージシステムの信頼性の低下、という問題が生じる。
【０００９】
このため、本発明の目的は、上述した課題である、ストレージシステムの信頼性の低下、という問題を解決することにある。
【課題を解決するための手段】
【００１０】
かかる目的を達成するために、本発明の一形態であるレプリケーションシステムは、
第一のデータベースを有する第一のストレージ装置と、第二のデータベースを有する第二のストレージ装置と、を備えると共に、
前記第一のデータベースの更新時に、その更新内容を表すジャーナルを前記第一のストレージ装置に形成された所定の容量を有するジャーナルボリュームに格納するデータベース更新手段と、
前記第一のストレージ装置内の前記ジャーナルボリュームを、前記第二のストレージ装置に転送するジャーナル転送手段と、
前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルを、前記第二のデータベースに反映するデータベースリカバリ手段と、を備え、
前記データベースリカバリ手段は、前記第二のストレージ装置に転送された複数の前記ジャーナルボリュームに含まれるジャーナルのうち、当該各ジャーナルボリューム内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正して、当該補正したジャーナル群を構成するジャーナルを前記第二のデータベースに反映する、
という構成をとる。
【００１１】
また、本発明の他の形態であるプログラムは、
第一のデータベースを有する第一のストレージ装置と、第二のデータベースを有する第二のストレージ装置と、に接続された情報処理システムに、
前記第一のデータベースの更新時に、その更新内容を表すジャーナルを前記第一のストレージ装置に形成された所定の容量を有するジャーナルボリュームに格納するデータベース更新手段と、
前記第一のストレージ装置内の前記ジャーナルボリュームを、前記第二のストレージ装置に転送するジャーナル転送手段と、
前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルを、前記第二のデータベースに反映するデータベースリカバリ手段と、を実現させると共に、
前記データベースリカバリ手段は、前記第二のストレージ装置に転送された複数の前記ジャーナルボリュームに含まれるジャーナルのうち、当該各ジャーナルボリューム内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正して、当該補正したジャーナル群を構成するジャーナルを前記第二のデータベースに反映する、
という構成をとる。
【００１２】
また、本発明の他の形態であるレプリケーション方法は、
第一のデータベースを有する第一のストレージ装置と、第二のデータベースを有する第二のストレージ装置と、を備えたレプリケーションシステムにて、
前記第一のデータベースの更新時に、その更新内容を表すジャーナルを前記第一のストレージ装置に形成された所定の容量を有するジャーナルボリュームに格納し、
前記第一のストレージ装置内の前記ジャーナルボリュームを、前記第二のストレージ装置に転送し、
前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルを、前記第二のデータベースに反映すると共に、
前記ジャーナルを前記第二のデータベースに反映する際に、前記第二のストレージ装置に転送された複数の前記ジャーナルボリュームに含まれるジャーナルのうち、当該各ジャーナルボリューム内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正して、当該補正したジャーナル群を構成するジャーナルを前記第二のデータベースに反映する、
という構成をとる。
【発明の効果】
【００１３】
上記構成の発明によると、ストレージシステムの信頼性の向上を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明におけるレプリケーションシステムの構成を示すブロック図である。
【図２】図１に開示したレプリケーションシステムの動作を説明する説明図である。
【図３】図１に開示したローカル側コンピュータが備える切り替え監視部の動作を示すフローチャートである。
【図４】図１に開示したローカル側コンピュータが備えるレプリケーション部の動作を示すフローチャートである。
【図５】図１に開示したリモート側コンピュータが備えるレプリケーション部の動作を示すフローチャートである。
【図６】図１に開示したリモート側コンピュータが備えるジャーナル補正部の動作を示すフローチャートである。
【図７】図１に開示したレプリケーションシステムの動作を説明する説明図である。
【図８】本発明の付記１におけるレプリケーションシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
＜実施形態１＞
本発明の第１の実施形態を、図１乃至図７を参照して説明する。図１は、本実施形態におけるレプリケーションシステムの構成を示す図であり、図２乃至図７は、その動作を示す図である。
【００１６】
［構成］
本実施形態におけるレプリケーションシステムは、ローカル側に記憶されているデータベースをリモート側のデータベースに反映するようレプリケーションするシステムである。具体的に、レプリケーションシステムは、図１に示すように、まずローカル側に、ローカル側コンピュータ１００と、それに接続されたローカル側ストレージ装置２００（第一のストレージ装置）と、を備えている。また、リモート側に、リモート側コンピュータ１１０と、それに接続されたリモート側ストレージ装置２１０（第二のストレージ装置）と、を備えている。そして、ローカル側コンピュータ１００とリモート側コンピュータ１１０とがネットワーク３００を介して接続されており、ローカル側ストレージ装置２００とリモート側ストレージ装置２１０とがネットワーク３１０を介して接続されている。以下、各構成について詳述する。
【００１７】
ローカル側コンピュータ１００は、装備された演算装置にプログラムが組み込まれることによって構築された、ＤＢ更新アプリケーション１０１と、ＤＢアクセス制御部１０２と、切り替え監視部１０３と、レプリケーション部１０４と、を備えている。また、ローカル側ストレージ装置２００は、装備された記憶装置内に、ローカル側ＤＢ２０１（第一のデータベース）と、ジャーナルボリューム２０２，２０３，２０４と、を備える。さらに、ローカル側ストレージ装置２００は、装備された演算装置にプログラムが組み込まれることによって構築された転送部２０５を備える。
【００１８】
同様に、リモート側コンピュータ１１０は、装備された演算装置にプログラムが組み込まれることによって構築された、ＤＢリカバリアプリケーション１１１と、ＤＢアクセス制御部１１２と、ジャーナル補正部１１３と、レプリケーション部１１４と、を備えている。また、リモート側ストレージ装置２１０は、装備された記憶装置内に、リモート側ＤＢ２１１（第二のデータベース）と、ジャーナルボリューム２１２，２１３，２１４と、を備える。さらに、リモート側ストレージ装置２１０は、装備された演算装置にプログラムが組み込まれることによって構築された転送部２１５を備える。
【００１９】
上記ローカル側コンピュータ１００のＤＢ更新アプリケーション１０１は、ＤＢアクセス制御部１０２を用いて、ローカル側ストレージ装置２００内にあるローカル側ＤＢ（データベース）２０１内に格納されているデータを更新する。このとき、ＤＢアクセス制御部１０２は、ローカル側ＤＢ２０１に対するデータベースの更新内容を表すジャーナルを、現在の出力先として設定されているジャーナルボリューム２０３へ出力して格納する。つまり、ＤＢ更新アプリケーション１０１及びＤＢアクセス制御部１０２は、ローカル側ＤＢ２０１の更新時に、その更新内容を表すジャーナルをジャーナルボリュームに格納するデータベース更新手段として機能する。
【００２０】
なお、各ジャーナルボリューム２０２，２０３，２０４は、それぞれ所定の記憶容量を有している。そして、ＤＢアクセス制御部１０２は、ジャーナルの現在の出力先として設定されているジャーナルボリューム２０３の空き容量が無くなると、ジャーナルの出力先を次のジャーナルボリューム２０４へと切り替えるよう設定する。
【００２１】
また、上記ＤＢアクセス制御部１０２は、ローカル側ＤＢ２０１に対して更新されるデータがトランザクション処理のデータである場合には、そのトランザクション処理を識別する情報と共に、当該トランザクション処理が完了したことを表す情報をジャーナルに含めて、ジャーナルボリュームに出力する。これにより、一連のトランザクション処理に対応するジャーナルが複数にわたる場合には、複数のジャーナルからなるジャーナル群として出力されることとなる。例えば、図７の符号５０１に示すように、トランザクションＡのジャーナルとしては、７つのジャーナルＡからなるジャーナル群としてジャーナルボリュームに格納されることとなる。
【００２２】
上記ローカル側コンピュータ１００の切り替え監視部１０３は、ジャーナルボリュームの切り替え、つまり、上述したようにジャーナルの現在の出力先であるジャーナルボリューム２０３の空き容量が無くなることによる切り替えを監視し、ジャーナルボリュームの切り替えが発生したことを検出する。そして、切り替え監視部１０３は、ジャーナルボリュームの切り替えが発生したことを検出すると、ローカル側コンピュータ１００のレプリケーション部１０４に切り替え発生通知を行う。すると、ローカル側レプリケーション部１０４は、ローカル側ストレージ装置２００に対してジャーナルボリューム２０３のレプリケーション命令を行う。なお、レプリケーション命令は、ローカル側ストレージ装置２００の指定したローカル側ＤＢ２０１内の更新されたデータを、リモート側ストレージ装置２１０のリモート側ＤＢ２１１内へコピーさせる命令である。
【００２３】
上記ローカル側ストレージ装置２００の転送部２０５は、上述したようにローカル側コンピュータ１００のレプリケーション部１０４からレプリケーション命令を受けると、切り替わる前に出力先として設定されていたジャーナルボリューム２０３を、リモート側ストレージ装置２１０に転送する。これにより、リモート側ストレージ装置２１０は、転送されたジャーナルボリューム２０３を、自装置２１０内のジャーナルボリューム２１３に格納する。なお、ローカル側ストレージ装置２００の転送部２０５は、ジャーナルボリューム２０３の転送が完了すると、ローカル側コンピュータ１００のレプリケーション部１０４に対して転送完了通知を行い、当該レプリケーション部１０４は、リモート側コンピュータ１１０のレプリケーション部１１４へ転送完了通知を行う。このように、切り替え監視部１０３とレプリケーション部１０４と転送部２０５とは、ジャーナルボリュームの空き容量が無くなったときに、当該ジャーナルボリュームをリモート側に転送するジャーナル転送手段として機能する。
【００２４】
上記リモート側コンピュータ１１０のレプリケーション部１１４は、上述したようにローカル側コンピュータ１００のレプリケーション部１０４から転送完了通知を受けると、ジャーナル補正部１１３へジャーナルの補正を要求する。ここで、ジャーナル補正部１１３によるジャーナル補正処理について、図７を参照して説明する。
【００２５】
図７は、各ジャーナルボリューム内にあるジャーナルを、対応するトランザクション処理毎（符号Ａ〜Ｋ）に識別して表したものである。ジャーナル補正部１１３は、転送されたジャーナルボリューム２１３内のジャーナルを、当該ジャーナルに含まれるトランザクション処理を識別する情報に基づいて、各トランザクション処理毎に区別する。また、ジャーナルに含まれるトランザクション処理が完了したことを表す情報に基づいて、ジャーナルボリューム２１３内に、所定のトランザクション処理に対応する全てのジャーナルが全て存在しているか否かを調べる。そして、所定のトランザクション処理に対応する複数の全てのジャーナルが存在している場合には、当該複数のジャーナルからなるジャーナル群を、今回のリカバリ対象とする。
【００２６】
但し、一つのジャーナルボリューム内に所定のトランザクション処理に対応する全てのジャーナルが存在していない場合であっても、前回に転送され既にリモート側ストレージ装置２１０に格納されている他のジャーナルボリューム内のジャーナルと併せて全てのジャーナルがそろう場合には、これらのジャーナルからなるジャーナル群も今回のリカバリ対象とする。例えば、図７に示す例では、ジャーナルボリューム２１３内の符号５０２ｂに示すジャーナルＣは、トランザクション処理Ｃに対応する全てのジャーナルがそろっていないが、既に転送されているジャーナルボリューム２１２内の符号５０２ａに示すジャーナルＣと併せることで、トランザクション処理Ｃに対応する全てのジャーナルがそろうこととなる。従って、符号５０２ａと符号５０２ｂに示す全てのジャーナルＣからなるジャーナル群を、今回のリカバリ対象とする。
【００２７】
一方、ジャーナル補正部１１３は、ジャーナルボリューム２１３内に、所定のトランザクション処理に対応する複数の全てのジャーナルが存在していない場合には、該当するジャーナルを今回のリカバリ対象から除外する。例えば、図７の例では、ジャーナルボリューム２１３内におけるトランザクション処理Ｇに対応する符号５０３に示すジャーナルＧは、次回に転送される他のジャーナルボリューム２１４内にも続いているため、ジャーナルボリューム２１３内にトランザクション処理Ｇに対応する全てのジャーナルが存在していない。従って、ジャーナルＧは、今回のリカバリ対象から除外し、上述したように、次回転送されるジャーナルボリューム２１４と併せて次回のリカバリ対象とする。
【００２８】
上記リモート側コンピュータ１１０のレプリケーション部１１４は、上述したようにジャーナルの補正が完了すると、ＤＢリカバリアプリケーション１１１を起動する。すると、ＤＢリカバリアプリケーション１１１は、ＤＢアクセス制御部１１２を用いて、リモート側ストレージ装置２１０内のジャーナルボリューム内の今回リカバリ対象として指定されたジャーナルを、リモート側ＤＢ２１１に反映する。
【００２９】
以上のように、リモート側コンピュータ１１０のレプリケーション部１１４、ジャーナル補正部１１３、ＤＢリカバリアプリケーション１１１、ＤＢアクセス制御部１１２は、転送されたジャーナルボリューム内のジャーナルを、リモート側ＤＢ２１１に反映してレプリケーションするデータベースリカバリ手段として機能している。このとき、前後して転送されるなど、既に転送され記憶されている各ジャーナルボリューム内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正することで、一連のトランザクション処理に対応するジャーナル群を適切にリモート側ＤＢ２１１に反映している。
【００３０】
［動作］
次に、上述したレプリケーションシステムの動作を、図２乃至図６を参照して説明する。なお、図３は、切り替え監視部１０３の動作を示し、図４は、ローカル側コンピュータ１００のレプリケーション部１０４の動作を示す。図５は、リモート側コンピュータ１１０のレプリケーション部１１４の動作を示し、図６は、ジャーナル補正部１１３の動作を示す。
【００３１】
また、ここでは、既に符号２０２に示すジャーナルボリュームがリモート側ストレージ装置２１０に転送されており、符号２０３に示すジャーナルボリュームが、現在のジャーナルの出力先として設定されていることとする。
【００３２】
ローカル側コンピュータ１００内にあるＤＢ更新アプリケーション１０１は、ＤＢアクセス制御部１０２を用いて、ローカル側ストレージ装置２００内にあるローカル側ＤＢ２０１を更新する。このとき、ＤＢアクセス制御部１０２は、かかる更新処理の内容を表すジャーナルを、ジャーナルボリューム２０３へ出力する。このとき、ジャーナルボリューム２０３の空き容量が無くなると、ＤＢアクセス制御部１０２は、ジャーナルの出力先を次のジャーナルボリューム２０４へ切り替える。
【００３３】
そして、ローカル側コンピュータ１００内にある切り替え監視部１０３は、ジャーナルボリュームの切り替えを監視している（図２の矢印Ａ１、図３のステップＡ１）。ジャーナルボリュームの切り替えが発生すると（図２の矢印Ａ２、図３のステップＡ２）、レプリケーション部１０４へ切り替え発生通知を行う（図２の矢印Ａ３、図３のステップＡ３）。
【００３４】
続いて、ローカル側コンピュータ１００内にあるレプリケーション部１０４は、ローカル側ストレージ装置２００に対してジャーナルボリューム２０３のレプリケーション命令を行う（図２の矢印Ｂ１、図４のステップＢ１）。レプリケーション命令を受けたローカル側ストレージ装置２００は、転送部２０５を用いてジャーナルボリューム２０３をリモート側ストレージ装置２１０に転送する。これが完了すると、転送部２０５は、レプリケーション部１０４に対して転送完了通知を行う（図２の矢印Ｂ２、図４のステップＢ２）。そして、ローカル側コンピュータ１００のレプリケーション部１０４は、ローカル側ストレージ装置２００から転送完了通知を受けると、リモート側コンピュータ１１０のレプリケーション部１１４へ転送完了通知を行う（図２の矢印Ｂ３、図４のステップＢ３）。
【００３５】
続いて、リモート側コンピュータ１１０のレプリケーション部１１４は、ローカル側コンピュータ１００のレプリケーション部１０４から転送完了通知を受けると、ジャーナル補正部１１３へジャーナルの補正を要求する（図２の矢印Ｃ１、図５のステップＣ１）。すると、ジャーナル補正部１１３は、一連のトランザクション処理に対応する複数のジャーナルからなるジャーナル群を形成するよう補正する。例えば、図７を参照して説明したように、一連のトランザクション処理を表すジャーナルＣとして、前回転送されたジャーナルボリューム２１２内にあるジャーナルのうち、今回転送されたジャーナルボリューム２１３へ続くジャーナルＣ（５０２ａ）を、今回転送されたジャーナルボリューム２１３内のジャーナルＣ（５０２ｂ）と併せてジャーナル群を形成し、今回のリカバリ対象に含める（図６のステップＤ１）。
【００３６】
また、今回転送されたジャーナルボリューム２１３内にあるジャーナルのうち、次回転送予定のジャーナルボリューム２１４へ続くジャーナルを、今回のリカバリ対象から除外する（図６のステップＤ２）。例えば、図７を参照して説明したように、一連のトランザクション処理を表すジャーナルＧ（５０３）は、次回転送予定のジャーナルボリューム２１４に続いているため、今回のリカバリ対象から除外し、次回、ジャーナルボリューム２１４が転送されたときに、リカバリ対象とする。
【００３７】
上述したようにジャーナルの補正が完了すると、リモート側コンピュータ１１０のレプリケーション部１１４は、ＤＢリカバリアプリケーション１１１を起動する（図２の矢印Ｃ２、図５のステップＣ２）。すると、ＤＢリカバリアプリケーション１１１は、ＤＢアクセス制御部１１２を用いて、リモート側ストレージ装置２１０内のジャーナルボリューム内で今回リカバリ対象として指定されたジャーナル（ジャーナル群）を、ＤＢボリューム２１１へ反映する。
【００３８】
以上のように、本発明のレプリケーションシステムによると、ローカル側では、常にジャーナルを出力し続けることができるため、静止点確立のためにシステムを停止させる必要がない。従って、２４時間稼動システムに対応可能であり、信頼性の向上を図ることができる。
【００３９】
また、ジャーナルボリューム単位でレプリケーションを行うため、上述したように、データの書き込み順が保証されない非同期式転送を用いた場合よりも、ＲＰＯを短くすることが可能であり、信頼性の向上を図ることができる。
【００４０】
さらに、レプリケーション時に高帯域な回線を必要とせず、また、転送データの書き込み順を保証する機構をストレージ側に用意する必要もないため、コストの低減も図ることができる。
【００４１】
なお、上記では、現在使用中のジャーナルボリューム２０３の空き容量が無くなり、ジャーナルボリュームの切り替えが発生したタイミングで、レプリケーション部１０４がストレージ装置２００に対してレプリケーション命令を行っていたが、ジャーナルボリュームを転送開始するタイミングは、上述したタイミングに限定されない。例えば、ジャーナルボリュームの切り替えが発生するより前に、レプリケーション部１０４がストレージ装置２００に対してレプリケーション命令を行い、ジャーナルボリュームが更新される度に、更新されたジャーナルをリモート側ストレージ装置２１０に転送してもよい。その後は、ジャーナルボリュームの切り替えが発生した時点で、上述同様に切り替え発生通知を行い、実際にレプリケーション処理を行う。これにより、ジャーナルボリューム内の更新データの転送開始を早められるため、ジャーナルボリュームの切り替え発生からジャーナルボリュームの転送完了までの時間を短くすることができる。
【００４２】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるレプリケーションシステムの構成の概略を、図８を参照して説明する。但し、本発明は、以下の構成に限定されない。
【００４３】
（付記１）
第一のデータベース１１を有する第一のストレージ装置１０と、第二のデータベース２１を有する第二のストレージ装置２０と、を備えると共に、
前記第一のデータベース１１の更新時に、その更新内容を表すジャーナルを前記第一のストレージ装置１０に形成された所定の容量を有するジャーナルボリューム１２，１３，１４に格納するデータベース更新手段２と、
前記第一のストレージ装置１０内の前記ジャーナルボリューム１２，１３，１４を、前記第二のストレージ装置２０に転送するジャーナル転送手段３と、
前記第二のストレージ装置２０に転送された前記ジャーナルボリューム２２，２３，２４内のジャーナルを、前記第二のデータベース２１に反映するデータベースリカバリ手段４と、を備え、
前記データベースリカバリ手段４は、前記第二のストレージ装置２０に転送された複数の前記ジャーナルボリューム２２，２３，２４に含まれるジャーナルのうち、当該各ジャーナルボリューム２２，２３，２４内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正して、当該補正したジャーナル群を構成するジャーナルを前記第二のデータベース２１に反映する、
レプリケーションシステム１。
【００４４】
（付記２）
付記１に記載のレプリケーションシステムであって、
前記データリカバリ手段は、前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルの一部と、このジャーナルボリュームの前に前記第二のストレージ装置に転送された他の前記ジャーナルボリューム内のジャーナルの一部と、を含む前記ジャーナル群を形成するよう補正する、
レプリケーションシステム。
【００４５】
（付記３）
付記１又は２に記載のレプリケーションシステムであって、
前記データベースリカバリ手段は、前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルの一部と、前記他のジャーナルボリューム内のジャーナルの一部と、を含む前記ジャーナル群が、所定のトランザクション処理の内容を表すジャーナル群を形成するよう補正する、
レプリケーションシステム。
【００４６】
（付記４）
付記１乃至３のいずれかに記載のレプリケーションシステムであって、
前記データベースリカバリ手段は、前記第二のストレージ装置に転送された前記ジャーナルボリューム内に、所定のトランザクション処理の内容を表すジャーナル群を構成するジャーナルの全てが含まれていない場合に、そのジャーナル群を構成するジャーナルを前記第二のデータベースへの反映対象から除外する、
レプリケーションシステム。
【００４７】
（付記５）
付記１乃至４のいずれかに記載のレプリケーションシステムであって、
前記ジャーナル転送手段は、前記第一のストレージ装置内の前記ジャーナルボリュームの空き容量が無くなったときに、当該ジャーナルボリュームを前記第二のストレージ装置に転送する、
レプリケーションシステム。
【００４８】
（付記６）
第一のデータベースを有する第一のストレージ装置と、第二のデータベースを有する第二のストレージ装置と、に接続された情報処理システムに、
前記第一のデータベースの更新時に、その更新内容を表すジャーナルを前記第一のストレージ装置に形成された所定の容量を有するジャーナルボリュームに格納するデータベース更新手段と、
前記第一のストレージ装置内の前記ジャーナルボリュームを、前記第二のストレージ装置に転送するジャーナル転送手段と、
前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルを、前記第二のデータベースに反映するデータベースリカバリ手段と、を実現させると共に、
前記データベースリカバリ手段は、前記第二のストレージ装置に転送された複数の前記ジャーナルボリュームに含まれるジャーナルのうち、当該各ジャーナルボリューム内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正して、当該補正したジャーナル群を構成するジャーナルを前記第二のデータベースに反映する、
プログラム。
【００４９】
（付記７）
付記６に記載のプログラムであって、
前記データリカバリ手段は、前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルの一部と、このジャーナルボリュームの前に前記第二のストレージ装置に転送された他の前記ジャーナルボリューム内のジャーナルの一部と、を含む前記ジャーナル群を形成するよう補正する、
プログラム。
【００５０】
（付記８）
第一のデータベースを有する第一のストレージ装置と、第二のデータベースを有する第二のストレージ装置と、を備えたレプリケーションシステムにて、
前記第一のデータベースの更新時に、その更新内容を表すジャーナルを前記第一のストレージ装置に形成された所定の容量を有するジャーナルボリュームに格納し、
前記第一のストレージ装置内の前記ジャーナルボリュームを、前記第二のストレージ装置に転送し、
前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルを、前記第二のデータベースに反映すると共に、
前記ジャーナルを前記第二のデータベースに反映する際に、前記第二のストレージ装置に転送された複数の前記ジャーナルボリュームに含まれるジャーナルのうち、当該各ジャーナルボリューム内のそれぞれ一部のジャーナルを含むジャーナル群を形成するよう補正して、当該補正したジャーナル群を構成するジャーナルを前記第二のデータベースに反映する、
レプリケーション方法。
【００５１】
（付記９）
付記８に記載のレプリケーション方法であって、
前記ジャーナルを前記第二のデータベースに反映する際に、前記第二のストレージ装置に転送された前記ジャーナルボリューム内のジャーナルの一部と、このジャーナルボリュームの前に前記第二のストレージ装置に転送された他の前記ジャーナルボリューム内のジャーナルの一部と、を含む前記ジャーナル群を形成するよう補正する、
レプリケーション方法。
【符号の説明】
【００５２】
１  レプリケーションシステム
２  データベース更新手段
３  ジャーナル転送手段
４  データベースリカバリ手段
１０  第一のストレージ装置
１１  第一のデータベース
１２，１３，１４  ジャーナルボリューム
２０  第二のストレージ装置
２１  第二のデータベース
２２，２３，２４  ジャーナルボリューム
１００  ローカル側コンピュータ
１０１  ＤＢ更新アプリケーション
１０２  ＤＢアクセス制御部
１０３  切り替え監視部
１０４  レプリケーション部
１１０  リモート側コンピュータ
１１１  ＤＢリカバリアプリケーション
１１２  ＤＢアクセス制御部
１１３  ジャーナル補正部
１１４  レプリケーション部
２００  ローカル側ストレージ装置
２０１  ローカル側ＤＢ
２０２，２０３，２０４  ジャーナルボリューム
２０５  転送部
２１０  リモート側ストレージ装置
２１１  リモート側ＤＢ
２１２，２１３，２１４  ジャーナルボリューム
２１５  転送部
３００，３１０  ネットワーク
【図１】
0005825655.tif 000002
【図２】
0005825655.tif 000003
【図３】
0005825655.tif 000004
【図４】
0005825655.tif 000005
【図５】
0005825655.tif 000006
【図６】
0005825655.tif 000007
【図７】
0005825655.tif 000008
【図８】
0005825655.tif 000009