(57)【要約】【課題】マスターデータベースの可用性を損なうことなくレプリカデータベースの復旧を素早く行うことができる情報システムを提供すること【解決手段】マスターデータベース１０１の更新中にレプリカデータベース１０２の処理を中断して、その中断したレプリカデータベース１０２のデータを基にレプリカデータベース２０１を再構築する。そして、更新ログ管理表１０３によりマスターデータベース１０１に適用された更新ログを取得しておき、未反映の更新ログを各レプリカデータベース（１０２、２０１）に適応する。【選択図】図９
2014170352.tif 000002
【特許請求の範囲】
【請求項１】
第１システムと、第２システムと、を有する情報システムであって、
前記第１システムは、
マスターデータベースと、
前記マスターデータベースのレプリカを構成する第１レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する第１更新ログ管理表と、
前記第１レプリカデータベースに反映した前記更新ログの通番を管理する第１処理済管理表と、
前記第１処理済管理表と前記第１更新ログ管理表との比較に基づいて、前記第１レプリカデータベースに未反映の前記更新ログを取得して反映させる第１更新ログ反映手段と、
を備え、
前記第２システムは、
前記マスターデータベースのレプリカを構成する第２レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する第２更新ログ管理表と、
前記第２レプリカデータベースに反映した前記更新ログの通番を管理する第２処理済管理表と、
前記第２レプリカデータベースの異常時に前記マスターデータベースへの更新を停止させずに前記第1レプリカデータベースを停止して全データを取得し、取得した全データを用いて前記第２レプリカデータベースを再構築する再構築手段と、
前記第２処理済管理表と前記更新ログ管理表との比較に基づいて、前記第２レプリカデータベースに未反映の前記更新ログを取得して反映させる第２更新ログ反映手段と、
を有する、情報処理システム。
【請求項２】
前記第１処理済通番管理表の管理する通番よりも遅い発生順序を示す通番と関連付けられたデータ列を前記第１更新ログ管理表から削除する第１更新ログ削除手段を有する、請求項１に記載の情報処理システム。
【請求項３】
前記第２処理済通番管理表の管理する通番よりも遅い発生順序を示す通番と関連付けられたデータ列を前記第２更新ログ管理表から削除する第２更新ログ削除手段を有する、請求項１または請求項２に記載の情報処理システム。
【請求項４】
第１システムと、第２システムと、第３システムと、を有する情報システムであって、
前記第１システムは、
マスターデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する第１更新ログ管理表と、
前記第１レプリカデータベースに反映した前記更新ログの通番を管理する第１処理済管理表と、を備え、
前記第２システムは、
前記マスターデータベースのレプリカを構成する第１レプリカデータベースと、
前記第１処理済管理表と前記第１更新ログ管理表との比較に基づいて、前記第１レプリカデータベースに未反映の前記更新ログを取得して反映させる第１更新ログ反映手段と、
を備え、
前記第２システムは、
前記マスターデータベースのレプリカを構成する第２レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する第２更新ログ管理表と、
前記第２レプリカデータベースに反映した前記更新ログの通番を管理する第２処理済管理表と、
前記第２レプリカデータベースの異常時に前記マスターデータベースへの更新を停止させずに前記第1レプリカデータベースを停止して全データを取得し、取得した全データを用いて前記第２レプリカデータベースを再構築する再構築手段と、
前記第２処理済管理表と前記更新ログ管理表との比較に基づいて、前記第２レプリカデータベースに未反映の前記更新ログを取得して反映させる第２更新ログ反映手段と、
を有する、情報処理システム。
【請求項５】
マスターデータベースと、
前記マスターデータベースのレプリカを構成する第１及び第２レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する更新ログ管理表と、
前記第１レプリカデータベースに反映した前記更新ログの通番を管理する第１処理済管理表と、
前記第２レプリカデータベースに反映した前記更新ログの通番を管理する第２処理済管理表と、
前記第２レプリカデータベースの異常時に前記マスターデータベースへの更新を停止させずに前記第1レプリカデータベースを停止して全データを取得し、取得した全データを用いて前記第２レプリカデータベースを再構築する再構築手段と、
前記第１処理済管理表と前記第１更新ログ管理表との比較に基づいて、前記第１レプリカデータベースに未反映の前記更新ログを取得して反映させる第１更新ログ反映手段と、
前記第２処理済管理表と前記更新ログ管理表との比較に基づいて、前記第２レプリカデータベースに未反映の前記更新ログを取得して反映させる第２更新ログ反映手段と、
を有する、情報処理システム。
【請求項６】
マスターデータベース、第1レプリカデータベース、第２レプリカデータベースを備える情報システムにおけるデータベース復旧方法であって、
前記マスターデータベースの更新中に前記第１レプリカデータベースの処理を中断し、その中断した第１レプリカデータベースのデータを基に第２レプリカデータベースを再構築し、
更新ログ管理表により前記マスターデータベースに適用された更新ログを取得しておき、未反映の更新ログを前記第１レプリカデータベース及び前記第２レプリカデータベースに反映する、データベース復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報システムおよびデータベース復旧方法に関し、特にレプリケーション機能を有する情報システムおよびデータベース復旧方法に関する。
【背景技術】
【０００２】
各種システム内のデータベースは多重化されることが一般的である。フロントシステムのマスターデータベースを基にバックアップシステムのレプリカデータベースにレプリケーションを行う方法として、フロントシステムのマスターデータベースを更新した際の更新ログをバックアップシステムに非同期で転送し、この更新ログを用いた同様の更新処理をバックアップシステムにおいて実行する方式が挙げられる。このような非同期レプリケーションを行う場合、同期方式でレプリケーションを行う場合に比べてフロントシステムの処理に与える影響を軽減できる。これによりレプリケーション処理によるフロントシステム処理のスループット低下という問題を軽減することができる。
【０００３】
非同期レプリケーションを行う場合、レプリケーションの開始直前にマスターデータベースとレプリカデータベースのデータ状態を一致させる必要がある。そのため、レプリカデータベースの障害が生じた場合等にレプリケーションを再開するためには、（１）マスターベータベースの全データの取得、（２）取得した全データを用いたレプリカデータベースの再構築、といった処理が必要となる。例えば特許文献１には、当該手法の一態様が開示されている。しかしながら特許文献１の手法では、マスターデータベースに対して常時更新が生じるような場合（例えばオンライントランザクション処理システムにおいてマスターデータベースが使用される場合）、マスターデータベースから整合性の保たれた状態で全データを取得するために、マスターデータベースへの更新を停止する必要がある。このため、マスターベータベースの可用性が低下してしまっていた。
【０００４】
そこで、マスターデータベースへの更新を停止させずにマスターデータベースから全データを取得してレプリカデータベースを復旧する方法が提案されている。本方式では、マスターデータベースを無停止のまま全データを取得するため、取得したデータは整合性を保っていない状態となる。そのため本方式では、取得したデータを基にレプリカデータベースを復旧し、マスターベータベースからのデータ取得時に生じた更新内容を解析し、更新内容をレプリカデータベースに反映させる必要がある。
【０００５】
これに対し、例えば特許文献２では、マスターデータベースからのデータ取得中に生じたデータ更新ジャーナルを用いてレプリカデータベースの整合性を保つ手法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２５７４１６号公報
【特許文献２】特開２００８−２５０７１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２に記載の手法では、トランザクション単位でレプリカデータベースの各レコードの整合性を保った状態に復旧することが可能となる。しかし特許文献２の手法では、マスターデータベースから取得した全データをレプリカデータベースに入力した後に、マスターデータベースからのデータ取得中に生じた各トランザクションをレプリカデータベースに反映させるか否かの判断を行う必要がある。このようにマスターベータベースを停止させずにレプリカデータベースを復旧する場合、マスターデータベースの解析等が必要となり、レプリカデータベースの復旧に時間を要するという問題が生じていた。
【０００８】
本発明は上記の問題に鑑みてなされたものであり、マスターデータベースの可用性を損なうことなくレプリカデータベースの復旧を素早く行うことができる情報システムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００９】
本発明にかかる情報システムの一態様は、
第１システムと、第２システムと、を有する情報システムであって、
前記第１システムは、
マスターデータベースと、
前記マスターデータベースのレプリカを構成する第１レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する第１更新ログ管理表と、
前記第１レプリカデータベースに反映した前記更新ログの通番を管理する第１処理済管理表と、
前記第１処理済管理表と前記第１更新ログ管理表との比較に基づいて、前記第１レプリカデータベースに未反映の前記更新ログを取得して反映させる第１更新ログ反映手段と、
を備え、
前記第２システムは、
前記マスターデータベースのレプリカを構成する第２レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する第２更新ログ管理表と、
前記第２レプリカデータベースに反映した前記更新ログの通番を管理する第２処理済管理表と、
前記第２レプリカデータベースの異常時に前記マスターデータベースへの更新を停止させずに前記第1レプリカデータベースを停止して全データを取得し、取得した全データを用いて前記第２レプリカデータベースを再構築する再構築手段と、
前記第２処理済管理表と前記更新ログ管理表との比較に基づいて、前記第２レプリカデータベースに未反映の前記更新ログを取得して反映させる第２更新ログ反映手段と、
を有する、ものである。
【００１０】
本発明にかかる情報システムの一態様は、
マスターデータベースと、
前記マスターデータベースのレプリカを構成する第１及び第２レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する更新ログ管理表と、
前記第１レプリカデータベースに反映した前記更新ログの通番を管理する第１処理済管理表と、
前記第２レプリカデータベースに反映した前記更新ログの通番を管理する第２処理済管理表と、
前記第２レプリカデータベースの異常時に前記マスターデータベースへの更新を停止させずに前記第1レプリカデータベースを停止して全データを取得し、取得した全データを用いて前記第２レプリカデータベースを再構築する再構築手段と、
前記第１処理済管理表と前記第１更新ログ管理表との比較に基づいて、前記第１レプリカデータベースに未反映の前記更新ログを取得して反映させる第１更新ログ反映手段と、
前記第２処理済管理表と前記更新ログ管理表との比較に基づいて、前記第２レプリカデータベースに未反映の前記更新ログを取得して反映させる第２更新ログ反映手段と、
を有する、情報処理システム。
【００１１】
本発明にかかるデータベース復旧方法の一態様は、
マスターデータベース、第1レプリカデータベース、第２レプリカデータベースを備える情報システムにおけるデータベース復旧方法であって、
前記マスターデータベースの更新中に前記第１レプリカデータベースの処理を中断し、その中断した第１レプリカデータベースのデータを基に第２レプリカデータベースを再構築し、
更新ログ管理表により前記マスターデータベースに適用された更新ログを取得しておき、未反映の更新ログを前記第１レプリカデータベース及び前記第２レプリカデータベースに反映する、ものである。
【発明の効果】
【００１２】
本発明では、マスターデータベースの可用性を損なうことなくレプリカデータベースの復旧を素早く行うことができる情報システムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１にかかる情報システムの構成を示すブロック図である。
【図２】実施の形態１にかかる処理済通番管理表１０７の構成例を示す概念図である。
【図３】実施の形態１にかかる処理済通番管理表２０５の構成例を示す概念図である。
【図４】実施の形態１にかかるレプリカデータベース２０１の復旧手順を示すフローチャートである。
【図５】実施の形態１にかかる処理済通番管理表１０７及び処理済通番管理表２０５のデータ列の変化を示す概念図である。
【図６−１】実施の形態２にかかる情報システムの構成を示すブロック図である。
【図６−２】実施の形態２にかかる情報システムの構成を示すブロック図である。
【図７】実施の形態２にかかるレプリカデータベース２０１の復旧手順を示すフローチャートである。
【図８−１】実施の形態２にかかる処理済通番管理表のデータ遷移を示す図である。
【図８−２】実施の形態２にかかる処理済通番管理表のデータ遷移を示す図である。
【図８−３】実施の形態２にかかる処理済通番管理表のデータ遷移を示す図である。
【図８−４】実施の形態２にかかる処理済通番管理表のデータ遷移を示す図である。
【図９】本発明にかかる情報システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。図１は、本実施の形態にかかる情報システムの構成を示すブロック図である。当該情報システムは、フロントシステム１とバックアップシステム２を含む。フロントシステム１及びバックアップシステム２は、例えば一般的なＩＴシステムにおけるサーバ装置である。フロントシステム１とバックアップシステム２は、インターネットを通じて相互に通信可能に構成されている。
【００１５】
フロントシステム１（第１システム）は、マスターデータベース１０１、レプリカデータベース１０２、更新ログ格納手段１０３、更新ログ管理表１０４、更新ログ反映手段１０５、更新ログ送信手段１０６、処理済通番管理表１０７、更新ログ削除手段１０８、及び更新ログ処理制御手段１０９を有する。
【００１６】
バックアップシステム２（第２システム）は、レプリカデータベース２０１、更新ログ受信手段２０２、更新ログ管理表２０３、更新ログ反映手段２０４、処理済通番管理表２０５、更新ログ削除手段２０６、更新ログ処理制御手段２０７、及び再構築手段２０８を有する。
【００１７】
はじめにフロントシステム１内の各処理部について説明する。マスターデータベース１０１は、レプリカデータベース１０２及びレプリカデータベース２０１のレプリケーション元となるデータベースである。マスターデータベース１０１は、一般的なアプリケーションソフトウェアからデータ入力、更新等が行われるデータベースである。
【００１８】
レプリカデータベース１０２は、マスターデータベース１０１からコピーしたデータが格納されるデータベースである。
【００１９】
更新ログ格納手段１０３は、任意のアプリケーションがマスターデータベース１０１を更新した場合に、その更新ログを更新ログ管理表１０４に格納する。すなわち更新ログ格納手段１０３は、各種アプリケーションの一機能として実現される。更新ログ格納手段１０３は、更新ログ管理表１０４に更新ログを格納すると同時に更新ログの発生順序を示す通番を関連付けて格納する。
【００２０】
更新ログ管理表１０４は、マスターデータベース１０１に対して行われたデータベーストランザクションを把握可能な更新ログと、更新ログの発生順序を示す通番と、が関連付けられたデータ列を格納するテーブルである。なお更新ログ管理表１０４は、フロントシステム１のハードディスク上等に設けられ、そのデータ容量が限られている場合や一定データ量以下に抑えられた方がよい場合が一般的である。そのため、後述する更新ログ削除手段１０８は、不要となった更新ログ管理表１０４内のデータ列を削除する。
【００２１】
処理済通番管理表１０７は、各処理手段の処理済みとなった処理の情報を通番形式で保持するテーブルである。図２は、処理済通番管理表１０７の構成例を示す概念図である。当該テーブルには、更新ログ反映手段１０５が最後に終了した処理済通番と、更新ログ送信手段１０６が最後に終了した処理済通番と、が格納されている。
【００２２】
更新ログ反映手段１０５は、一定時間毎に更新ログ管理表１０４及び処理済通番管理表１０７を参照する。更新ログ反映手段１０５は、更新ログ管理表１０４に格納されている最新の通番と、処理済通番管理表１０７における更新ログ反映手段１０５に関する処理済通番と、が等しいかを判定する。等しくない場合、更新ログ反映手段１０５は更新ログ管理表１０４からレプリカデータベース１０２に未反映の更新ログと当該更新ログと関連付けられた通番を取得する。そして更新ログ反映手段１０５は、取得した更新ログを用いてレプリカデータベース１０２を更新する。更新ログ反映手段１０５は、当該更新が完了した後に当該更新にかかる更新ログの通番を用いて処理済通番管理表１０７内の処理済通番を更新する。
【００２３】
更新ログ送信手段１０６は、一定時間毎に更新ログ管理表１０４及び処理済通番管理表１０７を参照する。更新ログ送信手段１０６は、更新ログ管理表１０４に格納されている最新の通番と、処理済通番管理表１０７における更新ログ送信手段１０６に関する処理済通番と、が等しいかを判定する。等しくない場合、更新ログ送信手段１０６は更新ログ管理表１０４からバックアップシステム２に未送信の更新ログを取得する。そして更新ログ送信手段１０６は、未送信の更新ログ及びその通番情報をバックアップシステム２に送信する。更新ログ送信手段１０６は、当該送信が完了した後に、処理済通番管理表１０７内の処理済通番を更新する。
【００２４】
更新ログ反映手段１０５及び更新ログ送信手段１０６は、マスターデータベース１０１を更新する各種アプリケーションとは非同期に動作を行う。そのため各種アプリケーションがデータベースのレプリケーションのために行う操作は、更新ログ格納手段１０３による更新ログ管理表１０４へのデータ格納のみとなる。
【００２５】
更新ログ削除手段１０８は、定期的に処理済通番管理表１０７を参照し、削除可能な更新ログを判定する。当該判定は、例えば更新ログ管理表１０４内に格納された全てのデータ列において、処理済通番管理表１０７において記述された処理済通番よりも小さな通番と関連付けられたデータ列を削除可能と判断する。例えば処理済通番管理表１０７が図２の状態である場合、更新ログ削除手段１０８は、更新ログ管理表１０４内の通番８以下のデータ列が削除可能であると判定する。
【００２６】
更新ログ処理制御手段１０９は、更新ログ反映手段１０５及び更新ログ送信手段１０６の処理の開始／停止を制御する。さらに更新ログ処理制御手段１０９は、処理済通番管理表１０７に対してデータ列を追加／削除する。
【００２７】
続いてバックアップシステム２内の各構成について説明する。処理済通番管理表２０５５は、図２に示す処理済通番管理表１０７と同様のテーブルであり、例えば図３に示す構成のテーブルである。処理済通番管理表２０５は、更新ログ受信手段２０２の処理済通番と、更新ログ反映手段２０４の処理済通番と、を管理する。
【００２８】
更新ログ受信手段２０２は、フロントシステム１の更新ログ送信手段１０６から送信された更新ログ及び通番情報を受信し、受信した更新ログ及び通番情報を更新ログ管理表２０３に格納する。また更新ログ受信手段２０２は、更新ログ管理表２０３の更新後に処理済通番管理表２０５の更新（更新ログ受信手段２０２にかかるデータ列の通番の更新）を行う。
【００２９】
更新ログ管理表２０３は、更新ログ管理表１０４と同等のデータ列を保持するテーブルである。すなわち更新ログ管理表２０３は、更新ログと通番を関連付けたデータ列を複数保持する。
【００３０】
更新ログ反映手段２０４は、更新ログ反映手段１０５と略同一の処理を行うものである。すなわち更新ログ反映手段２０４は、一定時間毎に更新ログ管理表２０３及び処理済通番管理表２０５を参照し、更新ログ管理表２０３からレプリカデータベース２０１に未反映の更新ログを取得し、取得した更新ログをレプリカデータベース２０１に反映する。更新ログ反映手段２０４は、当該更新が完了した後に、当該更新にかかる更新ログの通番を用いて処理済通番管理表２０５内の処理済通番を更新する。
【００３１】
更新ログ削除手段２０６は、更新ログ削除手段１０８と略同一の処理を行うものである。すなわち更新ログ削除手段２０６は、定期的に処理済通番管理表２０５を参照し、更新ログ管理表２０３から削除可能な更新ログを判定し、削除可能な更新ログを更新ログ管理表２０３から削除する。
【００３２】
更新ログ処理制御手段２０７は、更新ログ処理制御手段１０９と略同一の処理を行うものである。すなわち更新ログ処理制御手段２０７は、更新ログ受信手段２０２及び更新ログ反映手段２０４の処理の開始／終了を制御する。さらに更新ログ処理制御手段２０７は、処理済通番管理表２０５に対してデータ列を追加／削除する。
【００３３】
再構築手段２０８は、レプリカデータベース２０１の再構築時に、レプリカデータベース１０２から全データを取得し、取得した全データを初期化状態のレプリカデータベース２０１に挿入することにより再構築する。
【００３４】
続いて、本実施の形態にかかる情報システムにおいてバックアップシステム２内のレプリカデータベース２０１を復旧する具体的な処理について説明する。はじめにレプリカデータベース２０１に障害が発生した場合における非同期レプリケーションの停止動作について説明する。
【００３５】
レプリカデータベース２０１に障害が発生した場合、更新ログ処理制御手段１０９は、レプリカデータベース２０１へのレプリケーションを停止するために更新ログ送信手段１０６の動作を停止する。そして更新ログ処理制御手段１０９は、処理済通番管理表１０７に格納されている更新ログ送信手段１０６に関するデータ列を削除する。
【００３６】
なお更新ログ格納表１０４に格納された更新ログは、更新ログ反映手段１０５によってレプリカデータベース１０２に反映された後に更新ログ削除手段１０８による削除対象となる。
【００３７】
バックアップシステム２において、更新ログ処理制御手段２０７は、更新ログ反映手段２０４及び更新ログ受信手段２０２の動作を停止する。更新ログ処理制御手段２０７は、処理済通番管理表２０５から更新ログ反映手段２０４及び更新ログ受信手段２０２に関するデータ列を削除する。これにより更新ログ管理表２０３に格納された更新ログは、更新ログ削除手段２０６により削除される。以上がレプリカデータベース２０１を復旧する前に行う前処理、すなわち非同期レプリケーションの停止動作である。
【００３８】
この状態からのレプリカデータベース２０１の復旧手順を図４及び図５を参照して説明する。図４は、レプリカデータベース２０１の復旧手順を示すフローチャートである。図５は、処理済通番管理表１０７及び処理済通番管理表２０５のデータ列の変化を示す概念図である。
【００３９】
はじめに更新ログ処理制御手段１０９は、更新ログ反映手段１０５の動作を停止する（Ｓ１０１）。これによりレプリカデータベース１０２の更新が停止する。この更新の停止により、レプリカデータベース１０２の全データを整合性のある状態でコピーすることが可能な状態となる。
【００４０】
再構築手段２０８はレプリカデータベース１０２の全データを取得する（Ｓ１０２）。ここで取得した全データは、処理済通番管理表１０７における更新ログ反映手段１０５のデータ列の処理済通番までの各更新ログが反映された後のデータとなる。例えば図５では、更新ログ反映手段１０５が通番１００の更新ログを反映した後のデータが取得される。
【００４１】
更新ログ処理制御手段１０９は、処理済通番管理表１０７から更新ログ反映手段１０５の処理済通番を取得する。更新ログ処理制御手段１０９は、取得した更新ログ反映手段１０５の処理済通番をバックアップシステム２の更新ログ処理制御手段２０７に送信する（Ｓ１０３）。
【００４２】
更新ログ処理制御手段１０９は、処理済通番管理表１０７内の更新ログ送信手段１０６の処理済通番を更新ログ反映手段１０５の通番と同じ値に設定する（Ｓ１０４）。例えば図５の例では更新ログ処理制御手段１０９は、更新ログ送信手段１０６の処理済通番を更新ログ反映手段１０５と同じ値である"１００"に設定する。
【００４３】
更新ログ処理制御手段１０９は、この後に更新ログ反映手段１０５の処理を開始させ、レプリカデータベース１０２へのレプリケーションを再開させる（Ｓ１０５）。更新ログ反映手段１０５の処理が再開した場合であっても、更新ログ送信手段１０６は停止したままとなる。そのため、処理済通番管理表１０７における更新ログ送信手段１０６の処理済通番は変更されない。よって、Ｓ１０２の処理の後に生じた更新ログは、更新ログ管理表１０４内に保持される。
【００４４】
バックアップシステム２において、再構築手段２０８はＳ１０２において取得したレプリカデータベース１０２の全データを基にレプリカデータベース２０１を再構築する（Ｓ１０６）。その後に更新ログ処理制御手段２０７は、更新ログ処理制御手段１０９から受信した更新ログ反映手段１０５の処理済通番を、更新ログ受信手段２０２及び更新ログ反映手段２０４の処理済通番として処理済通番管理表２０５に格納する（Ｓ１０７）。図５の例では更新ログ処理制御手段２０７は、更新ログ受信手段２０２及び更新ログ反映手段２０４の処理済通番として"１００"を処理済通番管理表２０５に格納する。
【００４５】
その後に更新ログ処理制御手段１０９は、更新ログ送信手段１０６の処理を再開する（Ｓ１０８）。また更新ログ処理制御手段２０７は、更新ログ受信手段２０２及び更新ログ反映手段２０４の処理を再開する（Ｓ１０８）。なお更新ログ処理制御手段１０９及び更新ログ処理制御手段２０７は互いにどの処理が終了しているかを定期的に相互通知し、上記の開始タイミングを決定する。
【００４６】
上記の処理によりＳ１０２の全データ取得よりも後に発生した更新ログが、処理再開された更新ログ送信手段１０６によって更新ログ受信手段２０２に送信される。そして更新ログ反映手段２０４は、レプリカデータベース２０１への更新ログの反映処理を行う。この結果、レプリカデータベース２０１の完全復旧が終了する。
【００４７】
なお上述のＳ１０４〜Ｓ１０５の処理とＳ１０６〜Ｓ１０８の処理は独立している。そのため、どちらの処理が先に実行されもよい。両方の処理が終了した後に、マスターデータベース１０１からレプリカデータベース２０１への非同期レプリケーションが再開する。
【００４８】
続いて本実施の形態にかかる情報システムの効果について説明する。本実施の形態にかかる情報システムは、レプリカデータベース２０１の復旧時にマスターデータベース１０１を停止させることなく動作させ続けている。このため、レプリカデータベース２０１の復旧作業に起因するマスターデータベースの性能低下が生じない。
【００４９】
またレプリカデータベース２０１の復旧時に再構築手段２０８が使用する全データは既に整合性のあるデータとなっている。そのため、更新ログの解析等の作業を要することなく、差分となる更新ログを反映するだけでレプリカデータベース１０２及び２０１を使用した非同期レプリケーションを再開することが可能となる。
【００５０】
さらに更新ログ削除手段１０８が更新ログ管理表１０４から不要なデータ列を削除している。これにより、フロントシステム１におけるディスク容量の圧迫を回避することができる。
【００５１】
＜実施の形態２＞
本実施の形態にかかる情報システムは、マスターデータベース１０１と異なるシステム内にレプリカデータベースが存在することを特徴とする。本実施の形態にかかる情報システムについて実施の形態１とは異なる点を以下に説明する。
【００５２】
図６−１及び図６−２は、本実施の形態にかかる情報システムの構成を示すブロック図である。本実施の形態にかかる情報システムは、フロントシステム１に加えて２つのバックアップシステム（バックアップシステム２、バックアップシステム３）を有する。なお、実施の形態１と同一構成については同一名称、同一符号を付し、その詳細な説明は適宜省略する。
【００５３】
フロントシステム１は、図１の構成と比べてレプリカデータベース１０２及び更新ログ反映手段１０５を有さない。これに代わりフロントシステム１は、更新ログ送信手段１１０を有する。更新ログ送信手段１０６はバックアップシステム２に対して更新ログを送信し、更新ログ送信手段１１０はバックアップシステム３に対して更新ログを送信する。処理済通番管理表１０７は、更新ログ送信手段１１０の処理済通番も管理する。
【００５４】
バックアップシステム２の構成は図１の構成と同様であり、各処理手段は実施の形態１と同様に動作する。
【００５５】
バックアップシステム３は、レプリカデータベース３０１、更新ログ受信手段３０２、更新ログ管理表３０３、更新ログ反映手段３０４、処理済通番管理表３０５、更新ログ削除手段３０６、更新ログ処理制御手段３０７、及び再構築手段３０８を有する。バックアップシステム３は、バックアップシステム２と略同一の構成を有する。すなわちレプリカデータベース３０１はレプリカデータベース２０１と略同一の構成を有する。更新ログ受信手段３０２は更新ログ受信手段２０２と略同一の機能を有する。更新ログ管理表３０３は更新ログ管理表３０３と略同一のデータを管理する。更新ログ反映手段３０４は更新ログ反映手段２０４と略同一の機能を有する。処理済通番管理表３０５は処理済通番管理表２０５と略同一のデータを管理する。更新ログ削除手段３０６は更新ログ削除手段２０６と略同一の機能を有する。更新ログ処理制御手段３０７は更新ログ処理制御手段２０７と略同一の機能を有する。再構築手段３０８は再構築手段２０８と略同一の機能を有する。
【００５６】
続いて、本実施の形態にかかる情報システムにおいてバックアップシステム２内のレプリカデータベース２０１を復旧する場合の具体的な処理について説明する。レプリカデータベース２０１に障害が発生した場合における非同期レプリケーションの停止動作については、実施の形態１と略同一の処理であるため詳細説明は省略する。
【００５７】
続いてレプリカデータベース２０１の復旧手順を図７及び図８−１〜図８−４を参照して説明する。図７は、本実施の形態にかかるレプリカデータベース２０１の復旧手順を示すフローチャートである。図８−１〜図８−４は、処理済通番管理表１０７、処理済通番管理表２０５、及び処理済通番管理表３０５のデータ列の変化を示す概念図である。
【００５８】
本実施の形態では、更新ログ処理制御手段１０９は、処理済通番管理表１０７の更新ログ送信手段１０６の処理済通番を取得し、その値を更新ログ送信手段１１０の処理済通番として処理済通番管理表１０７に登録する（Ｓ２０１）。また更新ログ処理制御手段１０９は、更新ログ処理制御手段３０７を介して更新ログ反映手段３０４に対し、Ｓ２０１で書き込んだ処理済通番までの更新ログの反映を指示する。これに応じて更新ログ反映手段３０４は、レプリカデータベース３０１に対する更新ログの反映処理を実行する（Ｓ２０２）。
【００５９】
このＳ２０１及びＳ２０２は、Ｓ１０２において取得する全データより後に反映する更新ログが更新ログ管理表１０４内に確実に残されるために行うための処理である。Ｓ２０１を行うことにより、更新ログ削除手段１０８は、更新ログ送信手段１１０が送信していない更新ログを削除しない。これによりレプリカデータベース３０１に反映されていない更新ログが削除されることが無くなる。よってレプリカデータベース２０１に反映すべき更新ログが更新ログ管理表１０４から削除されないようにすることができる。
【００６０】
なおＳ２０２以降の処理（Ｓ１０１〜Ｓ１０９）は、レプリカデータベースが共にバックアップシステム内にあるため制御対象が若干異なるものの、実施の形態１と略同一の処理である。そのため詳細な説明は省略する。
【００６１】
図８−１は、Ｓ２０１実行前の状態を示す。図８−２は、Ｓ２０２実行後の状態を示す。図示するように処理済通番管理表１０７内の更新ログ送信手段１０６の通番が"１００"（更新ログ送信手段１１０）と同じ値に設定されている。
【００６２】
図８−３は、Ｓ２０２実行後の状態を示す。更新ログ反映手段３０４が通番"１００"まで処理を進めるため、処理済通番管理表３０５内の更新ログ反映手段３０４の処理済通番が"１００"となる。
【００６３】
図８−４は、Ｓ１０４及びＳ１０７の処理が終了した状態を示す。Ｓ１０６においてレプリカデータベース２０１のデータ再構築を行い、Ｓ１０７において処理済通番管理表２０５の更新を行っているため、処理済通番管理表２０５内の更新ログ受信手段２０２及び更新ログ反映手段２０４の処理済通番は共に"１００"となっている。
【００６４】
続いて本実施の形態にかかる情報システムの効果について説明する。上述のように本実施の形態にかかる情報システムは、複数のバックアップシステムを有し、フロントシステム内にレプリカデータベースを有さない構成である。実施の形態１の構成では、同一システム内にあるマスターデータベース１０１からレプリカデータベース１０２へのデータコピーを速やかに行えるものの、フロントシステム１に障害（例えば自然災害）が生じた場合に可用性が低いという問題があった。
【００６５】
一方、本実施の形態にかかる情報システムでは、フロントシステム１はレプリカデータベースを有さず、複数のバックアップシステムがそれぞれレプリカデータベースを有する構成である。これにより、マスターデータベースとレプリカデータベースに対して同時に障害が生じる可能性が減少し、システム全体としての可用性を高めることができる。
【００６６】
上述した実施の形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施の形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
【００６７】
上述のフロントシステム１、の各処理手段（更新ログ格納手段１０３、更新ログ反映手段１０５、更新ログ送信手段１０６、更新ログ削除手段１０８、更新ログ処理制御手段１０９、更新ログ送信手段１１０）は任意のコンピュータ内で動作するプログラムとして実現することが可能である。バックアップシステム２、及びバックアップシステム３の各処理手段についても同様である。
【００６８】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６９】
最後に図９を参照して本発明の概略を改めて説明する。図９は、本発明にかかる情報システムの本質的な処理手段を示すブロック図である。
【００７０】
レプリカデータベース１０２及びレプリカデータベース２０１は、マスターデータベース１０１のレプリカとなるデータベースである。更新ログ管理表１０４は、マスターデータベース１０１に適応されたトランザクションを示す更新ログと、更新ログの発生順序を示す通番と、を関連付けて保持する。処理済通番管理表１０７は、レプリカデータベース１０２に反映された更新ログの通番を管理する。処理済通番管理表２０５は、レプリカデータベース２０１に反映された更新ログの通番を管理する。再構築手段２０８は、レプリカデータベース２０１の異常時にマスターデータベース１０１の更新を停止させずにレプリカデータベース１０２を停止して全データを取得し、取得した全データを用いてレプリカデータベース２０１を再構築する。更新ログ反映手段１０５は、処理済通番管理表１０４と更新ログ管理表１０４の比較に応じて未反映の更新ログをレプリカデータベース１０２に適応する。同様に更新ログ反映手段２０４は、処理済通番管理表２０５と更新ログ管理表１０４との比較に応じて未反映の更新ログをレプリカデータベース２０１に適応する。
【００７１】
なお図１の構成では、更新ログ送信手段１０６、更新ログ受信手段２０２、更新ログ管理表２０３を明記したが、必ずしもこれに限られない。すなわち本発明にかかる情報システムは、マスターデータベースの更新中に一方のレプリカデータベースの処理を中断して、その中断したレプリカデータベースのデータを基に他方のレプリカデータベースを再構築する。そして、更新ログ管理表によりマスターデータベースへの更新ログを取得しておき、未反映の更新ログを各レプリカデータベースに適応する構成であれば、その内部構成はどのように構成してもよい。
【符号の説明】
【００７２】
１  フロントシステム
１０１  マスターデータベース
１０２  レプリカデータベース
１０３  更新ログ格納手段
１０４  更新ログ管理表
１０５  更新ログ反映手段
１０６  更新ログ送信手段
１０７  処理済通番管理表
１０８  更新ログ削除手段
１０９  更新ログ処理制御手段
１１０  更新ログ送信手段
２  バックアップシステム
２０１  レプリカデータベース
２０２  更新ログ受信手段
２０３  更新ログ管理表
２０４  更新ログ反映手段
２０５  処理済通番管理表
２０６  更新ログ削除手段
２０７  更新ログ処理制御手段
３  バックアップシステム
３０１  レプリカデータベース
３０２  更新ログ受信手段
３０３  更新ログ管理表
３０４  更新ログ反映手段
３０５  処理済通番管理表
３０６  更新ログ削除手段
３０７  更新ログ処理制御手段
【図１】
2014170352.tif 000003
【図２】
2014170352.tif 000004
【図３】
2014170352.tif 000005
【図４】
2014170352.tif 000006
【図５】
2014170352.tif 000007
【図６−１】
2014170352.tif 000008
【図６−２】
2014170352.tif 000009
【図７】
2014170352.tif 000010
【図８−１】
2014170352.tif 000011
【図８−２】
2014170352.tif 000012
【図８−３】
2014170352.tif 000013
【図８−４】
2014170352.tif 000014
【図９】
2014170352.tif 000015