(57)【要約】【課題】複数のログ格納領域を備えてログの適用によりリストア処理を行う際に、ソート処理を不要にして迅速に回復可能なデータベースを提供する。【解決手段】管理サーバ１０４が、複数のデータ格納領域Ａ〜ＤにアクセスするＤＢサーバ１〜３を割り当て、ＤＢサーバ１〜３が、割り当てられたデータ格納領域Ａ〜Ｄにデータを格納して参照または更新を行いと、更新を行った場合には、データベースサーバ毎に予め設定されたログ領域２１６〜２１８にデータの変更履歴を示すログを格納し、管理サーバ１０４からデータ格納領域Ａ〜Ｄを変更する通知を受けたときには、領域移動ログ３１６〜３１８をログ領域２１６〜２１８に格納する。【選択図】図３
2006268531.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数のデータベースサーバと、
前記データベースサーバのデータを格納する複数のデータ格納領域と、
前記データベースサーバとデータ格納領域の対応関係を管理する管理サーバと、を備えたデータ処理システムにおいて、
前記管理サーバは、
前記複数のデータ格納領域と該データ格納領域にアクセスするデータベースサーバを割り当て、前記データベースサーバに割り当てるデータ格納領域を指示する領域割り当て管理部を有し、
前記データベースサーバは、
前記領域割り当て管理部が該データベースサーバに割り当てた前記データ格納領域を保持する領域管理部と、
前記領域管理部が保持するデータ格納領域にデータを格納して参照または更新を行い、前記更新を行った場合にはデータベースサーバ毎に予め設定されたログ領域にデータの変更履歴を示すログを格納するデータ処理部と、を有し、
前記領域管理部は、前記管理サーバの領域割り当て管理部からデータ格納領域を変更する通知を受けたときには、データ格納領域の変更があったことを示す領域移動ログを前記ログ領域に格納することを特徴とするデータ処理システム。
【請求項２】
前記管理サーバは、
前記各データベースサーバ毎のログ領域に格納された前記領域移動ログを区切りとしたログ集合を単位としてリストア処理を行うリストア制御部を有し、
前記データベースサーバは、
前記リストア制御部からの指令に基づいて、前記ログ領域のログを前記データ格納領域に適用し、データを回復することを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記データ格納領域は、前記各データベースサーバ間で共有可能な第１のストレージ装置に設定され、
前記ログ領域は、前記各データベースサーバがそれぞれ占有する第２のストレージ装置に設定されたことを特徴とする請求項１に記載のデータ処理システム。
【請求項４】
前記データベースサーバは、
前記リストア制御部からの指令に基づいて、前記ログ領域からログを読み込んで、前記領域管理部に保持されたデータ格納領域以外のログを前記リストア制御部に転送するログ読み込み転送部と、
前記リストア制御部から転送されたログまたは、前記ログ読み込み転送部が読み込んだ前記領域管理部に保持されたデータ格納領域に対応するログを当該データベースサーバに割り当てられたデータ格納領域に適用するログ適用部と、を有し、
前記リストア制御部は、
前記領域割り当て管理部の設定に基づいて、受信したログを適用すべきデータベースサーバに送信することを特徴とする請求項２に記載のデータ処理システム。
【請求項５】
前記データベースサーバは、
前記リストア制御部から転送されたログを当該データベースサーバに割り当てられたデータ格納領域に適用するログ適用部を有し、
前記管理サーバは、
前記リストア制御部からの指令に基づいて、前記データベースサーバのログ領域からログを読み込むログ読み込み部を有し、
前記リストア制御部は、
前記領域割り当て管理部の設定に基づいて、前記読み込んだログを適用すべきデータベースサーバに送信することを特徴とする請求項２に記載のデータ処理システム。
【請求項６】
前記ログ読み込み転送部は、
前記領域管理部に保持されたデータ格納領域に対するログは、前記ログ適用部に送り、前記領域移動ログを前記リストア制御部へ転送したときには、前記リストア制御部からの指令を待って次のログを読み込み、
前記リストア制御部は、前記領域移動ログを受信したときには、全てのデータベースサーバのログ読み込み転送部から領域移動ログを受信した後に、前記ログ読み込み転送部へログの読み込みを再開する指令を送信することを特徴とする請求項４に記載のデータ処理システム。
【請求項７】
前記データベースサーバは、
前記リストア制御部からの指令に基づいて、前記管理サーバの領域割り当て管理部からデータベースサーバに割り当てたデータ格納領域の対応関係を取得するログ転送情報格納部と、
前記ログ領域からログを読み込んで、前記ログ転送情報格納部の対応関係に基づいて当該ログをデータベースサーバに転送するログ読み込み振り分け部と、
他のデータベースサーバから受信したログまたは、前記ログ読み込み振り分け部から送られたログを当該データベースサーバに割り当てられたデータ格納領域に適用するログ適用部と、を有することを特徴とする請求項２に記載のデータ処理システム。
【請求項８】
前記ログ読み込み振り分け部は、
前記領域移動ログを転送したときには、当該領域移動ログの読み込みを前記リストア制御部に通知した後、リストア制御部からの指令を待って次のログを読み込み、
前記リストア制御部は、前記領域移動ログの読み込み通知を受信したときには、全てのデータベースサーバのログ読み込み振り分け部から領域移動ログの読み込み通知を受信した後に、前記ログ読み込み振り分け部へログの読み込みを再開する指令を送信することを特徴とする請求項７に記載のデータ処理システム。
【請求項９】
前記ログ領域は、前記データベースサーバに割り当てられたデータ格納領域の履歴を格納するログ管理領域を含み、
前記領域管理部は、前記管理サーバの領域割り当て管理部からデータ格納領域を変更する通知を受けたときには、新たなデータ格納領域を前記ログ管理領域に格納することを特徴とする請求項１に記載のデータ処理システム。
【請求項１０】
前記管理サーバは、
前記各データベースサーバにリストア処理を指令するリストア制御部を有し、
前記データベースサーバは、
前記領域管理部が、前記リストア制御部からの指令に基づいて、前記ログ管理領域に格納されたデータ格納領域の履歴に基づいて当該データベースサーバがアクセスするデータ格納領域を設定し、
前記ログ領域からログを読み込むログ読み込み部と、
前記ログ読み込み部が読み込んだログを前記領域管理部に設定されたデータ格納領域に適用するログ適用部と、を有し、
前記領域管理部は、前記領域移動ログを読み込んだときには、前記データ格納領域の履歴に応じて前記データ格納領域を変更しながら、データを回復することを特徴とする請求項９に記載のデータ処理システム。
【請求項１１】
前記領域管理部は、前記領域移動ログに識別子を付して前記ログ領域に格納することを特徴とする請求項１に記載のデータ処理システム。
【請求項１２】
ネットワークを介して接続された複数のデータベースサーバと、
前記データベースサーバのデータを格納する複数のデータ格納領域と、
前記データベースサーバとデータ格納領域の対応関係を管理する管理サーバと、を備えたデータ処理システムにおいて、
前記管理サーバは、
前記複数のデータ格納領域と該データ格納領域にアクセスするデータベースサーバを割り当て、前記データベースサーバに割り当てるデータ格納領域を指示する領域割り当て管理部を有し、
前記データベースサーバは、
前記領域割り当て管理部が該データベースサーバに割り当てた前記データ格納領域を保持する領域管理部と、
前記領域管理部が保持するデータ格納領域にデータを格納して参照または更新を行い、前記更新を行った場合にはデータベースサーバ毎に予め設定されたログ領域にデータの変更履歴を示すログを格納するデータ処理部と、を有し、
前記データベースサーバ毎に設定されたログ領域は、複数のログ領域であり、
前記領域管理部は、前記管理サーバの領域割り当て管理部からデータ格納領域を変更する通知を受けたときには、前記ログ領域を変更することを特徴とするデータ処理システム。
【請求項１３】
前記管理サーバは、
前記各データベースサーバにリストア処理を指令するリストア制御部を有し、
前記データベースサーバは、
前記リストア制御部からの指令に基づいて、前記ログ領域からログを読み込むログ読み込み部と、
前記ログ読み込み部が読み込んだログを前記領域管理部に設定されたデータ格納領域に適用するログ適用部と、を有し、
前記ログ読み込み部は、領域移動ログを読み込んだときには前記ログ領域を切り替えることを特徴とする請求項１２に記載のデータ処理システム。
【請求項１４】
複数のデータベースサーバが、管理サーバにより割り当てられたデータ格納領域にアクセスするデータベースの管理方法であって、
前記管理サーバが、複数のデータ格納領域と該データ格納領域にアクセスするデータベースサーバを割り当てる手順と、
前記データベースサーバが、前記割り当てられたデータ格納領域にデータを格納して参照または更新を行う手順と、
前記更新を行った場合には、データベースサーバ毎に予め設定されたログ領域にデータの変更履歴を示すログを格納する手順と、
前記管理サーバからデータ格納領域を変更する通知を受けたときには、前記データベースサーバがデータ格納領域の変更があったことを示す領域移動ログを前記ログ領域に格納する手順と、
を含むことを特徴とするデータベースの管理方法。
【請求項１５】
前記管理サーバが、前記各データベースサーバ毎のログ領域に格納された前記領域移動ログを区切りとしたログ集合を単位としてリストア処理を前記データベースサーバに指令する手順と、
前記データベースサーバが、前記指令に基づいて、前記ログ領域に格納されたログを前記データ格納領域に適用し、データを回復する手順と、
を含むことを特徴とする請求項１４に記載のデータベースの管理方法。
【請求項１６】
前記データベースサーバが前記リストア処理の指令に基づいて、前記データベースサーバ毎に設定されたログ領域からログを読み込む手順と、
前記読み込んだログが、当該データベースサーバに割り当てられたデータ格納領域に対応しない場合には、前記管理サーバへ送信する手順と、
前記管理サーバは、前記割り当てたデータ格納領域とデータベースサーバの対応関係から、前記データベースサーバから受信したログを適用すべきデータ格納領域が割り当てられたデータベースサーバに転送する手順と、
前記管理サーバから転送されたログ、または当該データベースサーバに割り当てられたデータ格納領域に対応する前記読み込んだログを、当該データベースサーバに割り当てられたデータ格納領域に適用する手順と、
を含むことを特徴とする請求項１５に記載のデータベースの管理方法。
【請求項１７】
前記データベースサーバが前記リストア処理の指令に基づいて、前記管理サーバからデータベースサーバに割り当てたデータ格納領域の対応関係をログ転送情報として取得する手順と、
前記データベースサーバ毎に設定されたログ領域からログを読み込む手順と、
前記読み込んだログが、当該データベースサーバに割り当てられたデータ格納領域に対応しない場合には、前記ログ転送情報に基づいて他のデータベースサーバへ送信する手順と、
前記他のデータベースサーバから転送されたログ、または当該データベースサーバに割り当てられたデータ格納領域に対応する前記読み込んだログを、当該データベースサーバに割り当てられたデータ格納領域に適用する手順と、
を含むことを特徴とする請求項１５に記載のデータベースの管理方法。
【請求項１８】
前記領域移動ログを前記ログ領域に格納する手順は、
前記データベースサーバが、前記管理サーバからデータ格納領域を変更する通知を受けたときには、前記ログ領域に対応して予め設定されたログ管理領域に、新たなデータ格納領域をデータ格納領域の履歴として格納することを特徴とする請求項１４に記載のデータベースの管理方法。
【請求項１９】
前記データベースサーバが前記リストア処理の指令に基づいて、前記ログ管理領域から前記データ格納領域の履歴を読み込む手順と、
前記履歴に基づいて、前記データベースサーバに割り当てるデータ格納領域を変更する手順と、
前記データベースサーバ毎に設定されたログ領域からログを読み込む手順と、
前記読み込んだログが前記領域移動ログのときには、前記データ格納領域の履歴に応じて前記データ格納領域を変更しながら、データを回復する手順と、
を含むことを特徴とする請求項１８に記載のデータベースの管理方法。
【請求項２０】
前記データベースサーバが前記リストア処理の指令に基づいて、前記データベースサーバ毎に設定されたログ領域からログを読み込む手順と、
前記ログが領域移動ログのときには、前記ログ領域に設定された複数の領域を切り替える手順と、
前記ログを、当該データベースサーバに割り当てられたデータ格納領域に適用する手順と、
を含むことを特徴とする請求項１５に記載のデータベースの管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの構成変更や障害からの回復に関し、特に無共有型のデータベースの構成変更や回復処理に関する。
【背景技術】
【０００２】
近年、安価なブレード型計算機の登場により、複数のブレード型計算機を組合せてサーバ計算機を構成し（以下ブレードサーバと呼ぶ）、システムの負荷変動に応じて前記ブレードサーバ中の必要な計算機資源を用いて処理を行う新しい運用形態が運用が求められている。このような該運用形態の実現のために、データベースシステム、アプリケーションサーバ、Ｗｅｂサーバに代表される基盤ソフトウェア（以下、ミドルウェアと呼ぶ）において、高速なシステム構成変更機構が求められている。また、ブレード型サーバ計算機を用いたシステムではサーバ中のブレードサーバ計算機の台数が多いため、前記ミドルウェアでは高いスケーラビリティまでもが求められる。
【０００３】
代表的なミドルウェアであるデータベース管理システム（以下、ＤＢＭＳ）には、該ＤＢＭＳが複数の計算機で稼動する場合に、計算機間でデータを格納する磁気ディスク装置ディスク装置（ストレージ装置）を共有する共有ディスク型と、それぞれの計算機で別々のデータ格納用の磁気ディスク装置を用いる共有しない無共有型がある。共有ディスク型ではＤＢＭＳで管理するデータの前記磁気ディスク装置への配置を気にする必要がないため、システム構成変更が容易となる利点を持つ反面、共有ディスク上のデータ格納領域（以下、データ領域と呼ぶ）へのアクセス時に計算機間で排他制御を必要とするため、スケーラビリティに限界がある。
【０００４】
一方、無共有型ではデータ領域を共有していないため計算機間で排他制御が必要なく、スケーラビリティが高い。
【０００５】
ここで、ＤＢＭＳはデータの一貫性ある管理を行わなければならないため、データの変更履歴（ログ）を計算機ごとに管理しているログ領域にそれぞれ記録し、どのような障害が発生してもデータが復元できるようになっている。ある時点でデータ領域のバックアップを取得し、その後のログを保存する。障害発生時にはバックアップに保存されたログを時間順に適用することで、障害発生時のデータ領域に復元する。この処理のことをリストア処理と呼ぶ。
【０００６】
無共有型のＤＢＭＳでリストア処理を行うには、各計算機毎のログ領域から復元に必要なログを選択し、これらのログを結合してから時間順にソートを行う。そして、ソートを行ったログをバックアップに適用することで、リストア処理を行うものが知られている（例えば、特許文献１、非特許文献１）。
【特許文献１】米国特許出願公開第２００４／００３０７０３号明細書
【非特許文献１】笠原  敬  著、「Oracle9i Database新機能ガイド―ミッションクリティカルシステム」、翔泳社、2002年02月12日  発行、第224頁〜第225頁
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の無共有型のＤＢＭＳでは、リストア処理の際に各計算機のログを一旦結合してからソートを行うため、ログを結合し、ソートするための一時的な領域を確保する必要があり、限られた計算機資源の中で迅速に一時的な領域を確保するのが難しいという問題がある。
【０００８】
さらに、上記従来例ではログを一旦結合してからソートを行い、その後、ログを適用するため、リストア処理に多大な計算機資源と時間を要することになり、ディスクの障害などからの回復に時間を要するという問題があった。
【０００９】
また、上記無共有型のＤＢＭＳでは、共有ストレージ装置上に複数のデータ領域を設定し、各データ領域に計算機を割り当てることができ、レコードの追加削除を伴わない構成変更の際にはデータ領域と計算機の割り当てを変更することで、計算機の追加削除などの構成変更を行う領域移動（リマッピング）を行うことができる。このリマッピングにより、高速なシステム構成変更を実現しつつ、かつ共有ストレージ装置上のデータ領域は論理的に分割されているので、ＤＢＭＳが稼動する計算機間での排他制御を行う必要がなくスケーラビリティを高めることができる。しかし、無共有型のＤＢＭＳでは各計算機毎にログ格納領域を有しているため、上記リマッピングを行うと、ひとつのデータ領域に関するログが複数のログ格納領域に分散する場合がある。したがって、リマッピング後にリストア処理を行うと、複数のログ格納領域を検索しながらログの結合を行うことになり、処理が煩雑化してリストア処理の負荷がさらに増大し、回復までの処理時間も遅延するという問題があった。
【００１０】
そこで本発明は、上記問題点に鑑みてなされたもので、複数のログ格納領域を備えてログの適用によりリストア処理を行う際に、ソート処理を不要にして迅速に回復可能なデータベースを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、複数のデータベースサーバが、管理サーバにより割り当てられたデータ格納領域にアクセスするデータベースの管理方法であって、前記管理サーバが、複数のデータ格納領域と該データ格納領域にアクセスするデータベースサーバを割り当てる手順と、前記データベースサーバが、前記割り当てられたデータ格納領域にデータを格納して参照または更新を行う手順と、前記更新を行った場合には、データベースサーバ毎に予め設定されたログ領域にデータの変更履歴を示すログを格納する手順と、前記管理サーバからデータ格納領域を変更する通知を受けたときには、前記データベースサーバがデータ格納領域の変更があったことを示す領域移動ログを前記ログ領域に格納する手順と、を含む。
【００１２】
また、前記管理サーバが、前記各データベースサーバ毎のログ領域に格納された前記領域移動ログを区切りとしたログ集合を単位としてリストア処理を前記データベースサーバに指令する手順と、前記データベースサーバが、前記指令に基づいて、前記ログ領域に格納されたログを前記データ格納領域に適用し、データを回復する手順と、を含んでデータ格納領域のデータを回復する。
【発明の効果】
【００１３】
したがって、本発明は、データベースサーバに割り当てられるデータ格納領域が変更されると、ログ領域にはデータの更新履歴に加えて領域移動ログが格納される。リストア処理を行う際には、領域移動ログを区切りとして各データベースサーバがログを適用していくことで、複数のデータベースサーバ間で同期を取りながらリストア処理を行うことができる。したがって、前記従来例のようにログの結合やソートを必要とせずに、高速でリストア処理を実現することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１５】
図１は、第１の実施形態を示し、本発明を適用した無共有型（Shared−nothing）データベースシステムの一例を示すブロック図である。
【００１６】
ユーザとのインタラクション（処理要求の受け付け、処理結果の通知など）を行うクライアント計算機（以下、クライアント）１０１は、ＩＰネットワーク１０３を介してフロントエンドサーバ計算機（以下、フロントエンドサーバ）１０２に接続され、フロントエンドサーバ１０２はクライアント１０１からのデータ処理の要求を受け付け、該要求に対する結果をクライアント１０１に返送する。
【００１７】
フロントエンドサーバ１０２は、ＩＰネットワーク１０３を介して複数のデータベースサーバ（データベース処理を実行するサーバ計算機）１〜３に接続され、クライアント１０１からの要求に応じて、データベースサーバ（以下、ＤＢサーバ）１〜３にデータベースの処理（データの参照または更新）を依頼する。つまり、ＤＢサーバ１〜３はバックエンドサーバとして機能する。なお、フロントエンドサーバ１０２、ＤＢサーバ１〜３、クライアント１０１は、図示はしないが、それぞれＣＰＵ、メモリ、ネットワークインターフェースを備えている。
【００１８】
複数のＤＢサーバ１〜３は、ＳＡＮ（Storage Area Network）１１０を介してストレージ装置１０に接続され、各ＤＢサーバ１〜３は管理サーバ１０４によって割り当てられたストレージ装置１０上の独立したデータ格納領域に対してアクセスを行い、データ処理を実行する。
【００１９】
ストレージ装置１０には、各ＤＢサーバ１〜３からアクセス可能なデータ領域２１１を有し、各ＤＢサーバ１〜３で共有される。このデータ領域２１１には、独立した小領域であるデータ格納領域（以下、領域）Ａ２１２〜Ｄ２１５が設定される。各領域Ａ２１２〜Ｄ２１５は、非共有であり管理サーバ１０４によって割り当てられたＤＢサーバ１〜３のみがアクセスする。そして、各領域Ａ２１２〜Ｄ２１５には、データベースのデータがそれぞれ格納される。
【００２０】
また、ストレージ装置１０には、データ領域２１１のバックアップを格納するバックアップ領域３１１が設定され、バックアップ領域３１１内には、データ領域２１１の各領域Ａ２１２〜Ｄ２１５のバックアップデータを格納するための領域ａ３１２〜ｄ３１５が設定される。バックアップデータの生成は、ストレージ装置１０のコピー機能などを用いて行う。
【００２１】
管理サーバ１０４は、ＩＰネットワーク１０３を介してＤＢサーバ１〜３に接続され、ＳＡＮ１１０を介してストレージ装置１０に接続されており、各ＤＢサーバ１〜３に割り当てる領域Ａ２１２〜Ｄ２１５を管理する。なお、管理サーバ１０４は、図示はしないが、ＣＰＵ、メモリ、ネットワークインターフェースを有する。
【００２２】
また、各ＤＢサーバ１〜３はＳＡＮ１１０を介して非共有のストレージ装置２１〜２３に接続され、ストレージ装置２１〜２３に設定されたログ領域２１６、２１７、２１８にデータの更新履歴であるログを書き込み、リストア処理の際にはログを読み込む。各ログ領域２１６〜２１８は、ＤＢサーバ１〜３にそれぞれ独立して割り当てられ、ＤＢサーバ１はストレージ装置２１のログ領域２１６を占有し、ＤＢサーバ２、３はそれぞれストレージ装置２２、２３のログ領域２１７、２１８を使用する。
【００２３】
なお、図１においては、管理サーバ１０４は独立した計算機であるが、フロントエンドサーバ１０２やＤＢサーバ１〜３の計算機に共存した構成でもよい。また、ログ領域２１６、２１７、２１８は、各ＤＢサーバ１〜３のローカルディスクに配置する構成でもよく、また各ＤＢサーバ１〜３から共有されるストレージ装置１０に配置する構成でもよい。また、管理サーバ１０４もＳＡＮ１１０を介してログ領域２１６、２１７、２１８を参照することができる。
【００２４】
クライアント１０１は、フロントエンドサーバ１０２に前記データ処理の要求をＳＱＬにて発行する。本実施形態においては、該要求はＤＢＭＳに対するＳＱＬ（Structured Query Language）で表現されたクエリで行われるとするが、他の形式でもよい。該クエリを受け付けたフロントエンドサーバ１０２は、問い合せ解析部１２０にて実行プランを作成する。実行プランはＤＢサーバ１〜３に存在するデータ処理部１２１、１２２、１２３の処理内容を記述したものである。各データ処理部１２１、１２２、１２３は、ＤＢサーバ１〜３が保持しているデータ領域Ａ２１２〜Ｄ２１５に対して処理を行う。
【００２５】
管理サーバ１０４は、ＤＢサーバ１〜３に割り当てる領域Ａ２１２〜Ｄ２１５を管理する領域割り当て管理部１３０と、ストレージ装置１０の領域Ａ２１２〜Ｄ２１５とＤＢサーバ１〜３の割り当て状態を管理する領域・サーバ対応表２３１を有し、無共有型データベースシステムの構成を管理する。また、管理サーバ１０４は、後述するリストア処理を行うため、各ＤＢサーバ１〜３のログを適用させるリストア制御部１４０を有する。なお、領域・サーバ対応表２３１は、領域の割り当て管理部１３０が管理する。
【００２６】
そして、管理サーバ１０４の領域割り当て管理部１３０は、データの挿入または削除を伴わずに領域移動を行うリマッピング機能（領域移動機能）を有する。このリマッピング機能は、特願２００４―００３６０１号と同様である。
【００２７】
各ＤＢサーバ１〜３から共有されているストレージ装置１０のデータ領域２１１は、複数のデータ格納領域（以下、領域とする）に分割される。該領域は、１つのＤＢサーバが占有してアクセスする単位である。図１では４つの領域（領域Ａ２１２、領域Ｂ２１３、領域Ｃ２１４、領域Ｄ２１５）に分割されている。
【００２８】
図１の領域・サーバ対応表２３１では、４つの領域Ａ２１２、Ｂ２１３、Ｃ２１４、Ｄ２１５とＤＢサーバ１〜３の対応関係を管理している。図１の状態では、領域Ａ２１２はＤＢサーバ１に割り当てられ、領域Ｂ２１３はＤＢサーバ１に割り当てられ、領域Ｃ２１４はＤＢサーバ２に割り当てられ、領域Ｄ２１５はＤＢサーバ３それぞれに割り当てられている。
【００２９】
ここで、ＤＢサーバ１は、フロントエンドサーバ１０２からの要求に応じて、領域Ａ２１２〜Ｄ２１５のデータを読み込み／更新するデータ処理部１２１と、管理サーバ１０４の領域割り当て管理部１３０からの割り当て指示に応じて、現在割り当てられている領域Ａ２１２〜Ｄ２１５を管理する領域管理表２３５と、この領域管理表２３５に設定された領域Ａ２１２〜Ｄ２１５にアクセスするようデータ処理部１２１のアクセス先を管理する領域管理部１３２と、を有する。また、データ処理部１２１は、割り当てられた領域Ａ２１２〜Ｄ２１５の更新を行うと、ストレージ装置２１のログ領域２１６にログを出力する。
【００３０】
そして、ＤＢサーバ１は、ログに基づいてデータ領域２１１のデータベースＡ１〜Ｄ１を回復するため、後述するようにログ領域２１６等からログを転送し、ログを読み込むログ読み込み転送部１４１と、読み込んだログをバックアップデータに適用してデータベースを回復するログ適用部１５２と、を有する。なお、ＤＢサーバ２、３もＤＢサーバ１と同様のデータ処理部１２２、１２３と領域管理部１３３、１３４、領域管理表２３６、２３７、ログ読み込み適用部１４２、１４３及びログ適用部１５３、１５４を有する。
【００３１】
図１の例では、管理サーバ１０４の領域・サーバ対応表２３１の設定に対応して、ＤＢサーバ１の領域管理表２３５には、領域Ａ２１２と領域Ｂ２１３が設定され、ＤＢサーバ１はストレージ装置１０の領域Ａ２１２と領域Ｂ２１３にアクセスする。ＤＢサーバ２の領域管理表２３６には、領域Ｃ２１４が設定されて、ＤＢサーバ２は領域Ｃ２１４のみにアクセスする。ＤＢサーバ３の領域管理表２３７には、領域Ｄ２１５が設定されて、ＤＢサーバ３は領域Ｄ２１５のみにアクセスする。
【００３２】
レコードの削除や挿入を行わない領域移動（リマッピング）を行う場合、管理サーバ１０４の領域割当て管理部１３０は、領域・サーバ対応表２３１を更新し、更新した領域・サーバ対応表２３１に合うように各ＤＢサーバ１〜３の領域管理部１３２、１３３、１３４にそれぞれが保持する領域管理表を更新するよう指示する。各ＤＢサーバ１〜３の各領域管理部１３２〜１３４では該指示に従い、それぞれの領域管理表２３５〜２３７を更新する。領域管理表２３５〜２３７が更新されたることにより、それぞれのＤＢサーバ１〜３がアクセスする領域Ａ〜Ｄが変更される。これにより、物理的なデータの移動を行うことなく、領域Ａ２１２〜Ｄ２１５にアクセスするＤＢサーバ１〜３を変更（追加または削除を含む）することができる。
【００３３】
次に、上記領域移動とログの関係について説明する。
【００３４】
図２は図１の状態で、データ領域２１１のバックアップを行った後、各領域Ａ２１２〜Ｄ２１５のデータＡ１〜Ｄ１が更新された状態を示す。ストレージ装置１０は、データ領域２１１の領域Ａ２１２〜Ｄ２１５をバックアップ領域３１１の領域ａ３１２〜ｄ３１５に複製し、バックアップを行う。なお、図中Ａ１’〜Ｄ１’がリマッピングを行う直前の時点で作成されたバックアップデータを示す。
【００３５】
そして、各領域Ａ２１２〜Ｄ２１５のデータＡ１〜Ｄ１が更新される。データＡ１〜Ｄ１が更新に伴い各ＤＢサーバ１〜３はそれぞれ固有のログ領域２１６〜２１８にログを記録する。いま、データベースのデータを格納する領域が図１の例のように割り当てられている場合、ＤＢサーバ１のログ領域２１６には、図２に示すように、領域Ａ２１２に対する更新履歴のログ（図中Ａ１→Ａ２）と、領域Ｂ２１３に対するログ（図中Ｂ１→Ｂ２）が格納され、ＤＢサーバ２のログ領域２１７には、領域Ｃ２１４に対するログ（図中Ｃ１→Ｃ２）が格納され、ＤＢサーバ３のログ領域２１８には、領域Ｄ２１５に対応するログ（図中Ｄ１→Ｄ２）が格納されている。
【００３６】
図３は、図２の状態からリマッピングを行った直後の状態を示す。
【００３７】
本実施形態における領域移動の指示は、管理サーバ１０４が領域Ｂ２１３のＤＢサーバをＤＢサーバ１からＤＢサーバ２に変更する指示をＤＢサーバ１、２に指令した場合を示す。管理サーバ１０４の領域割り当て管理部１３０は、領域・サーバ対応表２３１を更新し、領域Ｂ２１３にＤＢサーバ２を割り当てる。そして、ＤＢサーバ１、２及びストレージ装置１０に領域の移動を通知する。
【００３８】
この通知に伴い、ＤＢサーバ１〜３の領域管理部１３２、１３３、１３４はそれぞれの領域管理表１３５、１３６、１３７を更新し、領域移動の発生を示すログ（領域移動ログ３１６〜３１８）をログ領域２１６〜２１８にそれぞれ出力する。この結果、領域Ａ２１２にはＤＢサーバ１がアクセスし、領域Ｂ２１３と領域Ｃ２１４にはＤＢサーバ２のみがアクセスし、領域Ｄ２１５にはＤＢサーバ３のみがアクセスする。また、各ログ領域２１６、２１７、２１８には領域移動ログ３１６〜３１８がそれぞれ追加された状態を示す。
【００３９】
図４はＤＢサーバ１〜３の領域管理部１３２〜１３４で行われるデータ領域移動領域管理処理のフローチャートを示すである。
【００４０】
領域移動時には領域管理部１３２〜１３４において各ＤＢサーバ１〜３の領域管理表２３５〜２３７を更新する際、領域移動が行われたことを示すログである領域移動ログ３１６〜３１８をログ領域２１６〜２１８に出力する。領域管理部１３２〜１３４は管理サーバ１０４の領域割り当て管理部１３０からの指示を受けると領域管理表２３５〜２３７を更新する（８０１）。続いて、ログ領域２１６〜２１８に領域移動ログ３１６〜３１８を出力する（８０２）。
【００４１】
以上により領域移動時には、全てのＤＢサーバ１〜３のログ領域２１６〜２１８に領域移動ログ３１６〜３１８が出力される。この領域移動ログ３１６〜３１８により領域移動前後のログを切り分けることが可能となる。
【００４２】
図５は、上記図３の状態からデータ領域が更新された後の状態を表す。具体的には領域Ａ２１２を「Ａ３」に、領域Ｂ２１３を「Ｂ３」に、領域Ｃ２１４を「Ｃ３」に、領域Ｄを「Ｄ３」に更新する。
【００４３】
ＤＢサーバ１には領域Ａ２１２が割り当てられているため、ログ領域２１６には領域Ａ２１２のログが出力される。ＤＢサーバ２には領域Ｂ２１３と領域Ｃ２１４が割り当てられているため、ログ領域２１７には領域Ｂ２１３と領域Ｃ２１４のログが出力される。ＤＢサーバ３には領域Ｄ２１５が割り当てられているため、ログ領域２１８には領域Ｄ２１５のログが出力される。
【００４４】
図２のデータ領域の更新後に領域移動が行われているため、図２では領域Ｂ２１３のログはＤＢサーバ１のログ領域２１６に出力されているが、図３の領域移動後のログでは、領域Ｂ２１３のログがＤＢサーバ２のログ領域２１７に出力され、ひとつの領域Ｂの２１３ログが、領域移動によって異なるログ領域に分散することになる。
【００４５】
以上の図１〜図５で、領域移動を行った後に、図５の後に発生した障害から回復するリストア処理を行う場合を示す。
【００４６】
つまり、図２の状態で取得したバックアップデータＡ１’〜Ｄ１’と、図２、図３、図５で行った２つの更新処理と領域移動のログを用いて図５の状態に回復するリストア処理である。
【００４７】
図６は、図２のバックアップデータＡ１’〜Ｄ１’を使ってデータ領域２１１を図５の状態に回復した状態を表す。
【００４８】
ログの適用は、本発明の集中ログ転送方式により管理サーバ１０４のリストア制御部５２０と、各ＤＢサーバ１〜３のログ読み込み転送部５２１、５２２、５２３及びログ適用部５２４、５２５、５２６により行われる。なお、リストア処理の開始は、管理サーバ１０４のリストア制御部１４０が各ＤＢサーバ１〜３にリストア開始の指令を送ることで開始される。
【００４９】
図７はリストア処理時のデータの流れを示し、各ＤＢサーバ１〜３は、管理サーバ１０４からリストア開始の指令を受けると、ログ読み込み転送部１４１〜１４３が、各ＤＢサーバ１〜３のログ領域２１６〜２１８からログを読み込み、管理サーバ１０４のリストア制御部１４０へ送信する（６４１）。ただし、ログ読み込み転送部１４１〜１４３が領域移動ログ３１６〜３１８を読み込んだ場合は、領域移動ログ３１６〜３１８を送信後、リストア制御部１４０からログ送信の再開指示（開始指示）を受けるまでログの送信を中断する。
【００５０】
リストア制御部１４０は、ログ読み込み転送部１４１〜１４３に開始指示を適切に出しながら領域移動ログ３１６〜３１８で区切られたログ集合６４２〜６４４ごとにＤＢサーバ１〜３からログを送信させ、領域・サーバ対応表２３１を参照して、受信したログを現在該ログに記述されているデータ領域を保持する適切なＤＢサーバ１〜３のログ適用部に転送する。各ＤＢサーバ１〜３のログ適用部１５２〜１５４は、受け取ったログをＤＢサーバ１〜３に割り当てられている領域のバックアップデータＡ１’〜Ｄ１’に適用し、データＡ３〜Ｄ３に回復する。
【００５１】
まず、リストア制御部１４０が各ログ読み込み転送部１４１〜１４３に開始指示を出す（６４１）。ログ読み込み転送部１４１〜１４３は、領域移動ログ３１６〜３１８を読み込むまでログ集合６４２〜６４４を読み込み（６４５）、リストア制御部１４０に送信する（６４８）。各ログ読み込み転送部１４１〜１４３の処理は並列に実行され、領域移動ログ３１６〜３１８をリストア制御部１４０へ送信した時点で、ログ読み込み転送部１４１〜１４３は、読み込みと転送を中断する。
【００５２】
リストア制御部１４０は、領域・サーバ対応表２３１を参照して、ログ読み込み転送部１４１〜１４３から送信されたログに記述されている領域を保持する適切なＤＢサーバのログ適用部１５２〜１５４に送信する（６４９）。
【００５３】
リストア制御部１４０から送信されたログを受信したログ適用部１５２〜１５４は、バックアップデータＡ１’〜Ｄ１’にログを適用し、領域Ａ２１２〜Ｄ２１５に回復後のデータベースＡ２〜Ｄ２を書き込む（６５０〜６５２）。
【００５４】
このとき、各領域Ａ２１２〜Ｄ２１５に書き込むＤＢサーバ１〜３は、リストア開始時点の領域・サーバ対応表２３１に基づいて決定され、図７の例では、ＤＢサーバ１のログ適用部１５２が領域Ａ２１２を回復し（６５０）、ＤＢサーバ２のログ適用部１５３が領域Ｂ２１３と領域Ｃ２１４を回復し（６５１）、ＤＢサーバ３ログ適用部１５４が領域Ｄ２１５を回復する（６５２）。
【００５５】
この時点で、ログ読み込み転送部１４１〜１４３はリストア制御部１４０からの開始指示待ちになっており、各ログ適用部１５２〜１５４が領域移動ログより前のログ（６４２〜６４４）を適用したことになる。
【００５６】
つまり、バックアップデータＡ１’〜Ｄ１’にログ「Ａ１→Ａ２」、「Ｂ１→Ｂ２」、「Ｃ１→Ｃ２」、「Ｄ１→Ｄ２」を適用し、各領域Ａ２１２〜Ｄ２１５のデータベースは、Ａ２〜Ｄ２の時点まで回復されたことになる。
【００５７】
続いて、領域移動ログ３１６〜３１８より後のログを適用するために、図８で示すように、リストア制御部１４０は、各ＤＢサーバ１〜３の各ログ読み込み転送部１４１〜１４３に開始指示を出す（７４１）。なお、この開始指示は各ログ適用部１５２〜１５４が、ログ集合６４２〜６４４の適用が完了した時点で、リストア制御部１４０へ完了通知を送信し（７４０）、リストア制御部１４０は全てのログ適用部１５２〜１５４で、領域移動ログ３１６〜３１８までのログ適用が同期したことを判定してから、開始指示を送信するようにしても良い。
【００５８】
ログ読み込み転送部１４１〜１４３は、ログ領域２１６〜２１８から領域移動ログ３１６〜３１８以降のログ集合７４２〜７４３を読み込み（７４５）、リストア制御部１４０に送信する（７４８）。
【００５９】
リストア制御部１４０部は、上記と同様に領域・サーバ対応表２３１を参照しログ読み込み転送部１４１〜１４３から送信されるログに記述されている領域を保持する適切なＤＢサーバのログ適用部に転送する（７４９）。ログ集合７４２、７４３、７４４を送信後、リストア制御部１４０は、ログ読み込み転送部１４１〜１４３から終了ログ７４０を受信し、終了する。リストア制御部１４０から送信されたログを受信したログ適用部１５２〜１５４は、領域移動ログ３１６〜３１８以降のログ集合をデータ領域２１１の各領域Ａ２１２〜Ｄ２１５に適用する（７５０、７５１、７５２）。以上の動作によりリストア処理が完了し、データ領域２１１の各領域Ａ２１２〜Ｄ２１５には、Ａ３〜Ｄ３までの障害発生前のデータベースに回復する。
【００６０】
ここで、ＤＢサーバ１、２の動作について図７、図８を参照しながら説明する。
【００６１】
ＤＢサーバ１のログ読み込み転送部１４１は、リストア処理の開始指示を管理サーバ１０４のリストア制御部１４０から受けると、ログ領域２１６からログ「Ａ１→Ａ２」、「Ｂ１→Ｂ２」を読み込んで管理サーバ１０４のリストア制御部１４０に転送する（６４５、６４８）。そしてログ読み込み転送部１４１は、ログ領域２１６から領域移動ログ３１６まで読み込み、リストア制御部１４０に送信すると、ログの読み込み及び転送処理を再開指示があるまで中断する。
【００６２】
管理サーバ１０４のリストア制御部１４０は、ＤＢサーバ１のログ読み込み転送部１４１から転送されたログ「Ａ１→Ａ２」を読み込むと、このログに記載されたデータの格納領域を判定し、領域・サーバ対応表２３１を参照して、判定された領域Ａに割り当てられたＤＢサーバ１を決定し、当該ＤＢサーバ１のログ適用部１５２へログ「Ａ１→Ａ２」を転送する。そして、ログ適用部１５２では、バックアップデータＡ１’にログを適用して領域Ａ２１２をＡ２の状態に回復する。
【００６３】
次に、リストア制御部１４０は、ログ「Ｂ１→Ｂ２」を読み込むと、このログに記載されたデータの格納領域を判定し、領域・サーバ対応表２３１を参照して、判定された領域Ｂに割り当てられたＤＢサーバ２を決定し、当該ＤＢサーバ２のログ適用部１５３へログ「Ｂ１→Ｂ２」を転送する。ログ適用部１５３では、バックアップデータＢ１’にログを適用して領域Ｂ２１２をＢ２の状態に回復する。
【００６４】
ここで、ログ「Ｂ１→Ｂ２」は、図２の状態ではＤＢサーバ１のログとして出力されたものであるが、リストア処理開始時点の領域・サーバ対応表２３１に基づいて、領域移動後に領域Ｂ２１３割り当てられたＤＢサーバ２へログを転送することで、各ＤＢサーバ１〜３が占有するデータベースを回復するのである。
【００６５】
そして、ログ読み込み転送部１４１〜１４３は、領域移動ログ３１６〜３１８を読み込むとログの送信を一時的に停止して、リストア制御部１４０からの開始時を待つ。リストア制御部１４０は各ログ適用部１５２〜１５４が同期するのを待ってから、開始指示を送信し、次のログをログ読み込み転送部１４１〜１４３に送信させる。
【００６６】
そして、領域移動ログ３１６〜３１８まで読み込むと、各ログ適用部１５２〜１５４が同期するのを待って、さらに、次のログを適用する処理を、ログの終端まで繰り返す。
【００６７】
上記リストア制御部１４０における、集中ログ転送方式によるリストア制御ログ転送処理のフローチャートを、図９、図１０、および図１１に示す。
【００６８】
はじめに、各ＤＢサーバ１〜３のログ読み込み転送部１４１〜１４３に開始指示を出す（９１１）。リストア制御部１４０は、ログ読み込み転送部１４１〜１４３から送信されるログを受け取り（９１２）、そのログの種類をチェックする（９１３）。受け取ったログが領域移動ログである場合は結合子９０３が示す処理に進む。一方、終了ログである場合は結合子９０４が示す処理に進む。
【００６９】
領域移動ログや終了ログでない場合は、領域・サーバ対応表２３１により現在該ログに記述されている領域を保持する適切なＤＢサーバを探し、該ＤＢサーバのログ適用部にログを送信する（処理９１４）。
【００７０】
結合子９０３の先の処理を図１０に示す。領域移動ログを送信したＤＢサーバを記録する（１００１）。なお、この記録は管理サーバ１０４の図示しないメモリなどに格納することで行われる。記録方法の好適な実施の方法としては、ＤＢサーバ１〜３分のビットマップを保持し、ログを受け付けたＤＢサーバ１〜３に対応するビットを立てる方法がある。また、他の好適な実施の方法として、送信したＤＢサーバ１〜３をリストとして保持する方法もある。
【００７１】
続いて全てのＤＢサーバ１〜３から領域移動ログ３１６〜３１８が送信されたかチェックする（１００２）。前記ビットマップを用いる方法では、全てのＤＢサーバ１〜３のビットが立っているかをチェックする。全てのＤＢサーバ１〜３から領域移動ログ３１６〜３１８が送信されていなければ結合子９０２に進む。結合子９０２の先は処理９１２であり、続いてログを受け取り、処理を続けることになる。
【００７２】
全てのＤＢサーバから領域移動ログ３１６〜３１８が送信されていれば、領域移動ログを受け取ったＤＢサーバの記録をクリアし（１００３）、結合子９０１に進む。結合子９０１の先は処理９１１であり、再度各ＤＢサーバのログ読み込み転送部１４１〜１４３に開始指示を出すことになる。結合子９０１に進む場合は全てのＤＢサーバ１〜３から領域移動ログが送信されている場合であり、全てのログ読み込み転送部１４１〜１４３は集中ログ転送方式によるリストア制御部１４０からの開始指示を待っている状態である。
【００７３】
結合子９０４の先の処理を図１１に示す。終了ログを送信したＤＢサーバ１〜３を記録する（１１０１）。記録方法は、上記領域移動ログの記録処理と同様の方法を用いればよいので、説明は省略する。
【００７４】
続いて、全てのＤＢサーバ１〜３から終了ログが送信されていないかチェックする（１１０２）。全てのＤＢサーバ１〜３から終了ログが送信されていなければ結合子９０２の処理へ進む。全てのＤＢサーバ１〜３から終了ログが送信されていれば結合子９０５へ進む。結合子９０５の先では集中ログ転送方式リストア制御部の処理が終了する。つまり全てのＤＢサーバ１〜３からログの送信が終わり、ログ適用処理が終わったことを示す。
【００７５】
次に、各ＤＢサーバ１〜３のログ読み込み転送部１４１〜１４３における、ログ読み込み転送処理のフローチャートを図１２に示す。
【００７６】
図１２において、処理開始後、集中ログ転送方式によるリストア制御部１４０からの開始指示を待つ（１２０１）。開始指示を受けると、ログ読み込み転送部１４１〜１４３は、ログ領域２１６〜２１８からログを読み込み（１２０２）、ログが読み込めたかチェックする（１２０３）。ここで読み込みに失敗した場合、ログを読み終えたと判断して、リストア制御部１４０に終了ログを送信する（処理１２０６）。
【００７７】
ログの読み込みが成功した場合は、リストア制御部１４０にログを送信する（１２０４）。送信したログが領域移動ログ３１６〜３１８かどうかを判断し（１２０５）、領域移動ログ３１６〜３１８であったら処理１２０１へ進み、領域移動ログでない場合は処理１２０２へ進む。
【００７８】
以上の処理により、リストア制御部１４０は、各ＤＢサーバ１〜３から送られてきたログをリストア開始時の領域・サーバ対応表２３１に基づいてログを転送し、領域移動ログ３１６〜３１８を区切りとして各ログ適用部１５２〜１５４の同期を取ることで、前記従来例のようにログの結合やソートを必要とせずに、高速でリストア処理を実現することができる。また、リストア処理では、無共有型データベースシステムを構成する計算機リソースのみで、ログ適用を行うことができるので、前記従来例のようにログを結合し、ソートするためのリソースを必要としないため、リストア処理のためのリソースの確保作業が不要となり、リストア処理を迅速に開始することができる。
【００７９】
また、ＤＢサーバ１〜３のログ読み込み転送部１４１〜１４３がログ領域２１６〜２１８のログを読み込んで送信したが、図２９で示すように、管理サーバ１０４にログ読み込み部１４１０を設け、リストア制御部１４０が各ＤＢサーバ１〜３のログを読み込むように指令してもよい。また、ログ領域２１６〜２１８がＤＢサーバ１〜３のローカルディスクにある場合は、ログ読み込み部１４１０がログ領域２１６〜２１８を管理サーバ１０４にコピーすることで実現が可能となる。
【００８０】
また、上記第１実施形態では、領域管理部１３２〜１３４が領域移動ログを出力したが、データ処理部１２１〜１２３が領域移動ログ３１６〜３１８を出力するようにしても良い。この場合、領域管理部１３２〜１３４がデータ処理部１２１〜１２３に領域移動ログを出力する指令を送出すればよい。
【００８１】
＜第２実施形態＞
図１３は、第２の実施形態を示す無共有型データベースシステムの一例を示すブロック図である。
【００８２】
本第２実施形態は、前記第１実施形態に示したＤＢサーバ１〜３のログ読み込み転送部１４１〜１４３に代わって、ログ読み込み振り分け部１３２１〜１３２３を設け、管理サーバ１０４に存在する領域・サーバ対応表２３１をＤＢサーバ１〜３にそれぞれコピーし、各自のログ領域２１６〜２１８からログを読み込んだＤＢサーバ１〜３が、現在ログに記述されている領域を保持する適切なＤＢサーバ１〜３に直接転送するようにしたもので、その他の構成は前記第１実施形態と同様である。
【００８３】
図１３は、リストア処理を行うための管理サーバ１０４及びＤＢサーバ１〜３のブロック図を示しており、図１３では図示を省略したが、管理サーバ１０４は、図１と同様にデータ領域２１１の各領域Ａ２１２〜Ｄ２１５とＤＢサーバ１〜３の割り当てを管理する領域割り当て管理部１３０を有する。同様に、図１３では図示を省略したが、ＤＢサーバ１〜３は、図１と同様に割り当てられたデータ領域２１１の各領域Ａ２１２〜Ｄ２１５を管理する領域管理部１３２〜１３４と、割り当てられた領域Ａ２１２〜Ｄ２１５にアクセスしてデータベース処理を行うデータ処理部１２１〜１２３を有し、前記図３と同様に、管理サーバ１０４から領域移動の指令を受けると、各ＤＢサーバ１〜３の領域管理部１３２〜１３４はログ領域２１６〜２１８に領域移動ログ３１６〜３１８を出力する。
【００８４】
リストア処理におけるログの適用は、管理サーバ１０４の分散ログ転送方式によるリストア制御部１４００と、各ＤＢサーバ１〜３のログ読み込み振り分け部１３２１〜１３２３及びログ適用部１５２〜１５４により行われる。
【００８５】
各ＤＢサーバ１〜３のログ読み込み振り分け部１３１２〜１３２３は、管理サーバ１０４の領域・サーバ対応表２３１をコピーした領域・サーバ対応表（ログ転送情報格納部）２３１１〜２３１３をそれぞれ有し、ログ領域２１６〜２１８からログを読み込み、領域・サーバ対応表２３１１〜２３１３を検索して現在のログに記述されている領域を保持する適切なＤＢサーバのログ適用部１５２〜１５４に送信する。ただし、ログ読み込み振り分け部１３２１〜１３２３が領域移動ログ３１６〜３１８を読み込んだ場合は、分散ログ転送方式によるリストア制御部１４００からの開始指示を受けるまでログの送信を中断する。リストア制御部１４００は、各ＤＢサーバ１〜３のログ読み込み振り分け部１３１２〜１３２３に開始指示を適切に出しながらリストア処理を制御する。
【００８６】
分散ログ転送方式によるリストア制御部１４００におけるリストア処理のフローチャートを、図１４、図１５、および図１６に示す。
【００８７】
はじめに、各ＤＢサーバ１〜３に領域・サーバ対応表２３１をコピーし、各ＤＢサーバ１〜３のログ読み込み振り分け部１３１２〜１３２３に領域・サーバ対応表２３１１〜２３１３を格納する（１４１１）。続いて、各ＤＢサーバ１〜３のログ読み込み振り分け部１３２１〜１３２３にリストア処理の開始指示を出す（１４１２）。ログ読み込み振り分け部から送信される通知を受け取り（１４１３）、通知の種類をチェックする（１４１４）。受け取った通知が領域移動通知である場合は結合子１４０３が示す処理に進む。終了通知である場合は結合子１４０４が示す処理に進む。なお、領域移動通知は、各ＤＢサーバ１〜３のログ読み込み振り分け部１３２１〜１３２３が領域移動ログ３１６〜３１８を読み込んだときに、リストア制御部１４００へ送信する通知であり、終了通知は、各ログ読み込み振り分け部１３２１〜１３２３が各自のログ領域２１６〜２１８の終端まで達したときにリストア制御部１４００へ送信する通知である。
【００８８】
図１４の結合子１４０３の先の処理を図１５に示す。領域移動通知を送信したＤＢサーバ１〜３を記録する（１５０１）。記録方法は、前記第１実施形態と同様に行えばよい。続いて全てのＤＢサーバ１〜３から領域移動通知が送信されたかチェックする（１５０２）。全てのＤＢサーバ１〜３から領域移動通知が送信されていなければ結合子１４０２に進む。結合子１４０２の先は処理１４１３であり、引き続き通知を待つ。全てのＤＢサーバ１〜３から送信されていれば、領域移動通知を受け取ったＤＢサーバ１〜３の記録をクリアし（１５０３）、結合子１４０１に進む。結合子１４０１の先は処理１４１２であり、再度各ＤＢサーバ１〜３のログ読み込み振り分け部１３２１〜１３２３に開始指示を出すことになる。結合子１４０１に進む場合は、全てのＤＢサーバ１〜３から領域移動通知が送信されている場合であり、全てのログ読み込み振り分け部１３２１〜１３２３は分散ログ転送方式リストア制御部１４００からの開始指示を待っている状態である。
【００８９】
結合子１４０４の先の処理を図１６に示す。終了通知を送信したＤＢサーバ１〜３を記録する（１６０１）。終了通知の記録も上記領域移動通知と同様に、前記第１実施形態と同様に行えばよい。続いて、全てのＤＢサーバ１〜３から終了通知が送信されていないかチェックする（１６０２）。全てのＤＢサーバ１〜３から終了通知が送信されていなければ結合子１４０２の処理へ進む。全てのＤＢサーバ１〜３から終了通知が送信されていれば結合子１４０５へ進む。結合子１４０５の先ではリストア制御部１４００の処理が終了する。つまり全てのログ読み込み振り分け部１３２１〜１３２３がログを読み終わり、ログ適用処理が終わったことを示す。
【００９０】
各ＤＢサーバ１〜３のログ読み込み振り分け部１３２１、１３２２、１３２３における、ログ送信ログ読み込み振り分け処理のフローチャートを図１７に示す。
【００９１】
処理開始後、分散ログ転送方式によるリストア制御部１４００からの開始指示を待つ（１７１１）。開始指示を受けると、ログ領域２１６〜２１８からログを読み込み（１７１２）、ログが読み込めたか否かをチェックする（１７１３）。ここで読み込みが失敗した場合には、ログを読み終えたと判断し、リストア制御部１４００に終了通知を送信する（１７１７）。ログの読み込みが成功した場合は、領域移動ログ３１６〜３１８かどうかをチェックする（１７１４）。領域移動ログ３１６〜３１８であった場合にはリストア制御部１４００に領域移動通知を送信し、処理１７１１へ進む。領域移動ログ以外の場合は、領域・サーバ対応表２３１１〜２３１３を検索し、読み込んだログに記述されている領域を保持する適切なＤＢサーバのログ適用部１５２〜１５４に当該ログを送信し（処理１７１５）、処理１７１２に進む。
【００９２】
図１３を用いて上記リストア処理の全体の流れを説明する。
【００９３】
リストア制御部１４００は領域・サーバ対応表２３１を各ＤＢサーバ１〜３にコピーし、各ＤＢサーバ１〜３のログ読み込み振り分け部１３１２〜１３２３は領域・サーバ対応表２３１１〜２３１３を格納する（１３４１）。
【００９４】
リストア制御部１４００は各ログ読み込み振り分け部１３２１、１３２２、１３２３にリストア処理の開始指示を出す（１３４２）。ログ読み込み振り分け部１３２１〜１３２３は、各自のログ領域２１６〜２１８から領域移動ログ３１６〜３１８を読み込むまでログを読み込み、ログに記述されている領域に対応するＤＢサーバ１〜３のログ適用部１５２〜１５４にログを送信する。
【００９５】
領域移動ログ３１６〜３１８を読み込むとログ読み込み振り分け部１３１２〜１３２３は、リストア制御部１４００に領域移動通知を送信する（１３５２、１３５３、１３５４）。ログ読み込み振り分け部１３２１〜１３２３は、ログ領域２１６〜２１８から領域移動ログ３１６〜３１８までをログ集合１３４３〜１３４５として読み込む（１３４６）。
【００９６】
ここで、ＤＢサーバ１のログ読み込み振り分け部１３２２はログ領域２１６に格納されている領域Ａ２１２のログと領域Ｂ２１３のログを読み込むため、領域Ａ２１２のログをログ適用部５１２へ送りログを適用し、領域Ｂ２１３のログは領域・サーバ対応表２３１１に基づいてＤＢサーバ２のログ適用部１５３へ送信する。
【００９７】
ＤＢサーバ２のログ読み込み振り分け部１３２２は、ログ領域２１７から領域移動ログ３１７までのログをログ集合１３４４として読み込む（１３４７）。ログ読み込み振り分け部１３２２は領域Ｃ２１４のログを読み込むため、領域Ｃのログはログ適用部１５３へ送る（１３５０）。
【００９８】
また、ＤＢサーバ２のログ適用部１５３は、ＤＢサーバ１のログ読み込み振り分け部１３２１から受信した領域Ｂのログを読み込む（１３４９）。
【００９９】
ＤＢサーバ３のログ読み込み振り分け部１３２３は、ログ領域２１８から領域移動ログ３１７までのログをログ集合１３４５として読み込む（１３４８）。ログ読み込み振り分け部１３２３は領域Ｄ２１５のログを読み込むため、領域Ｄのログはログ適用部１５４へ送る（１３５１）。
【０１００】
各ログ読み込み振り分け部１３２１、１３２２、１３２３の処理は並列に実行される。各ログ適用部１５２〜１５４は、それぞれログを適用し、データ領域２１１の各領域Ａ２１２〜Ｄ２１５を回復する（１３５５、１３５６、１３５７）。この時点で、ログ読み込み振り分け部１３２１、１３２２、１３２３はリストア制御部１４００からの開始指示待ちになっており、ログ適用部１５２〜１５４が領域移動ログ３１６〜３１８より前のログを適用したことになる。
【０１０１】
リストア制御部１４００は領域移動通知を全てのＤＢサーバ１〜３のログ読み込み振り分け部１３２１〜１３２３から受信すると、各ログ読み込み振り分け部１３２１〜１３２３に対して再度開始指示を出す。
【０１０２】
各ログ読み込み振り分け部１３２１〜１３２３と各ログ適用部１５２〜１５４は、領域移動ログ３１６〜３１８より後のログを上記と同様に読み込み、領域・サーバ対応表２３１１〜２３１３に基づくＤＢサーバ１〜３に転送し、自ＤＢサーバ１〜３に対応するログを適用する。ログをすべて読み込んだ後、各ログ読み込み振り分け部１３２１〜１３２３はリストア制御部１４００に終了通知を送信する。この終了通知を受け、リストア制御部１４００はリストア処理を終了する。以上の動作によりリストア処理が完了し、データ領域２１１の各領域Ａ２１２〜Ｄ２１５の回復が完了する。
【０１０３】
以上の処理により、リストア処理の際には、各ＤＢサーバ１〜３のログ読み込み振り分け部１３２１〜１３２３がリストア開始時の領域・サーバ対応表２３１１〜２３１３に基づいてログを転送し、領域移動ログ３１６〜３１８を区切りとして各ログ適用部１５２〜１５４の同期を取ることで、前記従来例のようにログの結合やソートを必要とせずに、高速でリストア処理を実現することができる。また、リストア処理では、無共有型データベースシステムを構成する計算機リソースのみで、ログ適用を行うことができるので、前記従来例のようにログを結合し、ソートするためのリソースを必要としないため、リストア処理のためのリソースの確保作業が不要となり、リストア処理を迅速に開始することができる。
【０１０４】
＜第３実施形態＞
図１８は、第３の実施形態を示し、前記第２実施形態に示した各ＤＢサーバ１〜３がそれぞれ占有するログ領域２１６〜２１８を格納するストレージ装置２１〜２３に、ログ管理領域１２１６、１２１７、１２１８を設け、各ＤＢサーバ１〜３にはログ管理領域１２１６〜１２１８及びログ領域２１６〜２１８を管理するログ領域管理部１８４１〜１８４３を設けたもので、その他の構成は前記第１実施形態と同様である。
【０１０５】
前記第２実施形態との相違点について説明する。ＤＢサーバ１〜３には、ＤＢサーバ１〜３がそれぞれログ領域２１６〜２１８を使い始める際に、これらログ領域の初期化を行うモジュールである。そして、各ＤＢサーバ１〜３がログ領域２１６〜２１８を設定したストレージ装置２１〜２３には、ログ管理領域１２１６〜１２１８が設定される。ログ領域管理部１８４１〜１８４３は、領域移動時など、ＤＢサーバ１〜３がログ領域２１６〜２１８の使用を開始するときに、ログ管理領域１２１６〜１２１８に領域管理表１３５〜１３７を書き込んで初期化を行う。つまり、領域移動が発生するたびに、ログ管理領域１２１６〜１２１８には、領域管理表１３５〜１３７の履歴が蓄積される。
【０１０６】
ログ領域管理部１８４１〜１８４３で行われるログ領域管理処理のフローチャートを図２１に示す。ログ領域管理部１８４１〜１８４３は、ログ領域２１６〜２１８の初期化を行った後（２１０１）、ログ管理領域１２１６〜１２１８に領域・サーバ対応表２３１を記録する（２１０２）。
【０１０７】
ログ領域２１６〜２１８を使い始める際に、データ領域２１１は図２で示す割り当てであったとする。この場合、ログ領域２１６〜２１８を初期化した後、ログ領域管理部１８４１はログ管理領域１２１６１に割り当てられた領域「Ａ、Ｂ」と記録し、ログ領域管理部１８４２はログ管理領域１８５２に割り当てられた領域「Ｃ」と記録し、ログ領域管理部１８４３はログ管理領域１８５３に割り当てられた領域「Ｄ」と記録する。
【０１０８】
そして、前記第１実施形態の図３で示したように、領域移動が発生すると、領域管理部１３２〜１３４は、各ログ領域２１６〜２１８に領域移動ログ１３１６〜１３１８を出力する。また、ログ領域管理部１８４１〜１８４３は、ログ管理領域１２１６〜１２１８に新たな領域管理表を書き込む。これにより、ログ管理領域１２１６〜１２１８には、領域移動のログが蓄積される。
【０１０９】
ここで、領域管理部１３２〜１３４が出力する領域移動ログ１３１６〜１３１８には、管理サーバ１０４の領域割り当て管理部１３０からの指令に応じた新たな割り当て領域を付加される点が前記第１実施形態と相違する。
【０１１０】
領域管理部１３２〜１３４は、領域移動の際に、前記第１実施形態の図８に示したフローチャートに従って領域移動ログ１３１６〜１３１８をログ領域２１６〜２１８に出力する。
【０１１１】
ここで、前記第１実施形態の図３と同様の領域移動が発生した場合、ＤＢサーバ１の領域管理部１３２は領域移動ログ１３１６に新たな割り当て領域「Ａ」を記述し、ＤＢサーバ２の領域管理部１３３は、領域移動ログ１３１７に新たな割り当て領域「Ｂ、Ｃ」を記述し、ＤＢサーバ３の領域管理部１３４は、同一の割り当て領域「Ｄ」を領域移動ログ１３１８に記述する。
【０１１２】
同様に、ＤＢサーバ１のログ領域管理部１８４１は、新たな割り当て領域「Ａ」をログ管理領域１２１６に書き込み、ＤＢサーバ２のログ領域管理部１８４２は、新たな割り当て領域「Ｂ、Ｃ」をログ管理領域１２１７に書き込み、ＤＢサーバ３のログ領域管理部１８４３は、同一の割り当て領域「Ｄ」をログ管理領域１２１８に書き込む。
【０１１３】
リストア処理の際には、各ＤＢサーバ１〜３のログ読み込み振り分け部１３２１〜１３２３は、ログ管理領域１２１６〜１２１８を参照することで、領域移動の履歴を把握でき、また、領域移動ログ１３１６〜１３１８には新たな割り当て領域が記述されているので、ログの転送先の変化を迅速に把握することができる。
【０１１４】
本第３実施形態におけるリストア処理は、前記第１実施形態と同様に、図５の状態（データベースのデータ＝Ａ３、Ｂ３、Ｃ３、Ｄ３）後に発生した障害から回復する場合について、図１９、図２０を参照しながら説明する。
【０１１５】
ログの適用は、前記第１実施形態と同様に、リストア制御部１４００、ログ読み込み振り分け部１３２１〜１３２３、ログ適用部１５２〜１５４、およびデータ移動機能を実現する領域割り当て管理部１３０と領域管理部１３２〜１３４により行われる。
【０１１６】
各ＤＢサーバ１〜３ではログ読み込み振り分け部１３２１〜１３２３がログを読み込み、ログ適用部１５２〜１５４がログの適用を行う。リストア制御部１４００は、ログ読み込み振り分け部１３２１〜１３２３と領域管理部１３２〜１３４を制御し、ログが出力された時点の割り当て状態にしながらログの適用を進める。
【０１１７】
リストア制御部１４００における領域移動方式によるリストア処理のフローチャートを、図２２、図２３、及び図２４に示す。はじめに、バックアップデータＡ１’〜Ｄ１’によりバックアップ取得時点の領域割り当てに戻す（２２１１）。続いて、ログ読み込み振り分け部１３２１〜１３２３に開始指示を出す（２２１２）。各ＤＢサーバ１〜３から通知を待ち（２２１３）、その通知の種類をチェックする（２２１４）。領域移動通知である場合、結合子２２０３へ進み、終了通知であれば結合子２２０４へ進む。
【０１１８】
結合子２２０３の先の処理を図２３に示す。領域移動通知を送信したＤＢサーバ１〜３を記録する（２３０１）。記録方法は、前記第２実施形態と同様である。続いて、全てのＤＢサーバ１〜３から領域移動通知が送信されたかチェックする（２３０２）。全てのＤＢサーバ１〜３から領域移動通知が送信されていなければ結合子２２０２に進む。結合子２２０２の先は処理２２１３であり、引き続き通知を待つ。全てのＤＢサーバ１〜３から領域移動通知が送信されていれば、領域移動通知に含まれる領域・サーバ対応表２３１のデータを作成し、領域移動を行う（２３０３）。続いて、領域移動通知を受け取ったＤＢサーバの記録をクリアし（２３０４）、結合子２２０１に進む。結合子２２０１の先は処理２２１２であり、再度各ＤＢサーバ１〜３のログ読み込み振り分け部１３２１〜１３２３にリストア処理の開始指示を出すことになる。
【０１１９】
結合子２２０１に進む場合は全てのＤＢサーバ１〜３から領域移動通知が送信されている場合であり、全てのログ読み込み振り分け部１３２１〜１３２３はリストア制御部１４００からの開始指示を待っている状態である。
【０１２０】
結合子２２０４の先の処理を図２４に示す。終了通知を送信したＤＢサーバ１〜３を記録する（２４０１）。続いて、全てのＤＢサーバ１〜３から終了通知が送信されていないかチェックする（２４０２）。全てのＤＢサーバ１〜３から終了通知が送信されていなければ結合子２２０２の処理へ進む。全てのＤＢサーバ１〜３から終了通知が送信されていれば結合子２２０５へ進む。結合子２２０５の先ではリストア制御部１４００の処理が終了する。つまり全てのログ読み込み振り分け部１３２１〜１３２３がログを読み終わり、ログ適用処理が終わったことを示す。
【０１２１】
ログ読み込み振り分け部１３２１〜１３２３における振り分け処理のフローチャートを図２５に示す。処理開始後、リストア制御部１４００からのリストア処理の開始指示を待つ（２５１１）。開始指示を受けると、ログ領域２１６〜２１８からログを読み込み（２５１２）、ログが読み込めたか否かをチェックする（２５１３）。ここで読み込みが失敗した場合、ログを読み終えたと判断し、リストア制御部１４００に終了通知を送信する（２５１７）。ログの読み込みが成功した場合は、領域移動ログかどうかをチェックする（２５１４）、領域移動ログであったらリストア制御部１４００に領域移動通知を送信し、２５１１へ進む。領域移動ログ以外の場合は、同一ＤＢサーバのログ適用部１５２〜１５４にログを送信し（２５１５）、処理２５１２に進む。
【０１２２】
上記リストア処理の全体の流れを図１９、図２０を用いて説明する。
【０１２３】
まず、リストア制御部１４００は、バックアップ領域３１１のバックアップデータＡ１’〜Ｄ１’を用いて、データ領域２１１のデータベースをバックアップ取得時の状態に戻し、ＤＢサーバ１〜３とデータ領域２１１の領域割り当て状態をバックアップ取得時点の状態に戻す。バックアップ取得時の領域割り当て状態は、ログ管理領域１２１６〜１２１８に格納されており、これを読み込む１９６１。読み込む手段としては、各ＤＢサーバ１〜３のログ読み込み振り分け部１３２１〜１３２３がログ管理領域１２１６〜１２１８を読み込み、データを転送する方法がある。また、管理サーバ１０４がＳＡＮ１１０などを介して直接読み込める場合は直接読み込む方法もある。バックアップ取得時の領域割り当てを知ることができると、領域割り当て管理部１３０によりデータ領域の割り当てを変更する。これにより領域・サーバ対応表２３１や領域管理表２３５、２３６、２３７が更新される。その後、領域移動方式リストア制御部は全てのＤＢサーバ〜３のログ読み込み振り分け部１３２１〜１３２３にリストア処理の開始指示を出す（１９６２）。
【０１２４】
開始指示を受けたログ読み込み振り分け部１３２１〜１３２３は、領域移動ログ１３１６〜１３１８を読み込むまでログ領域２１６〜２１８からログを読み込み、同じＤＢサーバにあるログ適用部１５２〜１５４に転送する。ログ読み込み振り分け部１３２１〜１３２３はログ領域２１６〜２１８からログを読み込み（１９６３）、ログ適用部１５２〜１５４に送信する（１９６６）。
【０１２５】
ログ読み込み振り分け部１３２１〜１３２３が領域移動ログ１３１６〜１３１８を読み込むと、領域移動通知をログに含まれる領域管理表のデータと共にリストア制御部１４００に送信する（１９７２）。
【０１２６】
ログ読み込み振り分け部１３２１〜１３２３から送信されたログを受信したログ適用部１５２〜１５４は、それぞれの領域にログを適用する。ログ適用部１５２は領域Ａ２１２と領域Ｂ２１３を更新し（１９６９）、ログ適用部１５３は領域Ｃ２１４を更新し（１９７０）、ログ適用部１５４は領域Ｄ２１５を更新する（１９７１）。
【０１２７】
３つのＤＢサーバ１〜３から領域移動通知を受信したリストア制御部１４００は、領域移動通知に含まれる領域管理表２３５〜２３７のデータを元に、次の領域割り当てに変更する。図１９で領域移動通知を全て受け取り、次の割り当てに移行した状態を図２０に示す。領域移動ログ１３１６〜１３１８のデータより、領域・サーバ対応表２３１と各ＤＢサーバ１〜３に存在する領域管理表２３５〜２３７が更新される。
【０１２８】
そして、領域・サーバ対応表２３１に基づいてＤＢサーバ１〜３とデータ領域２１１の領域Ａ〜Ｄの割り当てを更新した後、リストア制御部１４００は再びログ読み込み振り分け部１３２１〜１３２３に開始指示を出す（２０６１）。
【０１２９】
開始指示を受けたログ読み込み振り分け部１３２１〜１３２３は、領域移動ログを読み込むまでログ領域２１６〜２１８からログを読み込み、同じＤＢサーバにあるログ適用部１５２〜１５４に転送する。ログ読み込み振り分け部１３２１〜１３２３がログ領域２１６〜２１８の全てのログを読み終えると、終了通知をリストア制御部１４００に送信する２０７１。
【０１３０】
ログ読み込み振り分け部１３２１〜１３２３から送信されたログを受信したログ適用部は、それぞれのＤＢサーバ１〜３に割り当てられた領域にログを適用する。ログ適用部１５２は領域Ａ２１２を更新し（２０６８）、ログ適用部１５３は領域Ｂ２１３と領域Ｃ２１４を更新し（２０６９）、ログ適用部１５４は領域Ｄ２１５を更新する（２０７０）。図１９と異なる点は、領域・サーバ対応表２３１や各領域管理表２３５〜２３７が更新されているため、領域Ｂを更新するＤＢサーバが異なることである。図１９ではログ適用部１５２が更新したのに対し、図２０ではログ適用部１５３２が更新した。
【０１３１】
３つのＤＢサーバ１〜３から終了通知を受信したリストア制御部１４００は、処理を終了する。これにより、リストア処理が完了する。
【０１３２】
ログ管理領域１２１６〜１２１８と領域移動ログ１３１６〜１３１８に領域割り当てのデータを記録せずに、通常運用時には領域管理部１３２により領域割り当ての履歴を記録し、リストア処理時に該領域割り当ての履歴により割り当てを変化させながらリストア処理するようにしてもよい。
【０１３３】
以上のように、第３の実施形態では、領域移動ログ１３１６〜１３１８に領域の割り当て情報を含め、ログ管理領域１２１６〜１２１８に領域移動の履歴を保存しておくことで、リストア処理の際にはＤＢサーバ１〜３とデータ領域２１１の割り当て関係を、バックアップ取得時点に戻してログ適用を行ってデータベースを回復させることができる。したがって、各ＤＢサーバ１〜３のログを他のＤＢサーバに移動させることなくログ適用を行うことができるので、ＩＰネットワーク１０３やＳＡＮ１１０の負荷を低減でき、より高速なリストア処理が可能となる。そして、前記第２実施形態と同様に、前記従来例のようなログの結合やソートが不要になるので、前記従来例に比して計算機リソースに対する負荷を大幅に低減しながらも、極めて高速なリストア処理を実現することができる。
【０１３４】
＜第４実施形態＞
図２６は、第４の実施形態を示し、前記第１実施形態の領域移動ログ３１６〜３１８に識別子（ＩＤ）を付すようにしたもので、その他の構成は前記第１実施形態と同様である。
【０１３５】
ＤＢサーバ１〜３に新たなＤＢサーバが追加されたり、ＤＢサーバ１〜３の何れかが削除されたりする場合、各ＤＢサーバ１〜３に割り当てられたログ領域２１６〜２１８も追加・削除される。このような場合、あるログ領域の領域移動ログが、別のログ領域の領域移動ログと対応していることが判別不能になる。このため、領域移動ログ２３１６〜２３１８にデータベースシステム内で位置の識別子であるＩＤを付ける。
【０１３６】
ＩＤがつけられた領域移動ログを出力した状態を図２６に示す。領域移動ログ２３１６〜２３１８が同じ領域移動で出力されたログであることを示すために、同じＩＤ（図中ｉｄ０００）が付加されている。
【０１３７】
この場合、管理サーバ１０４の領域割り当て管理部１３０がＩＤを管理する。領域移動を行う際には、領域割り当て管理部１３０は、各ＤＢサーバ１〜３の領域管理部１３２〜１３４へ領域移動を通知するとともに、ＩＤを通知する。領域管理部１３２〜１３４は、各ＤＢサーバ１〜３のログ領域２１６〜２１８へ、受信したＩＤを付加した領域移動ログ２３１６〜２３１８を出力する。
【０１３８】
リストア処理の際には、リストア制御部１４０が領域割り当て管理部１３０に各ログ領域２１６〜２１８の領域移動ログ２３１６〜２３１８のＩＤを問い合わせることで、追加あるいは削除されたＤＢサーバを識別することができる。
【０１３９】
なお、本第４実施形態のＩＤを、前記第３実施形態の領域移動ログ１３１６〜１３１８に付加するようにしても良い。
【０１４０】
＜第５実施形態＞
図２７は、第５の実施形態を示し、前記第１実施形態のログ領域２１６〜２１８を複数の書き込み領域（ログファイル）を設け、領域移動があるとログを書き込む領域を切り換えるようにしたものであり、その他の構成は、前記第１実施形態と同様である。
【０１４１】
図２７は、前記第１実施形態に示した図１のログ領域２１６〜２１８がログファイルの切り換えにより区切られた状態を示す。
【０１４２】
ログ領域２１６〜２１８は、それぞれ２つのログファイル２７２０、２７２１、２７２２、２７２３、２７２４、２７２５から構成される。領域移動前のログはログファイル２７２０、２７２２、２７２４に出力される。領域移動を行った際にはログファイルを切り換え、領域移動を行った後のログはログファイル２７２１、２７２３、２７２５に出力される。領域移動時にログファイルが切り替わることにより領域移動前後のログが別々のログファイルに格納され、領域移動前後のログ集合が切り分けられる。
【０１４３】
通常複数のログファイルで運用している際には、領域移動以外のイベントでもログファイルが切り替わる。例えば、ログファイルの空き領域がなくなった場合や、ログファイルを保存するために強制的にログファイルを切り替える場合などである。ファイルの終端が領域移動により切り替わったものか、その他のイベントで切り替わったものかを判定するために、ログファイルの管理領域に領域移動により切り替わったことを記録する。例えば、ログファイルの先頭に特定のビットパターンを記録する方法でも良いし、ログファイルのメタデータ（ファイルサイズや所有者等ファイルの属性を示すデータ）を記録する場所に記録する方法でもよい。通常ログファイルは制御ファイルにて世代管理されており、この世代管理している制御ファイルで管理する方法でもよい。
【０１４４】
リストア処理の際には、領域移動ログを検出する代わりに、領域移動により切り替わったログファイルの終端を検出することでログの区切りとすることができる。ログ読み込み転送部１４１〜１４３が各ログ領域２１６〜２１８を読み込んでいる場合、ログファイル２７２０、２７２２、２７２４から読み込む。ログ読み込み転送部１４１〜１４３がログファイル２７２０、２７２２、２７２４の終端を検出すると、領域移動ログを読み込んだとして領域移動ログを送信し、リストア制御部１４０からの開始指示を待つ。ログ読み込み転送部１４１〜１４３が開始指示を受けると、読み込むログファイルをログファイル２７２０、２７２２、２７２４からログファイル２７２１，２７２３，２７２５に切り替え処理を続ける。このようにリストア処理の際には、各ログ領域２１６〜２１８内のログファイル２７２０〜２７２５を切り替えて、ログを読み込んで適用することができる。
【０１４５】
なお、各ログ領域２１６〜２１８内のログファイルの数は、２つに限定されるものではなく、任意の数に設定することができる。あるいは、各ログ領域２１６〜２１８内のログファイルの数は、領域移動の度に増加するようにしても良い。
【０１４６】
＜第６実施形態＞
図２８は、第６の実施形態を示し、前記第１実施形態のストレージ装置２１〜２３を、ストレージ装置１０に集約し、ストレージ装置１０に設けた非共有ボリューム２１６０、２１７０、２１８０を、それぞれログ領域２１６〜２１８としたもので、その他の構成は、前記第１実施形態と同様である。
【０１４７】
この場合、ストレージ装置１０には、ＤＢサーバ１〜３で共有されるボリュームにデータ領域２１１が設定され、データ領域２１１内にはＤＢサーバ１〜３と一意に対応する領域（データ格納領域）Ａ２１２〜Ｄ２１５が設定され、さらに、ＤＢサーバ１〜３がそれぞれ占有する非共有ボリューム２１６０、２１７０、２１８０に、ログ領域２１６〜２１８が設定される。
【０１４８】
領域移動によりＤＢサーバ１〜３とデータ格納領域Ａ２１２〜Ｄ２１５の対応関係が変化しても、各ＤＢサーバ１〜３が出力するログは、各ＤＢサーバ１〜３が占有するログ領域２１６〜２１８に格納される点は、前記第１実施形態と同様である。
【産業上の利用可能性】
【０１４９】
以上のように、本発明は、無共有型データベースの管理システムに適用可能であり、領域移動前のデータ領域とバックアップ取得時以降のログから、ソート処理や結合処理を行うことなくリストア処理を実現できる。
【図面の簡単な説明】
【０１５０】
【図１】第１の実施形態を示し、データベースシステムの構成図。
【図２】バックアップ取得時点のデータ及びログの状態を示す説明図。
【図３】領域移動時のデータの状態を示す説明図。
【図４】各ＤＢサーバの領域管理部で行われる処理の一例を示すフローチャート。
【図５】領域移動を行った後のデータの状態を示す説明図。
【図６】リストア処理の開始時のデータの状態を示す説明図。
【図７】リストア処理中のデータの状態を示す説明図で、領域移動までの処理を示す。
【図８】リストア処理中のデータの状態を示す説明図で、領域移動後からの処理を示す。
【図９】管理サーバのリストア制御部で行われる処理の一例を示すフローチャート。
【図１０】同じく、管理サーバのリストア制御部で行われる処理の一例を示し、領域移動ログの判定処理を示すフローチャート。
【図１１】同じく、管理サーバのリストア制御部で行われる処理の一例を示し、終了ログの判定処理を示すフローチャート。
【図１２】ＤＢサーバのログ読み込み転送部で行われる処理の一例を示すフローチャート。
【図１３】第２の実施形態を示し、データベースシステムの構成図。
【図１４】第２の実施形態を示し、管理サーバのリストア制御部で行われる処理の一例を示すフローチャート。
【図１５】第２の実施形態を示し、同じく、管理サーバのリストア制御部で行われる処理の一例を示し、領域移動通知の判定処理を示すフローチャート。
【図１６】第２の実施形態を示し、同じく、管理サーバのリストア制御部で行われる処理の一例を示し、終了通知の判定処理を示すフローチャート。
【図１７】第２の実施形態を示し、ＤＢサーバのログ読み込み振り分け部で行われる処理の一例を示すフローチャート。
【図１８】第３の実施形態を示し、データベースシステムの構成図。
【図１９】第３の実施形態を示し、リストア処理中のデータの状態を示す説明図で、領域移動までの処理を示す。
【図２０】第３の実施形態を示し、リストア処理中のデータの状態を示す説明図で、領域移動後からの処理を示す。
【図２１】第３の実施形態を示し、ＤＢサーバのログ領域管理部で行われる処理の一例を示すフローチャート。
【図２２】第３の実施形態を示し、管理サーバのリストア制御部で行われる処理の一例を示すフローチャート。
【図２３】第３の実施形態を示し、同じく、管理サーバのリストア制御部で行われる処理の一例を示し、領域移動通知の判定処理を示すフローチャート。
【図２４】第３の実施形態を示し、同じく、管理サーバのリストア制御部で行われる処理の一例を示し、終了通知の判定処理を示すフローチャート。
【図２５】第３の実施形態を示し、ＤＢサーバのログ読み込み振り分け部で行われる処理の一例を示すフローチャート。
【図２６】第４の実施形態を示し、データベースシステムの構成図。
【図２７】第５の実施形態を示し、ログ領域の説明図。
【図２８】第６の実施形態を示し、ストレージ装置の説明図。
【図２９】第１の実施形態の他の例を示し、データベースシステムの構成図。
【符号の説明】
【０１５１】
１〜３  ＤＢサーバ
１０、２１〜２３  ストレージ装置
１０２                                                                          フロントエンドサーバ
１０３                                                                          ＩＰネットワーク
１０４                                                                          管理サーバ
１１０                                                                          ＳＡＮ
１２１〜１２３  データ処理部
１３０  領域の割り当て管理部
１３２〜１３４  領域管理部
１４０  リストア制御部
１４１〜１４３  ログ読み込み転送部
１５２〜１５４  ログ適用部
２１１  データ領域
２１２〜２１５  領域Ａ〜Ｄ
２１６〜２１８  ログ領域
２３１  領域・サーバ対応表
２３５〜２３７  領域管理表
３１１  バックアップ領域
３１６〜３１８  領域移動ログ
１２１６〜１２１８  ログ管理領域
１３２１〜１３２３  ログ読み込み振り分け部
１８４１〜１８４３  ログ領域管理部
【図１】
2006268531.tif 000003
【図２】
2006268531.tif 000004
【図３】
2006268531.tif 000005
【図４】
2006268531.tif 000006
【図５】
2006268531.tif 000007
【図６】
2006268531.tif 000008
【図７】
2006268531.tif 000009
【図８】
2006268531.tif 000010
【図９】
2006268531.tif 000011
【図１０】
2006268531.tif 000012
【図１１】
2006268531.tif 000013
【図１２】
2006268531.tif 000014
【図１３】
2006268531.tif 000015
【図１４】
2006268531.tif 000016
【図１５】
2006268531.tif 000017
【図１６】
2006268531.tif 000018
【図１７】
2006268531.tif 000019
【図１８】
2006268531.tif 000020
【図１９】
2006268531.tif 000021
【図２０】
2006268531.tif 000022
【図２１】
2006268531.tif 000023
【図２２】
2006268531.tif 000024
【図２３】
2006268531.tif 000025
【図２４】
2006268531.tif 000026
【図２５】
2006268531.tif 000027
【図２６】
2006268531.tif 000028
【図２７】
2006268531.tif 000029
【図２８】
2006268531.tif 000030
【図２９】
2006268531.tif 000031