(57)【要約】【課題】同期型リモートコピーでは長距離になると性能が劣化し、非同期型リモートコピーではデータロスの可能性があった。【解決手段】データロスなしに長距離にリモートコピーを行う方式で、かつメインサイトのデータベース処理性能の劣化を押さえることを可能とする機能を持つストレージシステム、およびその方式で、具体的には、データベースのログは同期型、ＤＢデータは非同期型リモートコピーを用いる。【選択図】  図１
2005267301.tif 000002
【特許請求の範囲】
【請求項１】
現用系データベース処理システムの障害発生時に待機系データベース処理システムへ切り替えてデータベース処理を続行するディザスタリカバリ方法において、
ホストコンピュータのデータベースバッファに対して行われたデータベース処理の内容を示すログ情報、前記データベースバッファで更新されたデータベースデータおよび障害回復時に利用するログ情報の位置を示すステータス情報の書き
込み要求をホストコンピュータから受信するステップと、
その受信した書き込み要求の内容に従って、正記憶装置サブシステム内のログ情報、データベース領域のデータ及びステータス情報の更新を行うステップと、
受信したログ情報の書き込み要求を待機系の記憶装置サブシステムである副記憶装置サブシステムへ同期リモートコピー処理で転送するステップと、
受信したデータベースデータまたはステータス情報の書き込み要求を一時的に蓄積して副記憶装置サブシステムへ非同期リモートコピー処理で転送するステップとを有することを特徴とするディザスタリカバリ方法。
【請求項２】
さらに、
前記ログ情報、データベースデータまたはステータス情報の書き込み要求を正記憶装置サブシステムから受信するステップと、
その受信した書き込み要求の内容に従って、副記憶装置サブシステム内のログ情報、データベース領域のデータ及びステータス情報の更新を行うステップと、
待機系データベース処理システムでのデータベース処理の開始時に、前記副記憶装置サブシステム内で更新されたステータス情報で示される位置からログ情報を読み出して副記憶装置サブシステム上のデータベース領域のデータを当該ログ情報の内容に従って更新することにより、副記憶装置サブシステム上のデータベース領域を正記憶装置サブシステム上のデータベース領域の状態に回復するステップとを有することを特徴とする請求項１記載のディザスタリカバリ方法。
【請求項３】
さらに、
チェックポイント時のデータベースデータ及びステータス情報の書き込み要求を受信した際に前記一時的に蓄積した書き込み要求とともに副記憶装置サブシステムへ転送し、その後ホストコンピュータへ完了通知を行うステップを有することを特徴とする請求項１又は請求項２記載のディザスタリカバリ方法。
【請求項４】
現用系データベース処理システムの障害発生時に待機系データベース処理システムへ切り替えてデータベース処理を続行するディザスタリカバリ方法において、
ホストコンピュータのデータベースバッファに対して行われたデータベース処理の内容を示すログ情報、前記データベースバッファで更新されたデータベースデータおよび障害回復時に利用するログ情報の位置を示すステータス情報の書き込み要求を現用系の記憶装置サブシステムである正記憶装置サブシステムから受信するステップと、
その受信した書き込み要求の内容に従って、副記憶装置サブシステム内のログ情報、データベース領域のデータ及びステータス情報の更新を行うステップと、
待機系データベース処理システムでのデータベース処理の開始時に、前記ステータス情報で示される位置からログ情報を読み出して副記憶装置サブシステム上のデータベース領域のデータを当該ログ情報の内容に従って更新することにより、副記憶装置サブシステム上のデータベース領域を正記憶装置サブシステム上のデータベース領域の状態に回復するステップとを有することを特徴とするディザスタリカバリ方法。
【請求項５】
第一の計算機及び前記第一の計算機に接続される記憶装置システムとを有する第一の計算機システムと、
前記第一の記憶装置システムに接続される第二の記憶装置システムとを有し、
前記第一の計算機は、データベース処理の内容を示すログ情報、データベースデータおよび障害回復時に利用するログ情報の位置を示すステータス情報の書き込み要求を前記第一の記憶装置システムへ送信し、
前記第一の記憶装置システムは、前記受信したログ情報の書き込み要求を前記第二の記憶装置システムへ同期リモートコピー処理で転送し、前記受信したデータベースデータ及びステータス情報の書き込み要求を一時的に蓄積して前記第二の記憶装置システムへ非同期リモートコピー処理で転送することを特徴とするシステム。
【請求項６】
前記第一の記憶装置システムは、前記第一の計算機からチェックポイント時のデータベースデータ及びステータス情報の書き込み要求を受信した際に前記一時的に蓄積した書き込み要求とともに前記第二の記憶装置サブシステムへ転送しその後前記第一の計算機へ完了通知を行うことを特徴とする請求項５記載のシステム。
【請求項７】
前記第二の記憶装置システムは、
該第二の記憶装置システムに接続される第二の計算機の指示に従って前記ステータス情報で示される位置からログ情報を読み出して該第二の記憶装置システム上のデータベース領域のデータを当該ログ情報の内容に従って更新することにより、前記データベース領域を前記第一の記憶装置システム上のデータベース領域の状態に回復することを特徴とする請求項６記載のシステム。
【請求項８】
計算機及び他の記憶装置システムと接続される記憶装置システムであって、
制御部及びディスク装置を有し、
前記制御部は、前記第一の計算機からデータベース処理の内容を示すログ情報、データベースデータおよび障害回復時に利用するログ情報の位置を示すステータス情報の書き込み要求を受信し、
前記受信したログ情報の書き込み要求を前記他の記憶装置システムへ同期リモートコピー処理で転送し、前記受信したデータベースデータ及びステータス情報の書き込み要求を一時的に蓄積して前記他の記憶装置システムへ非同期リモートコピー処理で転送することを特徴とする記憶装置システム。
【請求項９】
チェックポイント時のデータベースデータ及びステータス情報の書き込み要求を受信した際に前記一時的に蓄積した書き込み要求とともに前記他の記憶装置システムへ書き込み処理を行い、その後前記計算機へ完了通知を行うことを特徴とする請求項８記載の記憶装置システム。
【請求項１０】
前記データベースデータ及び前記ステータス情報は各々異なる論理ディスクに格納され、前記各々の異なる論理ディスクは、一つのコンシステンシーグループを構成していることを特徴とする請求項９記載の記憶装置システム。
【請求項１１】
前記ログ情報を格納する論理ディスクを複数有し、前記計算機から受信した前記ログ情報を逐次前記複数の論理ディスクに格納することを特徴とする請求項１０記載の記憶装置システム。
【請求項１２】
前記複数の論理ディスクのうち、前記データベースデータが格納される論理ディスクに反映されたログ情報のみが含まれる論理ディスクに前記計算機から新たに受信したログ情報を書き込むことを特徴とする請求項１１記載の記憶装置システム。
【請求項１３】
前記新たに受信したログ情報を前記論理ディスクに書き込む前に、前記論理ディスクに格納されている前記ログ情報を他の記憶媒体に格納することを特徴とする請求項１２記載の記憶装置システム。
【請求項１４】
前記他の記憶装置システムへ転送されたデータが確定したかどうかを示す情報を収集し、前記収集した情報を前記計算機又は該記憶装置システムに接続された管理用計算機へ転送することを特徴とする請求項１３記載の記憶装置システム。
【請求項１５】
前記第一の記憶装置システムと接続された管理用計算機を更に有し、
前記第一の記憶装置システムは、
前記第二の記憶装置システムへ転送されたデータが確定したかどうかを示す情報を収集し、前記収集した情報を前記第一の計算機又は前記管理用計算機へ転送することを特徴とする請求項７記載のシステム。
【請求項１６】
前記第一の計算機は、前記第一の記憶装置システムから受信した前記情報に基づいて、前記第一の記憶装置システムへ転送する前記データベースデータのデータ量を制御することを特徴とする請求項１５記載のシステム。
【請求項１７】
前記第一の計算機は、前記情報を前記管理用計算機から受信することを特徴とする請求項１６記載のシステム。
【請求項１８】
前記管理用計算機は、前記第一の記憶装置システムから受信した前記情報に基づいて、前記第一の記憶装置システムと前記第二の記憶装置システムとを接続する通信線の通信帯域を制御することを特徴とする請求項１７記載のシステム。
【請求項１９】
前記第一の記憶装置システムは前記ログ情報を格納する論理ディスクを複数有し、前記第一の計算機から受信した前記ログ情報を逐次前記複数の論理ディスクに格納することを特徴とする請求項１８記載のシステム。
【請求項２０】
前記第一の計算機は、前記第一の記憶装置システムから受信した前記情報に基づいて、前記複数の論理ディスクへの新たなログ情報の格納を前記第一の記憶装置システムへ指示することを特徴とする請求項１９記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害時や所定条件発生もしくは要求により、ある情報処理システムで行われていた処理を他の情報処理装置やその処理を実施するプログラムやオブジェクトで実行する技術、特にデータベース管理システムに関する。
【背景技術】
【０００２】
従来のデータベース管理システムでは、トランザクションによるデータベースへの更新データ（以下「ＤＢデータ」）（表領域）の書き換えを高速化するため、データベース管理プログラムが実行される計算機（以下「データベースサーバ又はＤＢサーバ」）のメモリ上に記憶領域（以下「ＤＢバッファ」）を確保し、ＤＢデータを一時的に蓄積する。このＤＢバッファ上に書き込まれたデータは最終的には不揮発性の記憶媒体を有する記憶装置「以下「ストレージシステム」」に書き込まれる。一般にデータベースサーバにおけるメモリへのアクセス時間に比べてストレージシステムへのアクセス時間が大きいため、一時的記憶手段としてＤＢバッファが用いられる。
【０００３】
ＤＢバッファへのデータの書き込み（「ライト」）や読み出し（「リード」）（以下まとめて「Ｉ／Ｏ」）はストレージシステムへのＩ／Ｏに比べて早い。しかし、データベースサーバのメモリは一般に揮発性であり、電源障害やサーバ再起動等で格納されたデータが失われる。また、データベースサーバのハードウェア障害でデータが失われる場合もある。このような場合でもコミットしたトランザクションの内容を失わないために、データベース管理システムはログ（ジャーナル）を作成し、管理している。
【０００４】
具体的には、データベース管理システムは、あるトランザクションがコミットされるまでに、必ずそのトランザクションに関するＤＢデータの更新内容を、ストレージシステムのログ用の記憶領域（以下「論理ディスク」）に一連のログシーケンス番号（ＬＳＮ：Log Seaquence Number）を付加したログとしてライトする。
【０００５】
又、データベース管理システムは、ＤＢバッファ上のＤＢデータをチェックポイント処理によってストレージシステムのＤＢデータ用論理ディスクにライトする際に、チェックポイント処理のログシーケンス番号に対応する情報をログのステータス情報として記録する。
【０００６】
更に、データベース管理システムに障害が発生し、障害発生後のデータベース管理システムのリスタート処理を行う際に、データベース管理システムは、ログを利用して障害発生時にコミットしていたトランザクションの更新データをＤＢデータ用論理ディスクにライトし、未コミットのトランザクションに関するデータ更新を取り消す。チェックポイント処理によってＤＢバッファ上でのデータ更新がＤＢデータ用ボリュームに反映されているため、この際に使用されるログは直近のチェックポイント以降の分である。直近のチェックポイントに対応するログシーケンス番号はステータス情報を参照して判断する。
上述のログに基づいたデータの回復処理（以下「リカバリ処理」）については、非特許文献１に詳しく記載されている。
【０００７】
上記のリカバリ処理は、データベース管理システムのリスタート時にＤＢデータ用ボリュームやログ用ボリュームが利用できることが前提であり、地震、火災、テロといった災害でストレージシステムが被災するような場合には使用できない。このような場合に備える技術として、データベース管理システムのリスタート処理に必要なログやＤＢデータを、災害のおよばない遠隔地にある計算機システム（以下「リカバリサイト」）にあらかじめ送信する方法、具体的にはリモートコピー技術が知られている。
【０００８】
リモートコピーとは、データベース管理システム等が稼動している計算機システム（以下「メインサイト」）とリカバリサイトが有するストレージシステム間を通信線（以下「リンク」）で接続し、メインサイトのストレージシステム（以下「正ストレージシステム」）にライトされるデータ（以下「ライトデータ」）を、正ストレージシステムがリモートサイトへ送信する技術である。尚、変形例として、正ストレージシステムに接続される計算機やスイッチがライトデータをリカバリサイトに転送する技術もある。
【０００９】
リモートコピーには、メインサイトの計算機（以下「ホスト」）からのライト要求処理とリカバリサイトへの送信処理を同期化、すなわち、ライト要求処理の終了前にリカバリサイトへライトデータを転送し、その後ライト要求処理の完了を報告する同期リモートコピーと、二つの処理を非同期、すなわち、ライト要求処理に基づくライトを行ったら完了報告を行い、リカバリサイトへのデータ転送はその後に行う非同期リモートコピーがある。リモートコピー技術に関しては、特許文献１及び２に開示されている。特に特許文献１では、非同期リモートコピーにおいてホストから正ストレージシステムへのデータ更新順序とリカバリサイトのストレージシステム（以下「副ストレージシステム」）でのデータ更新順序が同じになることを保証する技術が開示されている。
【００１０】
上述した同期リモートコピー技術を用いれば、災害によりメインサイトが業務継続不能となり、リカバリサイトで障害回復を行う際に、上述したデータベース管理システムのリスタート処理をそのまま適用することができる。すなわちリスタート処理に必要なログ、ＤＢデータとステータス情報のそれぞれを格納する論理ディスクを同期リモートコピーを用いてリカバリサイトへ転送する。同期リモートコピーの場合メインサイトとリカバリサイトの論理ディスクのデータ内容は同一であるので、リカバリサイトのデータベース管理システム（以下「待機系データベース管理システム」）で通常のリスタート処理を行えばメインサイトでコミット済みのトランザクションを失うことなく、また未コミットのトランザクションの更新を残すことなくデータを回復することができる。
【００１１】
このように、同期リモートコピーを使用すると、トランザクションの内容を保証した障害回復が可能である。しかし、同期リモートコピーでは、メインサイトとリカバリサイト間の距離の増大やストレージシステム間のリンクを構成する装置の遅延の増大等によりリンクのパケット往復に要する時間が増大するとその分メインサイトでのホストのライトコマンド応答時間が増大するため、メインサイトのデータベース管理システム（以下「現用系データベース管理システム」）の性能劣化を招く。
【００１２】
上述のコマンド応答時間の増大を抑えるリモートコピー技術が非同期リモートコピーである。非同期リモートコピーでは、上述したように、副ストレージシステムへのライトデータの転送完了を待たずに、正ストレージシステムがライトコマンド完了報告をメインサイトのホストに返す。これにより、メインサイトでのライトコマンド応答時間の増大を抑えることができる。
【００１３】
上記の同期と非同期リモートコピーを待機系データベース管理システムのリスタート処理に適用するには、従来以下の二種類の方法があった。
（１）ログ同期・ＤＢデータ同期
ログ用の論理ディスクとＤＢデータ用の論理ディスクにライトされるライトデータを両方とも同期リモートコピーを用いて副ストレージシステムに送信する方法である。同期リモートコピーが用いられるため、ＤＢサーバが正ストレージシステムに発行して完了したライト処理はすべて副ストレージシステムに反映されていることが保証される。このため待機系データベース管理システムのリスタート処理は、現用系データベース管理システムのリスタート処理と同じ手順で行うことができ、メインサイトでコミットしたトランザクションを失うことはない。ただし、リカバリサイトとメインサイト間の距離が増大したり、リンクの遅延量が増大すると現用系データベース管理システムの性能が劣化する。この方法ではログの状態を表すステータス情報を格納する論理ディスクがログやＤＢデータが格納される論理ディスクと異なっていた場合、この論理ディスクへのライトデータも同期リモートコピーで副ストレージシステムに送信される。
【００１４】
（２）ログ非同期・ＤＢデータ非同期
ログ用の論理ディスクとＤＢデータ用の論理ディスクへのライトデータを両方とも非同期リモートコピーを用いて副ストレージシステムに送信する方法である。非同期リモートコピーを用いるため、リンクの遅延量増大によるメインサイトのデータベース管理システム性能への影響を隠蔽しやすい。しかし、メインサイトでコミットしたトランザクションのログがすべて副ストレージシステムに反映されていることが保証されないため、リカバリサイトでのリスタート時に直近のトランザクションが失われる可能性がある。
【００１５】
【特許文献１】米国特許第５６４０５６１号公報
【特許文献２】特開平１１−８５４０８号公報
【非特許文献１】Jim Gray, Andreas Reuter著「TRANSCATION PROCESSING; Concepts and Techniques」、MORGAN KAUFMANN PUBLISHERS発行
【発明の開示】
【発明が解決しようとする課題】
【００１６】
従来のログ同期・ＤＢデータ同期の方法では、メインサイトとリカバリサイト間の距離増大や回線遅延量増大分が、現用系データベース管理システムが正ストレージシステムのログ用論理ディスクとＤＢデータ用論理ディスクの両方に発行するライト処理の応答時間増大に直結し、現用系データベース管理システムの性能劣化を招きやすい。
【００１７】
一方、ログ非同期・ＤＢデータ非同期の方法では、現用系データベース管理システムがコミットしたトランザクションすべての情報が副ストレージシステムに反映されていない可能性があるため、待機系データベース管理システムでのリスタート時にメインサイトでコミットしたトランザクションの直近のいくつかが失われる可能性がある。
【００１８】
本発明の目的は、現用系データベース管理システムの性能劣化を防止しつつ、トランザクションの喪失も低減するシステムを提供することである。
【課題を解決するための手段】
【００１９】
本発明の実施形態は、以下の通りである。
正ストレージシステムは、ログ用論理ディスクへのライトデータを同期リモートコピーを用いてリカバリサイトの副ストレージシステムに転送する。また、正ストレージシステムは、ＤＢデータ用論理ディスクへのライトデータをライトの順序性を保証した非同期リモートコピーを用いてリカバリサイトの副ストレージシステムに転送する。
【００２０】
上述の実施形態においては、副ストレージシステムではログとＤＢデータの状態に時間差が生じる。ログはリアルタイムで更新されるのに対し、ＤＢデータの更新は遅延するからである。待機系データベース管理システムでリスタート処理を行う場合、この遅延を考慮しなければならない。通常はログの最新のチェックポイントからロールフォワードを開始するが、ＤＢデータが最新のチェックポイント以前の状態になっている可能性があり、その場合はさらに古いチェックポイントからロールフォワードを開始する必要があるからである。
【００２１】
本発明の他の実施形態として、上述の遅延を考慮し、ログ上のチェックポイント位置など、ログのステータス情報を格納するファイルをログやＤＢデータと異なる論理ディスクに配置した上で、ログのステータス情報が格納された論理ディスクとＤＢデータ用論理ディスクとを同一のコンシステンシーグループで非同期リモートコピーをするよう構成設定を行い、待機用データベース管理システムでのリスタート処理の際に、このステータス情報を参照してロールフォワードを開始するログの位置を決定する構成が考えられる。
【００２２】
又、更なる実施形態として、ログ用の論理ディスク上に複数のログファイルを設定し、リスタート処理には不要となったログファイルを再利用する構成がある。この場合、再利用対象となったログファイル（以下「オンラインアーカイブ」と称する）を新しいログの記録のために再利用する前に、そのログファイルの内容を磁気テープ装置などの可換媒体に待避しても良い。
又、別の実施形態として、既に磁気テープ装置等に格納されたログファイルを用いてＤＢデータの再構成を行う構成としても良い。
【発明の効果】
【００２３】
本発明によればトランザクション処理の実行完了済みのトランザクション更新内容が失われる可能性を低くすることが可能になる。
更に本発明によればトランザクション処理の実行完了済みのトランザクション更新内容が失われる可能性を低くすることが可能になる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明を適用したシステムの一実施形態について説明する。尚、本発明が以下の実施形態に限定されないことは言うまでもない。
図１は本実施形態のシステム構成を示す図である。本実施形態のシステムは、正ホストコンピュータ１、正ストレージシステム２、副ホストコンピュータ３、副ストレージシステム４及び管理用計算機（以下「管理用コンピュータ」）９を有する。各々はネットワーク６を介して相互に接続されている。又、正ストレージシステム２及び副ストレージシステム４は、リンク５を介して相互に接続されている。
【００２５】
正ホストコンピュータ１（計算機や情報処理装置もしくはその処理が実施可能なプログラムやオブジェクトで実現しても良い）の現用系データベース管理システム１００は、ＤＢアクセス制御部１１１、チェックポイント処理部１１２、ログ管理部１１３、ＤＢ遅延書き込み処理部１１４及びリモート遅延管理部１１５を有している。尚、以下に「〜部」で示される装置は、その処理が実施可能な専用のハードウェアであっても、汎用の処理装置とプログラムの組み合わせで実現されていても良い。従って、正ホストコンピュータ１は、上述の各部に対応するプログラムと汎用のプロセッサを有する構成でも良い。又、正ホストコンピュータ１は、記憶部を更に有し、その記憶部は、ＤＢバッファ１２２及びログバッファ１２３を有する。
【００２６】
ＤＢアクセス制御部１１１は、ＤＢバッファ１２２及びログバッファ１２３を介した正ＤＢ用ディスク２３１及び正ログ用ディスク２３３へのアクセスを制御する処理部である。
チェックポイント処理部１１２は、正ホストコンピュータ１のＤＢバッファ１２の内容を正ストレージシステム２内の記憶装置へ反映させる必要が生じた場合に、ＤＢバッファ１２２で更新された全ＤＢデータのデータブロック（以下「ＤＢブロック」）及びその時点で最新のログレコードのログ用ディスクとその格納位置を示すステータス情報の書き込み要求を正ホストコンピュータ１から正ストレージシステム２へ送信する処理部である。
【００２７】
尚、非特許文献１に開示されているように、チェックポイント時にトランザクションが完結していないものもあるため、このステータス情報は最新のログレコードの位置ではなく、未完了トランザクションに関連する最も古いログレコードの位置を示す場合もある。また、ステータス情報がストレージシステムで更新されるのが遅延している場合もある。どちらの場合にもこのステータス情報はデータベース管理システムがリスタートする際に参照を開始するログの位置を示す情報として利用されても良い。
【００２８】
ログ管理部１１３は、ＤＢバッファ１２２に対して行われたデータベース処理の内容を示すログ情報であるログブロックの書き込み要求を正ホストコンピュータ１から正ストレージシステム２へ送信する処理部である。
ＤＢ遅延書き込み処理部１１４は、ＤＢバッファ１２２上のデータベースデータの書き込み要求を正ホストコンピュータ１から正ストレージシステム２へ送信する処理部である。
【００２９】
リモート遅延管理部１１５は、正ストレージシステム２と副ストレージシステム４間の非同期リモートコピーで発生する副ストレージシステム４側でのデータ更新の遅延量を取得し、取得した遅延量に関する情報をログ管理部１１３に提供する。また、リモート遅延管理部１１５は、あらかじめ設定された閾値との比較によりシステム管理者等に警告をだすなどの処理を行う。
【００３０】
正ホストコンピュータ１をＤＢアクセス制御部１１１、チェックポイント処理部１１２、ログ管理部１１３及びＤＢ遅延書き込み処理部１１４として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。尚、他の装置のプログラムについても同様である。
【００３１】
正ストレージシステム２は、正ホストコンピュータ１のデータをディスク装置やキャッシュメモリに格納し、リードやライトのコマンドに応答してデータの読み出し、更新などを行う装置である。また、正ストレージシステム２はリンク５を介して正ホストコンピュータ１にライトされるデータを副ストレージシステム４へ送信する。正ストレージシステム２はディスク装置等の記憶媒体とこれら記憶媒体を制御する制御部とを有する。
制御部は、正ライトコマンド処理部２１１、正リモートコピー処理部２１２、正リモートコピー遅延管理部２１３及び正デステージ処理部２１４を有している。又、制御部はキャッシュメモリ２２１及び制御用メモリ２２２を有する。ディスク装置等の記憶媒体が有する物理的な記憶領域によって、論理的な記憶領域（「論理ディスク」）が構成される。具体的には、ディスク装置等の記憶媒体は、論理ディスクとして、正ログ用ディスク２３１、正ステータス用ディスク２３２及び正ＤＢ用ディスク２３３を有している。
【００３２】
正ライトコマンド処理部２１１は、正ホストコンピュータ１の発行するライトコマンドを受領し、ライトデータをキャッシュメモリ２２１に格納する。このとき正ライトコマンド処理部２１１は、制御用メモリ２２２上に正ライトデータ管理情報を設定する。
正リモートコピー処理部２１２は、リモートコピーの対象に設定されている論理ディスクへのライトデータをリンク５を介して副ストレージシステム４へ送信する。リモートコピー対象となる論理ディスクや送信先のストレージシステム等の情報は、制御用メモリ２２２上の正リモートコピー管理テーブル２２４に格納されている。又、転送を必要とするライトデータの情報は正ライトデータ管理情報２２３に格納されている。
【００３３】
正デステージ処理部２１４は、キャッシュメモリ２２１上で更新されたデータを正ストレージシステム２の論理ディスクへ書き込む処理を行う。書き込むべきデータの情報は正ライトデータ管理情報２２３から取得する。
正ホストコンピュータ１は正ＩＯチャネル７を介して正ストレージシステム２にリードやライトなどのコマンドやデータをやりとりする。正ストレージシステム２が正ホストコンピュータ１に提供するディスクイメージはＬＵＮ（Logical Unit Number）で識別される。又、ディスクイメージは正ストレージシステム２が有する１台以上のディスク装置上の記憶領域にマッピングされるため、正ストレージシステム２を主体に考えればこのＬＵＮで識別されるディスクイメージは論理ディスクに対応する（ホストコンピュータやデータベース管理システムはさらに上位のマッピングを行うため、そちらを主体に考えた場合、ディスクイメージが物理ディスクと呼ばれる場合もある）。
【００３４】
副ホストコンピュータ３（正ホストコンピュータ１と同様の計算機で良い）の待機系データベース管理システム３００は、ＤＢアクセス制御部３１１、チェックポイント処理部３１２、ログ管理部３１３、ＤＢ遅延書き込み処理部３１４及びリスタートモード管理部３１６を有している。又、副ホストコンピュータ３も、ＤＢバッファ３２２及びログバッファ３２３を有する。
ＤＢアクセス制御部３１１、チェックポイント処理部３１２、ログ管理部３１３及びＤＢ遅延書き込み処理部３１４は、待機系データベース管理システムのシステム動作時に、現用系データベース管理システムの各処理部と同様の処理を行う処理部である。
【００３５】
リスタートモード管理部３１６は、同期リモートコピーによってライトデータが転送される副ログ用ディスク４３１と非同期リモートコピーによってライトデータが転送される副ＤＢ用ディスクとの状態に時間差があることを前提とした場合のリスタートモードを待機用データベース管理システム３１に設定する。
【００３６】
副ストレージシステム４は、正ストレージシステム４と同様の記憶装置であり、副ホストコンピュータ２のデータをディスク装置やキャッシュに格納し、リードやライトコマンドに応答してデータの読み出し、更新などを行う。また、リンク５を介して正ホストコンピュータ１がライトするデータを正ストレージシステム２から受信して、自己が有する論理ディスク（実際には論理ディスクを構成するディスク装置）にライトする。副ストレージシステムは、制御部及びディスク装置等の記憶媒体を有する。
【００３７】
制御部は、副ライトコマンド処理部４１１、副リモートコピー処理部４１２、副リモートコピー遅延管理部４１３及び副デステージ処理部４１４を有している。又、制御部はキャッシュメモリ４２１及び制御メモリ４２２を有する。又、ディスク装置等の記憶媒体は、論理ディスクとして、副ログ用ディスク４３１、副ステータス用ディスク４３２及び副ＤＢ用ディスク４３３を有している。
副ライトコマンド処理部４１１は正ストレージシステム２の正ライトコマンド処理部２１１と同様の処理を行う。
副リモートコピー処理部４１２は、リモートコピー対象に設定されている論理ディスクへのライトデータをリンク５を介して正ストレージシステム２から受領する。又、副リモートコピー処理部４１２は、ライトデータの更新の順序性を保証するためのライトデータの情報を副ライトデータ管理情報４２３から取得し、順序性が保証できるライトデータの判断に正ストレージシステム２から受領するデステージ許可時刻４２４を用いる。
【００３８】
副デステージ処理部４１４は、キャッシュメモリ４２１上に格納されたリモートコピーデータを副ストレージシステム４の論理ディスクへ書き込む処理を行う。書き込むべきデータの情報は副ライトデータ管理情報４２３から取得する。
【００３９】
管理用コンピュータ９は、システム全体の構成管理、運用管理を行う際に管理者等によって使用される計算機である。管理用コンピュータ９は、構成管理部９１１と運用管理部９２１とを有する。
更に構成管理部９１１は、データベース管理システムの構成管理を行うＤＢＭＳ構成部９１２及びストレージシステムの構成管理を行うストレージ構成部９１３を有する。運用管理部９２１は、非同期リモートコピーの副ストレージシステムでのライトデータの論理ディスク（又はキャッシュメモリ４２１）への更新の正ストレージシステムに対する遅延量を監視する遅延監視部９２２及びメインサイトが被災して業務が中断した際、リカバリサイトで業務を継続するための運用を管理するリカバリ管理部９２３を有する。
【００４０】
正ホストコンピュータ１と正ストレージシステム２、副ホストコンピュータ３と副ストレージシステム４は、ＩＯチャネル７、８を介してコマンドやデータの転送を行う。ＩＯチャネル７、８やリンク５には、ファイバチャネルが利用されるが、他のプロトコルや伝送媒体でも良い。ファイバチャネルはＡＮＳＩＩで標準化されており、複数の上位プロトコルが選択可能であるが、一般には上位プロトコルとしてＳＣＳＩ(Small Computer System Interface)が用いられることが多い。
【００４１】
尚、２００３年にＴＣＰ／ＩＰの上位プロトコルとしてＳＣＳＩを用いるｉＳＣＳＩという規格がＡＮＳＩＩで標準化されている。今後は、ネットワーク６等がＬＡＮなどに用いられているネットワークと物理層からＴＣＰ／ＩＰ層までを共有した形態となることも考えられる。この場合、ネットワーク６とＩＯチャネル７の物理層からトランスポート層まで共有することになる。ストレージシステム間のリンク５も同様の可能性がある。
【００４２】
正ストレージシステム２と副ストレージシステム４を接続するリンク５は、ファイバチャネル、イーサネット（登録商標）、ギガビットイーサネットやSONETなどのネットワークでも良いし、仮想的なネットワークや無線や放送通信や衛星通信等、データを通信する手段であれば良い。
ネットワーク６は通常イーサネットが使われ、主に管理や構成情報のやりとりに使用される。具体的には、ストレージシステム等であらかじめ設定した事象が発生した場合のアラームなどの情報が送受信されるが、ＤＢデータなどの転送に使用してもよい。
【００４３】
以下、正ホストコンピュータ１と正ストレージシステム２の動作について説明する。
正ホストコンピュータ１では、現用系のＤＢアクセス制御部１１１が稼動し、正ホストコンピュータ１は、ＤＢバッファ１２２に正ストレージシステム２内の正ＤＢ用ディスク２３１の内容を一時的に保持し、ログバッファ１２３に正ログ用ディスク２３３に対する更新処理の内容を一時的に保持する。ＤＢバッファ１２２やログバッファ１２３は一般に停電時などにデータを失う揮発性メモリであっても良い。
【００４４】
正ホストコンピュータ１のＤＢアクセス制御部１１１は、トランザクションにより正ＤＢ用ディスク２３１上のレコードへのアクセスが要求されると、リードコマンドにより正ストレージシステム２から対応するＤＢブロックを取得してＤＢバッファ１２２へ格納し、ＤＢバッファ１２２上のＤＢブロックに対してデータベース処理を行った後、その処理内容を示すログ情報をログバッファ１２３のログブロックに格納する。
【００４５】
チェックポイント処理部１１２は、ＤＢバッファ１２２上のレコードが更新されたことを示すログレコードが所定件数に達する等、正ホストコンピュータ１のＤＢバッファ１２２の内容を正ストレージシステム２内の論理ディスクへ反映させる必要が生じた場合に、ＤＢバッファ１２２で更新された全ＤＢブロック及びその時点で最新のログレコードの位置を示すステータス情報の書き込み要求として、ＤＢブロックやステータス情報の書き込みを行う為のライトコマンドを生成して正ホストコンピュータ１から正ストレージシステム２へ送信する。尚、ライトコマンド送付時には、ライトコマンドに引き続き、当該ライトコマンドに対応するライトデータも送付される。
【００４６】
ログ管理部１１３は、トランザクションのコミット時、ログ情報の記録が開始されてから所定の時間が経過するかログバッファ１２３の空きが無くなる等の所定条件に達した場合に、ログバッファ１２３に格納されているログブロックの正ログ用ディスク２３３への書き込み要求として、ログブロックの書き込みを行う為のライトコマンドを生成して正ホストコンピュータ１から正ストレージシステム２へ送信する。
【００４７】
ＤＢ遅延書き込み処理部１１４は、データベース処理（表の作成等）が開始されてから所定の時間が経過するか、ＤＢバッファ１２２の空きが無くなる等の所定条件に達した場合に、ＤＢバッファ１２２上のＤＢブロックの正ＤＢ用ディスク２３１への書き込み要求として、ＤＢブロックの書き込みを行う為のライトコマンドを生成して正ホストコンピュータ１から正ストレージシステム２へ送信する。尚、チェックポイント処理部１１２とＤＢ遅延書き込み処理部１１４の動作は独立しており、チェックポイント処理部１１２の動作の間に、何度もＤＢ遅延書き込み処理部１１４の動作があっても良い。
【００４８】
正ストレージシステム２では、正ホストコンピュータ１からのライトコマンドを受けて動作する正ライトコマンド処理部２１１、キャッシュメモリ２２１及び正デステージ処理部２１４とが動作することで、ディスク装置上にマッピングされている論理ディスクである正ＤＢ用ディスク２３１のデータ更新が行われる。この際ライトデータはいったんキャッシュメモリ２２１に格納される。キャッシュメモリ２２１は一般に停電時などでもデータを失わない不揮発性メモリで構成されても良い。不揮発性メモリとした場合、キャッシュメモリ２２１にデータが格納された時点で電源障害などに対してそのデータの保存が保証される。又、ホストコンピュータのダウンに対してはライト完了をホストコンピュータに返した時点でデータが保証される。
【００４９】
正ストレージシステム２は、前記の様にして正ホストコンピュータ１から送信された書き込み要求の内、ログブロックの書き込み要求については、正ストレージシステム２でのライト処理と同期した副ストレージシステム４への同期リモートコピー処理を行い、ＤＢブロックやステータス情報の書き込みについては、正ストレージシステム２でのライトとは同期しない副ストレージシステム４への非同期リモートコピー処理を行う。尚、正ストレージシステム２は、後述するテーブルの情報に従って、受信したライトコマンドが示す論理ブロックが同期リモートコピーの対象なのか、非同期リモートコピーの対象なのかを判断して、以下に示す同期リモートコピー又は非同期リモートコピーの処理を実行する。
【００５０】
図２は、同期リモートコピーの処理フローを示す図である。
正ホストコンピュータ１からライトコマンドとライトデータを受領した正ストレージシステム２の正ライトコマンド処理部２１１は（ステップ１１）、制御用メモリ２２２に受領したライトデータに対応する正ライトデータ管理情報２２３を格納する領域を確保する。この際、受信したライトデータはキャッシュメモリ２２１に格納される（ステップ１２）。続いて正ライトコマンド処理部２１１は、正ライトデータ管理情報を設定する。この正ライトデータ管理情報のうち、ライト時刻２２３４は正ホストコンピュータ１のオペレーティングシステムによってライトコマンドに付加される。ただし、正ホストコンピュータ１に時刻管理の機能が無い場合、正ストレージシステム２が自身が有するタイマーを用いて、ライトコマンドを受領した時刻をライト時刻２２３４に設定する。
尚、このライト時刻は、同期リモートコピーの場合は必ずしも必要でなく、後述する非同期リモートコピーでライト処理の順序性を保証する目的で用いられる（ステップ１３）。
【００５１】
図４は、正ライトデータ管理情報２２３の内容例を示す図である。尚、正ライトデータ管理情報２２３は、正ホストコンピュータ１から受信するライトデータごとに存在する。又、正ライトデータ管理情報２２３は、各情報を格納するための複数のエントリを有する。
論理ディスクＩＤ２２３１には、正ホストコンピュータが正ストレージシステム内のボリューム（論理ディスク）を識別するためのＩＤが登録される。このＩＤは、データベース管理システムやホストコンピュータのオペレーティングシステムからはしばしば物理ディスクＩＤとよばれている。
【００５２】
ライトデータを論理ディスクＩＤで指定された論理ディスクのどのアドレスに格納するかを指定する情報が、ライト先頭アドレス２２３２及びライトデータ長２２３３のエントリに格納される。
正ホストコンピュータ１から送信されたライトデータはいったん正ストレージシステムのキャッシュメモリ２２１に格納される。このキャッシュメモリ上の位置を示すポインタの情報がライトデータポインタ２２３６に格納される。
リモートコピーを設定している論理ディスクへのライトの場合、ステップ１３の段階で転送必要ビット２２３７のビットがオンにされる。この転送必要ビットは同期リモートコピーでは必ずしも必要ではないが、後述する非同期リモートコピーで使用される。
【００５３】
正ストレージシステム２では正ホストコンピュータ１からライトデータをキャッシュメモリ２２１に格納した時点で、デステージ許可ビット２２３８をオンとする。正デステージ処理部２１４は、デステージ許可ビット２２３８がオンになっているライトデータをキャッシュメモリ２２１の領域確保などの目的でディスク装置へ書き込み、キャッシュメモリ２２１上から消去することができる。一般にはライトデータのデステージ順はＬＲＵ（Least Recently Use)アルゴリズムで決定される。
【００５４】
ライトシーケンス番号とは、正ホストコンピュータからの書き込みの順番を示す数値である。エントリ２２３５にはその数値が格納される。本実施形態ではライトシーケンス番号２２３５は参照しないが、特開2002-196989号公報で示されるように、ライトシーケンス番号２２３５を併用する方法もある。
【００５５】
図２の処理手順の説明に戻る。ステップ１３の処理の終了後、正ライトコマンド処理部２１１はリモートコピー処理を起動する（ステップ１４）。正リモートコピー処理部２１２はこの起動を受けて、ライトデータを副ストレージシステム４へ送信する（ステップ１５）。副ストレージシステム４から完了報告を受領した後（ステップ１６）、正ライトコマンド処理部２１１は正ホストコンピュータ１にライトコマンドの完了を報告し（ステップ１７）、次のライトコマンド待ちに入る（ステップ１８）。尚、キャッシュメモリ２２１に格納されたライトデータのディスク装置へのデステージは、リモートコピー等の処理とは独立に、上述したLRU等の規則に基づいて行われる。
【００５６】
図３は、非同期リモートコピーの処理フローを示す図である。
なお、本実施形態で用いられる非同期リモートコピーは、上述したように、リカバリサイトでのデータベース管理システムのリスタート処理におけるトランザクションの整合性を保証するために、副ストレージシステム４でのライトＩ／Ｏの順序性が、正ストレージシステム２とくいちがうことがないように配慮した方法である。
【００５７】
もし書き込み順序のくいちがいが発生すると、副ストレージシステム４の論理ディスクにおいて連続的に書き込まれているはずのログの一部が更新されていない歯抜けの状態や、ログ用論理ディスクに書き込まれていないトランザクションに対応する更新がＤＢデータ用論理ディスクに書き込まれているなどの状態が発生し、リカバリサイトのデータベース管理システムがリスタート時にログを解釈できなくて停止したり、ロールバックするべきトランザクションに対応するＤＢデータの更新を取り消すことができないなどの問題を生じる場合がある。
【００５８】
正ホストコンピュータ１からライトコマンドとライトデータを受領した正ストレージシステム２の正ライトコマンド処理部２１１は（ステップ２１）、制御用メモリ２２２上に受領したライトデータに対応する正ライトデータ管理情報２２３を格納する領域を確保する。この際も、受信したライトデータはキャッシュメモリ２２１に格納される（ステップ２２）。続いて正ライトコマンド処理部２１１は、正ライトデータ管理情報２２３の各エントリの情報を設定し（ステップ２３）、正ホストコンピュータへライトコマンド完了報告を送信する（ステップ２４）。
【００５９】
その後、正ライトコマンド処理部２１１は、リモートコピー遅延情報２２５に完了報告を送信したライトデータを登録し（ステップ２５）、次のライトコマンドを待つ（ステップ２６）。リモートコピー遅延情報の内容としては、転送が遅延している（未だ副ストレージシステムに送信されていない）ライトコマンド数、遅延しているライトデータの総量などいくつかの候補が考えられる。正ライトコマンド処理部２１１は、完了報告を送信したライトデータに関する、リモートコピー遅延情報の種類に応じた情報をリモートコピー遅延情報に登録してリモートコピー遅延情報を更新する。
【００６０】
正リモートコピー処理部２１２は、正ライトコマンド処理部２１１と非同期に処理を開始する。本処理は、転送必要ビットがオンのライトデータがあれば随時実行される。このため、正リモートコピー処理部２１２は、プロセッサが使用するメモリに常駐するデーモンプログラムとしてもよい。
【００６１】
まず正リモートコピー処理部２１２は、制御用メモリ２２２に登録された正ライトデータ管理情報２２３のうち、転送必要ビットがオンでまだ転送処理が開始されていないものの中でライト時刻２２３４に登録されたライト時刻の一番古いものを取得する（ステップ３１）。その後、正リモートコピー処理部２１２は、取得された正ライトデータ管理情報２２３に対応するライトデータをキャッシュメモリ２２１又は正ＤＢ用ディスク２３１から読み出して副ストレージシステムへ送信する（ステップ３２）。
【００６２】
副ストレージシステム４から完了報告を受領（ステップ３３）した正リモートコピー処理部２１２は、当該ライトデータに対応する正ライトデータ管理情報２２３の転送必要ビット２２３７のビットをオフにする（ステップ３４）。ここで正リモートコピー処理部２１２は、制御用メモリ２２２に格納されている正ライトデータ管理情報２２３のライト時刻２２３４を参照し、完了報告を受けたライトデータに対応するライト時刻より古いライト時刻を持つ正ライトデータ管理情報２２３の転送必要ビットがすべてオフになっているかどうかを調べる（ステップ３５）。完了報告に対応するライトデータのライト時刻より古いライト時刻を有し、かつ副ストレージシステム４への転送が完了していないものがあれば、正リモートコピー処理部２１２は、ステップ３１からの処理を繰り返す。
【００６３】
一方、ステップ３５において、完了報告に対応するライトデータのライト時刻より古いライト時刻であるライトデータがすべて副ストレージシステム４へ転送完了していれば、正リモートコピー処理部２１２は、完了報告を受けたライトデータのライト時刻をデステージ許可時刻として副ストレージシステム４に送信し、副ストレージシステム４から受領確認を受け取る（ステップ３６）。これで、デステージ許可時刻が副ストレージシステム４に通知され、デステージ許可時刻以前のライト時刻を持つライトデータは副ストレージシステム４で確定した（待機系データベース管理システム３１のリスタート時に使用可能となった）ことになる。このため、正リモートコピー処理部２１２は、デステージ許可時刻以前のライトデータ分に対応する情報をリモートコピー遅延情報２２５から削除する（ステップ３７）。
【００６４】
図５は、副ストレージシステム４が正ストレージシステム２からライトデータを受け取った際の処理手順を示す図である。なお、同期リモートコピーでも、非同期リモートコピーでも、副ストレージシステム４での処理は基本的に同じである。
副リモートコピー処理部４１２は、正ストレージシステム２からリンク５を介してなんらかのデータが送られてきた場合、その受領データがライトデータかデステージ許可時刻であるかを判断する（ステップ４１）。受領データがライトデータだった場合、副リモートコピー処理部４１２は、副ライトデータ管理情報を格納する領域を制御用メモリ４２２上に確保し（ステップ４２）、副ライトデータ管理情報４２３の設定を行う。尚、受信したデータはキャッシュメモリ４２１に格納される（ステップ４３）。
【００６５】
図６は、副ライトデータ管理情報４２３の構成例を示す図である。副ライトデータ管理情報４２３は、副ストレージシステム４が受信したライトデータごとに存在する。一つの副ライトデータ管理情報４２３は、情報を登録する複数のエントリを有する。論理ディスクＩＤ４２３１，ライト先頭アドレス４２３２、ライトデータ長４２３３には、副ストレージシステム４で当該ライトデータを格納すべき場所を示す情報が格納される。ライト時刻４２３４及びライトシーケンス番号４２３５には正ストレージシステム２で付与された時刻及びライトシーケンス番号がそのまま登録される。
【００６６】
ライトデータポインタ４２３６には、副ストレージシステム４のキャッシュメモリ４２１上で対応するライトデータが存在するアドレスを示す情報が登録される。転送必要ビット４２３７は副ストレージシステム４では使用されない。デステージ許可ビット４２３８には、当該ライトデータを論理ディスクへ格納してよいかどうかを示すビットが登録される。尚、副ストレージシステム４がライトデータを受信した段階では、このビットはオフに設定される。
【００６７】
図５の処理手順に戻る。副ライトデータ管理情報を設定した副リモートコピー処理部４１２は、正ストレージシステム１へライトコマンドの受信完了報告を行い（ステップ４４）、正ストレージシステム１から送られる次のデータを待つ（ステップ４５）。
【００６８】
ステップ４１で受領したデータがデステージ許可時刻だった場合、副リモートコピー処理部４１２は制御用メモリ４２２に格納されたデステージ許可時刻の情報を受領した値に更新する（ステップ５０）。そして、副リモートコピー処理部４１２は制御用メモリ４２２の情報を検索して、デステージ許可時刻以前のライト時刻を持つ副ライトデータ管理情報４２３のデステージ許可ビットをオンにし（ステップ５１）、正ストレージシステムから送られる次のデータを待つ（ステップ４５）。
【００６９】
デステージ許可ビット４２３８がオンになったライトデータは、副デステージ処理部４１４によって、キャッシュメモリ４２１上のダーティブロック量が閾値を超えたなどのタイミングで論理ディスクに書き込まれる。図３で説明したように、デステージ許可時刻以前のライト時刻を持つライトデータはすべて副ストレージシステムに到着していることはステップ３５で確認されている。したがって、図５のステップ５１でデステージ許可ビットをオンにすることにより、デステージ許可時刻以前のすべてのライトデータがデータベース管理システムのリスタートのために利用可能な状態になったことになる。その後、ライトデータは、ライト時刻の順番で論理ディスクへデステージされる。
【００７０】
ライト時刻とデステージ許可ビットを利用したこの手続きによって正ストレージシステム２でのライト順序と副ストレージシステム４でのライト順序が逆転することを防止できるため、先に説明したようにデータベース管理システムのリスタートにおけるトランザクション整合性を保証することができる。
【００７１】
尚、データベース管理システムでは一つのディスク障害によってログとＤＢデータの両方が同時に失われることのないように、各々のデータを異なる論理ディスクに配置することが推奨される。ここで、Ｉ／Ｏの順序はログとＤＢデータにまたがって保証されることが必要である。このため本実施形態では、複数の論理ディスクをグループ化し、そのグループに属する論理ディスク全体に対して上で説明したＩ／Ｏの順序を保証する。このグループを以下コンシステンシーグループと呼ぶ。具体的な順序保証としては、コンシステンシーグループを構成する論理ディスク群へのデータの書き込み（デステージ）に際して、ライトデータの時間順が守られる。
【００７２】
以下、本実施形態で使用される各種テーブルの説明をする。これらのテーブルは、ストレージシステムが論理ディスクの状態を確認したり、論理ディスクが同期又は非同期リモートコピーの対象か否か等を確認するために使用される。
【００７３】
図７は、ＤＢ−ディスクマッピングテーブル１２１の構成情報例を示す図である。ＤＢ−ディスクマッピングテーブル１２１は、データベース領域毎に、以下に示す情報を登録する複数のエントリを有する。具体的には、正ＤＢ用ディスク２３１中のデータベース領域を識別する為の情報であるデータベース領域ＩＤ、そのデータベース領域ＩＤで識別されるデータベース領域が複数のファイルで構成される場合のファイルの順序番号を示すファイルＩＤ、そのデータベース領域中のデータがデータベースデータ、ログ情報またはステータス情報のいずれであるかを示す種別の情報である。
【００７４】
また、そのデータベース領域がマッピングされているストレージシステムを識別する為のストレージシステムＩＤ、そのストレージシステムＩＤに対応するストレージシステムの論理ディスクで前記データベース領域がマッピングされているものを識別する為の論理ディスクＩＤ（ＬＵＮ）について、正ストレージシステム２及び副ストレージシステム４のそれぞれの情報もＤＢ−ディスクマッピングテーブル１２１に格納されている。尚、ＤＢ−ディスクマッピングテーブル１２１は、上記情報をデータベース領域毎に有している。
また、副ストレージシステム４のＤＢ−ディスクマッピングテーブル３２１も、正ストレージシステム２のＤＢ−ディスクマッピングテーブル１２１と同様な構成であるものとする。
【００７５】
図８は、正／副リモートコピー管理テーブルの例を示す図である。正リモートコピー管理テーブル２２４や副リモートコピー管理テーブル４２５は、論理ディスクごとに、以下に示す情報を登録する複数のエントリを有する。具体的な情報としては、書き込み処理が同期リモートコピーまたは非同期リモートコピーのいずれで行われるかを示すコピーモード、そのコピーモードで書き込み処理が行われるストレージシステムのストレージシステムＩＤ及びその論理ディスクＩＤについて、正ストレージシステム２及び副ストレージシステム４のそれぞれについての情報がある。また、非同期リモートコピーで複数の論理ディスク全体に対する更新の順序性を保証する場合には、それらの論理ディスクに同一のコンシステンシーグループＩＤを付与する。コンシステンシーグループを使用しない場合にはＮＵＬＬを付与する。これらのコンシステンシーグループＩＤの情報も本テーブルに登録される。
【００７６】
図７のＤＢ−ディスクマッピングテーブル１２１と図８の正リモートコピー管理テーブル２２４の情報により、正ストレージシステム２は、ログブロック、ＤＢブロック及びステータス情報を格納する論理ディスクへのライトデータをそれぞれ同期または非同期のどちらのリモートコピーで副ストレージシステム４へ転送すればよいか分かる。
【００７７】
例えば、データベース領域ＩＤ「LOG1」のログブロックは、図８より正ストレージシステムＩＤが「CTL#A1」で正論理ディスクＩＤが「VOL12-A」の論理ディスクに書き込まれるが、図８から正ストレージシステムＩＤ「CTL#A1」で正論理ディスクＩＤ「VOL12-A」のコピーモードは「同期」であるので、データベース領域ＩＤ「LOG1」のログブロックは、同期リモートコピー処理により副ストレージシステム４へ書き込まれる。尚、これらのテーブルの情報やリモートコピーの論理ディスクのペア等の情報は、ホストコンピュータ１で実行されるストレージ管理プログラム、あるいは管理用の計算機を介して登録される。
【００７８】
尚、副ホストコンピュータ３及び副ストレージシステム４から構成される待機系のシステムは、正ホストコンピュータ１及び正ストレージシステム２から構成される現用系のシステムが稼動中には、副ホストコンピュータ３は稼働しておらず、副ディスクサブシステム４は、正ストレージシステム２からリンク５経由でログブロック、ＤＢブロック及びステータス情報を受け取って、それぞれに対応する論理ディスクの更新を行う。
【００７９】
上述の様に、本実施形態の正ホストコンピュータ１のチェックポイント処理部１１２は、チェックポイントを作成して記録（以下「取得する」と言う場合もある）する際に、ＤＢバッファ１２２上で更新された全ＤＢブロックを正ＤＢ用ディスク２３１に格納し、その時点のログレコードの位置を示すステータス情報を正ステータス用ディスク２３２に格納する。以下、このチェックポイント取得処理について説明する。
【００８０】
図９は、チェックポイント取得処理の処理手順例を示すフローチャートである。
正ホストコンピュータ１のチェックポイント処理部１１２は、正ホストコンピュータ１のＤＢバッファ１２２の内容を正ストレージシステム２内の記憶装置へ反映させる必要が生じた場合に、ＤＢバッファ１２２で更新された全ＤＢブロック及びその時点で最新のログレコードの位置を示すステータス情報の書き込み要求を正ホストコンピュータ１から正ストレージシステム２へ送信する処理を行う。
【００８１】
まずチェックポイント処理部１１２は、チェックポイントの取得を開始したことを示すチェックポイント取得開始ログを生成して正ログ用ディスクに格納する（ステップ７０１）。
【００８２】
次にチェックポイント処理部１１２は、ＤＢバッファ１２２上で更新されている全ＤＢブロックを正ストレージシステム２へ書き込む為のライトコマンドを生成し、そのライトコマンドを正ストレージシステム２へ送信してＤＢブロックの書き込み要求を行う。正ストレージシステム２では、作成されたライトコマンドを受信してＤＢブロックをキャッシュメモリ２２に書き込み、ＤＢバッファ１２２の更新内容をキャッシュメモリ２２１に反映させる（ステップ７０２）。
その後、チェックポイント処理部１１２は、正ストレージシステム２に対し、チェックポイント要求を送信する。チェックポイント要求を受信した正ストレージシステムは、チェックポイント要求に基づく処理を行い、チェックポイント処理部１１２へ完了報告を行う（ステップ７０３）。尚、ステップ７０３の処理の詳細については後述する。
【００８３】
完了報告を受領したチェックポイント処理部１１２は、チェックポイントの取得を終了したことを示すチェックポイント取得終了ログを生成して正ログ用ディスクのログブロックに格納する（ステップ７０４）。
その後、チェックポイント処理部１１２は、前記チェックポイント取得終了ログのＬＳＮ(Log Sequence Number)をステータス情報として正ストレージシステム２へ書き込む為のライトコマンドを生成し、そのライトコマンドを正ストレージシステム２へ送信してステータス情報の書き込み要求を行う。正ストレージシステム２では、前記ライトコマンドを受信してステータス情報を正ステータス用ディスク２３２に書き込む（ステップ７０５）。
【００８４】
以下、上記のステップ７０３の処理手順について説明する。尚、前記の様に本実施形態の正ストレージシステムではチェックポイント時の書き込み要求も非同期で副ストレージシステム４へ送信しているが、チェックポイント時の書き込み要求が行われた場合には、その書き込み要求とその時点までに非同期リモートコピーの為に一時的に蓄積している書き込み要求を、副ディスクサブシステム４へ送信するものとしても良い。以下ではこの例を説明する。
【００８５】
正ホストコンピュータ１から正ＤＢ用ディスク２３１のチェックポイントを要求する正ＤＢボリュームチェックポイント要求が送信されると、正ストレージシステム２は、その時点で正ストレージシステム２内のキャッシュメモリまたはディスク装置中のキューに一時的に蓄積されているリモートコピー用データを副ディスクサブシステム４へ送信し、正ＤＢボリュームチェックポイント要求で受信したＤＢブロック及びステータス情報を副ストレージシステム４へ送信する。
【００８６】
副ストレージシステム４は、その書き込み要求と共に送信されたＤＢブロックやステータス情報をすべてキャッシュ４２に書き込んだ後、その書き込みが完了したことを示すリモートコピー完了通知を生成して正ストレージシステム２へ送信する。
【００８７】
正ストレージシステム２は、副ストレージシステム４からリモートコピー完了通知を受信すると、正ホストコンピュータ１から要求されたチェックポイント処理が完了したことを示す正ＤＢボリュームチェックポイント完了通知を生成して正ホストコンピュータ１へ送信する。
【００８８】
上述の様に、ログブロックの書き込み要求時とチェックポイント要求時に正ストレージシステム２と副ストレージシステム４の間で同期リモートコピーによるデータの同期化処理を行った場合には、現用系で完了済みのトランザクションの更新内容が待機系で失われる事を無くすと共に、ＤＢブロックやステータス情報の書き込みをチェックポイント時にまとめて行うことにより、ＤＢブロックやステータス情報をすべて同期リモートコピーで転送した場合に比べ現用系のパフォーマンス劣化を防ぐことができる。また、この場合には、専用のステータスファイルを備えていないデータベース管理システムを用いた構成でも、現用系でチェックポイント時点にストレージに反映したＤＢ更新データが待機系で失われることが無い。
【００８９】
又、現用系データベース管理システム１００でのデータベース処理が障害等により異常終了し、その後、現用系データベース管理システム１００がリスタート処理を開始した場合には、正ステータス用ディスク２３２中のステータス情報で示されるチェックポイントの位置からログレコードを読み出して正ＤＢ用ディスク２３１のデータを当該ログレコードの内容に従って更新することにより、終了直前までに完了していたデータベースの状態を回復することができる。
【００９０】
上述の様に本実施形態のシステムでは、ログブロックの書き込み要求については、正ストレージシステム２での書き込みと同期した副ディスクサブシステム４への同期リモートコピー処理を行うので、現用系で完了済みのトランザクションの更新内容が待機系で失われる事を無くすことができる。
また、ＤＢブロックやステータス情報の書き込みについては、正ストレージシステム２での書き込みとは同期しない副ストレージシステム４への非同期リモートコピー処理を行うので、現用系のパフォーマンス劣化を削減することができる。
【００９１】
以下、現用系データベース管理システムを含む現用系のシステムが使用不可能になった場合に、待機系のシステムでデータベース管理システムをリスタートする手順を説明する。
図１０は、データベース管理システムリスタート処理手順を示すフローチャートである。現用系のシステムから待機系のシステムへの運用の切り替えが行われ、待機系データベース管理システムでのデータベース処理が開始されると、副ホストコンピュータ３のＤＢアクセス制御部３１１は、副ストレージシステム４に対してデータベース管理システムリスタート処理の実行を指示する。
【００９２】
リスタート処理の実行を指示された副ストレージシステム４のコマンド処理部４１１は、ステータス用ディスク４５に格納されたステータスファイルを読み出し、データベースの状態を示す情報を取得する。ここで、ステータファイルには、データベースの状態を示す情報として、現用系データベース管理システムが稼働中であることを示す情報がデータベース処理開始時に格納され、現用系データベース管理システムが正常終了したことを示す情報がデータベース処理終了時に格納されるものとする（ステップ１２０１）。
【００９３】
その後、コマンド処理部４１１は、取得したデータベースの状態を示す情報を参照して前回のデータベース処理が正常終了しているかどうかを調べる（ステップ１２０２）。
前記取得したデータベースの状態がデータベース管理システムの稼働中であることを示している場合、すなわちデータベース管理システムが正常終了したことを示す情報がステータファイルに記録されていない場合、コマンド処理部４１１は、前回のデータベース処理が正常終了していないものと判断し、ステータス用ディスクに格納されたステータス情報を参照して正常終了していないデータベース処理の直前（最新）のチェックポイント時のログレコードの位置を特定する（ステップ１２０３）。
【００９４】
その後、コマンド処理部４１１は、副ログ用ディスク４３１を参照して前記取得したログレコードの位置からログレコードを順次読み出し、副ＤＢ用ディスク４３３中のデータベース領域に対してロールフォワード処理、すなわちログに従ってデータを更新する処理を行う（ステップ１２０４）。
その後、コマンド処理部４１１は、ログレコードによるロールフォワード処理を行ったトランザクションの内、完了していないトランザクションの処理を取り消すロールバック処理を行う（ステップ１２０５）。
【００９５】
ステップ１２０２でデータベース処理が正常終了していると判断した場合又はステップ１２０５でロールバック処理を完了した場合、コマンド処理部４１１は、データベース管理システムが稼働中であることを示す情報と回復後のログレコードの位置を示すステータス情報を副ステータス用ディスク４３２中のステータスファイルに格納する（ステップ１２０６）。
【００９６】
一般に従来のデータベース管理システムでは、トランザクションの実行性能を確保する為、トランザクション内で更新したデータを該当トランザクションの完了（commit）に同期してストレージシステムに書き出しておらず、所定のトランザクション発生回数や所定時間を契機としたチェックポイントと呼ばれる契機を設け、ここでその間のＤＢ更新データをストレージシステムへ書き出している。そして、チェックポイント以降のＤＢ更新内容をログ用ディスクに書き出しておき、現用系のホストコンピュータのダウン時の待機系でのリスタート処理では、チェックポイント以降のＤＢ更新をログ用ディスク内の更新履歴から復元して回復している。
【００９７】
ここで、待機系でのリスタート時に最新のチェックポイント以降どのログ用ディスクのどの位置からログ情報を反映すれば良いかが問題となるが、一般に、こうした情報はログ用ディスクのヘッダ部等に格納されており、従来の待機系のシステムでは、リスタート時に反映対象とするログ用ディスクと読み込み位置をその情報により決定している。
【００９８】
この様な従来のデータベース管理システムにおいて、本実施形態のようにログ用ディスクを同期リモートコピーし、ＤＢ用ディスクを非同期リモートコピーした場合、メインサイトのログ用ディスク上ではチェックポイントの処理が済んだＤＢ更新内容がリモートサイトに転送されていない可能性があり、上述のようなログ用ディスクのヘッダ部分のような情報を用いると、メインサイト側でチェックポイント時点にストレージシステムに反映したＤＢ更新データがリモートサイトでは失われて、回復が不整合になってしまう。
【００９９】
これに対し、本実施形態のシステムでは、ログブロックを同期リモートコピー処理し、ＤＢブロックを非同期リモートコピー処理しても副ストレージシステム４での回復で不整合が起こらない様に、チェックポイント時のログ用ディスク入力ポイントを管理する為のステータスファイルを設け、更に、そのステータスファイルを非同期リモートコピー処理により転送し、同様に非同期で転送されるＤＢブロックとの更新順序を副ストレージシステム４で保証する様にステータス用ディスクとＤＢ用ディスクを同一のコンシステンシーグループに設定している。
【０１００】
これにより、現用系から待機系への切り替え後、データベース処理の開始時に副ステータス用ディスク４３２のステータスファイルを参照し、そのステータス情報で示される位置から回復すれば良いことになる。
【０１０１】
以下、本発明の実施形態の一変形例について説明する。
【０１０２】
災害が発生し、メインサイトで業務の継続ができなくなってからリカバリサイトで業務を引き継げるようになるまでの時間（リカバリ時間）を管理することは、非常に重要である。業務の中断が長引くだけ商機を失い、また会社としての信用も失う。インターネットの普及により、サービスの２４時間３６５日化が進んでおり、業務が長期間停止することで致命的な打撃を被る可能性が生じている。
従来のデータベース管理システムでは、いったん障害などで停止した現用系でリスタートする際にリスタートまでにかかる処理時間（以下「リスタート処理時間」）を制限することができる。具体的には、ＤＢバッファにたまったＤＢデータの更新量が増加すると、障害後のリスタートで処理すべきログの量が増えるため、たとえばＤＢバッファ上での更新ブロック数が一定量を超えたらチェックポイント処理を起動することでリスタート処理時間を制限する。これにより、リカバリ処理にかかる時間を制限し、システムの早期復旧を保証する。
【０１０３】
以下、上述した実施形態のシステムで、システムの早期復旧を保証することを考える。従来の技術を用いても、本実施形態のシステムで現用系から待機系への切り替え後、データベース管理システムのリスタート処理時間を制限することは可能である。しかし、従来の方法では不十分である。なぜなら、リカバリサイトでのＤＢデータ用ディスクの状態は、正ストレージシステム１のＤＢデータ用ディスクよりさらに非同期リモートコピーによるデータ更新遅延分だけＤＢデータの更新が遅れていて、ＤＢデータの論理ディスクへの更新量が少ない（更新に使用するログの量が正ストレージシステムよりもデータ更新の遅延分増大する）。このため、非同期リモートコピーによる更新の遅延量を把握しないと、正確なリスタート処理時間を計算することができないからである。
【０１０４】
上述の遅延量を把握するため、正ストレージシステム２は制御用メモリ２２２上にリモートコピー遅延情報２２５を持ち、非同期リモートコピー処理においてこの情報を逐次更新する（図３、ステップ２５、ステップ３７）。また、ネットワーク６もしくは正ＩＯチャネル７経由で正ホストコンピュータ１や管理コンピュータ９からの要求に応じて、正リモートコピー遅延管理部２１３がリモートコピー遅延情報を要求元へ転送する。
【０１０５】
更に、現用系データベース管理システム１００のリモート遅延管理部１１５があらかじめ決まった時刻、一定周期、なんらかの事象を契機にして正ストレージシステム２からリモートコピー遅延情報２２５を受領し、あらかじめ設定された閾値を超えているかどうかチェックする。この閾値はシステム管理者が現用データベース管理システム１００や管理用コンピュータ９などでリカバリ時間の目標値を考慮して設定する。現用系データベース管理システム１００や管理用コンピュータ９はこの閾値を設定するためのインタフェースを持つ。
【０１０６】
閾値を超えていた場合、リモート遅延管理部１１５は、管理用コンピュータ９の遅延監視部９２２やシステム管理者に報告する。報告を受け取った遅延監視部９２２はあらかじめ設定された処理（以下に説明する）を起動する。ここで管理用コンピュータ９がリモートコピー遅延情報２２５をチェックし、現用データベース管理システム１００やシステム管理者に報告することとしてもよい。
【０１０７】
リモートコピー遅延情報２２５が閾値を超えたことを正ホストコンピュータ１が検出した場合、遅延の増加を防ぐために以下の処理を行う。
まず、閾値を超えた場合、正ホストコンピュータ１のリモート遅延管理部１１５は、ＤＢアクセス制御部１１１に処理中のトランザクション処理の完了を遅らせたり、新たに流入するトランザクションを制限したりするよう通知する。この通知を受けたＤＢアクセス制御部１１１は、ａ）上位アプリケーションからの新たなトランザクションを拒否、ｂ）処理中のトランザクションの完了の遅延などの処理を行い、遅延量増大を防止する。
【０１０８】
一方、リモートコピー遅延情報２２５の値が閾値を超えたことを管理コンピュータ９が検出した場合、遅延の増加を防ぐために以下の処理を行う。
例えば、ストレージシステム間での非同期リモートコピーの遅延量が増大していることが遅延増加の原因の場合は、管理用コンピュータ９は、ａ）メインサイトとリカバリサイトのストレージシステム間のリンク５の増強（具体的には通信帯域の確保等）の指示、ｂ）非同期リモートコピー処理に割り当てるインタフェース、プロセッサなどのストレージリソースを増やして、遅延量の増加を抑止する等、ストレージシステムに指示する。他の理由、例えばチェックポイントの間隔の長期化によってＤＢバッファのデータ量が増大した場合には、管理コンピュータ９は、データベース管理システム１００にチェックポイント間隔の短縮を指示したりする。
【０１０９】
以下、上述の実施形態の更なる変形例について説明する。
上述の実施形態で説明したログブロックは、基本的に連続したアドレスの記憶領域に追記的に記録されていく。一方、ログ用の論理ディスクの容量は当然有限なので、記憶領域の再利用が必要になる。このため、本変形例では、ログ管理部１１３がログ用の論理ディスク上に複数のログファイルを確保し、リスタート処理に不要となったログファイル（既にＤＢ用論理ディスクに更新データが格納されたログ）の属性を上書き可能（この属性のログファイルを「オンラインアーカイブ」と称する）とし、再利用に備える方法を採用する。また、ログファイルを新しいログの記録のために再利用する前に、磁気テープ装置などの可換媒体に待避する場合もある。この待避したログファイルを以下オフラインアーカイブと呼ぶ。一方、リスタート処理に必要なログを記録しているログファイルはアクティブログとして再利用対象にしない。
【０１１０】
尚、本変形例においては、以下の点について考慮する必要がある。即ち、上述の実施形態の待機系におけるリスタート処理ではログブロックに対してＤＢデータが時間的に古い状態にあるため、ロールフォワードを開始するのに必要なログがオンラインアーカイブのログファイルにある可能性がある。通常のリスタート処理ではあり得ない状況（通常のリスタート処理では、ログブロックとＤＢデータの更新時間は一致していると仮定されている）なので、データベース管理システムのチェック機構が働き、ログとステータス情報が不整合だと判断してリスタート処理を中断するなどの問題が起きる場合がある。
【０１１１】
このため本変形例では副ホストコンピュータ３にリスタートモード管理部３１６を設け、リスタート処理に新たなモード、即ちオンライン（又はオフライン）アーカイブからロールフォワード処理を行うモードを設定し、前記のチェック機構を働かなくする。または副ライトコマンド処理部４１１がリスタート処理の際にログファイルの状態を副ステータス用ディスク４３２上のステータス情報を優先的に参照して使用するログファイルを確認し、リスタート処理を実行することでこの問題を回避することができる。
【０１１２】
更に、本変形例では、以下の点も考慮する必要がある。
上述したように、オンラインアーカイブであるログファイルは再利用の候補となる。しかし、待機用データベース管理システムでのリスタートに必要なログが再利用によって上書きされてしまってはリカバリができなくなってしまう。このため待機用データベース管理システムでのリスタートに必要なログの上書きを防止する必要がある。
【０１１３】
このために本変形例では、正ＤＢ用ディスク２３１の非同期リモートコピーにおける遅延量を現用系データベース管理システムのリモート遅延管理部１１５が把握してログファイルの状態管理を行う。具体的には、把握された遅延量に応じて、ログ管理部１１３は待機用データベース管理システムでのリスタートに必要なログファイルは再利用されないよう、正ＤＢ用ディスク２３１にデータが反映されたログファイルに関しても副ストレージシステムへＤＢデータが転送されない間はアクティブ属性としておけばよい。
【０１１４】
尚、非同期リモートコピーの遅延量は上述したように、正ストレージシステム２の正リモートコピー遅延管理部２１３が提供する。正ストレージシステム２が直接的に現用系データベース管理システム１００が稼働している正ホストコンピュータ１に遅延量の情報を送信してもよいし、いったん管理用コンピュータ９に送信して、管理用コンピュータ９から現用データベース管理システム１００に指示が出されても良い。
【０１１５】
以下に、正ストレージシステムでの非同期リモートコピーの遅延量管理の仕方について説明する。
正ストレージシステム１は、正ストレージシステム１が非同期リモートコピーの遅延量管理をするための正リモートコピー遅延管理部２１３を有する。正リモートコピー遅延管理部２１３は、非同期リモートコピーを行っている論理ディスク、論理ディスクの特定のアドレス領域、コンシステンシーグループなどの単位で遅延量の情報をリモートコピー遅延情報２２５として管理し、必要に応じて正ホストコンピュータ１や管理用コンピュータ９などに遅延量の情報を転送する。尚、遅延量の更新等は、既に説明したのでここでは説明を省略する。
【０１１６】
遅延量としては以下の情報を採用することが出来る
ａ）正ホストコンピュータ１からのライト処理は完了しているがリカバリサイトの副ストレージシステム４でデステージ許可になっていないデータ量。
ｂ）正ホストコンピュータ１からのライト処理は完了しているがリカバリサイトの副ストレージシステム４でデステージ許可になっていないライト処理のリスト（論理ディスクＩＤ、先頭ブロックアドレス、データ長など）
ｃ）正ホストコンピュータ１からのライト処理は完了しているがリカバリサイトの副ストレージシステム４でデステージ許可になっていないライトコマンド数
ｄ）正ホストコンピュータ１からのライト処理は完了しているがリカバリサイトの副ストレージシステム４でデステージ許可になっていない最も時間的に古いライトコマンドもしくはライト管理情報に関する情報。
【０１１７】
本変形例では、この遅延量を正ホストコンピュータ１や管理用コンピュータ９に渡すためのインタフェースを正ストレージシステム１が有する。具体的には、正リモートコピー管理部２１３が正ＩＯチャネル７やネットワーク６を介して管理用コンピュータ９等と通信を行うことができる。また、非同期リモートコピーによる遅延の状況を確認するため、正ストレージシステム１が副ストレージシステム上の論理ディスクで確定しているデータ（キャッシュメモリ上でデステージ許可になっているデータやすでに論理ディスク上で更新されているデータ）をＤＢサーバや管理用コンピュータ９などに提供する機能を有する。
【０１１８】
具体的には、正ホストコンピュータ１に対し、副ステータス用ディスク４３２をアクセスさせる論理ボリュームを正ストレージシステム２が提供する。正ホストコンピュータ１が副ステータス用ディスク４３２のあるブロックをリードする場合、そのブロックに対応するライト時刻２２３４がデステージ許可時刻以降であれば、正リモートコピー処理部２１２は当該ブロックのリードコマンドをリンク５を介して副ストレージシステム４に送付する。リードコマンドを受取った副リモートコピー処理部４１２は副ステータス用ディスク４３２の対応するブロックのデータをリードし、そのデータを正ストレージシステム２にリンク５を介して送付する。
【０１１９】
一方、正ホストコンピュータ１からリード要求されたブロックに対応するライト時刻２２３４がデステージ許可時刻以前であれば、正ライトコマンド処理部２１１は、正ステータス用ディスク２３２の対応するブロックのデータを読み出して正ホストコンピュータ１に転送する。このようにすることで、正ホストコンピュータ１は副ステータス用ディスク４３２のデータにアクセスすることができるため、リカバリサイトにおける最新のチェックポイントの情報を得ることができる。なお、ライト時刻に対する判断を省略し、正ホストコンピュータ１がすべてのブロックを副ストレージシステム４から読むとしてもよい。
【０１２０】
まとめると、上述した変形例において収集される非同期リモートコピーの遅延量をデータベース管理システムが取得して使用するために、本変形例のシステムは以下の構成を有する。ただし、全ての構成を有する必要は無い。
ａ）リモート遅延管理部１１５は、ストレージシステム又は管理用コンピュータに非同期リモートコピーの遅延量を問い合わせ、その情報を受け取る。
ｂ）リモート遅延管理部１１５は、収集した遅延量からリカバリサイトで待機系データベース管理システムがリスタートに使用するチェックポイントの位置を決定する。
【０１２１】
ｃ）リモート遅延管理部１１５及びログ管理部１１３は、（ｂ）で決定したチェックポイントの位置に基づいて、リカバリサイトで待機用データベース管理システムがリスタートに使用するログが領域の再利用のために上書きされたり、オフラインアーカイブ化されることを抑止する。
ｄ）ログ管理部１１３は、ログのステータス情報をログと別のファイルに記録する。
ｅ）更に、副ホストコンピュータ３のリスタートモード管理部３１６は、副ストレージシステム４においてログに対してＤＢデータが遅延していることを前提としたリスタートモードを有する。更に、副ホストコンピュータ３は、システム管理者等が外部からそのモードに設定するためのインタフェース（ＧＵＩ等）を有する。
【０１２２】
更なる実施形態として、上述した実施形態のシステムを管理する管理用コンピュータ９において実行されるストレージ管理ソフトウエアプログラムは、以下の処理を実行する。
ａ）管理者等の指示に基づいて、ログ用論理ボリュームは同期リモートコピーとし、ＤＢデータ用論理ボリュームとステータス情報用論理ボリュームを同一コンシステンシーグループに属する非同期リモートコピーとして設定する。
ｂ）非同期リモートコピーの遅延量をストレージシステムやデータベース管理システムから取得し、監視する。
ｃ）管理者等の指示に基づいて、非同期リモートコピーの遅延量の閾値をあらかじめ設定し、それを超えたときに管理者や他のコンピュータなどに報告する。
【０１２３】
ｄ）現用データベース管理システムを、リカバリサイトでのリスタートに必要なログが失われることがないようなモードに設定する。
ｅ）待機系データベース管理システムをログに対してＤＢデータが遅延していることを前提としたリスタートモードに設定し、メインサイトでの災害発生後にリスタート指示を出す。
【０１２４】
以上説明した様に本実施形態のシステムによれば、待機系への書き込み要求時に、同期リモートコピーによりログ情報を更新し、非同期リモートコピーによりデータベースデータ及びステータス情報を更新するので、現用系で完了済みのトランザクションの更新内容が待機系で失われる事が無く、現用系のパフォーマンス劣化が少ない災害対策システムを構築することが可能である。
【０１２５】
より具体的には、本実施形態によれば、ログを同期リモートコピーで転送するので現用系データベース管理システムがコミットしたトランザクションの情報は副ストレージシステムに送信されることが保証できる。又、ＤＢデータには非同期リモートコピーを用いるため、ＤＢデータ用論理ディスクに対するライト処理はリモートコピーの遅延時間の影響を受けにくい。
【０１２６】
尚、本発明では以下の点に着目してログに関しては同期リモートコピーを採用している。
ログは追記型で書き込まれるため、ログ用論理ディスクに対するアクセスは基本的にシーケンシャルになる。磁気ディスク装置はランダムなアクセスの場合は磁気ヘッドを目的の記録領域に位置づけるためのシークや回転待ちといったメカニカルな動作時間が支配的になるのに対し、シーケンシャルなアクセスの場合はメカニカルな動作時間の影響を最小化できるため、ログの書き込みにおいては高速な処理が可能となる。さらにデータベース管理システムはログ用論理ディスクへライトするデータをいったんＤＢサーバ上のログバッファに蓄積する。同期リモートコピーの影響でログ用論理ディスクへのライト処理応答時間が増大した場合、ログバッファに蓄積されるデータ量が増大するが、ログは基本的にシーケンシャルなので蓄積量が増えても１回のコマンドでのライト処理にまとめやすい。典型的なライトコマンドのアクセス範囲指定は先頭アドレスとデータ長の組み合わせなので、連続領域に対するアクセスはデータ長が増大するだけでコマンドとしては一回にまとめることができるため、ライト処理応答時間の影響を少なくすることが可能である。
【産業上の利用可能性】
【０１２７】
本発明は、あらゆる企業、政府等における営業上や管理上のデータベースのデータを保管すること及びデータを保管することをサービスとして提供する企業において有用である。
【図面の簡単な説明】
【０１２８】
【図１】本実施形態のディザスタリカバリシステムのシステム構成を示す図である。
【図２】本実施形態の同期リモートコピー処理の処理概要を示す図である。
【図３】本実施形態の非同期リモートコピー処理の正ストレージシステム側の処理概要を示す図である。
【図４】本実施形態の正ライトデータ管理情報を示す図である。
【図５】本実施形態の非同期リモートコピー処理の副ストレージシステム側の処理概要を示す図である。
【図６】本実施形態の副ライトデータ管理情報を示す図である。
【図７】本実施形態の副ストレージシステム４のデータ受信処理の処理手順を示すフローチャートである。
【図８】本実施形態のデータベース管理システム開始処理の処理手順を示すフローチャートである。
【図９】本実施形態のチェックポイント時の処理手順を示すフローチャートである。
【図１０】本実施形態のリスタート処理の処理手順を示すフローチャートである。
【符号の説明】
【０１２９】
１…正ホストコンピュータ、２…正ストレージシステム、３…副ホストコンピュータ、４…副ストレージシステム、１２２…ＤＢバッファ、１２３…ログバッファ、２２１…キャッシュメモリ、２３１…正ＤＢ用ディスク、２３２…正ステータス用ディスク、２３３…正ログ用ディスク、３２２…ＤＢバッファ、３２３…ログバッファ、４２１…キャッシュメモリ、４３３…副ＤＢ用ディスク、４３２…副ステータス用ディスク、４３１…副ログ用ディスク。
【図１】
2005267301.tif 000003
【図２】
2005267301.tif 000004
【図３】
2005267301.tif 000005
【図４】
2005267301.tif 000006
【図５】
2005267301.tif 000007
【図６】
2005267301.tif 000008
【図７】
2005267301.tif 000009
【図８】
2005267301.tif 000010
【図９】
2005267301.tif 000011
【図１０】
2005267301.tif 000012