(57)【特許請求の範囲】
【請求項１】
データベースを備えたストレージシステムで行われる記憶制御方法であって、
前記ストレージシステムには、第一のストレージサブシステムと第二のストレージサブシステムとが備えられ、前記第一のストレージサブシステムが、データベースを記憶することができる第一のＤＢ記憶装置と、前記データベースのログを記憶することができる第一のログ記憶装置とを備え、前記第二のストレージサブシステムが、前記第一のＤＢ記憶装置とペアを構成することができる第二のＤＢ記憶装置と、前記第一のログ記憶装置とペアを構成することができる第二のログ記憶装置とを備え、
前記第一のストレージサブシステムが、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア状態であるＤＢペア状態がペア解除状態になっている場合に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とに差分が生じたならば該差分を管理し、該ペア解除状態が解除された場合に、管理されている前記差分を前記第二のストレージサブスシステムに送信することで、前記第二のＤＢ記憶装置に該差分を更新させ、それにより、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分を無くすことができるように構成されており、
データベースのログの制御に関するモードであるログ制御モードとして、トランザクション中に前記データベースを更新しても少なくとも該データベースの更新履歴を含んだログを作成しないモードであるログレスモードと、前記ログレスモードとは別のモードとがあり、前記ログレスモードで一つのトランザクションを実行する場合、該トランザクションの開始の際に、前記ログレスモードの開始を表すログであるログレス開始ログを作成し前記第一のログ記憶装置に発行することで、該ログレス開始ログを前記第一のログ記憶装置に書き、
前記第一のログ記憶装置に書かれる前記ログレス開始ログを前記第一のストレージサブシステムから前記第二のストレージサブシステムに送信することにより、該ログレス開始ログを前記第二のログ記憶装置に書き、
前記第一のＤＢ記憶装置のデータベースに複数のデータをそれぞれ発行することで該データベースを複数回更新するＤＢ更新処理を実行し、
開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除し、
前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に書き、
前記第一のログ記憶装置に書かれる前記ログレス終了ログを前記第一のストレージサブシステムから前記第二のストレージサブシステムに送信することにより、該ログレス終了ログを前記第二のログ記憶装置に書く、
記憶制御方法。
【請求項２】
前記第一のストレージサブシステムを含む第一のシステムに、前記データベースを管理するデータベース管理部と、各記憶装置のペア状態に従うコピーを制御する第一の記憶制御部とが備えられ、前記第二のストレージサブシステムに、前記第一の記憶制御部と通信することができる第二の記憶制御部が備えられ、
前記データベース管理部及び前記第一の記憶制御部のうちの少なくとも前記第一の記憶制御部が、前記第一のストレージサブシステムに備えられ、
前記ログレスモードでのトランザクションの開始前に、前記第一のログ記憶装置と前記第二のログ記憶装置とのペア状態であるログペア状態が、前記第一のログ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のログ記憶装置へと転送される同期／非同期ペア状態となっており、
前記データベース管理部が、前記ログレス開始ログを作成して前記第一のログ記憶装置に書き、
前記第一の記憶制御部が、前記ログペア状態が同期／非同期ペア状態になっているために、前記第一のログ記憶装置に書かれる前記ログレス開始ログを前記第二の記憶制御部に送信し、前記第二の記憶制御部が、前記第一の記憶制御部からのログレス開始ログを前記第二のログ記憶装置に書き、
前記データベース管理部が、前記ＤＢ更新処理を実行し、
開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記データベース管理部が、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除し、
前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記データベース管理部が、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に書き、
前記第一の記憶制御部が、前記ログペア状態が同期／非同期ペア状態になっているために、前記第一のログ記憶装置に書かれる前記ログレス終了ログを前記第二の記憶制御部に送信し、前記第二の記憶制御部が、前記第一の記憶制御部からの前記ログレス終了ログを前記第二のログ記憶装置に書く、
請求項１記載の記憶制御方法。
【請求項３】
前記ログレスモードでのトランザクションの開始から終了までの間、少なくとも前記ログレス開始ログと前記ログレス終了ログが、前記第一のストレージサブシステムの所定の領域への書込みと同期で前記第二のログ記憶装置へと転送される、
請求項２記載の記憶制御方法。
【請求項４】
前記データベースに書くデータをメモリに一時記憶し、該メモリに記憶したデータを前記第一のＤＢ記憶装置に書くことで前記データベースを更新するようになっている場合に、
前記ログレス開始ログを前記第一のログ記憶装置に発行した後、前記ＤＢ更新処理の開始前に、前記データベースに書かれていないデータである未反映データを前記メモリから前記第一のＤＢ記憶装置へと書き出し、該書き出しが完了した後に、前記ＤＢ更新処理を開始する、
請求項１記載の記憶制御方法。
【請求項５】
前記ＤＢペア状態が、前記第一のＤＢ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のＤＢ記憶装置へと転送される同期／非同期ペア状態となっている場合、
前記ログレス開始ログを前記第一のログ記憶装置に書き、
前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出し、それにより、前記第一のＤＢ記憶装置に書かれる前記未反映データを、前記第一のストレージサブシステムから前記第二のストレージサブシステムに送信し、前記第二のログ記憶装置に書き、
前記未反映データが前記第一のログ記憶装置及び第二のログ記憶装置の両方に書かれた後、前記ＤＢペア状態を同期／非同期ペア状態から前記ペア解除状態にし、
前記ＤＢペア状態を前記ペア解除状態にした後、前記ＤＢ更新処理を開始し、
前記ＤＢ更新処理の終了後、前記ＤＢペア状態のペア解除状態を解除し、
前記ペア解除状態の解除による前記差分の前記第二のＤＢ記憶装置への更新が終了した後、前記ログレス終了ログを前記第一のログ記憶装置に書く、
請求項４記載の記憶制御方法。
【請求項６】
前記ＤＢペア状態が前記ペア解除状態となっている場合、
前記ログレス開始ログを前記第一のログ記憶装置に書き、
前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出し、
前記ＤＢ更新処理を開始する前までに、前記第二のログ記憶装置にログレス開始ログよりも前に書かれたログを用いて、前記第二のＤＢ記憶装置のデータベースを更新し、且つ、該更新後の第二のＤＢ記憶装置のバックアップを前記第二のストレージサブシステムに取得し、
前記ＤＢ更新処理の終了後、前記ＤＢペア状態のペア解除状態を解除し、
前記ペア解除状態の解除による前記差分の前記第二のＤＢ記憶装置への更新が終了した後、前記ログレス終了ログを前記第一のログ記憶装置に書く、
請求項４記載の記憶制御方法。
【請求項７】
前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出した後、前記ＤＢ更新処理の開始前までに、前記未反映データが反映された前記第一のＤＢ記憶装置のバックアップを前記第一のストレージサブシステムに取得する、
請求項６記載の記憶制御方法。
【請求項８】
前記ＤＢペア状態が前記ペア解除状態となっている場合、
前記ログレス開始ログを前記第一のログ記憶装置に書き、
前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出し、
前記ＤＢペア状態のペア解除状態を解除し、
前記ペア解除状態の解除による前記差分の前記第二のＤＢ記憶装置への更新が終了した後、前記ＤＢ更新処理を開始し、
前記ＤＢ更新処理の終了後、前記ＤＢペア状態を再び前記ペア解除状態とし、その後、前記ログレス終了ログを前記第一のログ記憶装置に書く、
請求項４記載の記憶制御方法。
【請求項９】
前記ＤＢ更新処理の終了後、前記ＤＢペア状態を再び前記ペア解除状態とした後、前記第二のストレージサブシステムが前記第一のストレージサブシステムに対してログレスモードの解除の要求を行い、前記第一のストレージサブシステムが、該要求に従って、前記ログレス終了ログを前記第一のログ記憶装置に書く、
請求項８記載の記憶制御方法。
【請求項１０】
前記第一のＤＢ記憶装置がダウンした場合、前記第一のログ記憶装置又は前記第二のログ記憶装置に、前記ログレス開始ログが記憶されているが前記ログレス終了ログが記憶されていなければ、前記ログレスモードに対応した回復処理を実行することで、前記第一のＤＢ記憶装置に記憶されていた、前記ダウンの時点になるべく近いデータベースを回復する、
請求項１記載の記憶制御方法。
【請求項１１】
ストレージシステムに備えられるデータベースを管理するデータベース管理システムであって、
前記ストレージシステムには、第一のストレージサブシステムと第二のストレージサブシステムとが備えられ、
前記第一のストレージサブシステムが、データベースを記憶することができる第一のＤＢ記憶装置と、前記データベースのログを記憶することができる第一のログ記憶装置と、各記憶装置のペア状態に従うコピーを制御する第一の記憶制御部とを備え、
前記第二のストレージサブシステムが、前記第一のＤＢ記憶装置とペアを構成することができる第二のＤＢ記憶装置と、前記第一のログ記憶装置とペアを構成することができる第二のログ記憶装置と、前記第一の記憶制御部と通信することができる第二の記憶制御部とを備え、
前記第一のストレージサブシステムが、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア状態であるＤＢペア状態がペア解除状態になっている場合に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とに差分が生じたならば該差分を管理し、該ペア解除状態が解除された場合に、前記第一の記憶制御部が、管理されている前記差分を前記第二の記憶制御部に送信することで、前記第二の記憶制御部に前記差分を前記第二のＤＢ記憶装置に更新させ、それにより、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分を無くすことができるように構成されており、
トランザクションの開始前に、前記第一のログ記憶装置と前記第二のログ記憶装置とのペア状態であるログペア状態が、前記第一のログ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のログ記憶装置へと転送される同期／非同期ペア状態となっており、それにより、前記第一のログ記憶装置にデータが書かれる場合、前記第一の記憶制御部が、該データを前記第二の記憶制御部に送信し、前記第二の記憶制御部が該データを前記第二のログ記憶装置に書くようになっており、
前記データベース管理システムが、
データベースのログの制御に関するモードであるログ制御モードとして、トランザクション中に前記データベースを更新しても少なくとも該データベースの更新履歴を含んだログを作成しないモードであるログレスモードと、前記ログレスモードとは別のモードとがあり、前記ログレスモードで一つのトランザクションを実行する場合、該トランザクションの開始の際に、前記ログレスモードの開始を表すログであるログレス開始ログを作成し前記第一のログ記憶装置に対して発行し、それにより、該ログレス開始ログが前記第一のログ記憶装置に書かれ、
前記第一のＤＢ記憶装置のデータベースに複数のデータをそれぞれ発行するＤＢ更新処理を実行し、
開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除するためのペア命令を前記第一のストレージサブシステムに発行し、それにより、該ペア解除状態が解除され、
前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に発行し、それにより、該ログレス終了ログが前記第一のログ記憶装置に書かれる、
データベース管理システム。
【請求項１２】
前記データベースに書くデータをメモリに一時記憶し、該メモリに記憶したデータを前記第一のＤＢ記憶装置に発行することで前記データベースを更新するようになっており、前記ログレス開始ログを前記第一のログ記憶装置に発行した後、前記ＤＢ更新処理の開始前に、前記データベースに書かれていないデータである未反映データを前記メモリから前記第一のＤＢ記憶装置へと書き出し、該書き出しが完了した後に、前記ＤＢ更新処理を開始する、
請求項１１記載のデータベース管理システム。
【請求項１３】
前記ＤＢペア状態が、前記第一のＤＢ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のＤＢ記憶装置へと転送される同期／非同期ペア状態となっている場合、
前記ログレス開始ログを前記第一のログ記憶装置に発行した後、前記未反映データを前記メモリから前記第一のＤＢ記憶装置へと書き出し、
前記未反映データが前記第一のログ記憶装置及び第二のログ記憶装置の両方に書かれた後、前記ＤＢペア状態を同期／非同期ペア状態から前記ペア解除状態にするためのスプリット命令を前記第一のストレージサブシステムに発行し、それにより、該ＤＢペア状態がペア解除状態とされ、
前記ＤＢペア状態を前記ペア解除状態にした後、前記ＤＢ更新処理を開始し、
前記ＤＢ更新処理の終了後、前記ＤＢペア状態のペア解除状態を解除するための前記ペア命令を前記第一のストレージサブシステムに発行し、
前記ペア解除状態の解除による前記差分の前記第二のＤＢ記憶装置への更新が終了した後、前記ログレス終了ログを前記第一のログ記憶装置に発行する、
請求項１２記載のデータベース管理システム。
【請求項１４】
前記ＤＢペア状態が前記ペア解除状態となっている場合、
前記ログレス開始ログを前記第一のログ記憶装置に発行した後に、前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出し、
前記ＤＢ更新処理の終了後、前記ＤＢペア状態のペア解除状態を解除するための前記ペア命令を前記第一のストレージサブシステムに発行し、
前記ペア解除状態の解除による前記差分の前記第二のＤＢ記憶装置への更新が終了した後、前記ログレス終了ログを前記第一のログ記憶装置に発行する、
請求項１２記載のデータベース管理システム。
【請求項１５】
前記ＤＢペア状態が前記ペア解除状態となっている場合、
前記ログレス開始ログを前記第一のログ記憶装置に発行した後に、前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出し、
前記ＤＢペア状態のペア解除状態を解除するための前記ペア命令を前記第一のストレージサブシステムに発行し、
前記ペア解除状態の解除による前記差分の前記第二のＤＢ記憶装置への更新が終了した後、前記ＤＢ更新処理を開始し、
前記ＤＢ更新処理の終了後、前記ＤＢペア状態を再び前記ペア解除状態とするために前記スプリット命令を前記第一のストレージサブシステムに発行し、前記ＤＢペア状態がペア解除状態とされた後、前記ログレス終了ログを前記第一のログ記憶装置に発行する、
請求項１２記載のデータベース管理システム。
【請求項１６】
ストレージシステムに備えられるデータベースを管理するデータベース管理方法であって、
前記ストレージシステムには、第一のストレージサブシステムと第二のストレージサブシステムとが備えられ、
前記第一のストレージサブシステムが、データベースを記憶することができる第一のＤＢ記憶装置と、前記データベースのログを記憶することができる第一のログ記憶装置と、各記憶装置のペア状態に従うコピーを制御する第一の記憶制御部とを備え、
前記第二のストレージサブシステムが、前記第一のＤＢ記憶装置とペアを構成することができる第二のＤＢ記憶装置と、前記第一のログ記憶装置とペアを構成することができる第二のログ記憶装置と、前記第一の記憶制御部と通信することができる第二の記憶制御部とを備え、
前記第一のストレージサブシステムが、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア状態であるＤＢペア状態がペア解除状態になっている場合に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とに差分が生じたならば該差分を管理し、該ペア解除状態が解除された場合に、前記第一の記憶制御部が、管理されている前記差分を前記第二の記憶制御部に送信することで、前記第二の記憶制御部に前記差分を前記第二のＤＢ記憶装置に更新させ、それにより、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分を無くすことができるように構成されており、
トランザクションの開始前に、前記第一のログ記憶装置と前記第二のログ記憶装置とのペア状態であるログペア状態が、前記第一のログ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のログ記憶装置へと転送される同期／非同期ペア状態となっており、それにより、前記第一のログ記憶装置にデータが書かれる場合、前記第一の記憶制御部が、該データを前記第二の記憶制御部に送信し、前記第二の記憶制御部が該データを前記第二のログ記憶装置に書くようになっており、
前記データベース管理方法が、
データベースのログの制御に関するモードであるログ制御モードとして、トランザクション中に前記データベースを更新しても少なくとも該データベースの更新履歴を含んだログを作成しないモードであるログレスモードと、前記ログレスモードとは別のモードとがあり、前記ログレスモードで一つのトランザクションを実行する場合、該トランザクションの開始の際に、前記ログレスモードの開始を表すログであるログレス開始ログを作成し前記第一のログ記憶装置に対して発行し、それにより、該ログレス開始ログが前記第一のログ記憶装置に書かかれ、
前記第一のＤＢ記憶装置のデータベースに複数のデータをそれぞれ発行するＤＢ更新処理を実行し、
開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除するためのペア命令を前記第一のストレージサブシステムに発行し、それにより、該ペア解除状態が解除され、
前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に発行し、それにより、該ログレス終了ログが前記第一のログ記憶装置に書かれる、
データベース管理方法。
【請求項１７】
ストレージシステムに備えられるデータベースを管理する計算機であって、
前記ストレージシステムには、第一のストレージサブシステムと第二のストレージサブシステムとが備えられ、
前記第一のストレージサブシステムが、データベースを記憶することができる第一のＤＢ記憶装置と、前記データベースのログを記憶することができる第一のログ記憶装置と、各記憶装置のペア状態に従うコピーを制御する第一の記憶制御部とを備え、
前記第二のストレージサブシステムが、前記第一のＤＢ記憶装置とペアを構成することができる第二のＤＢ記憶装置と、前記第一のログ記憶装置とペアを構成することができる第二のログ記憶装置と、前記第一の記憶制御部と通信することができる第二の記憶制御部とを備え、
前記第一のストレージサブシステムが、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア状態であるＤＢペア状態がペア解除状態になっている場合に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とに差分が生じたならば該差分を管理し、該ペア解除状態が解除された場合に、前記第一の記憶制御部が、管理されている前記差分を前記第二の記憶制御部に送信することで、前記第二の記憶制御部に前記差分を前記第二のＤＢ記憶装置に更新させ、それにより、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分を無くすことができるように構成されており、
トランザクションの開始前に、前記第一のログ記憶装置と前記第二のログ記憶装置とのペア状態であるログペア状態が、前記第一のログ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のログ記憶装置へと転送される同期／非同期ペア状態となっており、それにより、前記第一のログ記憶装置にデータが書かれる場合、前記第一の記憶制御部が、該データを前記第二の記憶制御部に送信し、前記第二の記憶制御部が該データを前記第二のログ記憶装置に書くようになっており、
前記計算機が、
データベースのログの制御に関するモードであるログ制御モードとして、トランザクション中に前記データベースを更新しても少なくとも該データベースの更新履歴を含んだログを作成しないモードであるログレスモードと、前記ログレスモードとは別のモードとがあり、前記ログレスモードで一つのトランザクションを実行する場合、該トランザクションの開始の際に、前記ログレスモードの開始を表すログであるログレス開始ログを作成し前記第一のログ記憶装置に対して発行するログレス開始ログ発行部と、
前記第一のＤＢ記憶装置のデータベースに複数のデータをそれぞれ発行するＤＢ更新処理を実行するＤＢ操作部と、
開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除するためのペア命令を前記第一のストレージサブシステムに発行するペア命令部と、
前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に発行するログレス終了ログ発行部と
を備えた計算機。
【請求項１８】
外部のストレージサブシステムと通信可能なストレージサブシステムであって、
データベースを記憶することができる第一のＤＢ記憶装置と、
前記データベースのログを記憶することができる第一のログ記憶装置と、
制御装置と
を備え、
前記外部のストレージサブシステムが、前記第一のＤＢ記憶装置とペアを構成することができる第二のＤＢ記憶装置と、前記第一のログ記憶装置とペアを構成することができる第二のログ記憶装置とを備え、
前記制御装置が、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア状態であるＤＢペア状態がペア解除状態になっている場合に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とに差分が生じたならば該差分を管理し、該ペア解除状態が解除された場合に、前記第一の記憶制御部が、管理されている前記差分を前記第二の記憶制御部に送信することで、前記第二の記憶制御部に前記差分を前記第二のＤＢ記憶装置に更新させ、それにより、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分を無くすことができるように構成されており、
トランザクションの開始前に、前記第一のログ記憶装置と前記第二のログ記憶装置とのペア状態であるログペア状態が、前記第一のログ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のログ記憶装置へと転送される同期／非同期ペア状態となっており、それにより、前記第一のログ記憶装置にデータが書かれる場合、前記制御装置が、該データを前記第二のログ記憶装置に書くよう前記外部のストレージサブシステムに送信し、
前記制御装置が、
データベースのログの制御に関するモードであるログ制御モードとして、トランザクション中に前記データベースを更新しても少なくとも該データベースの更新履歴を含んだログを作成しないモードであるログレスモードと、前記ログレスモードとは別のモードとがあり、前記ログレスモードで一つのトランザクションを実行する場合、該トランザクションの開始の際に、前記ログレスモードの開始を表すログであるログレス開始ログを作成し前記第一のログ記憶装置に書き、
前記第一のＤＢ記憶装置のデータベースに複数のデータをそれぞれ発行するＤＢ更新処理を実行し、
開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除し、
前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に書く、
ストレージサブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースを有するストレージシステムでの記憶制御に関する。
【背景技術】
【０００２】
例えば、データベース（以下、ＤＢ）を格納したストレージシステムでは、障害に備えるために、いわゆるディザスタリカバリという手法が採用されることがある。これは、あるサイトのデータを地理的に離れた他のサイトに複製として格納しておき、あるサイトが災害等により障害にあった場合、他のサイトで業務を復旧させるというものである。
【０００３】
サイト間では、同期型のリモートコピー或いは非同期型のリモートコピーが行われる。同期型のリモートコピーでは、或るサイトでのデータの更新と同期で、そのデータが他のサイトに転送される。非同期型リモートコピーでは、或るサイトでのデータの更新と非同期で、そのデータが他のサイトに転送される。
【０００４】
米国特許第５６４０５６１号公報の開示によれば、非同期型リモートコピーについて、データ書き込みの順序性を正サイト（メインサイトと呼んでも良い）と副サイト（リモートサイトと呼んでも良い）で一致することを保証する方式と保証しない方式がある。トランザクションの途中の状態が残りデータベースの一貫性が保証できないことを避けるためにはこのデータ書き込みの順序性を保証する必要がある。この順序性保証は複数のディスクの組に対しても有効にするよう構成することができる。米国特許第５６４０５６１号公報には、ログ（ジャーナル）用ディスクとＤＢ用ディスクの組に対して順序性を保証するような技術が開示されている。
【０００５】
ＤＢを格納したストレージシステムでは、データそのものを格納するＤＢ用ディスクと、ＤＢ更新履歴情報を時系列に格納したログ用ディスクとを用意することができる。災害等の発生により正サイトにおけるホスト計算機がダウンすると、ＤＢ用ディスク内のデータは中途半端な更新状態となることがあるが、ホスト計算機内のＤＢＭＳ（データベース管理システム）のリスタート時にログ用ディスク内のＤＢ更新履歴情報を元に一貫性の取れた状態に回復している（このような技術は非特許文献１に開示されている）。すなわち、ホスト計算機のダウン時に、完了済みのトランザクションの更新データについてはＤＢ用ディスクに反映させ（ロールフォワード）、サーバダウン時に未完了だったトランザクションの更新データについては無効化（ロールバック）している。
【０００６】
【特許文献１】米国特許第５６４０５６１号公報
【非特許文献１】Jim Gray,Andreas Reuter著「TRANSCATION PROCESSING;Concepts and Techniques」、MORGAN KAUFMANN PUBLISHERS発行
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＤＢＭＳは、作成するログに、トランザクションに関わるステータス（以下、トランザクションステータス、例えば、開始或いはコミット）の他に、ＤＢに対する更新履歴（以下、ＤＢ更新履歴、例えば、どこのブロックに何を書いたか）等を含める。これにより、正サイトがダウンしても、副サイトで、正サイトから副サイトへとコピーされたログのＤＢ更新履歴を用いてＤＢを回復することができる。
【０００８】
ところで、或る時間内にＤＢの更新回数が或る回数よりも多い処理（以下、多数更新処理）が行われることがある。多数更新処理の代表的な例として、バッチ処理を挙げることができる。
【０００９】
バッチ処理のような多数更新処理で、トランザクションステータス及びＤＢ更新履歴の両方を含んだログを、ＤＢの更新の都度に作成するようにすると、多数更新処理の速度が遅くなってしまう。
【００１０】
そこで、それを緩和するための方法として、作成するログに少なくともＤＢ更新履歴を含めないようにする方法を採用することが考えられる。
【００１１】
しかし、単純にその方法を採用すると、ログにはＤＢ更新履歴が含まれていないため、ログを用いたＤＢの回復はできない。
【００１２】
従って、本発明の目的は、ＤＢ更新履歴を含んだログを作成しないようにしてもデータベースの回復が行えるようにすることにある。
【課題を解決するための手段】
【００１３】
例えば、ストレージシステムには、第一のストレージサブシステムと第二のストレージサブシステムとが備えられる。前記第一のストレージサブシステムが、データベースを記憶することができる第一のＤＢ記憶装置と、前記データベースのログを記憶することができる第一のログ記憶装置とを備える。前記第二のストレージサブシステムが、前記第一のＤＢ記憶装置とペアを構成することができる第二のＤＢ記憶装置と、前記第一のログ記憶装置とペアを構成することができる第二のログ記憶装置とを備える。
【００１４】
前記第一のストレージサブシステムが、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア状態であるＤＢペア状態がペア解除状態になっている場合に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とに差分が生じたならば該差分を管理し、該ペア解除状態が解除された場合に、管理されている前記差分を前記第二のストレージサブスシステムに送信することで、前記第二のＤＢ記憶装置に該差分を更新させ、それにより、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分を無くすことができるように構成されている。
【００１５】
上記の構成において、本発明に従う記憶制御方法は、データベースのログの制御に関するモードであるログ制御モードとして、トランザクション中に前記データベースを更新しても少なくとも該データベースの更新履歴を含んだログを作成しないモードであるログレスモードと、前記ログレスモードとは別のモードとがあり、前記ログレスモードで一つのトランザクションを実行する場合、該トランザクションの開始の際に、前記ログレスモードの開始を表すログであるログレス開始ログを作成し前記第一のログ記憶装置に発行することで、該ログレス開始ログを前記第一のログ記憶装置に書く。前記第一のログ記憶装置に書かれる前記ログレス開始ログを前記第一のストレージサブシステムから前記第二のストレージサブシステムに送信することにより、該ログレス開始ログを前記第二のログ記憶装置に書く。前記第一のＤＢ記憶装置のデータベースに複数のデータをそれぞれ発行することで該データベースを複数回更新するＤＢ更新処理を実行する。開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除する。前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に書く。前記第一のログ記憶装置に書かれる前記ログレス終了ログを前記第一のストレージサブシステムから前記第二のストレージサブシステムに送信することにより、該ログレス終了ログを前記第二のログ記憶装置に書く。
【００１６】
各記憶装置は、物理的な記憶装置（例えばハードディスクドライブなどの、記憶メディアを搭載可能なメディアドライブ）であっても良いし、物理的な記憶装置が有する記憶領域を用いて設定された論理的な記憶装置（例えば論理ボリューム）であっても良い。
【００１７】
第一の実施態様では、前記第一のストレージサブシステムを含む第一のシステムに、前記データベースを管理するデータベース管理部と、各記憶装置のペア状態に従うコピーを制御する第一の記憶制御部とが備えられてもよい。前記第二のストレージサブシステムに、前記第一の記憶制御部と通信することができる第二の記憶制御部が備えられてもよい。前記データベース管理部及び前記第一の記憶制御部のうちの少なくとも前記第一の記憶制御部が、前記第一のストレージサブシステムに備えられてもよい。前記ログレスモードでのトランザクションの開始前に、前記第一のログ記憶装置と前記第二のログ記憶装置とのペア状態であるログペア状態が、前記第一のログ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のログ記憶装置へと転送される同期／非同期ペア状態となっていてもよい。前記データベース管理部が、前記ログレス開始ログを作成して前記第一のログ記憶装置に書くことができる。前記第一の記憶制御部が、前記ログペア状態が同期／非同期ペア状態になっているために、前記第一のログ記憶装置に書かれる前記ログレス開始ログを前記第二の記憶制御部に送信し、前記第二の記憶制御部が、前記第一の記憶制御部からのログレス開始ログを前記第二のログ記憶装置に書くことができる。前記データベース管理部が、前記ＤＢ更新処理を実行することができる。開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記データベース管理部が、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除することができる。前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記データベース管理部が、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に書くことができる。前記第一の記憶制御部が、前記ログペア状態が同期／非同期ペア状態になっているために、前記第一のログ記憶装置に書かれる前記ログレス終了ログを前記第二の記憶制御部に送信し、前記第二の記憶制御部が、前記第一の記憶制御部からの前記ログレス終了ログを前記第二のログ記憶装置に書くことができる。
【００１８】
第二の実施態様では、前記ログレスモードでのトランザクションの開始から終了までの間、少なくとも前記ログレス開始ログと前記ログレス終了ログが、前記第一のストレージサブシステムの所定の領域（例えば第一のログ記憶装置）への書込みと同期で前記第二のログ記憶装置へと転送されてもよい。
【００１９】
第三の実施態様では、前記データベースに書くデータをメモリに一時記憶し、該メモリに記憶したデータを前記第一のＤＢ記憶装置に書くことで前記データベースを更新するようになっている場合に、前記ログレス開始ログを前記第一のログ記憶装置に発行した後、前記ＤＢ更新処理の開始前に、前記データベースに書かれていないデータである未反映データを前記メモリから前記第一のＤＢ記憶装置へと書き出し、該書き出しが完了した後に、前記ＤＢ更新処理を開始することができる。
【００２０】
第四の実施態様では、前記ＤＢペア状態が、前記第一のＤＢ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のＤＢ記憶装置へと転送される同期／非同期ペア状態となっている場合、前記ログレス開始ログを前記第一のログ記憶装置に書くことができる。前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出し、それにより、前記第一のＤＢ記憶装置に書かれる前記未反映データを、前記第一のストレージサブシステムから前記第二のストレージサブシステムに送信し、前記第二のログ記憶装置に書くことができる。前記未反映データが前記第一のログ記憶装置及び第二のログ記憶装置の両方に書かれた後、前記ＤＢペア状態を同期／非同期ペア状態から前記ペア解除状態にすることができる。前記ＤＢペア状態を前記ペア解除状態にした後、前記ＤＢ更新処理を開始することができる。前記ＤＢ更新処理の終了後、前記ＤＢペア状態のペア解除状態を解除することができる。前記ペア解除状態の解除による前記差分の前記第二のＤＢ記憶装置への更新が終了した後、前記ログレス終了ログを前記第一のログ記憶装置に書くことができる。
【００２１】
第五の実施態様では、前記ＤＢペア状態が前記ペア解除状態となっている場合、前記ログレス開始ログを前記第一のログ記憶装置に書くことができる。前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出すことができる。前記ＤＢ更新処理を開始する前までに、前記第二のログ記憶装置にログレス開始ログよりも前に書かれたログを用いて、前記第二のＤＢ記憶装置のデータベースを更新し、且つ、該更新後の第二のＤＢ記憶装置のバックアップを前記第二のストレージサブシステムに取得することができる。前記ＤＢ更新処理の終了後、前記ＤＢペア状態のペア解除状態を解除することができる。前記ペア解除状態の解除による前記差分の前記第二のＤＢ記憶装置への更新が終了した後、前記ログレス終了ログを前記第一のログ記憶装置に書くことができる。
【００２２】
第六の実施態様では、前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出した後、前記ＤＢ更新処理の開始前までに、前記未反映データが反映された前記第一のＤＢ記憶装置のバックアップを前記第一のストレージサブシステムに取得することができる。
【００２３】
第七の実施態様では、前記ＤＢペア状態が前記ペア解除状態となっている場合、前記ログレス開始ログを前記第一のログ記憶装置に書くことができる。前記未反映データを前記メモリから前記第一のＤＢ記憶装置に書き出すことができる。前記ＤＢペア状態のペア解除状態を解除することができる。前記ペア解除状態の解除による前記差分の前記第二のＤＢ記憶装置への更新が終了した後、前記ＤＢ更新処理を開始することができる。前記ＤＢ更新処理の終了後、前記ＤＢペア状態を再び前記ペア解除状態とし、その後、前記ログレス終了ログを前記第一のログ記憶装置に書くことができる。
【００２４】
第八の実施態様では、前記ＤＢ更新処理の終了後、前記ＤＢペア状態を再び前記ペア解除状態とした後、前記第二のストレージサブシステムが前記第一のストレージサブシステムに対してログレスモードの解除の要求を行い、前記第一のストレージサブシステムが、該要求に従って、前記ログレス終了ログを前記第一のログ記憶装置に書くことができる。
【００２５】
第九の実施態様では、前記第一のＤＢ記憶装置がダウンした場合、前記第一のログ記憶装置又は前記第二のログ記憶装置に、前記ログレス開始ログが記憶されているが前記ログレス終了ログが記憶されていなければ、前記ログレスモードに対応した回復処理を実行することで、前記第一のＤＢ記憶装置に記憶されていた、前記ダウンの時点になるべく近いデータベースを回復することができる。
【００２６】
本発明に従うデータ管理システム又は方法は、データベースのログの制御に関するモードであるログ制御モードとして、トランザクション中に前記データベースを更新しても少なくとも該データベースの更新履歴を含んだログを作成しないモードであるログレスモードと、前記ログレスモードとは別のモードとがあり、前記ログレスモードで一つのトランザクションを実行する場合、該トランザクションの開始の際に、前記ログレスモードの開始を表すログであるログレス開始ログを作成し前記第一のログ記憶装置に対して発行することができる。また、前記第一のＤＢ記憶装置のデータベースに複数のデータをそれぞれ発行するＤＢ更新処理を実行することができる。また、開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除するためのペア命令を前記第一のストレージサブシステムに発行することができる。また、前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に発行することができる。
【００２７】
本発明に従う計算機は、ログレス開始ログ発行部、ＤＢ操作部、ペア命令部及びログレス終了ログ発行部を備えることができる。ログレス開始ログ発行部は、データベースのログの制御に関するモードであるログ制御モードとして、トランザクション中に前記データベースを更新しても少なくとも該データベースの更新履歴を含んだログを作成しないモードであるログレスモードと、前記ログレスモードとは別のモードとがあり、前記ログレスモードで一つのトランザクションを実行する場合、該トランザクションの開始の際に、前記ログレスモードの開始を表すログであるログレス開始ログを作成し前記第一のログ記憶装置に対して発行することができる。ＤＢ操作部は、前記第一のＤＢ記憶装置のデータベースに複数のデータをそれぞれ発行するＤＢ更新処理を実行することができる。ペア命令部は、開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除するためのペア命令を前記第一のストレージサブシステムに発行することができる。ログレス終了ログ発行部は、前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に発行することができる。
【００２８】
本発明に従うストレージサブシステムは、上述した第一のＤＢ記憶装置及び第一のログ記憶装置と、制御装置とを備える。外部のストレージサブシステムが、前記第一のＤＢ記憶装置とペアを構成することができる第二のＤＢ記憶装置と、前記第一のログ記憶装置とペアを構成することができる第二のログ記憶装置とを備える。この場合、前記制御装置が、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア状態であるＤＢペア状態がペア解除状態になっている場合に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とに差分が生じたならば該差分を管理し、該ペア解除状態が解除された場合に、前記第一の記憶制御部が、管理されている前記差分を前記第二の記憶制御部に送信することで、前記第二の記憶制御部に前記差分を前記第二のＤＢ記憶装置に更新させ、それにより、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分を無くすことができるように構成されている。また、トランザクションの開始前に、前記第一のログ記憶装置と前記第二のログ記憶装置とのペア状態であるログペア状態が、前記第一のログ記憶装置に書かれるデータが、前記第一のストレージサブシステムの所定の領域への書込みと同期又は非同期で前記第二のログ記憶装置へと転送される同期／非同期ペア状態となっており、それにより、前記第一のログ記憶装置にデータが書かれる場合、前記制御装置が、該データを前記第二のログ記憶装置に書くよう前記外部のストレージサブシステムに送信するようになっている。前記制御装置は、データベースのログの制御に関するモードであるログ制御モードとして、トランザクション中に前記データベースを更新しても少なくとも該データベースの更新履歴を含んだログを作成しないモードであるログレスモードと、前記ログレスモードとは別のモードとがあり、前記ログレスモードで一つのトランザクションを実行する場合、該トランザクションの開始の際に、前記ログレスモードの開始を表すログであるログレス開始ログを作成し前記第一のログ記憶装置に書くことができる。また、前記第一のＤＢ記憶装置のデータベースに複数のデータをそれぞれ発行するＤＢ更新処理を実行することができる。また、開始されたトランザクションの実行中において、前記ＤＢ更新処理の開始前又は終了後に、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置とのペア解除状態を解除することができる。また、前記ＤＢ更新処理の終了後、前記第一のＤＢ記憶装置と前記第二のＤＢ記憶装置との差分が無くなっている場合に、前記ログレスモードの終了を表すログであるログレス終了ログを作成し、該ログレス終了ログを前記第一のログ記憶装置に書くことができる。
【００２９】
上述した記憶制御方法、データベース管理システム又は方法、計算機、又はストレージサブシステムで行われる処理は、所定の各部によって実行することができる。各部は各手段と言い換えることができる。各部或いは各手段は、ハードウェア（例えば回路）、コンピュータプログラム、或いはそれらの組み合わせ（例えば、コンピュータプログラムを読み込んで実行する一又は複数のＣＰＵ）によって実現することもできる。各コンピュータプログラムは、コンピュータマシンに備えられる記憶資源（例えばメモリ）から読み込むことができる。その記憶資源には、ＣＤ−ＲＯＭやＤＶＤ（Digital Versatile Disk）等の記録媒体を介してインストールすることもできるし、インターネットやＬＡＮ等の通信ネットワークを介してダウンロードすることもできる。上述したデータベース管理システムは、コンピュータプログラムとすることができる。また、上述したデータベース管理システムは、ストレージサブシステムに搭載することもできるし、ストレージサブシステムを制御するホスト計算機に搭載することもできる。
【発明の効果】
【００３０】
本発明によれば、ＤＢ更新履歴を含んだログを作成しないようにしてもデータベースの回復が行うことができる。
【発明を実施するための最良の形態】
【００３１】
図１は、本発明の一実施形態のシステム全体の構成例を示す。
【００３２】
例えば、正サイト３０Ａと、正サイト３０Ａから地理的に離れた副サイト３０Ｂとがある。クライアント１が、第一の通信ネットワーク１０を介して、正サイト３０Ａ内の後述の正サーバ１１Ａ、又は、副サイト３０Ｂ内の後述の副サーバ１１Ｂにアクセスすることができる。クライアント１は、一種の計算機であり、例えば、ＣＰＵ３や、記憶資源５や、第一通信ネットワーク１０に接続することができるポート９を備えることができる。記憶資源５は、例えば、メモリ及び／又は補助記憶装置（例えばハードディスクドライブ（以下、ＨＤＤ））である。記憶資源５は、データや複数種類のコンピュータプログラム、例えば、バッチ業務を実行するためのコンピュータプログラム（以下、バッチ業務プログラム）７を記憶することができる。ＣＰＵ３は、バッチ業務プログラムを読み込んで実行することができる。以下、ＣＰＵがコンピュータプログラムを読み込んで実行することにより行われる処理の主体を、説明を分かりやすくするために、ＣＰＵではなくコンピュータプログラムとする場合がある。
【００３３】
正サイト３０Ａと副サイト３０Ｂは同様の構成にすることができる。以下、各サイト内の同種の要素には、親番号と子符号のセットを付し、正サイト３０Ａ内の要素には、子符号としてＡを付し、副サイト３０Ｂ内の要素には、子符号としてＢを付す。以下、正サイト３０Ａと副サイト３０Ｂについて、正サイト３０Ａを代表的に例に採り説明する。
【００３４】
正サイト３０Ａには、正サーバ１１Ａと正ストレージサブシステム３１Ａが備えられる。正サーバ１１Ａは、第二通信ネットワーク２０Ａを介して正ストレージサブシステム３１Ａにアクセスすることができる。
【００３５】
正サーバ１１Ａは、ホスト計算機の一種であり、例えば、ＣＰＵ１３Ａや、記憶資源１５Ａや、第一通信ネットワーク１０に接続することができるポート１８Ａや、第二通信ネットワーク２０Ａに接続することができるポート１９Ａを備えることができる。記憶資源１５Ａは、例えば、メモリ及び／又は補助記憶装置（例えばＨＤＤ）である。記憶資源１５Ａは、データや複数種類のコンピュータプログラム、例えば、データベース管理システム（以下、ＤＢＭＳ）１７Ａを記憶することができる。ＣＰＵ１３Ａは、ＤＢＭＳ１７Ａを読み込んで実行することができる。
【００３６】
正ストレージサブシステム３１Ａは、複数のディスク装置（例えばＨＤＤ、他種の物理的な記憶装置であっても良い）３７Ａと、ディスク装置へのアクセスを制御する制御装置３４Ａとを備える。制御装置３４Ａは、例えば、第二通信ネットワーク２０Ａに接続することができるポート３２Ａと、第三通信ネットワーク４０に接続することができるポート３８Ａと、ディスク装置３７Ａに接続することができるポート３６Ａと、ＣＰＵ３３Ａと、メモリ３５Ａとを備える。制御装置３４Ａは、ポート３８Ａから第三通信ネットワーク４０を介して、副サイト３０Ｂの副ストレージサブシステム３１Ｂにアクセスすることができる。副ストレージサブシステム３１Ｂは、副サーバ１１Ｂと第二通信ネットワーク２０Ｂを介して通信することができる。
【００３７】
上記の構成において、第一通信ネットワーク１０、第二通信ネットワーク２０Ａ、２０Ｂ及び第三通信ネットワーク４０のうちの少なくとも二つが一つのネットワークであっても良い。また、クライアント１、サーバ１１Ａ、１１Ｂ、ストレージサブシステム３１Ａ及び３１Ｂの少なくとも一つが、一つの装置に仮想的に生成されたもの（つまりいわゆる仮想コンピュータ）であっても良い。また、制御装置３４Ａ、３４Ｂの上述した構成は一例であり、他の構成を採用することもできる。例えば、制御装置３４Ａ及び３４Ｂの少なくとも一方が、上記の構成に代えて、外部の装置（例えばサーバ或いは自分以外のストレージサブシステム）との通信を制御する複数の第一の制御部（例えば制御回路基板）と、ディスク装置との通信を制御する複数の第二の制御部（例えば制御回路基板）と、外部の装置とディスク装置との間で授受されるデータを記憶することができるキャッシュメモリと、ストレージサブシステムを制御するためのデータを記憶することができる制御メモリと（キャッシュメモリと制御メモリとは別々のメモリでなくても良い）、各第一の制御部、各第二の制御部、キャッシュメモリ及び制御メモリを接続する接続部（例えば、クロスバスイッチなどのスイッチ）とを備えることができる。この場合、第一の制御部と第二の制御部の一方が、又は双方が協働して、制御装置３４Ａ或いは３４Ｂとしての処理を行うことができる。また、正サーバ１１Ａと正ストレージサブシステム３１Ａが一体的になっていてもよい（具体的には、例えば、正サーバ１１Ａの機能（例えばＤＢＭＳ１７Ａ）が正ストレージサブシステム３１Ａに備えられても良い）。同様に、副サーバ１１Ｂと副ストレージサブシステム３１Ｂが一体的になっていてもよい。
【００３８】
図２は、本実施形態に係るストレージシステムの構成例を示す。前述した通り、正サイト３０Ａも副サイト３０Ｂも実質的に同じ構成とすることができるので、以下、正サイト３０Ａについて主に説明する。
【００３９】
ＤＢＭＳ１７Ａは、ＤＢアクセス制御部１１１と、チェックポイント処理部１１２Ａと、ログ管理部１１３と、ＤＢ遅延書き込み処理部１１４とを有している。正サーバ１１Ａの記憶資源１５Ａ（例えばメモリ）では、ＤＢバッファ２１１Ａとログバッファ２１２Ａが用意される。また、記憶資源１５Ａには、ＤＢ−ディスクマッピングテーブル２１３Ａが記憶される。
【００４０】
ＤＢアクセス制御部１１１Ａは、ＤＢバッファ２１１Ａを介して正ＤＢＶＯＬ５１Ａにデータを格納（つまりＤＢを更新）したり、ログバッファ２１２Ａを介して正ログＶＯＬ５５Ａにログを格納したりすることを制御する。チェックポイント処理部１１２Ａは、ＤＢバッファ２１１Ａに記憶されているデータを正ストレージサブシステム３１Ａに反映させる必要が生じた場合に、ＤＢバッファ２１１Ａで更新された全ＤＢブロック及びその時点で最新のログレコードの正ログＶＯＬ５５Ａとその位置を示すステータス情報の書き込み要求を、正ストレージサブシステム３１Ａへ送信する。
【００４１】
チェックポイント時にトランザクションが完結していないものもあるため、このステータス情報は最新のログレコードの位置以外にも、未完了トランザクションに関連する最も古いログレコードの位置を示す場合がある。また、ステータス情報がディスク上で更新されるのが遅延している場合もある。どちらの場合にも、このステータス情報は、ＤＢＭＳ１７Ａがリスタートする際に参照を開始するログの位置を示す情報として利用することができる。
【００４２】
ログ管理部１１３は、ＤＢバッファ２１１Ａに対して行われたＤＢ処理の内容を示すログ情報であるログブロックの書き込み要求を正ストレージサブシステム３１Ａへ送信する。ＤＢ遅延書き込み処理部１１４は、ＤＢバッファ２１１Ａ上のデータの書き込み要求を正ストレージサブシステム３１Ａへ送信する。
【００４３】
制御装置３４ＡのＣＰＵ３３Ａに読み込まれて実行されるコンピュータプログラムとしては、ディスク制御プログラム３１５Ａと、ディスクアクセス制御部３１３Ａとがある。ディスク制御プログラム３１５Ａは、コマンド処理部３２１Ａと、正リモートコピー処理部３１７Ａとがある。ディスク制御プログラム３１５Ａは、正リモートコピー管理テーブル３１９Ａをメモリ３５Ａから取得することができる。また、正ストレージサブシステム３１Ａには、複数のディスク装置３７Ａが有する物理的な記憶資源を利用して複数の論理ボリューム（以下、ＶＯＬ）を設定することができる。複数のＶＯＬには、例えば、ＤＢが格納されるＶＯＬ（以下、正ＤＢＶＯＬ）５１Ａと、ステータス情報が格納されるＶＯＬ（以下、正ステータスＶＯＬ）５３Ａと、ログが格納されるＶＯＬ（以下、正ログＶＯＬ）５５Ａとが備えられる。本実施形態では、ＶＯＬペアのコピー元となるＶＯＬを正ＶＯＬとし、コピー先となるＶＯＬを副ＶＯＬとしている。ＶＯＬの属性（正と副）を反転させれば、コピー元とコピー先を逆にすることができ、故に、副ＶＯＬから正ＶＯＬへのコピーも行うことができる。また、ＶＯＬ間のデータコピーでは、正ＶＯＬからデータが読み出されて副ＶＯＬへとコピーされても良いし、正ＶＯＬに書かれるデータであってキャッシュメモリ３１１Ａに残されているデータが副ＶＯＬへとコピーされても良い。
【００４４】
ディスク制御プログラム３１５Ａは、正ストレージサブシステム装置全体の動作を制御することができる。コマンド処理部３２１Ａは、ＤＢブロック（ＤＢに含められるデータブロック）、前述したステータス情報、又はログブロック（ログを構成するデータブロック）の書き込み要求を正サーバ１１Ａから受信し、その受信した書き込み要求の内容に従って、正ＤＢＶＯＬ５１Ａ、正ステータＶＯＬ５３Ａ及び正ログＶＯＬ５５Ａ、またはそれらの内容を格納したキャッシュメモリ３１１Ａ（メモリ３５Ａの一部）の更新を行うことができる。
【００４５】
正リモートコピー処理部３１７Ａは、正リモートコピー管理テーブル３１９Ａを参照し、その構成情報により同期もしくは非同期のリモートコピーを行うことができる。本実施形態では、受信した書き込み要求がログブロックの書き込み要求である場合に、副ストレージサブシステム３１Ｂへのログブロックの同期型リモートコピーを行うことができる。一方、受信した書き込み要求がＤＢブロック（又はステータス情報）の書き込み要求である場合に、その書き込み要求を一時的にメモリ３５Ａに蓄積し、副ストレージサブシステム３１Ｂへの非同期型リモートコピーを行うことができる。
【００４６】
ディスクアクセス制御部２３は、各ディスク装置３７Ａへのアクセスを制御することができる。
【００４７】
正ストレージサブシステム３１Ａでは、正サーバ１１Ａからの命令を受けて動作するディスク制御プログラム３１５Ａと、キャッシュメモリ３１１Ａと、ディスクアクセス制御部３１３Ａとを通して、ディスク装置３７Ａ上の各ＶＯＬへのアクセスが行われており、ディスクアクセスは常にキャッシュメモリ２２を介して行われることになる。キャッシュメモリ２２は、不揮発性メモリとして構成されても良い。この場合キャッシュメモリ２２にデータが格納された時点でそのデータは保証される。
【００４８】
ＤＢアクセス制御部１１１Ａは、トランザクションにより正ＤＢＶＯＬ５１Ａへのアクセスが要求されると、リードコマンドにより、正ストレージサブシステム３１ＡからＤＢブロックを取得してＤＢバッファ２１１Ａへ格納し、ＤＢバッファ２１１Ａ上のＤＢブロックに対してデータベース処理を行った後、その処理内容を示すログ情報をログバッファ２１２Ａのログブロックに格納することができる。
【００４９】
チェックポイント処理部１１２Ａは、ＤＢバッファ２１１Ａ上のレコードが更新されたことを示すログレコードが所定件数に達する等、正サーバ１１ＡのＤＢバッファ２１１Ａの内容を正ストレージサブシステム３１Ａ内のディスク装置へ反映させる必要が生じた場合に、ＤＢバッファ２１１Ａで更新された全ＤＢブロック及びその時点で最新のログレコードの位置を示すステータス情報の書き込み要求として、ＤＢブロックやステータス情報の書き込みを行う為のライトコマンドを生成して正ストレージサブシステム３１Ａへ送信することができる。
【００５０】
ログ管理部１１３Ａは、トランザクションのコミット時、ログ情報の記録が開始されてから所定の時間が経過するかログバッファ２１２Ａの空きが無くなる等の所定条件に達した場合に、ログバッファ２１２Ａに格納されているログブロックの正ログＶＯＬ５５Ａへの書き込み要求として、ログブロックの書き込みを行う為のライトコマンドを生成して正ストレージサブシステム３１Ａに送信することができる。
【００５１】
ＤＢ遅延書き込み処理部１１４Ａは、データベース処理が開始されてから所定の時間が経過するかＤＢバッファ２１１Ａの空きが無くなる等の所定条件に達した場合に、ＤＢバッファ２１１Ａ上のＤＢブロックの正ＤＢＶＯＬ５１Ａへの書き込み要求として、ＤＢブロックの書き込みを行う為のライトコマンドを生成して正ストレージサブシステム３１Ａへ送信することができる。
【００５２】
本実施形態では、前述した通り、ログブロックは、同期型のリモートコピーがされる。具体的には、例えば、正サーバ１１Ａからログブロックの書き込みを要求が送信されると、正ストレージサブシステム３１Ａは、その書き込み要求と共に送信されたログブロックをキャッシュメモリ３１１Ａに書き込み、副ストレージサブシステム３１Ｂに、そのログブロックの書き込み要求（以下、リモートコピー要求）を送信し、その完了を待つ。副ストレージサブシステム３１Ｂは、そのリモートコピー要求と共に送信されたログブロックをキャッシュメモリ３１１Ｂに書き込んだ後、その書き込みが完了したことを示すリモートコピー完了通知を生成して正ストレージサブシステム３１Ａへ送信する。正ストレージサブシステム３１Ａは、副ストレージサブシステム３１Ｂからリモートコピー完了通知を受信すると、ログブロックの書き込みが完了したことを示す完了通知を生成して正サーバ１７Ａへ送信する。
【００５３】
一方、本実施形態では、前述した通り、ＤＢブロック（或いはステータス情報）は、非同期型のリモートコピーがされる。具体的には、例えば、正サーバ１１ＡからＤＢブロックの書き込み要求が送信されると、正ストレージサブシステム３１Ａは、その書き込み要求と共に送信されたＤＢブロックをキャッシュメモリ３１１Ａに書き込み、そのＤＢブロックの書き込みが完了したことを示す完了通知を生成して正サーバ１１Ａへ送信する。その後、正ストレージサブシステム３１Ａは、キャッシュメモリ３１１Ａ上のＤＢブロックのリモートコピー要求を副ストレージサブシステム３１Ｂへ送信して、その完了を待つ。副ストレージサブシステム３１Ｂは、そのリモートコピー要求と共に送信されたＤＢブロックを受信した後、その要求が完了したことを示すリモートコピー完了通知を生成して正ストレージサブシステム３１Ａへ送信する。
【００５４】
さて、以下、前述したＤＢ−ディスクマッピングテーブル２１３Ａや正リモートコピー管理テーブル３１９Ａについて説明する。
【００５５】
図３Ａは、ＤＢ−ディスクマッピングテーブル２１３Ａの構成例を示す。
【００５６】
ＤＢ−ディスクマッピングテーブル２１３Ａには、例えば、ＤＢ領域を識別する為の情報であるデータベース領域ＩＤと、そのデータベース領域ＩＤで識別されるＤＢ領域が複数のファイルで構成される場合のファイルの番号を示すファイルＩＤと、そのＤＢ領域中のデータがＤＢデータ（ＤＢ）、ログ情報（ログ）またはステータス情報（ステータス）のいずれであるかを示す種別とが記録される。また、例えば、そのＤＢ領域にアクセスする制御装置３４Ａを識別する為のＩＤ（正制御装置ＩＤ）と、そのＤＢ領域を有するＶＯＬのＩＤ（正物理デバイスＩＤ）と、そのＤＢ領域に対応付けられている制御装置３４ＢのＩＤ（副制御装置ＩＤ）と、そのＤＢ領域を有したＶＯＬとペアを構成することができる副ＶＯＬのＩＤ（副物理デバイスＩＤ）も記録される。
【００５７】
図３Ｂは、正リモートコピー管理テーブル３１９Ａの構成例を示す。
【００５８】
正リモートコピー管理テーブル３１９Ａには、例えば、各ＶＯＬペア毎に、書き込み処理が同期または非同期のいずれで行われるかを示すコピーモードと、そのコピーモードで書き込み処理が行われる正と副の制御装置のＩＤと、ＶＯＬペアを構成する正ＶＯＬのＩＤ（ＬＵＮ）と副ＶＯＬのＩＤとが記録される。更に、各ＶＯＬペア毎に、ペア状態を記録することもできる。ペア状態としては、例えば、同期／非同期ペア状態（正ＶＯＬに書かれるデータが同期又は非同期で副ＶＯＬにコピーされることにより、正ＶＯＬ内のデータ群と副ＶＯＬ内のデータ群とを同じにできるような状態）、ペア解除状態（正ＶＯＬが更新されても副ＶＯＬにデータが更新されず、正ＶＯＬと副ＶＯＬとの差分が正ストレージサブシステム３１Ａで管理される状態）がある。
【００５９】
ＤＢ−ディスクマッピングテーブル２１３Ａと正リモートコピー管理テーブル３１９Ａの情報により、ログブロック、ＤＢブロック及びステータス情報がそれぞれ同期または非同期のどちらで副ストレージサブシステム３１Ｂへ書き込まれるかがわかる。例えば、データベース領域ＩＤ「LOG1」のログブロックは、図３Ａより、正制御装置ＩＤが「CTL#A1」で正物理デバイスＩＤが「VOL12-A」のＶＯＬに書き込まれるが、図３Ｂより、正制御装置ＩＤ「CTL#A1」で正ＶＯＬＩＤ「VOL12-A」のＶＯＬのコピーモードは「同期」であるので、データベース領域ＩＤ「LOG1」のログブロックは、同期型リモートコピーにより副ストレージサブシステム３１Ｂへ書き込まれる。
【００６０】
本実施形態では、複数種類のコピー方式、例えば、以下の二種類のコピー方式を採用することができる。複数種類のコピー方式は、自動或いは手動で、選択することができる。
【００６１】
第一種のコピー方式は、図４Ａに例示するように、正ログＶＯＬ５５Ａにログブロックが書かれた場合に、そのログブロックを同期型リモートコピーで、ペア相手の副ログＶＯＬ５５Ｂに書き、正ＤＢＶＯＬ５１ＡにＤＢブロックが書かれた場合に、そのＤＢブロックを非同期型リモートコピーで、ペア相手の副ＤＢＶＯＬ５１Ｂに書く方式である。このコピー方式は、例えば、特願２００３−９６７２５号の明細書及び図面に記載の技術を援用することができる。
【００６２】
第二種のコピー方式は、図４Ｂに例示するように、正ログＶＯＬ５５Ａにログブロックが書かれた場合に、そのログブロックを同期型リモートコピーで、ペア相手の副ログＶＯＬ５５Ｂに書くが、正ＤＢＶＯＬ５１ＡにＤＢブロックが書かれた場合には、原則、そのＤＢブロックをペア相手の副ＤＢＶＯＬ５１Ｂには書かない方式である。第二種のコピー方式では、ＤＢＭＳ１７Ｂのサブセット６００が、副ログＶＯＬ５５Ｂ内のログを用いて、副ＤＢＶＯＬ５１Ｂを更新する。それにより、正ＤＢＶＯＬ５１Ａに書かれたＤＢブロックが副ＤＢＶＯＬ５１Ｂに書かれなくても、副ＤＢＶＯＬ５１Ｂ内のＤＢを、正ＤＢＶＯＬ５１Ａ内の更新後のＤＢと同じにすることができる。なお、本実施形態で言うサブセット６００は、特願２００３−１２８１６３号の明細書及び図面に記載のサブセットを援用することができる。また、サブセット６００は、更なる機能を有することもできる。
【００６３】
ログを用いてＤＢを更新するためには、ログに、トランザクションに関わるステータス（以下、トランザクションステータス、例えば、開始或いはコミット）の他に、ＤＢに対する更新履歴（以下、ＤＢ更新履歴、例えば、どこのブロックに何を書いたか）が記録されている必要がある。すなわち、正サーバ１１ＡのＤＢＭＳ１７Ａが、トランザクションステータス及びＤＢ更新履歴の両方を含んだログを正ログＶＯＬ５５Ａに書くようにすることで、サブセット６００が、ログを用いて副ＤＢＶＯＬ５１Ｂを更新することができる。
【００６４】
しかし、どんな場合にも必ず、トランザクションステータス及びＤＢ更新履歴の両方を含んだログを作成するようにすると、処理の遅延が生じ得る。これは、或る時間内にＤＢの更新回数が或る回数よりも多い処理（以下、多数更新処理）の場合に特に問題となり得る。多数更新処理の代表的な例としては、バッチ処理を挙げることができる。
【００６５】
そこで、本実施形態では、ログの制御（例えば、ログを作成するか否か、ログにどんな情報を記載するかなど）に関するモード（以下、ログ制御モード）という概念が用意される。ログ制御モードには、ログ取得モードと、ログレスモードとの少なくとも２種類がある。ログ取得モードでは、作成するログに、トランザクションステータス及びＤＢ更新履歴の両方が含められ、ＤＢの更新の都度に作成される。ログレスモードでは、作成するログに、トランザクションステータス及びＤＢ更新履歴のうち、トランザクションステータスが含められるが、ＤＢ更新履歴が含められず、且つ、トランザクションの開始と終了以外では、ログそのものが作成されない。なお、例えば、ログレスモードでのトランザクションにおいて、ＤＢが更新された場合、ＤＢ更新履歴の無いログが作成されて正ログＶＯＬ５５Ａに書かれても良い。
【００６６】
図５は、ＤＢＭＳ１７Ａが行う処理の流れの一例の概要を示す。ＤＢＭＳ１７Ａが手動で操作されることによりこの処理流れが行われるが、自動で行われても良い。
【００６７】
ＤＢＭＳ１７Ａは、例えば、クライアント計算機１のバッチ業務プログラム７からトランザクション開始指示（具体的には、バッチ業務の開始指示）を受信した場合に、トランザクション開始指示に含まれているログ制御モードがログレスモードかログ取得モードかを判定する（ステップＳ１）。ログレスモードであれば（Ｓ１でＹＥＳ）、ＤＢＭＳ１７Ａは、正ＤＢＶＯＬ５１Ａの更新前のＤＢのバックアップを取得した後に（Ｓ２）、Ｓ３を行い、ログ取得モードであれば（Ｓ１でＮＯ）、Ｓ２を行うことなくＳ３を行う。なお、Ｓ２でのバックアップの取得とは、例えば、ＤＢＭＳ１７Ａが、正ＤＢＶＯＬ５１Ａと同じＶＯＬを正ストレージサブシステム３１Ａ内に生成することである。具体的には、例えば、ＤＢＭＳ１７Ａが、正ストレージサブシステム３１Ａに対し、正ストレージサブシステム３１Ａ内のＶＯＬであって、所定の条件に適合するＶＯＬ（例えば正ＤＢＶＯＬ５１Ａと記憶容量が同じであるＶＯＬ）を正ＤＢＶＯＬ５１Ａとペアにさせ、そのＶＯＬに、正ＤＢＶＯＬ５１Ａ内の更新前のＤＢをコピーさせることができる。その後、ＤＢＭＳ１７Ａが、スプリット命令を送ることにより、そのＶＯＬと正ＤＢＶＯＬ５１Ａとのペア状態をペア解除状態にさせることができる。
【００６８】
Ｓ３では、ＤＢＭＳ１７Ａは、バッチ業務を実行する。バッチ業務では、例えば、ＤＢＭＳ１７Ａが、ログ取得モードであれば、クライアント計算機１のバッチ業務プログラム７からのデータを正ＤＢＶＯＬ５１Ａに書くと共に、ＤＢ更新履歴を含んだログを生成して正ログＶＯＬ５５Ａに書く。一方、ログレスモードであれば、バッチ業務ではログが作成されない。
【００６９】
正常にバッチ業務が完了した場合（Ｓ４でＹＥＳ）、Ｓ１でログレスモードであれば（Ｓ５でＹＥＳ）、ＤＢＭＳ１７Ａは、正ＤＢＶＯＬ５１Ａ内の更新後のＤＢのバックアップを取得し（Ｓ６）、ログレスモード解除の旨のログを正ログＶＯＬ５５Ａに書く（Ｓ７）。それによりトランザクションが決着する。Ｓ４でＹＥＳの場合、Ｓ１でログ取得モードであれば（Ｓ５でＮＯ）、ＤＢＭＳ１７Ａは、Ｓ６及びＳ７を行うことなく終了する。Ｓ６では、例えば、Ｓ２と同様の方法でバックアップを取得することができる。或いは、例えば、Ｓ３のバッチ業務において、Ｓ２で取得したバックアップと、正ＤＢＶＯＬ５１Ａ内のＤＢの差分（例えば、ＤＢＶＯＬ５１Ａのどのブロックで最終的にどんなデータが書かれたか）を管理し、その差分を、Ｓ２で取得したバックアップに反映することで（例えば、差分として管理されていた更新後のデータを該バックアップに上書きすることで）、更新後のＤＢのバックアップを取得しても良い。
【００７０】
正常にバッチ業務が完了しなかった場合（Ｓ４でＮＯ）、例えば、障害が生じたことにより異常終了となった場合、正ＤＢＶＯＬ５１Ａ内のＤＢ領域が閉塞され（Ｓ８）、そのＤＢ領域のＤＢの回復処理が行われる（Ｓ９）。
【００７１】
図６Ａは、クライアント計算機１のバッチ業務プログラム７と正サーバ１１ＡのＤＢＭＳ１７Ａとの通信の流れの一例の概要を示す。この図６Ａは、特に、ログレスモードを設定する場合の概要を示す。
【００７２】
バッチ業務プログラム７は、ログレスモードを例えば環境変数の一種として設定したトランザクション開始指示を生成し、そのトランザクション開始指示を正サーバ１１Ａに送信する（Ｓ１０Ａ）。ＤＢＭＳ１７Ａは、トランザクション開始指示を受付けており、トランザクション開始指示を受けた場合には、その旨のログを作成して正ログＶＯＬ５５Ａに書く（Ｓ１０Ｂ）。作成されるログには、例えば、図６Ｂに示すように、ログシーケンス番号、トランザクション番号、ログ制御モード（ログ取得モードかログレスモードか）及びトランザクションステータスなどが書かれる。
【００７３】
バッチ業務プログラム７は、バッチ処理を行う（Ｓ１１Ａ）。具体的には、例えば、バッチ業務プログラム７は、書込み対象の複数のデータをそれぞれ正サーバ１１Ａに送信する。ＤＢＭＳ１７Ａは、複数のデータをそれぞれ受信してバッチ処理（ＤＢ操作処理）を行う（Ｓ１１Ｂ）。このＤＢ操作処理では、ログレスモードでの処理であり、ログは作成されない。
【００７４】
バッチ業務プログラム７は、ログレスモードでのバッチ処理が終わったならば、ログレスモード解除を設定したコマンドを正サーバ１１Ａに送信することにより、トランザクションを決着させる（Ｓ１２Ａ）。ＤＢＭＳ１７Ａは、そのコマンドからログレスモード解除を認識し、ログレスモード解除を表すログを作成して正ログＶＯＬ５５Ａに書くことで、トランザクションを決着させる（Ｓ１２Ｂ）。
【００７５】
図７は、一つのトランザクションの開始から終了までに行われる処理の流れの一例の詳細を示す。
【００７６】
この図７に示す流れは、例えば、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態が同期／非同期ペア状態の場合、或いは、図４Ａを参照して説明した第一種のコピー方式が選択されている場合に行われる流れである。この流れでは、正ログＶＯＬ５５Ａと副ログＶＯＬ５５Ｂとが同期／非同期ペア状態にされているが、もし、そのペア状態になっていない場合には、例えば、ＤＢＭＳ１７Ａが、前もって、所定のコマンドを正ストレージサブシステム３１Ａに送信することにより、そのペア状態を同期／非同期ペア状態にさせることができる。
【００７７】
ＤＢＭＳ１７Ａは、まず、ログレスモードの開始を表すログを作成して正ログＶＯＬ５５Ａに書く。この場合、正ログＶＯＬ５５Ａと副ログＶＯＬ５５Ｂとが同期／非同期ペア状態でありコピーモードが同期になっているので、正ログＶＯＬ５５Ａに書かれたログが、同期型リモートコピーにより、副ログＶＯＬ５５Ｂに書かれる。
【００７８】
ＤＢＭＳ１７Ａは、そのログの書込みの完了通知を正ストレージサブシステム３１Ａから受けた後（つまり、同期型リモートコピーが完了した後）、正ＤＢＶＯＬ５１Ａに更新されていないＤＢブロックがＤＢバッファ２１１に残っていれば、強制的に、そのＤＢブロックを正ＤＢＶＯＬ５１Ａに書き出す。その書き出されたＤＢブロックは、非同期型リモートコピーにより、副ＤＢＶＯＬ５１Ｂに書かれる。
【００７９】
ＤＢＭＳ１７Ａは、ＤＢブロックのライトコマンド（強制的な書き出し）についての完了通知を正ストレージサブシステム３１Ａから受けた後（つまり、非同期型リモートコピーが完了した後）、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態をペア解除状態にするためのスプリット命令を正ストレージサブシステム３１Ａに送信する。制御装置３４Ａのディスク制御プログラム３１５Ａは、例えば、非同期型リモートコピーの完了通知を副ストレージサブシステム３１Ａから受けていれば、スプリット命令を副ストレージサブシステム３１Ｂに送信する（その完了通知を受けていない場合には、その命令を受けてからスプリット命令を送信するようにしてもよい）。ＤＢブロックの非同期型リモートコピーが完了している場合には、その命令に対して所定の応答が、副ストレージサブシステム３１Ｂから正ストレージサブシステム３１Ａに返り、その時点で、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態をペア解除状態にされる（例えば、その旨が、正リモートコピー管理テーブル３１９Ａに書かれる）。正ストレージサブシステム３１Ａは、スプリット完了をＤＢＭＳ１７Ａに報告する。
【００８０】
その報告を受けたら、ＤＢＭＳ１７Ａは、バッチ処理（ＤＢ操作処理）を実行する。すなわち、正ＤＢＶＯＬ５１Ａ内のＤＢの更新を開始する。その間、ログレスモードでのＤＢ操作処理なので、ＤＢＭＳ１７Ａは、ログを作成することなくＤＢの更新を行う。制御装置３４Ａは、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとの差分を管理することができる。その差分とは、バッチ処理により生じた差分であって、例えば、正ＤＢＶＯＬ５１Ａのどのブロックにどんなデータが書かれたかである。
【００８１】
ＤＢの更新が終了した場合（バッチ処理が終了した場合）、ＤＢＭＳ１７Ａは、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア解除状態を解除する命令（以下、再ペア命令）を正ストレージサブシステム３１Ａに送信する。これにより、再ペア中となる。具体的には、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態が同期／非同期ペア状態に戻されると共に、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとの差分が、副ＤＢＶＯＬ５１Ｂに反映される。より具体的には、例えば、副ＤＢＶＯＬ５１Ｂには書かれていないが正ＤＢＶＯＬ５１Ａに最終的に書かれたデータの全てが、副ＤＢＶＯＬ５１ＢのＤＢに書かれる。
【００８２】
差分の反映が終了した旨の通知を正ストレージサブシステム３１Ａから受信した場合、ＤＢＭＳ１７Ａは、ログレスモードの解除を表すログを正ログＶＯＬ５５Ａに書く。そのログは、同期型リモートコピーにより、副ログＶＯＬ５５Ｂに書かれる。そのログの書き込みの完了を正ストレージサブシステム３１Ａから受信したならば、トランザクションの終了となる。
【００８３】
図８は、一つのトランザクションの開始から終了までに行われる処理の流れの別の一例の詳細を示す。以下、図７との相違点を主に説明し共通点については説明を省略或いは簡略する。
【００８４】
この図８に示す流れは、例えば、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態がペア解除状態の場合、或いは、図４Ｂを参照して説明した第二種のコピー方式が選択されている場合に行われる流れである。
【００８５】
ＤＢＭＳ１７Ａは、ＤＢブロックのライトコマンドについての完了通知を正ストレージサブシステム３１Ａから受けた後（つまり、ＤＢブロックの強制的な書き出しが終了した後）、正ＤＢＶＯＬ５１Ａのバックアップを取得する。具体的には、例えば、図９に例示するように、ＤＢＭＳ１７Ａが、正ストレージサブシステム３１Ａに対し、正ストレージサブシステム３１Ａ内のＶＯＬであって、所定の条件に適合するＶＯＬ（例えば正ＤＢＶＯＬ５１Ａと記憶容量が同じであるＶＯＬ）５２Ａを、副ＤＢＶＯＬとして、正ＤＢＶＯＬ５１Ａとペアにさせ（例えば同期／非同期ペア状態にさせ）、その副ＤＢＶＯＬ５２Ａに、正ＤＢＶＯＬ５１Ａ内の更新前のＤＢをコピーさせることができる。その後、ＤＢＭＳ１７Ａが、スプリット命令を送ることにより、そのＶＯＬと正ＤＢＶＯＬ５１Ａとのペア状態をペア解除状態にさせることができる。これにより、正ＤＢＶＯＬ５１Ａの以後の更新が、副ＤＢＶＯＬ５２Ａに反映されてしまうことを防ぐことができる。
【００８６】
その後、ＤＢＭＳ１７Ａは、ＤＢ更新を開始することができる。
【００８７】
なお、この図８では、ＤＢブロックの強制的な書き出しの前から、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態がペア解除状態になっているので、その書き出しについても、差分管理を行うことができる。副サイト１０Ｂでは、サブセット６００が、ＤＢ更新終了後の再ペアまでの間に、副ログＶＯＬ５５Ｂに書かれた、ログレスモード設定を表すログの前までのログを用いて、副ＤＢＶＯＬ５１ＢのＤＢを更新し、更に、その更新後のＤＢのバックアップを取得することができる。具体的には、例えば、図９に例示するように、サブセット６００が、副ストレージサブシステム３１Ｂ内のＶＯＬであって、所定の条件に適合するＶＯＬ（例えば副ＤＢＶＯＬ５１Ｂと記憶容量が同じであるＶＯＬ）を、副ＤＢＶＯＬ５２Ｂとし、副ＤＢＶＯＬ５１Ｂを正ＤＢＶＯＬとして、それらをペアにさせ（例えば同期／非同期ペア状態にし）、ＤＢＶＯＬ５２Ｂに、副ＤＢＶＯＬ５１Ｂ内の更新後のＤＢをコピーさせることができる。その後、サブセット６００が、スプリット命令を送ることにより、そのＶＯＬ５２Ｂと副ＤＢＶＯＬ５１Ｂとのペア状態をペア解除状態にさせることができる。
【００８８】
このように、ログを用いて副ＤＢＶＯＬ５１Ｂを更新しておくことで、副ＤＢＶＯＬ５１Ｂを、ログレスモードによるトランザクション開始前の正ＤＢＶＯＬ５１Ａと同じにすることができる。また、その更新後の副ＤＢＶＯＬ５１Ｂのバックアップを取得しておくことで、例えば、正ＤＢＶＯＬ５１ＡのＤＢ更新終了後の再ペア化による差分反映中に、正ＤＢＶＯＬ５１Ａ及び副ＤＢＶＯＬ５１Ｂに障害が発生しても、副ＤＢＶＯＬ５１Ｂの上記バックアップを、正ストレージサブシステム３１Ａにコピーすることにより、トランザクション開始前の正ＤＢＶＯＬ５１Ａを回復することができる。
【００８９】
なお、副ＤＢＶＯＬ５１Ｂのバックアップの取得は、例えば、副ログＶＯＬ５５Ｂに、ログレスモード設定を表すログが書かれ、サブセット６００がそれを検出した場合に、自動的に行われても良い。抽象的には、副ＤＢＶＯＬ５１Ｂのバックアップの取得は、例えば、副ログＶＯＬ５５Ｂに、ログレスモード設定を表すログが同期型リモートコピーにより書かれた場合に、行われても良い。
【００９０】
図１０は、一つのトランザクションの開始から終了までに行われる処理の流れのまた別の一例の詳細を示す。
【００９１】
この図１０に示す流れは、例えば、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態がペア解除状態の場合、或いは、図４Ｂを参照して説明した第二種のコピー方式が選択されている場合に行われる流れである。言い換えれば、この図１０に示す流れは、図８に示した流れの別の例である。図８と図１０のどちらの処理流れが行われるようにするかは、自動或いは手動で選択することができる。以下、図８の相違点を主に説明する。
【００９２】
この流れでは、ＤＢバッファの強制的な書き出しの後、ＤＢ更新開始までに、正ＤＢＶＯＬ５１Ａのバックアップ取得が行われず、その代わりに、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとが再ペア化される（再ペア命令が発行される）。この再ペア化では、同期／非同期ペア状態にされても良い。正ストレージサブシステム３１ＡがＤＢＭＳ１７Ａから再ペア命令を受けた場合には、前述したように、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとの差分が副ＤＢＶＯＬ５１Ｂに反映されることにより、副ＤＢＶＯＬ５１Ｂが正ＤＢＶＯＬ５１Ａの複製となる。その後、ＤＢ更新（バッチ処理）が開始される。
【００９３】
ＤＢ更新の終了後、ＤＢＭＳ１７Ａは、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態をペア解除状態にするためのスプリット命令を正ストレージサブシステム３１Ａに送信する。正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態は、バッチ処理における最後のデータが副ＤＢＶＯＬ５１Ｂに書かれた場合に、ペア解除状態となる。その後、ログレスモードの解除を表すログが正ログＶＯＬ５５Ａに書かれ、それにより、そのログが副ログＶＯＬ５５Ｂにも書かれて、トランザクションの終了となる。
【００９４】
図１１は、一つのトランザクションの開始から終了までに行われる処理の流れの更にまた別の一例の詳細を示す。
【００９５】
図１１に示す流れは、図１０の流れと実質的に同じである。相違点は、図１０に示す流れでは、サブセット６００が、副サーバ１１Ｂに存在する場合の流れであるが（図８でも、サブセット６００は副サーバ１１Ｂに存在してもよい）、この図１１に示す流れは、サブセット６００が、副ストレージサブシステム３１Ｂに存在する場合の流れである。すなわち、サブセット６００は、副サーバ１１Ｂと副ストレージサブシステム３１Ｂのどちらに存在してもよい。
【００９６】
ディスク制御プログラム３１５Ａは、ＤＢＭＳ１７Ａからスプリット命令を受けた場合、スプリット命令を、副ストレージサブシステム３１Ｂのディスク制御プログラム３１５Ｂに送信する。ＤＢＭＳ１７Ａからのスプリット命令に応答して、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態が再びペア解除状態にされた場合、ディスク制御プログラム３１５Ｂが、サブセット６００に対して、スプリット終了を通知することができる。その場合、サブセット６００が、ディスク制御プログラム３１５Ｂに対して、ログレスモードの解除を指定することができる。ディスク制御プログラム３１５Ｂは、サブセット６００からログレスモードの解除を受けた場合、ログレスモードの解除をディスク制御プログラム３１５Ａに通知する。ディスク制御プログラム３１５Ａが、その通知に応答して、ログレスモード解除を表すログを生成し、そのログを正ログＶＯＬ５５Ａに書込む。それにより、ログレスモード解除が書かれたログが、副ログＶＯＬ５５Ｂに書かれる。
【００９７】
以上が、トランザクションの開始から終了までに行われる処理流れの幾つかの例である。
【００９８】
トランザクション中に障害が生じた場合、回復処理を行うことができる。その際、例えば、図１２Ａに示すように、正ＤＢＶＯＬ５１Ａに障害が発生した場合、ＤＢＭＳ１７Ａ或いはディスク制御プログラム３１５Ａが、正ログＶＯＬ５５Ａを参照し、ログレスモード設定のログがあるがログレスモード解除のログが無い場合には（Ｓ２０でＹＥＳ）、ログレスモードに対応した回復処理を行い（Ｓ２２）、そうでない場合には（Ｓ２０でＮＯ）、ログ取得モードに対応した回復処理を行うことができる。また、例えば、正サイトがダウン（或いは正ストレージサブシステム３１Ａがダウン）した場合、いわゆるディザスタリカバリが行われ、その際、図１２Ａに例示したように、ＤＢＭＳ１７Ｂ或いはディスク制御プログラム３１５Ｂが、副ログＶＯＬ５５Ａを参照し、ログレスモード設定のログがあるがログレスモード解除のログが無い場合には（Ｓ２０でＹＥＳ）、ログレスモードに対応した回復処理を行い（Ｓ２２）、そうでない場合には（Ｓ２０でＮＯ）、ログ取得モードに対応した回復処理を行うことができる。
【００９９】
図１２Ｂは、ログレスモードに対応した回復処理の一例を示す。以下、（Ａ）図７の場合と、（Ｂ）図８、図１０及び図１１の場合とに分けて説明する。
【０１００】
（Ａ）図７の場合。
【０１０１】
トランザクション開始〜ＤＢ更新開始の間で正ＤＢＶＯＬ５１Ａがダウンした場合、特段の回復処理が行われない。もし、強制的に書き出されたＤＢブロックの非同期型リモートコピーが完了した旨の通知を副ストレージサブシステム３１Ｂから受けた後に、正ＤＢＶＯＬ５１Ａがダウンしたならば、ＤＢＭＳ１７Ａ或いはディスク制御プログラム３１５Ａは、副ＤＢＶＯＬ５１Ｂを正ストレージサブシステム３１Ａにリモートコピーし、それによる副ＤＢＶＯＬ５１Ｂの複製を、正ＤＢＶＯＬ５１Ａとして回復しても良い。また、例えば、副ログＶＯＬ５５Ｂに、ログレスモード設定を表すログが書かれた場合に、それよりも前のログを用いて更新された後の副ＤＢＶＯＬ５１Ｂのバックアップが取得されても良く、その場合には、そのバックアップが正ストレージサブシステム３１Ａにリモートコピーされることにより、正ＤＢＶＯＬ５１Ａが回復されてもよい。
【０１０２】
ＤＢ更新開始〜終了（つまりバッチ処理中）で正ＤＢＶＯＬ５１Ａがダウンした場合、ＤＢＭＳ１７Ａ或いはディスク制御プログラム３１５Ａは、副ＤＢＶＯＬ５１Ｂを正ストレージサブシステム３１Ａにリモートコピーし、それによる副ＤＢＶＯＬ５１Ｂの複製を、正ＤＢＶＯＬ５１Ａとして回復することができる。
【０１０３】
再ペア中に正ＤＢＶＯＬ５１Ａがダウンした場合、ＤＢＭＳ１７Ａ或いはディスク制御プログラム３１５Ａは、ログレスモードの解除を表すログを生成して正ログＶＯＬ５５Ａに書込む。
【０１０４】
ログレスモードの解除を開始してから終了までの間に正ＤＢＶＯＬ５１Ａがダウンした場合、ＤＢＭＳ１７Ａ或いはディスク制御プログラム３１５Ａは、特段の回復処理を行わない。
【０１０５】
（Ｂ）図８、図１０及び図１１の場合。
【０１０６】
トランザクション開始〜ＤＢ更新開始の間で正ＤＢＶＯＬ５１Ａがダウンした場合、特段の回復処理が行われない。もし、強制的に書き出されたＤＢブロックの非同期型リモートコピーが完了した旨の通知を副ストレージサブシステム３１Ｂから受けた後に、正ＤＢＶＯＬ５１Ａがダウンしたならば、ＤＢＭＳ１７Ａ或いはディスク制御プログラム３１５Ａは、副ＤＢＶＯＬ５１Ｂを正ストレージサブシステム３１Ａにリモートコピーし、それによる副ＤＢＶＯＬ５１Ｂの複製を、正ＤＢＶＯＬ５１Ａとして回復しても良い。また、例えば、正ＤＢＶＯＬ５１Ａ或いは副ＤＢＶＯＬ５１Ｂのバックアップが取得されていれば、そのバックアップが正ストレージサブシステム３１Ａにコピーされ、それにより、正ＤＢＶＯＬ５１Ａが回復されてもよい。
【０１０７】
ＤＢ更新開始〜終了（つまりバッチ処理中）で正ＤＢＶＯＬ５１Ａがダウンした場合、ＤＢＭＳ１７Ａ或いはディスク制御プログラム３１５Ａは、正ＤＢＶＯＬ５１Ａのバックアップ、副ＤＢＶＯＬ５１Ｂのバックアップ、又は副ＤＢＶＯＬ５１Ｂを正ストレージサブシステム３１Ａにコピーし、それによる複製を、正ＤＢＶＯＬ５１Ａとして回復することができる。
【０１０８】
図８における再ペア中、或いは、図１０、図１１におけるスプリット中に、正ＤＢＶＯＬ５１Ａがダウンした場合、ＤＢＭＳ１７Ａ或いはディスク制御プログラム３１５Ａは、正ＤＢＶＯＬ５１Ａと副ＤＢＶＯＬ５１Ｂとのペア状態をペア解除状態にし（つまりスプリットし）、ログレスモードの解除を表すログを生成して正ログＶＯＬ５５Ａに書込む。更に、正ＤＢＶＯＬ５１Ａ或いは副ＤＢＶＯＬ５１Ｂのバックアップが正ストレージサブシステム３１Ａにコピーされ、それにより、正ＤＢＶＯＬ５１Ａが回復されてもよい。
【０１０９】
ログレスモードの解除を開始してから終了までの間に正ＤＢＶＯＬ５１Ａがダウンした場合、ＤＢＭＳ１７Ａ或いはディスク制御プログラム３１５Ａは、特段の回復処理を行わない。正ＤＢＶＯＬ５１Ａのバックアップ、副ＤＢＶＯＬ５１Ｂのバックアップ、又は副ＤＢＶＯＬ５１Ｂが正ストレージサブシステム３１Ａにコピーされ、それにより、正ＤＢＶＯＬ５１Ａが回復されてもよい。
【０１１０】
なお、図７、図８、図１０及び図１１のいずれにおいても、トランザクション中に正サイト３０Ａがダウンした場合には、いわゆるディザスタリカバリが行われれば、特段の回復処理が行われなくても良い。ディザスタリカバリの際には、例えば、ログレスモード設定を表すログの前までのログ（ＤＢ更新履歴が書かれたログ）を用いて副ＤＢＶＯＬ５１Ｂを更新し、その更新後の副ＤＢＶＯＬ５１Ｂを、バッチ業務プログラム７のバッチ処理で出力されたデータの書き込み先に割り当てることができる。或いは、既に副ＤＢＶＯＬ５１Ｂの更新が済んでいる、又は、副ＤＢＶＯＬ５１Ｂのバックアップが取得されている場合には、更新済みの副ＤＢＶＯＬ５１Ｂ或いはそのバックアップにより回復が行われても良い。ディザスタリカバリが行われることにより、クライアント１がバッチ業務で送信するデータを、ＤＢＭＳ１７Ｂが受け、ＤＢＭＳ１７Ｂが、そのデータを副ＤＢＶＯＬ５１Ｂのデータベースに記録することができる。
【０１１１】
以上、上述した実施形態によれば、ログレスモードでトランザクションを実行する場合には、トランザクションの開始の際に、ログレスモードの開始を表すログが生成されて、正ストレージサブシステム３１Ａと副ストレージサブシステム３１Ｂの両方にそのログが書かれる。また、トランザクションの終了の際には、ログレスモードの終了を表すログが生成されて、正ストレージサブシステム３１Ａと副ストレージサブシステム３１Ｂの両方にそのログが書かれる。これにより、トランザクション中に障害が生じた場合、そのトランザクションがログレスモードでのトランザクションであるか否かを、最新のログから判別し、その判別の結果に応じた回復処理を実行することができる。具体的には、例えば、最新のログが、ログレスモードの開始を表すログ（ログレスモード設定を表すログ）であれば、ログレスモードでのトランザクションであると判別することができるし、ログレスモードの終了を表すログ（ログレスモード解除を表すログ）或いはＤＢ更新履歴の入ったログであれば、少なくともログレスモードではないトランザクションであると判別することができる。
【０１１２】
また、上述した実施形態によれば、ログレスモードの開始を表すログが正ストレージサブシステム３１Ａに書かれてから、バッチ処理が開始されるまでに、正サーバ１１Ａのメモリに残っていてＤＢに未反映のＤＢデータが強制的にそのＤＢに書き出される。これにより、正ストレージサブシステム３１ＡでのＤＢとＤＢＭＳ１７Ａで認識されているＤＢとを一致させることができる。
【０１１３】
また、上述した実施形態によれば、ログレスモードでのトランザクション中は、正ストレージサブシステム３１Ａ（更には副ストレージサブシステム３１Ｂ）が有するどの機能をどの時点で発揮させるかを巧みに制御することで、ログレスモードでのトランザクション中に障害が生じても、障害発生時になるべく近いＤＢを回復することが可能とされている。その機能とは、例えば、以下の通りである。
【０１１４】
（１）正ＶＯＬと副ＶＯＬとのペア状態を同期／非同期ペア状態とすると、正ＶＯＬにデータが書かれる場合、それと同期或いは非同期に、副ＶＯＬにそのデータが書かれる。
【０１１５】
（２）正ＶＯＬと副ＶＯＬとのペア状態をペア解除状態とすると、正ＶＯＬにデータが書かれても、副ＶＯＬにはそのデータがコピーされず、正ＶＯＬと副ＶＯＬとの差分が管理される。
【０１１６】
（３）正ＶＯＬと副ＶＯＬとのペア状態がペア解除状態のときに再ペア命令を発行した場合、正ＶＯＬと副ＶＯＬとの差分が副ＶＯＬに反映されることで、正ＶＯＬ内のデータ群と副ＶＯＬ内のデータ群とが同じになる。
【０１１７】
以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、同期型と非同期型のどちらのコピーが行われるかは、コピーモードで制御することに代えて、ペア状態で制御してもよい。具体的には、例えば、同期／非同期ペア状態が、同期型のコピーが行われる同期ペア状態と、非同期型のコピーが行われる非同期ペア状態とに分かれていてもよい。
【図面の簡単な説明】
【０１１８】
【図１】図１は、本発明の一実施形態のシステム全体の構成例を示す。
【図２】図２は、本実施形態に係るストレージシステムの構成例を示す。
【図３】図３Ａは、ＤＢ−ディスクマッピングテーブル２１３Ａの構成例を示す。図３Ｂは、正リモートコピー管理テーブル３１９Ａの構成例を示す。
【図４】図４Ａは、第一種のコピー方式の説明図。図４Ｂは、第二種のコピー方式の説明図。
【図５】図５は、ＤＢＭＳ１７Ａが行う処理の流れの一例の概要を示す。
【図６】図６Ａは、クライアント計算機１のバッチ業務プログラム７と正サーバ１１ＡのＤＢＭＳ１７Ａとの通信の流れの一例の概要を示す。図６Ｂは、ログの構成例を示す。
【図７】図７は、一つのトランザクションの開始から終了までに行われる処理の流れの一例の詳細を示す。
【図８】図８は、一つのトランザクションの開始から終了までに行われる処理の流れの別の一例の詳細を示す。
【図９】図９は、図８でのバックアップ取得の一例の説明図。
【図１０】図１０は、一つのトランザクションの開始から終了までに行われる処理の流れのまた別の一例の詳細を示す。
【図１１】図１１は、一つのトランザクションの開始から終了までに行われる処理の流れの更にまた別の一例の詳細を示す。
【図１２】図１２Ａは、障害が発生した場合に行われる回復処理の選択の一例を示す。図１２Ｂは、ログレスモードに対応した回復処理の一例を示す。
【符号の説明】
【０１１９】
１…クライアント  ７…バッチ業務プログラム  １１Ａ…正サーバ  １１Ｂ…副サーバ  １７Ａ…ＤＢＭＳ  ３０Ａ…正サイト  ３０Ｂ…副サイト  ３１Ａ…正ストレージサブシステム  ３１Ｂ…副ストレージサブシステム  ３３Ａ…ＣＰＵ  ３４Ａ…制御装置  ３５Ａ…メモリ  ２１１Ａ…ＤＢバッファ  ２１２Ａ…ログバッファ、２１３Ａ…ＤＢ−ディスクマッピングテーブル  ３１１Ａ…キャッシュ領域  ５１Ａ…正ＤＢＶＯＬ  ５１Ｂ…副ＤＢＶＯＬ  ５５Ａ…正ログＶＯＬ  ５５Ｂ…副ログＶＯＬ
【図１】
0004727437.tif 000002
【図２】
0004727437.tif 000003
【図３】
0004727437.tif 000004
【図４】
0004727437.tif 000005
【図５】
0004727437.tif 000006
【図６】
0004727437.tif 000007
【図７】
0004727437.tif 000008
【図８】
0004727437.tif 000009
【図９】
0004727437.tif 000010
【図１０】
0004727437.tif 000011
【図１１】
0004727437.tif 000012
【図１２】
0004727437.tif 000013