(57)【特許請求の範囲】
【請求項１】
複数のデータベース資材を有するデータベースシステムにおいて、
前記複数のデータベース資材をミラーリングするミラーリング手段と、
トランザクションの実行結果を示す第１の種類のログを記憶する管理情報記憶手段に記憶された前記第１の種類のログを参照して、前記データベース資材に対するデータの反映保証ポイントを取得する反映保証ポイント取得手段と、
前記ミラーリング手段によるミラーリングを解除し、所定のデータベース資材を切り離す切り離し手段と、
前記切り離し手段による切り離し時に実行中のトランザクションが存在する場合には、そのトランザクションが終了するまで待ち合わせを行う待ち合わせ手段と、
前記切り離し手段による切り離し時に実行中のトランザクションが存在する場合には、当該実行中のトランザクションのログを示す第２の種類のログを生成して格納するログ格納手段と、
所定のデータベース資材に障害が発生した場合には、前記切り離し手段によって切り離されたデータベース資材に記憶された複写データにより切り離し対象となっていないデータベース資材のデータを復元し、前記切り離し手段による切り離し時に実行中のトランザクションがコミットされている場合、前記反映保証ポイント取得手段が取得した前記反映保証ポイントと前記管理情報記憶手段に記憶された前記第１の種類のログとに基づいて復旧ポイントまでのデータの復旧を行い、前記切り離し手段による切り離し時に実行中のトランザクションがロールバックされている場合、前記ログ格納手段に格納されている前記第２の種類のログを用いて復元したデータに対する前記切り離し手段による切り離し時に実行中のトランザクションをロールバックし、前記反映保証ポイントと前記第１の種類のログとに基づいて前記復旧ポイントまでのデータの復旧を行う障害復旧手段と、
切り離されたデータベース資材内の複写データの格納位置を、切り離し対象となっていないデータベース資材の復元したデータの格納位置とは別個の格納位置となるよう設定すると共に、前記切り離されたデータベース資材に記憶された複写データのデータ名を、前記切り離し対象となっていないデータベース資材に記憶され、前記複写データに対応する復元したデータのデータ名とは異なるデータ名に変換する変換手段と、
を有することを特徴とするデータベースシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータベースシステムに関し、特に、複数のデータベース資材を有するデータベースシステムに関する。
【０００２】
【従来の技術】
例えば、銀行の勘定系システムでは、所定の期間（例えば、一日）における業務の勘定計算を行うために、システムを一旦停止し、データベースに格納されている収支に係る情報を読み出して演算処理を実行する必要がある。
【０００３】
また、ハードウエアに障害が発生した場合にデータベースの復旧を可能にするために、現在使用しているデータのバックアップを作成しておく必要がある。
【０００４】
【発明が解決しようとする課題】
ところで、近年では、銀行のオンライン業務が２４時間無停止で営業されることも希ではなくなりつつあり、それに伴って種々の問題が発生しつつある。
【０００５】
即ち、前述の勘定計算を行う場合、従来であればオンライン業務の停止後に、勘定計算を行うことができたが、業務が停止される機会がなくなると、そのような方法での処理が不可能となるという問題があった。
【０００６】
また、前述のバックアップを作成する場合、従来であればオンライン業務の停止後にバックアップファイルを作成することが可能であった。しかし、業務が停止されなくなると、長い時間を要するバックアップを実行する機会がなくなるという問題があった。
【０００７】
本発明は、このような点に鑑みてなされたものであり、例えば、オンライン業務の無停止化に伴って発生する種々の問題を解決することが可能なデータベースシステムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明では上記課題を解決するために、複数のデータベース資材を有するデータベースシステムが提供される。このデータベースシステムは、前記複数のデータベース資材をミラーリングするミラーリング手段と、トランザクションの実行結果を示す第１の種類のログを記憶する管理情報記憶手段に記憶された前記第１の種類のログを参照して、前記データベース資材に対するデータの反映保証ポイントを取得する反映保証ポイント取得手段と、前記ミラーリング手段によるミラーリングを解除し、所定のデータベース資材を切り離す切り離し手段と、前記切り離し手段による切り離し時に実行中のトランザクションが存在する場合には、そのトランザクションが終了するまで待ち合わせを行う待ち合わせ手段と、前記切り離し手段による切り離し時に実行中のトランザクションが存在する場合には、当該実行中のトランザクションのログを示す第２の種類のログを生成して格納するログ格納手段と、所定のデータベース資材に障害が発生した場合には、前記切り離し手段によって切り離されたデータベース資材に記憶された複写データにより切り離し対象となっていないデータベース資材のデータを復元し、前記切り離し手段による切り離し時に実行中のトランザクションがコミットされている場合、前記反映保証ポイント取得手段が取得した前記反映保証ポイントと前記管理情報記憶手段に記憶された前記第１の種類のログとに基づいて復旧ポイントまでのデータの復旧を行い、前記切り離し手段による切り離し時に実行中のトランザクションがロールバックされている場合、前記ログ格納手段に格納されている前記第２の種類のログを用いて復元したデータに対する前記切り離し手段による切り離し時に実行中のトランザクションをロールバックし、前記反映保証ポイントと前記第１の種類のログとに基づいて前記復旧ポイントまでのデータの復旧を行う障害復旧手段と、切り離されたデータベース資材内の複写データの格納位置を、切り離し対象となっていないデータベース資材の復元したデータの格納位置とは別個の格納位置となるよう設定すると共に、前記切り離されたデータベース資材に記憶された複写データのデータ名を、前記切り離し対象となっていないデータベース資材に記憶され、前記複写データに対応する復元したデータのデータ名とは異なるデータ名に変換する変換手段と、を有する。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の動作原理を説明するための原理図である。この図において、データベース資材２は、実データを格納するデータベース２ｂと、管理情報を格納するデータベース２ａとによって構成されている。また、データベース資材３も同様に、実データを格納するデータベース３ｂと、管理情報を格納するデータベース３ａとによって構成されている。
【００１０】
ミラーリング手段１ａは、データベース資材２，３をミラーリングする。
書き込み停止手段１ｂは、ミラーリング手段１ａによってミラーリングされたデータベース資材２，３への書き込みを一時的に停止する。
【００１１】
切り離し手段１ｃは、ミラーリングされているデータベース資材２，３の一方を切り離す。
書き込み再開手段１ｄは、切り離し手段１ｃによる切り離しの後に、切り離し対象となっていないデータベース資材への書き込みを再開する。
【００１２】
修復処理手段１ｅは、切り離し手段１ｃによる切り離し時に仕掛かり中であったトランザクションに係るデータの整合性を保証するための修復処理を行う。
変換処理手段１ｆは、切り離されたデータベース資材を個別のデータとして使用するために配置情報に対して変換処理を施す。
【００１３】
次に、以上の原理図の動作について説明する。
いま、ミラーリング手段１ａによってデータベース資材２，３がミラーリングされているとする。その場合、データベース資材２およびデータベース資材３には、同一の情報が記録されることになる。
【００１４】
このような状態において、何れかのデータベース資材に格納されているデータを用いて、例えば、勘定計算を行う必要が発生したとすると、以下の処理が実行され、データベース資材３がスナップショットとして分離されることになる。
【００１５】
即ち、書き込み停止手段１ｂは、データベース資材２，３へのデータの書き込みを一時的に停止させ、分離の際にデータが改変されることを防止する。
次に、切り離し手段１ｃは、ミラーリング手段１ａを制御し、データベース資材３をデータベース資材２から切り離して分離する。その結果、データベース資材２およびデータベース資材３は、それぞれ独立したデータベース資材となる。
【００１６】
続いて、書き込み再開手段１ｄは、データベース資材２に対する書き込みを再開させる。その結果、新たなトランザクションが発生した場合、このトランザクションに関連する書き込みは、データベース資材２に対して行われることになる。一方、データベース資材３は、スナップショットであるので、これ以降はデータの書き込みは実行されない。
【００１７】
修復処理手段１ｅは、トランザクションの仕掛かり中に切り離し手段１ｃによってデータベース資材３を切り離した場合において生じるデータの不整合を修復する。即ち、切り離し手段１ｃによってデータベース資材３が切り離された場合、それ以降はデータベース資材３に対してはデータの書き込みがなされないため、切り離し時にトランザクションが実行されていた場合には、データの不整合が発生することになる。そこで、修復処理手段１ｅは、このようなデータの不整合の発生を防ぐために、データベース資材３に対して修復処理を実行する。
【００１８】
修復処理手段１ｅによる修復処理が終了すると、変換処理手段１ｆは、データベース資材３のデータベース３ａに格納されている管理情報に対して、他の資材との競合を防ぐために変換処理を施す。ここで、変換処理としては、データ名の重複を排除するためのデータ名の変換や、データの格納位置に関する配置情報の変換を行う。
【００１９】
以上の処理により、データベース資材３は、切り離し手段１ｃによって切り離しが実行された時点におけるデータを保持した「スナップショット」となり、このスナップショットは、変換処理手段１ｆによってデータ名や格納位置に対する変換処理がなされているため、独立したデータベース資材として扱うことが可能となる。従って、このスナップショットを用いて、ある時点におけるデータに対して勘定計算等を施すことが可能となる。
【００２０】
また、切り離し時にトランザクションが仕掛かり中であった場合であっても、修復処理手段１ｅによって修復処理が実行されるため、データの不整合が発生することを防止することが可能となる。
【００２１】
以上に説明したように、本発明に係るデータベースシステムによれば、データの不整合を生じることなく、しかも簡単にスナップショットを生成することが可能となるので、例えば、オンラインシステムを停止させることなく勘定計算を行うことが可能となる。
【００２２】
次に、本発明の実施の形態について説明する。
図２は、本発明の実施の形態の構成例を示す図である。この図に示すように、本発明に係るデータベースシステムは、データベース１０、ネットワーク２０、データベース管理装置３１，３２によって構成されている。
【００２３】
ここで、データベース１０は、記憶部１１、ＲＡＩＤ（Redundant Array of Inexpensive Disks）１２、Ｉ／Ｏ（Input/Output）１３によって構成されている。
【００２４】
記憶部１１は、管理情報を記憶した記憶装置１１ａ，１１ｂ、および、データを記憶した記憶装置１１ｃ，１１ｄによって構成されている。なお、管理情報とは、各種ログ、ファイルの配置を状態を示す配置情報、および、管理ファイル等によって構成される。また、データは、データベースが処理の対象とする実データである。
【００２５】
ＲＡＩＤ１２は、記憶装置１１ａ，１１ｂおよび記憶装置１１ｃ，１１ｄをソフトウエア的またはハードウエア的にそれぞれミラーリングする。従って、記憶装置１１ａ，１１ｂおよび記憶装置１１ｃ，１１ｄには同一の内容がそれぞれ格納されることになる。
【００２６】
Ｉ／Ｏ１３は、データベース１０に対するデータの入出力に関する制御を行う。
ネットワーク２０は、例えば、ＳＡＮ（Storage Area Network）によって構成されており、データベース管理装置３１，３２とデータベース１０とを接続し、これらの間でデータの授受を可能とする。
【００２７】
データベース管理装置３１，３２は、メインフレームやオープンシステム（サーバ）によって構成され、データベース１０を運用・管理する。
次に、以上の実施の形態の動作について説明する。
【００２８】
いま、データベース１０がデータベース管理装置３１の管理下に置かれ、記憶装置１１ａ，１１ｂおよび記憶装置１１ｃ，１１ｄがＲＡＩＤ１２によってそれぞれミラーリングされた状態で運用されているとする。すると、記憶装置１１ａ，１１ｂおよび記憶装置１１ｃ，１１ｄにはそれぞれ同一のデータが蓄積されることになる。
【００２９】
このような状態において、例えば、一定の期間が経過したことにより、蓄積されているデータに対して勘定計算を行う必要が生じたとする。すると、以下のような処理が実行され、ミラーリングの一方の記憶装置が切り離されてスナップショットが生成されるので、このスナップショットを対象とすることで、オンライン業務を停止することなく勘定計算を行うことが可能となる。
【００３０】
図３は、ミラーリングされている記憶装置１１ｂ，１１ｄを切り離す処理を実行するフローチャートの一例である。このフローチャートが開始されると、以下の処理が実行される。
【００３１】
［Ｓ１］データベース管理装置３１は、データベース１０のＩ／Ｏ１３の動作を一時的に停止させ、他の装置の記憶部１１への書き込み処理を一時的に中断させる。なお、データベース管理装置３１によって書き込み処理を中断させるのではなく、ＲＡＩＤ１２によって書き込み処理を中断させることも可能である。
【００３２】
［Ｓ２］データベース管理装置３１は、記憶装置１１ａ，１１ｂと記憶装置１１ｃ，１１ｄのミラーリングを解除し、記憶装置１１ｂ，１１ｄを切り離す処理を実行する。
【００３３】
なお、その際、管理情報とデータとの対応関係に齟齬を生じないために、これらの記憶装置の切り離しは同時に実行する必要がある。
［Ｓ３］データベース管理装置３１は、データベース１０のＩ／Ｏ１３の動作を再開させる。その結果、先の処理により記憶装置１１ｂ，１１ｄは切り離されていることから、これ以降は記憶装置１１ａ，１１ｃに対してデータが書き込まれることになる。
【００３４】
このようにして、ミラーリングが解除されて記憶装置１１ｂ，１１ｄが切り離されると、切り離した記憶装置１１ｂ，１１ｄを他の装置であるデータベース管理装置３２に接続するために、図４に示す処理が実行される。
【００３５】
なお、以下では、記憶装置１１ａ，１１ｃによって構成されるデータベースを複写元データベースと呼び、また、記憶装置１１ｂ，１１ｄによって構成される新たなデータベースをスナップショットと呼ぶ。
【００３６】
［Ｓ２０］切り離した記憶装置１１ｂ，１１ｄを、他の装置であるデータベース管理装置３２に登録する。このとき、スナップショットの配置情報を、複写元データベースと同一のアクセス名でアクセス可能となるように設定する。このような設定によれば、配置情報の変換処理が不要となることから、これ以降の処理を簡素化することができる。
【００３７】
［Ｓ２１］登録した他の装置であるデータベース管理装置３２を再起動する。
［Ｓ２２］再起動の結果、データベース管理装置３２の緊急停止からの復旧機能が動作し、切断処理時に仕掛かり中であったトランザクションの復旧処理が実行される。即ち、データベースシステムでは、システムがダウンしたり停電したりした場合に仕掛かり中であったトランザクションが中断され、データが不整合を生ずる場合がある。そのような事態を回避するために、データベースシステムでは、停止時において仕掛かり中であるトランザクションが存在する場合には、管理情報に記録されているＢＩ（Before Image）ログを利用することにより、データの不整合を訂正する機能を有していることが一般的である。このような機能を利用することにより、記憶装置１１ｂ，１１ｄが切り離されてスナップショットが生成される際に仕掛かり中であったトランザクションが中断された場合でも、データの不整合が発生することを防止できる。
【００３８】
図５および図６は、以上に示す処理の概要を説明する図である。図５は、スナップショットを切り離す前のシステムの概要を示す図である。この図に示すように、記憶装置１１ａ，１１ｂおよび記憶装置１１ｃ，１１ｄは図示せぬＲＡＩＤによってそれぞれミラーリングされるとともに、データベース管理装置３１によって管理されている。なお、この図は、概念図であるので、ＲＡＩＤその他は省略してある。
【００３９】
このような状態において、以上の処理が実行されると、図６に示すように、複写元データベース１１−０は、データベース管理装置３１によって引き続き管理され、一方、スナップショット１１−１は、データベース管理装置３２に登録された後、再起動され、独立したデータベースとされる。
【００４０】
以上の実施の形態によれば、ミラーリングされていた一方のデータベースを切り離してスナップショットとするようにしたので、スナップショットを迅速に作成することが可能となる。また、切り離す際に仕掛かり中のトランザクションが存在した場合には、データベースが有している復旧機能を利用することにより、スナップショットを再起動する際にデータの不整合を修正することが可能となる。
【００４１】
次に、本発明の第２の実施の形態について説明する。本発明の第２の実施の形態では、データベースを切り離すまでの処理は、図４に示す場合と同様であるが、切り離した後の処理が異なっている。そこで、切り離した後の処理について、図７を参照して説明する。
【００４２】
［Ｓ４０］データベース管理装置３１は、仕掛かり中であったトランザクションの整合性保証処理を実行する。即ち、データベース管理装置３１は、記憶装置１１ｂ，１１ｄが切り離される際に仕掛かり中であったトランザクションが存在する場合には、例えば、記憶装置１１ａに記憶されている管理情報のＢＩログを利用してデータの修正を行い、データの整合性を保証する。
【００４３】
［Ｓ４１］データベース管理装置３１は、スナップショットのファイル名を適宜変更することにより、複写元データベースとスナップショットとのファイル名の重複を解消する。
【００４４】
［Ｓ４２］データベース管理装置３１は、スナップショットの配置情報を適宜変更することにより、スナップショットを複写元データベースとは異なるデバイスとしてアクセス可能とする。
【００４５】
なお、Ｓ４０〜Ｓ４２の処理は、どれから先に実行してもよい。
図８は、以上に示す処理が実行された後のシステムの概要を示す図である。この図に示すように、以上の実施の形態では、複写元データベース１１−０と、スナップショット１１−１とが同一のデータベース管理装置３１によって管理されることになる。また、スナップショット１１−１に記憶されているデータは、複写元データベース１１−０とは異なるファイル名および配置情報を設定してあるので、同一のデータが格納されているにも拘わらず、これらを別のデバイスとみなしてそれぞれに対してアクセスすることが可能となる。
【００４６】
以上に示したように、本発明の第２の実施の形態によれば、ミラーリングされているデータベースのうち何れか一方を切り離し、そのファイル名および配置情報を適宜変換するようにしたので、ある時刻におけるデータベースのスナップショットを簡易に作成するとともに、複写元データベースとは異なるデバイスとしてアクセス可能としたので、スナップショットを対象として勘定計算等を容易に実行することが可能となる。
【００４７】
次に、本発明の第３の実施の形態について説明する。
図９は、本発明の第３の実施の形態の構成例を示す図である。なお、この図において、図２と対応する部分には、同一の符号を付してあるので、その説明は適宜省略する。
【００４８】
この図の例では、図２の場合と比較して、記憶装置１１ａ，１１ｂがデータベース１０から除外され、ネットワーク２０に直接接続された記憶装置４０によって代替されている。また、データベース管理装置３２が除外されている。その他の構成は、図２の場合と同様である。
【００４９】
次に、以上の実施の形態の動作について説明する。本発明の第３の実施の形態では、ミラーリング運用されているデータベースを切り離してバックアップ用のデータベースとし、他方に障害が発生した場合には、このバックアップ用のデータベースを利用してリカバリを実行する。
【００５０】
図１０は、ミラーリング運用されていたデータベースを分離して、バックアップ用のデータベースを作成する処理の一例を説明するフローチャートである。このフローチャートが開始されると、以下の処理が実行される。
【００５１】
［Ｓ６０］データベース管理装置３１は、ＡＩ（After Image）化ＢＩログ作成フラグを設定する。ここで、ＢＩログは、一時的に作成されるテンポラリなログでありトランザクション終了とともに削除されるため、後述するロールバック処理においてもＢＩログを使用することが可能なように、ＢＩログをＡＩログとして登録する。なお、ＡＩ化ＢＩログ作成フラグとは、ＡＩ化ＢＩログの登録を開始することを示すフラグである。
【００５２】
このフラグが設定されると、記憶装置４０には、ＡＩログとＡＩ化ＢＩログの双方が記録されることになる。
［Ｓ６１］データベース管理装置３１は、ＡＩログ上における反映保証ポイントを獲得する。ここで、反映保証ポイントとは、データベース管理装置３１において実行されたトランザクションの実行結果がどこまで記憶装置１１ｃ，１１ｄに反映されているかを保証する情報である。
【００５３】
［Ｓ６２］データベース管理装置３１は、ＲＡＩＤ１２によるミラーリングを解除し、データ１１ｄを切り離す。
［Ｓ６３］データベース管理装置３１は、トランザクションが終了するまで待ち合わせる。
【００５４】
ここで、トランザクションが終了するまで待ち合わせるのは、仕掛かり中のトランザクションに関するログ等の全ての情報が出力される前にＡＩ化ＢＩログの作成フラグが解除されることを防止するためである。そのようにしないと、ＢＩログは、トランザクションが終了すると同時に削除されてしまうため、後述するリカバリ時において復旧が不能になるからである。
【００５５】
［Ｓ６４］データベース管理装置３１は、ＡＩ化ＢＩログの作成フラグを解除する。
以上の処理により、ミラーリング運用されていたデータベースから、記憶装置１１ｄを切り離して、バックアップ用のデータベースとすることができる。また、ＡＩログとともにＡＩ化ＢＩログを保存するようにしたので、切り離す際に仕掛かり中であったトランザクションを後述するリカバリ時に完遂状態とすることは勿論のこと、無効状態にする（ロールバックする）ことも可能となる。
【００５６】
次に、図１１を参照して、記憶装置１１ｃに障害が発生した場合において実行されるリカバリ処理について説明する。このフローチャートが開始されると、以下の処理が実行される。
【００５７】
［Ｓ８０］データベース管理装置３１は、破壊されたデータベースを復元する。
即ち、データベース管理装置３１は、破壊された記憶装置１１ｃに対して、記憶装置１１ｄに格納されているバックアップデータを複写することにより、データを復元する。
【００５８】
なお、複写する代わりに、記憶装置１１ｃを記憶装置１１ｄによって置換することにより、複写の手間を省略することも可能であるが、その場合にはバックアップデータが存在しなくなるので、別途バックアップデータを生成する必要がある。
【００５９】
［Ｓ８１］データベース管理装置３１は、復旧された記憶装置１１ｄの反映保証ポイント（図１０のＳ６１において取得した情報）を起点としてログを適用し、切り離された時点において仕掛かり中であったトランザクションに係るデータを修復する。具体的には、トランザクションを完遂（コミット）させる場合にはＡＩログを適用し、また、トランザクションを無効化（ロールバック）させる場合にはＡＩ化ＢＩログを適用する。
【００６０】
［Ｓ８２］データベース管理装置３１は、復旧ポイントである現時点におけるデータまでログの適用処理を実行し、記憶装置１１ｃのデータに存在する不整合を修復する。
【００６１】
以上の処理によれば、ミラーリング運用されていた一方のデータベースをバックアップデータとして用いることが可能となるので、バックアップ処理に必要な時間を短縮化することが可能となる。
【００６２】
また、ミラーリングがトランザクションの仕掛かり中に解除された場合であっても、データが有する不整合を修復し、完全な形でバックアップを行うことが可能となる。
【００６３】
次に、図１２および図１３を参照して以上のフローチャートの具体的な動作について説明する。
図１２は、以上のフローチャートの具体的な処理の流れの概略を説明する図である。なお、この図において、ディスク＃１は、図９に示す記憶装置１１ｃに対応しており、また、ディスク＃２は図９に示す記憶装置１１ｄに対応している。また、横軸は時間を示している。
【００６４】
この図に示すように、時刻ｔ１においては、ディスク＃１とディスク＃２は、ミラーリング運用されており、双方のディスクには同一の内容が格納されている。
【００６５】
時刻ｔ２においては、ディスク＃２が切り離（切断）され、バックアップ用のデータベースとされる。このとき、仕掛かり中のトランザクションが存在する場合には、管理情報に全ての情報（ＡＩログおよびＡＩ化ＢＩログ等）が書き込まれるまで、トランザクションの終了を待ち合わせる。
【００６６】
時刻ｔ３においては、現用系であるディスク＃１に障害が発生している。
時刻ｔ４においては、ディスク＃２に格納されているバックアップ用データと、管理情報であるＡＩログおよびＡＩ化ＢＩログ等を参照して、ディスク＃１のリカバリ処理を実行する。なお、時刻ｔ２の切断時において、仕掛かり中のトランザクションが存在した場合には、ディスク＃２に書き込まれたデータは不整合を生じている場合があるが、トランザクションの完了まで待ち合わせを行い、また、ＢＩログをＡＩ化して保存しておくことにより、そのような不整合を修正して、正確なデータによりリカバリを行うことが可能となる。
【００６７】
次に、図１３を参照して、ログの適用処理に関する説明を行う。なお、この図において横軸は時間を示している。
先ず、時刻ｔ１の直前において、トランザクションＴＲ−Ａがコミットされ、データベースの所定のデータが１から２に変化し、この変化を示すＡＩログが生成されて管理情報として格納される。
【００６８】
続いて、時刻ｔ１では、切り離しのための処理が開始され、ＡＩ化ＢＩフラグが設定される（図１０のステップＳ６０）。
続いて、時刻ｔ２では、トランザクションの結果が反映されたポイントである反映保証ポイントが取得される（図１０のステップＳ６１）。
【００６９】
続いて、時刻ｔ３では、ミラーリングが解除され、記憶装置１１ｄの切り離しが実行される（ステップＳ６２）。このとき、仕掛かり中のトランザクションＴＲ−Ｂが存在しているので、時刻ｔ４までトランザクションの待ち合わせが行われる（ステップＳ６３）。その際、トランザクションＴＲ−Ｂがコミットした場合には、データベースの所定のデータは２から３に変化し、その変化の状態がＡＩログとして管理情報に格納され、また、ロールバックされた場合には所定のデータは２のままであり、その状態がＡＩ化ＢＩログとして管理情報に格納される。その結果、管理情報には、所定のデータが２（ロールバックされた場合）または３（コミットされた場合）であることを示すログが格納されることになる。
【００７０】
時刻ｔ４の経過後は、トランザクションＴＲ−Ｃが実行され、所定のデータの値は２から４に変化する。なお、この変化の様子は、ＡＩログとして管理情報に格納される。
【００７１】
時刻ｔ５では、ＡＩ化ＢＩフラグを解除する（ステップＳ６４）。その結果、これ以降は、ＢＩログは通常通りに取り扱われる。
時刻ｔ５の経過後は、トランザクションＴＲ−Ｄが実行され、所定のデータの値は４から５に変化することになる。
【００７２】
この後、記憶装置１１ｃに障害が発生してリカバリ処理が実行されたとすると、先ず、記憶装置１１ｄに格納されているデータが記憶装置１１ｃに複写され、続いて、管理情報に格納されているログを、反映保証ポイント以降のものを適用することにより、仕掛かり中のトランザクションに関するデータの修復がなされ、現在値までデータを更新することが可能となる。
【００７３】
以上の処理によれば、ミラーリング運用されているデータベースの一方を切り離してバックアップ用のデータとし、他方に障害が発生した場合には、バックアップ用のデータを用いて復旧を図るとともに、仕掛かり中のトランザクションに対する修復を行ってデータの整合を図るようにしたので、迅速にシステムを復旧することが可能となる。
【００７４】
なお、以上の実施の形態では、障害が発生した記憶装置の全てのデータを復旧の対象として、バックアップ用のデータから複写するようにしたが、データの一部に障害が発生した場合には、その部分のみを対象として復旧を図るようにすることも可能である。そのような処理によれば、リカバリ処理を迅速に実行することが可能となる。
【００７５】
また、以上の実施の形態では、管理情報については、バックアップ用のデータを作成しないようにしたが、管理情報についてもバックアップ用のデータを作成するようにすることも可能であることはいうまでもない。そのような構成にすれば、管理情報を格納した記憶装置に障害が発生した場合にも対処することが可能となる。
【００７６】
最後に、上記の処理機能は、コンピュータによって実現することができる。その場合、データベースシステムが有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述されており、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場へ流通させる場合には、ＣＤ−ＲＯＭ(Compact Disk Read Only Memory)やフレキシブルディスク等の可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行する。
【００７７】
（付記１）  複数のデータベース資材を有するデータベースシステムにおいて、
前記複数のデータベース資材をミラーリングするミラーリング手段と、
前記ミラーリング手段によってミラーリングされた複数のデータベース資材への書き込みを一時的に停止する書き込み停止手段と、
前記ミラーリングされている１以上のデータベース資材を切り離す切り離し手段と、
前記切り離し手段の切り離し対象となっていないデータベース資材への書き込みを再開する書き込み再開手段と、
を有することを特徴とするデータベースシステム。
【００７８】
（付記２）  前記切り離し手段によって切り離されたデータベース資材を、新たなデータベース管理装置に登録する登録手段と、
前記登録手段によって登録がなされたデータベース管理装置を、復旧のために再起動させる再起動手段と、
を有することを特徴とする付記１記載のデータベースシステム。
【００７９】
（付記３）  前記切り離し手段による切り離し時に仕掛かり中であったトランザクションに係るデータの整合性を保証するための修復処理を行う修復処理手段と、
切り離されたデータベース資材を個別のデータとして使用するために配置情報に対して変換処理を施す変換処理手段と、
を有することを特徴とする付記１記載のデータベースシステム。
【００８０】
（付記４）  複数のデータベース資材を有するデータベースシステムにおいて実行されるプログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
前記複数のデータベース資材をミラーリングするミラーリング手段、
前記データベース資材に対するデータの反映保証ポイントを取得する反映保証ポイント取得手段、
前記ミラーリング手段によるミラーリングを解除し、所定のデータベース資材を切り離す切り離し手段、
前記切り離し手段による切り離し時に実行中のトランザクションが存在する場合には、そのトランザクションが終了するまで待ち合わせを行う待ち合わせ手段、
前記切り離し手段による切り離し時のログを含むログを生成して格納するログ格納手段、
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００８１】
（付記５）  コンピュータを複数のデータベース資材を有するデータベースシステムとして機能させるプログラムにおいて、
コンピュータを、
前記複数のデータベース資材をミラーリングするミラーリング手段、
前記ミラーリング手段によってミラーリングされた複数のデータベース資材への書き込みを一時的に停止する書き込み停止手段、
前記ミラーリングされている１以上のデータベース資材を切り離す切り離し手段、
前記切り離し手段の切り離し対象となっていないデータベース資材への書き込みを再開する書き込み再開手段、
として機能させることを特徴とするプログラム。
【００８２】
（付記６）  複数のデータベース資材を有するデータベースシステムにおいて、
前記複数のデータベース資材をミラーリングするミラーリング手段と、
前記データベース資材に対するデータの反映保証ポイントを取得する反映保証ポイント取得手段と、
前記ミラーリング手段によるミラーリングを解除し、所定のデータベース資材を切り離す切り離し手段と、
前記切り離し手段による切り離し時に実行中のトランザクションが存在する場合には、そのトランザクションが終了するまで待ち合わせを行う待ち合わせ手段と、
前記切り離し手段による切り離し時のログを含むログを生成して格納するログ格納手段と、
を有することを特徴とするデータベースシステム。
【００８３】
（付記７）  所定のデータベース資材に障害が発生した場合には、前記切り離し手段によって切り離されたデータベース資材と、前記ログ格納手段に格納されているログとを用いて、障害の復旧を行う障害復旧手段を更に有することを特徴とする付記６記載のデータベースシステム。
【００８４】
（付記８）  複数のデータベース資材を有するデータベースシステムにおいて実行されるプログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
前記複数のデータベース資材をミラーリングするミラーリング手段、
前記ミラーリング手段によってミラーリングされた複数のデータベース資材への書き込みを一時的に停止する書き込み停止手段、
前記ミラーリングされている１以上のデータベース資材を切り離す切り離し手段、
前記切り離し手段の切り離し対象となっていないデータベース資材への書き込みを再開する書き込み再開手段、
として機能させるコンピュータ読み取り可能な記録媒体。
【００８５】
（付記９）  コンピュータを複数のデータベース資材を有するデータベースシステムとして機能させるプログラムにおいて、
コンピュータを、
前記複数のデータベース資材をミラーリングするミラーリング手段、
前記データベース資材に対するデータの反映保証ポイントを取得する反映保証ポイント取得手段、
前記ミラーリング手段によるミラーリングを解除し、所定のデータベース資材を切り離す切り離し手段、
前記切り離し手段による切り離し時に実行中のトランザクションが存在する場合には、そのトランザクションが終了するまで待ち合わせを行う待ち合わせ手段、
前記切り離し手段による切り離し時のログを含むログを生成して格納するログ格納手段、
として機能させることを特徴とするプログラム。
【００８６】
【発明の効果】
以上説明したように本発明では、複数のデータベース資材を有するデータベースシステムにおいて、複数のデータベース資材をミラーリングするミラーリング手段と、ミラーリング手段によってミラーリングされた複数のデータベース資材への書き込みを一時的に停止する書き込み停止手段と、ミラーリングされている１以上のデータベース資材を切り離す切り離し手段と、切り離し手段の切り離し対象となっていないデータベース資材への書き込みを再開する書き込み再開手段と、を有するようにしたので、ミラーリングされているデータベースを用いることにより、ある時刻におけるデータベースのスナップショットを容易に作成することが可能となる。
【００８７】
また、複数のデータベースを有するデータベースシステムにおいて、複数のデータベース資材をミラーリングするミラーリング手段と、データベースに対するデータの反映保証ポイントを取得する反映保証ポイント取得手段と、ミラーリング手段によるミラーリングを解除し、所定のデータベースを切り離す切り離し手段と、切り離し手段による切り離し時に実行中のトランザクションが存在する場合には、そのトランザクションが終了するまで待ち合わせを行う待ち合わせ手段と、切り離し手段による切り離し時のログを含むログを生成して格納するログ格納手段と、を有するようにしたので、ミラーリングされている一方のデータベースを使用してリカバリを迅速に行うことが可能となる。
【図面の簡単な説明】
【図１】  本発明の動作原理を説明する原理図である。
【図２】  本発明の実施の形態の構成例を示す図である。
【図３】  図２に示す実施の形態において、ミラーリングの一方の記憶装置を切り離す処理の一例を説明するフローチャートである。
【図４】  図３に示す処理の実行により、切り離された記憶装置を他の装置に接続するための処理の一例を説明するフローチャートである。
【図５】  スナップショットを切り離す前のシステムの概要を示す図である。
【図６】  スナップショットを切り離した後のシステムの概要を示す図である。
【図７】  本発明の第２の実施の形態の動作を説明するフローチャートである。
【図８】  図７に示すフローチャートの処理の概要を説明する図である。
【図９】  本発明の第３の実施の形態の構成例を示す図である。
【図１０】  ミラーリング運用していたデータベースを分離して、バックアップ用のデータベースを作成する処理の一例を説明するフローチャートである。
【図１１】  記憶装置に障害が発生した場合において実行されるリカバリ処理について説明するフローチャートである。
【図１２】  図１１に示すフローチャートの処理の概要を説明する図である。
【図１３】  図１１に示すフローチャートの処理の概要を説明する図である。
【符号の説明】
１ａ  ミラーリング手段
１ｂ  書き込み停止手段
１ｃ  切り離し手段
１ｄ  書き込み再開手段
１ｅ  修復処理手段
１ｆ  変換処理手段
２  データベース資材
２ａ，２ｂ  データベース
３  データベース資材
３ａ，３ｂ  データベース
１０  データベース
１１  記憶部
１１ａ〜１１ｄ  記憶装置
１２  ＲＡＩＤ
１３  Ｉ／Ｏ
２０  ネットワーク
３１，３２  データベース管理装置
４０  記憶装置
【図１】
0004428887.tif 000002
【図２】
0004428887.tif 000003
【図３】
0004428887.tif 000004
【図４】
0004428887.tif 000005
【図５】
0004428887.tif 000006
【図６】
0004428887.tif 000007
【図７】
0004428887.tif 000008
【図８】
0004428887.tif 000009
【図９】
0004428887.tif 000010
【図１０】
0004428887.tif 000011
【図１１】
0004428887.tif 000012
【図１２】
0004428887.tif 000013
【図１３】
0004428887.tif 000014