(57)【要約】【課題】  常に所定サイズの差分バックアップを取得することでバックアップ処理や回復処理に必要な処理時間の見積もりを容易化することが可能な技術を提供する。【解決手段】  記憶手段を有する情報処理装置で用いられるデータのバックアップを行うバックアップ処理方法において、データが更新された場合に、当該データが更新されたことを示す更新ビット情報を前記記憶手段に格納された更新ビットマップ管理表に格納するステップと、その更新ビットマップ管理表中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の差分バックアップ基準値に達した場合に、当該更新ビット情報に対応する前記データのバックアップを指示するステップと、前記バックアップ指示を受け付けて記憶手段中の更新ビットマップ管理表に格納されている更新ビット情報を読み出し、更新ビット情報に対応するデータのバックアップを取得するステップとを有するものである。【選択図】        図１
2005309828.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段を有する情報処理装置で用いられるデータのバックアップを行うバックアップ処理方法において、
データが更新された場合に、当該データが更新されたことを示す更新ビット情報を前記記憶手段に格納された更新ビットマップ管理表に格納するステップと、その更新ビットマップ管理表中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の差分バックアップ基準値に達した場合に、当該更新ビット情報に対応する前記データのバックアップを指示するステップと、
前記バックアップ指示を受け付けて記憶手段中の更新ビットマップ管理表に格納されている更新ビット情報を読み出し、更新ビット情報に対応するデータのバックアップを取得するステップとを有することを特徴とするバックアップ処理方法。
【請求項２】
前記バックアップデータを格納する記憶領域のサイズと前記更新ビット情報に対応するデータのサイズとから前記差分バックアップ基準値を算出することを特徴とする請求項１に記載されたバックアップ処理方法。
【請求項３】
前記バックアップの取得に割り当てられている時間と前記更新ビット情報に対応するデータのバックアップに必要な時間とから前記差分バックアップ基準値を算出することを特徴とする請求項１に記載されたバックアップ処理方法。
【請求項４】
前記更新ビットマップ管理表中の更新ビット情報の累積数がFULLバックアップ開始基準値に達した場合に、当該更新ビットマップ管理表中のビット情報に対応する全データのバックアップを指示することを特徴とする請求項１乃至請求項３のいずれかに記載されたバックアップ処理方法。
【請求項５】
更新処理を検出する為の更新検出時間内に更新ビットマップ管理表中の更新ビット情報の数が差分バックアップ基準値に達した場合に、前記バックアップ指示を一時的に停止し、所定時間あたりの更新ビット情報の増加数が更新処理検出基準値未満となった後に、前記停止していたバックアップ指示を行うことを特徴とする請求項１乃至請求項４のいずれかに記載されたバックアップ処理方法。
【請求項６】
前記停止していたバックアップ指示を行う際に、更新ビットマップ管理表中の更新ビット情報の数がFULLバックアップ開始基準値に達した場合に、当該更新ビットマップ管理表中のビット情報に対応する全データのバックアップを指示することを特徴とする請求項１乃至請求項５のいずれかに記載されたバックアップ処理方法。
【請求項７】
更新ビットマップ管理表中の所定のビットマップ範囲に占める更新ビット情報の数がバックアップ対象変更基準値以上である場合に、当該ビットマップ範囲内のビット情報に対応するデータをバックアップの対象とすることを特徴とする請求項１乃至請求項６のいずれかに記載されたバックアップ処理方法。
【請求項８】
データが更新された場合に、当該データが更新されたことを示す更新ビット情報を記憶装置サブシステム中の更新ビットマップ管理表に格納し、その更新ビットマップ管理表中の更新ビット情報の数が差分バックアップ基準値に達した場合に当該更新ビット情報をホストコンピュータへ送信し、前記更新ビット情報をホストコンピュータで受け付けて当該更新ビット情報に対応するデータのバックアップをホストコンピュータでの制御により取得することを特徴とする請求項１乃至請求項７のいずれかに記載されたバックアップ処理方法。
【請求項９】
記憶手段を有する情報処理装置で用いられるデータのバックアップを行うバックアップ処理装置において、
データが更新された場合に、当該データが更新されたことを示す更新ビット情報を前記記憶手段に格納された更新ビットマップ管理表に格納し、その更新ビットマップ管理表中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の差分バックアップ基準値に達した場合に、当該更新ビット情報に対応する前記データのバックアップを指示するビットマップ処理部と、
前記バックアップ指示を受け付けて記憶手段中の更新ビットマップ管理表に格納されている更新ビット情報を読み出し、更新ビット情報に対応するデータのバックアップを取得するバックアップ処理部とを備えることを特徴とするバックアップ処理装置。
【請求項１０】
記憶手段を有する情報処理装置で用いられるデータのバックアップを行うバックアップ処理方法をコンピュータに実行させる為のプログラムにおいて、
データが更新された場合に、当該データが更新されたことを示す更新ビット情報を前記記憶手段に格納された更新ビットマップ管理表に格納するステップと、その更新ビットマップ管理表中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の差分バックアップ基準値に達した場合に、当該更新ビット情報に対応する前記データのバックアップを指示するステップと、
前記バックアップ指示を受け付けて記憶手段中の更新ビットマップ管理表に格納されている更新ビット情報を読み出し、更新ビット情報に対応するデータのバックアップを取得するステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置で用いられるデータのバックアップを行うバックアップ処理に関し、特にバックアップ処理時間や回復処理時間の見積もりを容易にするバックアップ処理に適用して有効な技術に関するものである。
【背景技術】
【０００２】
従来、情報処理装置で用いられるデータのバックアップを行う際には、バックアップ容量の削減策として差分バックアップ方法が用いられており、差分を管理する方法としては差分ビットマップを用いる方法がある。この差分ビットマップを用いたバックアップ処理方法では、差分ビットマップの更新ビット数に応じて差分バックアップまたはFULLバックアップを行っている（例えば特許文献１参照）。
【０００３】
【特許文献１】特開平７−８４７２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記従来のバックアップ処理方法では、スケジュール管理により所定日時にバックアップ処理要求が行われるのが基本だが、バックアップ容量を考慮したスケジュールはされていない。スケジュール管理により所定日時に差分バックアップを行った場合、バックアップされるデータ量が毎回異なる為、バックアップ処理時間に差異が生じ、バックアップ処理時間を見積もるのが困難になるという問題がある。また、万が一の障害時に回復処理の対象となるバックアップデータのデータ量も毎回異なることになる為、回復処理時間の見積もりも困難になるという問題がある。
【０００５】
本発明の目的は上記問題を解決し、所定サイズの差分バックアップを取得することでバックアップ処理や回復処理に必要な処理時間の見積もりを容易化することが可能な技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、情報処理装置で用いられるデータのバックアップを行うバックアップ処理装置において、更新ビットマップ管理表中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の所定の基準値に達した場合に、その更新ビット情報に対応するデータのバックアップを取得するものである。
【０００７】
本発明のバックアップ処理装置（計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い）では、記憶装置内のデータが更新されたかどうかをビットマップで管理する為の更新ビットマップ管理表をホストコンピュータ側または記憶装置サブシステム側のいずれかの記憶装置上に用意しておく。
【０００８】
本発明のビットマップ処理部は、データベース処理等の実行により記憶装置上のバックアップ対象領域のデータが更新されると、当該データが更新されたことを示す更新ビット情報を記憶装置中の更新ビットマップ管理表に格納した後、更新ビットマップ管理表から更新ビット情報を読み出してその数をカウントする。
【０００９】
そして、そのカウントした更新ビット情報の数と差分バックアップの処理時間を見積もる為の差分バックアップ基準値とを比較し、更新ビット情報の数が差分バックアップ基準値に達した場合には、当該更新ビット情報に対応するデータのバックアップをバックアップ処理部に指示する。
【００１０】
ここで、前記差分バックアップ基準値は、差分バックアップデータを格納する記憶領域のサイズと更新ビット情報に対応するデータのサイズとから算出されるものとする。例えばバックアップ用領域へアクセスして、差分バックアップデータを格納する記憶領域のサイズを取得した後、その取得したサイズを、単一の更新ビット情報に対応するデータのサイズで除算して余りを切り捨てた結果を差分バックアップ基準値とする。
【００１１】
また、バックアップの取得に割り当てられている時間と単一の更新ビット情報に対応するデータのバックアップに必要な時間とから前記差分バックアップ基準値を算出するものとしても良い。すなわち、バックアップの取得に割り当てられている時間を、単一の更新ビット情報に対応するデータのバックアップ対象領域からバックアップ用領域への転送に必要な時間で除算して余りを切り捨てた結果を差分バックアップ基準値としても良い。
【００１２】
本発明のバックアップ処理部は、前記バックアップ指示をビットマップ処理部から受け付けて記憶装置中の更新ビットマップ管理表に格納されている更新ビット情報を読み出し、その更新ビット情報に対応するデータを記憶装置中のバックアップ対象領域から読み出してバックアップ用領域へ格納して差分バックアップの取得を行う。
【００１３】
前記の様に本発明では、更新ビットマップ管理表中の更新ビット情報の数が差分バックアップ基準値に達した場合に差分バックアップの取得を行うので、差分バックアップデータのサイズが、差分バックアップ基準値に対応した所定サイズになり、その差分バックアップの取得に必要な処理時間の見積もりを容易に行うことが可能となる。また障害発生時に回復処理を行う場合でも、所定サイズの差分バックアップからの回復を行うことになるので、差分バックアップからの回復に必要な処理時間の見積もりを容易に行うことができる。
【発明の効果】
【００１４】
本発明によれば更新ビットマップ管理表中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の所定の基準値に達した場合に、その更新ビット情報に対応するデータのバックアップを取得するので、所定サイズの差分バックアップを取得することでバックアップ処理や回復処理に必要な処理時間の見積もりを容易化することが可能である。
【発明を実施するための最良の形態】
【００１５】
（実施形態１）
以下にデータベース処理で用いられるデータベースデータのバックアップを行う実施形態１のバックアップ処理装置について説明する。
【００１６】
図１は本実施形態のバックアップ処理装置の概略構成を示す図である。図１に示す様に本実施形態のホストコンピュータ１００は、質問解析処理部１０１と、ＤＢ演算処理部１０２と、ＤＢバッファ管理部１０３と、チェックポイント処理部１０４と、ビットマップ処理部１０５と、バックアップ処理部１０６と、リカバリ処理部１０７とを有している。
【００１７】
質問解析処理部１０１は、データベースの処理要求を受け付けて解析する処理部である。ＤＢ演算処理部１０２は、前記解析した処理要求の内容に応じてデータベースの演算処理を行う処理部である。ＤＢバッファ管理部１０３は、ストレージ装置１１０から受信したＤＢブロックをＤＢバッファ１０８に格納して管理し、ＤＢバッファ１０８を介したストレージ装置１１０内のバックアップ対象ＤＢ領域１１１へのアクセスを制御する処理部である。
【００１８】
チェックポイント処理部１０４は、ＤＢバッファ１０８の内容をストレージ装置１１０内のバックアップ対象ＤＢ領域１１１へ反映させる必要が生じた場合に、ＤＢバッファ１０８で更新された全ＤＢブロックの書き込み要求をホストコンピュータ１００からストレージ装置１１０へ送信し、更新ビットマップ管理表１０９の更新をビットマップ処理部１０５へ指示する処理部である。
【００１９】
ビットマップ処理部１０５は、バックアップ対象ＤＢ領域１１１内のデータが更新された場合に、当該データが更新されたことを示す更新ビット情報を主記憶装置中の更新ビットマップ管理表１０９に格納し、その更新ビットマップ管理表１０９中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の差分バックアップ基準値に達した場合に、当該バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータの差分バックアップ用ボリューム１１３へのバックアップをバックアップ処理部１０６へ指示する処理部である。本実施形態では、更新ビットマップを用いて更新箇所の管理を行っているが、更新箇所の位置情報や識別情報を用いる方法を採ることもできる。
【００２０】
バックアップ処理部１０６は、前記バックアップ指示を受け付けて主記憶装置中の更新ビットマップ管理表１０９に格納されている更新ビット情報を読み出し、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータを差分バックアップ用ボリューム１１３へ複写したりバックアップ対象ＤＢ領域１１１内の全データをFULLバックアップ用ボリューム１１２へ複写する処理を行って、バックアップを取得する処理部である。
【００２１】
リカバリ処理部１０７は、障害発生時に、FULLバックアップ用ボリューム１１２や差分バックアップ用ボリューム１１３からバックアップ対象ＤＢ領域１１１へデータを複写してデータベースの回復処理を行う処理部である。
【００２２】
ホストコンピュータ１００を質問解析処理部１０１、ＤＢ演算処理部１０２、ＤＢバッファ管理部１０３、チェックポイント処理部１０４、ビットマップ処理部１０５、バックアップ処理部１０６及びリカバリ処理部１０７として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２３】
またホストコンピュータ１００は、ＤＢバッファ１０８と、更新ビットマップ管理表１０９とを有している。
【００２４】
ＤＢバッファ１０８は、ストレージ装置１１０内のバックアップ対象ＤＢ領域１１１の内容を一時的に保持する記憶領域である。更新ビットマップ管理表１０９は、ストレージ装置１１０内のバックアップ対象ＤＢ領域１１１のデータが更新されたかどうかをビット情報で管理する為の管理表である。
【００２５】
ストレージ装置１１０は、バックアップ対象ＤＢ領域１１１と、FULLバックアップ用ボリューム１１２と、差分バックアップ用ボリューム１１３と、バックアップ制御管理情報１１４とを有している。
【００２６】
バックアップ対象ＤＢ領域１１１は、バックアップの対象となるデータベースデータを格納する記憶領域である。FULLバックアップ用ボリューム１１２は、FULLバックアップの際にバックアップ対象ＤＢ領域１１１中の全データを格納する記憶領域である。
【００２７】
差分バックアップ用ボリューム１１３は、差分バックアップの際にバックアップ対象ＤＢ領域１１１中の更新ビット情報に対応するデータを格納する記憶領域である。バックアップ制御管理情報１１４は、バックアップ処理の行われたＤＢ領域名、バックアップ種別、バックアップ開始及び終了時刻、バックアップ先や更新ビットマップ情報等の管理情報である。
【００２８】
本実施形態のホストコンピュータ１００でデータベース管理システムの処理が開始されると、質問解析処理部１０１でデータベースの処理要求を受け付けて解析する処理を行った後、ＤＢ演算処理部１０２では、前記解析した処理要求の内容に応じてデータベースの演算処理を行う。その際、ＤＢバッファ管理部１０３は、データベース処理に必要なデータを含むページの入力要求処理を行ってストレージ装置１１０から受信したＤＢブロックをＤＢバッファ１０８に格納し、必要に応じて更新ビットマップ管理表１０９の更新をビットマップ処理部１０５へ指示する。
【００２９】
図２は本実施形態のページ入力要求処理の処理手順を示すフローチャートである。ステップ２０１でホストコンピュータ１００のＤＢバッファ管理部１０３は、ＤＢバッファ１０８内をサーチするサーチ処理を実行し、前記データベース処理で要求されている要求ページがＤＢバッファ１０８内に格納されているかどうかを調べる。
【００３０】
ステップ２０２では、前記サーチ処理の結果を調べ、バッファヒットではない場合、すなわち要求ページがＤＢバッファ１０８内に格納されていない場合にはステップ２０３へ進む。
【００３１】
ステップ２０３では、ＤＢバッファ１０８中に空きバッファが有るかどうかを調べ、空きバッファが有る場合にはステップ２０４へ進み、空きバッファが無い場合にはステップ２０５へ進む。
【００３２】
ステップ２０４ではＤＢバッファ１０８中の空きバッファを獲得し、またステップ２０５では、図３に示す様にバッファスチール処理を行ってＤＢバッファ１０８中のバッファを取得する。
【００３３】
ステップ２０６では、前記要求ページのデータをストレージ装置１１０内のバックアップ対象ＤＢ領域１１１から読み出した後、ステップ２０４で獲得した空きバッファまたはステップ２０５で取得したバッファに前記要求ページのデータを格納する。
【００３４】
ステップ２０７では、ステップ２０６で前記要求ページのデータを格納したバッファのバッファアドレス、またはステップ２０２でバッファヒットとなったバッファのバッファアドレスを、ページ入力要求処理の呼び出し元へ返却して処理を終了する。
【００３５】
図３は本実施形態のバッファスチール処理の処理手順を示すフローチャートである。ステップ３０１でホストコンピュータ１００のＤＢバッファ管理部１０３は、ＤＢバッファ１０８内のＬＲＵ(Least Recently Used)チェインより、最も以前に使用されたバッファを検索し、その検索されたバッファのバッファアドレスを取得する。
【００３６】
ステップ３０２では、当該バッファ中のデータが更新されているかどうかを示す更新情報を参照して、そのバッファ中のデータがＤＢバッファ１０８上で更新されているかどうかを調べ、当該バッファ中のデータが更新されている場合、すなわち、当該バッファ中のデータのストレージ装置１１０への出力要求が有る場合にはステップ３０３へ進む。ここで前記更新情報は、そのバッファ中のデータの更新時に当該バッファの所定領域や、その他のテーブル等に格納されているものとする。
【００３７】
ステップ３０３では、当該バッファの内容をストレージ装置１１０へ書き込む為のＷｒｉｔｅコマンドを生成し、そのＷｒｉｔｅコマンドをストレージ装置１１０へ送信して当該バッファのページの書き込み要求を行う。ストレージ装置１１０では、前記Ｗｒｉｔｅコマンドを受信してページデータをストレージ装置１１０のキャッシュメモリやバックアップ対象ＤＢ領域１１１に書き込み、当該バッファの更新内容をストレージ装置１１０のキャッシュメモリやバックアップ対象ＤＢ領域１１１に反映させる。ここで、ストレージ装置１１０のキャッシュメモリへの書き込みにより、バックアップ対象ＤＢ領域１１１への書き込みが行われたものとしても良い。
【００３８】
ステップ３０４では、前記生成したＷｒｉｔｅコマンドによりアクセスされるアクセス先アドレスをビットマップ処理部１０５へ渡し、更新ビットマップ管理表１０９中の前記バッファ中のデータに対応するビット情報の更新をビットマップ処理部１０５へ指示する処理を行う。
【００３９】
ステップ３０５では、ステップ３０１で取得したバッファアドレスをバッファスチール処理の呼び出し元へ返却して処理を終了する。
【００４０】
また本実施形態のホストコンピュータ１００のチェックポイント処理部１０４は、ＤＢバッファ１０８の内容をストレージ装置１１０内のバックアップ対象ＤＢ領域１１１へ反映させる必要が生じた場合に、ＤＢバッファ１０８で更新された全ＤＢブロックの書き込み要求をホストコンピュータ１００からストレージ装置１１０へ送信し、更新ビットマップ管理表１０９の更新をビットマップ処理部１０５へ指示する処理を行う。
【００４１】
図４は本実施形態のチェックポイント処理の処理手順を示すフローチャートである。ステップ４０１でチェックポイント処理部１０４は、チェックポイントの取得を開始したことを示すチェックポイント取得開始ログを生成してログバッファに格納する。
【００４２】
ステップ４０２では、ＤＢバッファ１０８をロックしてＤＢバッファ１０８に対する更新処理を一時的に停止する。
【００４３】
ステップ４０３では、ＤＢバッファ１０８で出力待ちとなっているページ、すなわちＤＢバッファ１０８上で更新されている全ページをストレージ装置１１０へ書き込む為のＷｒｉｔｅコマンドを生成し、そのＷｒｉｔｅコマンドをストレージ装置１１０へ送信してページの書き込み要求を行う。ストレージ装置１１０では、前記Ｗｒｉｔｅコマンドを受信してページデータをストレージ装置１１０のキャッシュメモリやバックアップ対象ＤＢ領域１１１に書き込み、ＤＢバッファ１０８の更新内容をストレージ装置１１０のキャッシュメモリやバックアップ対象ＤＢ領域１１１に反映させる。ここで、ストレージ装置１１０のキャッシュメモリへの書き込みにより、バックアップ対象ＤＢ領域１１１への書き込みが行われたものとしても良い。
【００４４】
ステップ４０４では、前記生成したＷｒｉｔｅコマンドによりアクセスされるアクセス先アドレスをビットマップ処理部１０５へ渡し、更新ビットマップ管理表１０９中の前記更新の行われたページデータに対応するビット情報の更新をビットマップ処理部１０５へ指示する処理を行う。
【００４５】
ステップ４０５では、ＤＢバッファ１０８のロックを解除してＤＢバッファ１０８に対する更新処理を再開する。
【００４６】
ステップ４０６では、チェックポイントの取得を終了したことを示すチェックポイント取得終了ログを生成してログバッファに格納する。
【００４７】
本実施形態のホストコンピュータ１００のビットマップ処理部１０５は、前記の様にしてＤＢバッファ管理部１０３やチェックポイント処理部１０４によりストレージ装置１１０のキャッシュメモリやバックアップ対象ＤＢ領域１１１内のデータが更新された場合に、当該データが更新されたことを示す更新ビット情報を主記憶装置中の更新ビットマップ管理表１０９に格納し、その更新ビットマップ管理表１０９中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の差分バックアップ基準値に達した場合に、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータの差分バックアップ用ボリューム１１３へのバックアップをバックアップ処理部１０６へ指示する処理を行う。
【００４８】
図５は本実施形態の更新ビットマップ管理表更新処理の処理手順を示すフローチャートである。ステップ５０１でホストコンピュータ１００のビットマップ処理部１０５は、Ｗｒｉｔｅコマンドによりアクセスされるアクセス先アドレスをＤＢバッファ管理部１０３やチェックポイント処理部１０４から受け取った後、そのアクセス先アドレスから対象ビットマップ位置を計算する。
【００４９】
ステップ５０２では、主記憶装置中の更新ビットマップ管理表１０９を読み出して、ステップ５０１で計算した対象ビットマップ位置のビット情報がＯＦＦとなっているかどうかを調べ、対象ビットマップ位置のビット情報がＯＦＦとなっている場合にはステップ５０３へ進む。
【００５０】
ステップ５０３では、前記対象ビットマップ位置のビット情報をＯＮに変更することにより、バックアップ対象ＤＢ領域１１１内の当該対象ビットマップ位置に対応するデータが更新されたことを示す更新ビット情報を更新ビットマップ管理表１０９に格納する。
【００５１】
ステップ５０４では、更新ビットマップ管理表１０９中の各ビットマップ位置のビット情報を読み出して、そのビット情報がＯＮである更新ビット情報の数をカウントし、更新ビット数を算出する。
【００５２】
ステップ５０５では、ステップ５０４で算出した更新ビット数と、差分バックアップの処理時間を見積もる為の差分バックアップ基準値とを比較し、前記更新ビット数が差分バックアップ基準値に達している場合にはステップ５０６へ進む。
【００５３】
ステップ５０６では、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータの差分バックアップ用ボリューム１１３へのバックアップをバックアップ処理部１０６へ指示する処理を行う。
【００５４】
ここで、前記差分バックアップ基準値は、差分バックアップデータを格納する差分バックアップ用ボリューム１１３内の記憶領域のサイズと更新ビット情報に対応するデータのサイズとから算出されるものとする。例えば差分バックアップ用ボリューム１１３へアクセスして、差分バックアップデータを格納する記憶領域のサイズを取得した後、以下の数１の様に除算を行って余りを切り捨てた結果を差分バックアップ基準値とする。
【００５５】
［数１］
差分バックアップ基準値＝差分バックアップデータ記憶領域サイズ／単一の更新ビット情報に対応するデータサイズ
ここで、単一の更新ビット情報に対応するデータサイズは、バックアップ対象ＤＢ領域１１１や更新ビットマップ管理表１０９の作成時に予め設定されているものとする。
【００５６】
また、バックアップの取得に割り当てられている時間と単一の更新ビット情報に対応するデータのバックアップに必要な時間とから前記差分バックアップ基準値を算出するものとしても良い。すなわち、差分バックアップの取得に割り当て可能な時間を予め入力装置等によりユーザから受け付けた後、以下の数２の様に除算を行って余りを切り捨てた結果を差分バックアップ基準値とする。
【００５７】
［数２］
差分バックアップ基準値＝差分バックアップ割当時間／単一の更新ビット情報に対応するデータのバックアップ必要時間
ここで、単一の更新ビット情報に対応するデータのバックアップ必要時間は、ストレージ装置１１０のキャッシュメモリや磁気ディスク装置等のデータ転送速度と、単一の更新ビット情報に対応するデータサイズとから予め設定されているものとする。
【００５８】
本実施形態のビットマップ処理部１０５では、ステップ５０６で差分バックアップ用ボリューム１１３へのバックアップをバックアップ処理部１０６へ指示しているが、差分バックアップの指示毎に更新ビット数を累積して記録しておき、その累積数がFULLバックアップ開始基準値に達した場合に、当該更新ビットマップ管理表１０９中のビット情報に対応する全データのバックアップをバックアップ処理部１０６へ指示するものとしても良い。
【００５９】
この処理により、差分バックアップの累積データ量がFULLバックアップ時のデータ量を超える様になった場合に、FULLバックアップを取得しておくことにより、回復処理時の処理時間を削減することができる。
【００６０】
ここで前記FULLバックアップ開始基準値は、FULLバックアップを行った場合のデータサイズと、単一の更新ビット情報に対応するデータサイズとから算出されるものとする。例えばバックアップ対象ＤＢ領域１１１へアクセスして、FULLバックアップ時のデータサイズを取得した後、以下の数３の様に除算を行って余りを切り捨てた結果をFULLバックアップ開始基準値とする。
【００６１】
［数３］
FULLバックアップ開始基準値＝FULLバックアップ時のデータサイズ／単一の更新ビット情報に対応するデータサイズ
ここで、単一の更新ビット情報に対応するデータサイズは、前記と同様にバックアップ対象ＤＢ領域１１１や更新ビットマップ管理表１０９の作成時に予め設定されているものとする。
【００６２】
また、FULLバックアップに相当するデータ量を差分バックアップにて複数のＷｒｉｔｅコマンドにより処理した場合の処理オーバーヘッドを考慮して、その処理オーバーヘッドを、単一のビット情報に対応するデータのバックアップ必要時間で除算し、その値を数３の計算結果から引くことにより、FULLバックアップ開始基準値をより低い値に設定しても良い。
【００６３】
一方、大量のバッチ更新処理の実行等により、短時間で更新ビット数が差分バックアップ基準値に達した場合、差分バックアップが適切ではない場合があるので、大量の更新処理を検出する為の更新検出時間内で更新ビット数が差分バックアップ基準値に達した場合には、その更新量が少なくなった時点で更新ビット数を調べ、その値に応じて差分バックアップまたはFULLバックアップのいずれかを行うものとしても良い。
【００６４】
図６は本実施形態の大量更新処理検出時の更新ビットマップ管理表更新処理の処理手順を示すフローチャートである。図６に示す様にステップ５０１からステップ５０５までは図５と同様の処理を行う。
【００６５】
ステップ６０１でビットマップ処理部１０５は、前回のバックアップの取得が終了した日時を示すバックアップ終了時刻情報をバックアップ制御管理情報１１４から読み出した後、現在の日時との差を算出して経過時間を求め、その求めた経過時間と、大量の更新処理を検出する為の所定時間である更新処理検出時間とを比較して、前記経過時間が更新処理検出時間よりも小さいかどうか、すなわち更新処理検出時間内に更新ビット数が差分バックアップ基準値に達しているかどうかを調べる。そして、前記更新処理検出時間内に更新ビット数が差分バックアップ基準値に達している場合にはステップ６０２へ進む。
【００６６】
ステップ６０２では、所定の時間間隔で更新ビットマップ管理表１０９中の更新ビット数をカウントしてその増加数を求め、所定時間内の更新ビット数の増加数が更新処理検出基準値未満となるまで、更新ビット数の増加数をモニターする処理を繰り返す。
【００６７】
その後、所定時間内の更新ビット数の増加数が更新処理検出基準値未満となった場合には、その時点での更新ビット数とFULLバックアップ開始基準値とを比較し、前記更新ビット数がFULLバックアップ開始基準値に達している場合には、バックアップ対象ＤＢ領域１１１内の該当ＤＢ領域の全データのFULLバックアップ用ボリューム１１２へのバックアップをバックアップ処理部１０６へ指示し、前記更新ビット数がFULLバックアップ開始基準値に達していない場合には、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータの差分バックアップ用ボリューム１１３へのバックアップをバックアップ処理部１０６へ指示する。
【００６８】
ここで前記更新処理検出時間は、ホストコンピュータ１００で実行されるバッチ処理等、大量の更新処理を伴う処理の処理時間から設定されるものとし、前記所定時間内の更新処理検出基準値は、その大量の更新処理を伴う処理の実行時の更新処理検出時間における更新ビット数の増加数から設定されるものとする。例えば、ホストコンピュータ１００で実行される大量のバッチ更新処理の処理時間の平均値が６０分であり、その６０分における更新ビット数の平均増加数が「６００」である場合には、前記更新処理検出時間を６０分、前記所定時間内の更新処理検出基準値における所定時間を１分、更新処理検出基準値を更新ビット数「１」（平均増加速度の１０％）とする。
【００６９】
本実施形態のホストコンピュータ１００のバックアップ処理部１０６は、前記の様にしてビットマップ処理部１０５からバックアップ指示を受け付けると、主記憶装置中の更新ビットマップ管理表１０９に格納されている更新ビット情報を読み出し、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータを差分バックアップ用ボリューム１１３へ複写したりバックアップ対象ＤＢ領域１１１内の全データをFULLバックアップ用ボリューム１１２へ複写する処理を行って、バックアップを取得する。
【００７０】
図７は本実施形態のバックアップ処理の処理手順を示すフローチャートである。ステップ７０１でホストコンピュータ１００のバックアップ処理部１０６は、ビットマップ処理部１０５からバックアップ指示を受け付けると、その指示内容がFULLバックアップであるかどうかを調べ、FULLバックアップではない場合にはステップ７０２へ進む。
【００７１】
ステップ７０２では、バックアップ要求の行われたバックアップ対象ＤＢ領域１１１の更新ビットマップを主記憶装置中の更新ビットマップ管理表１０９から読み込む。
【００７２】
ステップ７０３では、ステップ７０２で読み込んだ更新ビットマップ中で、そのビット情報がＯＮとなっているデータを、バックアップ対象ＤＢ領域１１１から差分バックアップ用ボリューム１１３へ複写し、バックアップ制御管理情報１１４として、前記差分バックアップ処理の行われたＤＢ領域名、バックアップ種別、バックアップ開始及び終了時刻、バックアップ先や更新ビットマップ情報等の管理情報を記憶装置に格納する。
【００７３】
図８は本実施形態のホストコンピュータ側で管理するバックアップ管理テーブルの一例を示す図である。図８ではバックアップ制御管理情報１１４をホストコンピュータ１００で管理した場合の各種管理情報の例を表しており、バックアップ処理の行われたＤＢ領域名として「DBAREA1」、バックアップ種別として「FULL」や「差分」、更新ビットマップ情報として「111111111…」等の管理情報を格納している。
【００７４】
本実施形態では、更新ビット数が差分バックアップ基準値に達した場合に、差分バックアップを取得するので、ステップ７０３でバックアップ対象ＤＢ領域１１１から差分バックアップ用ボリューム１１３へ複写されるデータ量は常に所定サイズとなり、バックアップ処理に必要な処理時間の見積もりを容易に行うことができる。
【００７５】
またホストコンピュータ１００のリカバリ処理部１０７が、障害発生時に、差分バックアップ用ボリューム１１３からバックアップ対象ＤＢ領域１１１へデータを複写してデータベースの回復処理を行う場合には、前記バックアップ管理テーブルに記録された内容に従って、所定サイズの差分バックアップデータを複写することになるので、回復処理に必要な処理時間の見積もりも容易に行うことができる。
【００７６】
ステップ７０４では、ステップ７０２で読み込んだ更新ビットマップ中で、そのビット情報がＯＮとなっている更新ビット情報の数をカウントして更新ビット数を求めた後、前回の処理で主記憶装置上に格納しておいた更新ビット数の累積値に加算した後、再び主記憶装置上に格納して、更新ビット数の累積値の記録を行う。
【００７７】
ステップ７０５では、バックアップ要求の行われたバックアップ対象ＤＢ領域１１１の更新ビットマップを格納している主記憶装置中の更新ビットマップ管理表１０９をクリアする。
【００７８】
一方、ステップ７０１でビットマップ処理部１０５から受け付けた指示内容がFULLバックアップである場合にはステップ７０６へ進む。
【００７９】
ステップ７０６では、バックアップ要求の行われたバックアップ対象ＤＢ領域１１１の全データをFULLバックアップ用ボリューム１１２へ複写し、バックアップ制御管理情報１１４として、前記FULLバックアップ処理の行われたＤＢ領域名、バックアップ種別、バックアップ開始及び終了時刻、バックアップ先や更新ビットマップ情報等の管理情報を記憶装置に格納する。
【００８０】
ステップ７０７では、バックアップ要求の行われたバックアップ対象ＤＢ領域１１１の更新ビットマップを格納している主記憶装置中の更新ビットマップ管理表１０９と、主記憶装置上に格納されている更新ビット数の累積値をクリアする。
【００８１】
また前記ステップ７０３の処理では、ステップ７０２で読み込んだ更新ビットマップ中で、そのビット情報がＯＮとなっているデータをバックアップ対象ＤＢ領域１１１から差分バックアップ用ボリューム１１３へ複写しているが、その際に、連続する更新ビット情報に対応する領域については単一のＷｒｉｔｅコマンドによりまとめて複写したり、更新ビットマップ中の所定のビットマップ範囲に占める更新ビット情報の数がバックアップ対象変更基準値以上である場合には、当該ビットマップ範囲内のＯＦＦのビット情報に対応するデータも含めた全データをバックアップの対象として、Ｗｒｉｔｅコマンドの生成や送受信時の処理オーバーヘッドを減らし、入出力効率を向上させるものとしても良い。
【００８２】
図１２は本実施形態の入出力効率の向上例を示す図である。図１２に示す様に本実施形態では、連続する更新ビット情報に対応する領域をまとめてバックアップしたり、所定ビットマップ範囲内のＯＦＦ（図では０）のビット情報に対応するデータも含めた全データをバックアップの対象として、入出力効率を向上させる。
【００８３】
ここで前記バックアップ対象変更基準値は、前記所定ビットマップ範囲中の総ビット数と、その所定ビットマップ範囲の更新ビット情報に対応するサイズを複数のＷｒｉｔｅコマンドにより処理した場合の処理オーバーヘッドとから算出されるものとする。例えばシリンダやトラック等の所定の単位に相当するビットマップ範囲について、その差分バックアップを複数のＷｒｉｔｅコマンドにより処理した場合の処理オーバーヘッドを予め測定して平均値を算出しておき、以下の数４の様に計算を行った結果をバックアップ対象変更基準値とする。
【００８４】
［数４］
バックアップ対象変更基準値＝所定ビットマップ範囲中の総ビット数−処理オーバーヘッド平均値／単一のビット情報に対応するデータのバックアップ必要時間
ここで、処理オーバーヘッド平均値は、所定ビットマップ範囲の更新ビット情報に対応するサイズを複数のＷｒｉｔｅコマンドにより処理した場合の処理オーバーヘッドの平均値であり、単一の更新ビット情報に対応するデータのバックアップ必要時間は、ストレージ装置１１０のキャッシュメモリや磁気ディスク装置等のデータ転送速度と、単一の更新ビット情報に対応するデータサイズとから予め設定されているものとする。
【００８５】
以上説明した様に本実施形態のバックアップ処理装置によれば、更新ビットマップ管理表中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の所定の基準値に達した場合に、その更新ビット情報に対応するデータのバックアップを取得するので、常に所定サイズの差分バックアップを取得することでバックアップ処理や回復処理に必要な処理時間の見積もりを容易化することが可能である。
（実施形態２）
以下にストレージ装置側でデータベースデータのバックアップを行う実施形態２のバックアップ処理装置について説明する。
【００８６】
実施形態１の処理では、ホストコンピュータ１００側で更新ビットマップ管理表更新処理やバックアップ処理を行うものとして説明したが、これらの処理をストレージ装置１１０側で制御するものとしても良い。
【００８７】
図９は本実施形態のバックアップ処理装置の概略構成を示す図である。図９に示す様に本実施形態のストレージ装置１１０は、コマンド処理部９０１と、ビットマップ処理部９０２と、バックアップ処理部９０３と、リカバリ処理部９０４とを有している。
【００８８】
コマンド処理部９０１は、データの書き込み要求をホストコンピュータ１００から受信し、その受信した書き込み要求の内容に従って、バックアップ対象ＤＢ領域１１１やキャッシュメモリの更新を行う処理部である。
【００８９】
ビットマップ処理部９０２は、バックアップ対象ＤＢ領域１１１内のデータが更新された場合に、当該データが更新されたことを示す更新ビット情報をストレージ装置１１０のメモリ中の更新ビットマップ管理表１０９に格納し、その更新ビットマップ管理表１０９中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の差分バックアップ基準値に達した場合に、当該バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータの差分バックアップ用ボリューム１１３へのバックアップをバックアップ処理部９０３へ指示する処理部である。
【００９０】
バックアップ処理部９０３は、前記バックアップ指示を受け付けてメモリ中の更新ビットマップ管理表１０９に格納されている更新ビット情報を読み出し、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータを差分バックアップ用ボリューム１１３へ複写したりバックアップ対象ＤＢ領域１１１内の全データをFULLバックアップ用ボリューム１１２へ複写する処理を行って、バックアップを取得する処理部である。
【００９１】
リカバリ処理部９０４は、障害発生時に、FULLバックアップ用ボリューム１１２や差分バックアップ用ボリューム１１３からバックアップ対象ＤＢ領域１１１へデータを複写してデータベースの回復処理を行う処理部である。
【００９２】
ストレージ装置１１０をコマンド処理部９０１、ビットマップ処理部９０２、バックアップ処理部９０３及びリカバリ処理部９０４として機能させる為のプログラムは、ＲＯＭ等の記録媒体に記録されて実行されるものとする。なお前記プログラムを記録する記録媒体はＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００９３】
本実施形態のその他の構成については実施形態１に記載したものと同様であるものとするが、本実施形態のＤＢバッファ管理部１０３やチェックポイント処理部１０４は、実施形態１の場合とは異なり、更新ビットマップ管理表１０９中のビット情報の更新をビットマップ処理部９０２へ指示しないものとし、ストレージ装置１１０は、コマンド処理部９０１によりＷｒｉｔｅコマンドを受け付けて更新ビットマップ管理表１０９の更新をビットマップ処理部９０２に指示するものとする。
【００９４】
図１０は本実施形態のＷｒｉｔｅコマンド処理の処理手順を示すフローチャートである。図１０の様にストレージ装置１１０のコマンド処理部９０１は、ホストコンピュータ１００からコマンドを受信すると、受信コマンドからコマンド種類とアクセス先アドレスを解析し、Ｗｒｉｔｅコマンドであることを認識する（ステップ１００１）。ここで、アクセス先アドレスからは、複数のディスクサブシステムやその各磁気ディスク装置に割り当てられているアドレスを示す装置構成管理テーブルの情報との比較を行うことにより、アクセス要求先のディスク制御装置番号とドライブ番号を識別することができるものとする。
【００９５】
次にステップ１００２では、ステップ１００１で解析したアクセス先アドレスのデータが、ストレージ装置１１０のキャッシュメモリに保持されているかどうかを調べ、キャッシュヒットであるかどうかを判定する。
【００９６】
アクセス先データがキャッシュメモリに保持されていないキャッシュミスの場合にはステップ１００３へ進み、前記の様にアクセス要求先のドライブ番号を識別し、ストレージ装置１１０のディスクアクセス制御部に対してそのドライブ番号に対応する磁気ディスク装置からキャッシュメモリヘの転送依頼を行う。
【００９７】
ステップ１００４では、前記の転送処理が終了したかどうかを調べ、転送処理が終了した場合にはステップ１００５へ進む。
【００９８】
ステップ１００２でキャッシュヒットと判定された場合、またはステップ１００４での転送処理が終了した場合には、ストレージ装置１１０内のキャッシュメモリに対して当該データの更新を行う（ステップ１００５）。すなわち、ホストコンピュータ１００から受領したデータの内容をキャッシュメモリへ書き込む。ここで、その受領した書き込み要求の内容に従って、ストレージ装置１１０内のバックアップ対象ＤＢ領域１１１の更新を行うものとしても良い。
【００９９】
ステップ１００６では、前記書き込みを行った該当アドレスは差分管理対象のアドレスであるか、すなわちバックアップ対象ＤＢ領域１１１内のアドレスであるかどうかを調べ、バックアップ対象ＤＢ領域１１１内のアドレスである場合にはステップ１００７へ進む。
【０１００】
ステップ１００７では、前記書き込みを行ったアクセス先アドレスをビットマップ処理部９０２へ渡し、更新ビットマップ管理表１０９中の前記更新の行われたデータに対応するビット情報の更新をビットマップ処理部９０２へ指示する処理を行う。
【０１０１】
そしてステップ１００８では、ホストコンピュータ１００に対してＷｒｉｔｅコマンド処理の完了報告を行う。
【０１０２】
本実施形態のストレージ装置１１０のビットマップ処理部９０２は、前記の様にしてコマンド処理部９０１によりストレージ装置１１０のキャッシュメモリやバックアップ対象ＤＢ領域１１１内のデータが更新された場合に、当該データが更新されたことを示す更新ビット情報をメモリ中の更新ビットマップ管理表１０９に格納し、その更新ビットマップ管理表１０９中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の差分バックアップ基準値に達した場合に、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータの差分バックアップ用ボリューム１１３へのバックアップをバックアップ処理部９０３へ指示する処理を行う。
【０１０３】
この処理は、図５に示したホストコンピュータ１００での処理と同様であり、以下、ストレージ装置１１０での更新ビットマップ管理表更新処理を図５に従って説明する。
【０１０４】
ステップ５０１でストレージ装置１１０のビットマップ処理部９０２は、Ｗｒｉｔｅコマンドによりアクセスされるアクセス先アドレスをコマンド処理部９０１から受け取った後、そのアクセス先アドレスから対象ビットマップ位置を計算する。
【０１０５】
ステップ５０２では、メモリ中の更新ビットマップ管理表１０９を読み出して、ステップ５０１で計算した対象ビットマップ位置のビット情報がＯＦＦとなっているかどうかを調べ、対象ビットマップ位置のビット情報がＯＦＦとなっている場合にはステップ５０３へ進む。
【０１０６】
ステップ５０３では、前記対象ビットマップ位置のビット情報をＯＮに変更することにより、バックアップ対象ＤＢ領域１１１内の当該対象ビットマップ位置に対応するデータが更新されたことを示す更新ビット情報を更新ビットマップ管理表１０９に格納する。
【０１０７】
ステップ５０４では、更新ビットマップ管理表１０９中の各ビットマップ位置のビット情報を読み出して、そのビット情報がＯＮである更新ビット情報の数をカウントし、更新ビット数を算出する。
【０１０８】
ステップ５０５では、ステップ５０４で算出した更新ビット数と、差分バックアップの処理時間を見積もる為の差分バックアップ基準値とを比較し、前記更新ビット数が差分バックアップ基準値に達している場合にはステップ５０６へ進む。
【０１０９】
ステップ５０６では、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータの差分バックアップ用ボリューム１１３へのバックアップをバックアップ処理部９０３へ指示する処理を行う。
【０１１０】
ここで、前記差分バックアップ基準値は、差分バックアップデータを格納する差分バックアップ用ボリューム１１３内の記憶領域のサイズと更新ビット情報に対応するデータのサイズとから前記差分バックアップ基準値を算出したり、また、バックアップの取得に割り当てられている時間と単一の更新ビット情報に対応するデータのバックアップに必要な時間とから前記差分バックアップ基準値を算出したりしても良いのは実施形態１と同様である。
【０１１１】
また同様に、差分バックアップの累積数がFULLバックアップ開始基準値に達した場合に、当該更新ビットマップ管理表１０９中のビット情報に対応する全データのバックアップをバックアップ処理部９０３へ指示するものとしても良い。
【０１１２】
更に図６に示したホストコンピュータ１００での処理と同様に、大量の更新処理を検出する為の更新検出時間内で更新ビット数が差分バックアップ基準値に達した場合に、その更新量が少なくなった時点で更新ビット数を調べ、その値に応じて差分バックアップまたはFULLバックアップのいずれかを行うものとしても良い。
【０１１３】
すなわちステップ５０１からステップ５０５まで図５と同様の処理を行った後、ステップ６０１でビットマップ処理部９０２は、前回のバックアップの取得が終了した日時を示すバックアップ終了時刻情報をバックアップ制御管理情報１１４から読み出した後、現在の日時との差を算出して経過時間を求め、その求めた経過時間と、更新処理を検出する為の所定時間である更新処理検出時間とを比較して、前記経過時間が更新処理検出時間よりも小さいかどうか、すなわち更新処理検出時間内に更新ビット数が差分バックアップ基準値に達しているかどうかを調べる。そして、前記更新処理検出時間内に更新ビット数が差分バックアップ基準値に達している場合にはステップ６０２へ進む。
【０１１４】
ステップ６０２では、所定の時間間隔で更新ビットマップ管理表１０９中の更新ビット数をカウントしてその増加数を求め、所定時間内の更新ビット数の増加数が更新処理検出基準値未満となるまで、更新ビット数の増加数をモニターする処理を繰り返す。
【０１１５】
その後、所定時間内の更新ビット数の増加数が更新処理検出基準値未満となった場合には、その時点での更新ビット数とFULLバックアップ開始基準値とを比較し、前記更新ビット数がFULLバックアップ開始基準値に達している場合には、バックアップ対象ＤＢ領域１１１内の該当ＤＢ領域の全データのFULLバックアップ用ボリューム１１２へのバックアップをバックアップ処理部９０３へ指示し、前記更新ビット数がFULLバックアップ開始基準値に達していない場合には、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータの差分バックアップ用ボリューム１１３へのバックアップをバックアップ処理部９０３へ指示する。
【０１１６】
本実施形態のストレージ装置１１０のバックアップ処理部９０３は、前記の様にしてビットマップ処理部９０２からバックアップ指示を受け付けると、メモリ中の更新ビットマップ管理表１０９に格納されている更新ビット情報を読み出し、バックアップ対象ＤＢ領域１１１内の更新ビット情報に対応するデータを差分バックアップ用ボリューム１１３へ複写したりバックアップ対象ＤＢ領域１１１内の全データをFULLバックアップ用ボリューム１１２へ複写する処理を行って、バックアップを取得する。
【０１１７】
この処理は、図７に示したホストコンピュータ１００での処理と同様であり、以下、ストレージ装置１１０でのバックアップ処理を図７に従って説明する。
【０１１８】
ステップ７０１でストレージ装置１１０のバックアップ処理部９０３は、ビットマップ処理部９０２からバックアップ指示を受け付けると、その指示内容がFULLバックアップであるかどうかを調べ、FULLバックアップではない場合にはステップ７０２へ進む。
【０１１９】
ステップ７０２では、バックアップ要求の行われたバックアップ対象ＤＢ領域１１１の更新ビットマップをメモリ中の更新ビットマップ管理表１０９から読み込む。
【０１２０】
ステップ７０３では、ステップ７０２で読み込んだ更新ビットマップ中で、そのビット情報がＯＮとなっているデータを、バックアップ対象ＤＢ領域１１１から差分バックアップ用ボリューム１１３へ複写し、バックアップ制御管理情報１１４として、前記差分バックアップ処理の行われたＤＢ領域名、バックアップ種別、ＬＵＮ、バックアップ開始及び終了時刻、バックアップ先や更新ビットマップ情報等の管理情報を記憶装置に格納する。
【０１２１】
図１１は本実施形態のストレージ装置側で管理するバックアップ管理テーブルの一例を示す図である。図１１ではバックアップ制御管理情報１１４をストレージ装置１１０で管理した場合の各種管理情報の例を表しており、バックアップ処理の行われたＤＢ領域名として「DBAREA1」、バックアップ種別として「FULL」や「差分」、更新ビットマップ情報として「111111111…」等の管理情報を格納している。ここで図１１のLUNは記憶装置のLU(Logical Unit)を識別する為の番号を表している。
【０１２２】
本実施形態では、更新ビット数が差分バックアップ基準値に達した場合に、差分バックアップを取得するので、ステップ７０３でバックアップ対象ＤＢ領域１１１から差分バックアップ用ボリューム１１３へ複写されるデータ量は常に所定サイズとなり、バックアップ処理に必要な処理時間の見積もりを容易に行うことができる。
【０１２３】
またストレージ装置１１０のリカバリ処理部９０４が、障害発生時に、差分バックアップ用ボリューム１１３からバックアップ対象ＤＢ領域１１１へデータを複写してデータベースの回復処理を行う場合には、前記バックアップ管理テーブルに記録された内容に従って、所定サイズの差分バックアップデータを複写することになるので、回復処理に必要な処理時間の見積もりも容易に行うことができる。
【０１２４】
ステップ７０４では、ステップ７０２で読み込んだ更新ビットマップ中で、そのビット情報がＯＮとなっている更新ビット情報の数をカウントして更新ビット数を求めた後、前回の処理でメモリ上に格納しておいた更新ビット数の累積値に加算した後、再びメモリ上に格納して、更新ビット数の累積値の記録を行う。
【０１２５】
ステップ７０５では、バックアップ要求の行われたバックアップ対象ＤＢ領域１１１の更新ビットマップを格納しているメモリ中の更新ビットマップ管理表１０９をクリアする。
【０１２６】
一方、ステップ７０１でビットマップ処理部９０２から受け付けた指示内容がFULLバックアップである場合にはステップ７０６へ進む。
【０１２７】
ステップ７０６では、バックアップ要求の行われたバックアップ対象ＤＢ領域１１１の全データをFULLバックアップ用ボリューム１１２へ複写し、バックアップ制御管理情報１１４として、前記FULLバックアップ処理の行われたＤＢ領域名、バックアップ種別、ＬＵＮ、バックアップ開始及び終了時刻、バックアップ先や更新ビットマップ情報等の管理情報を記憶装置に格納する。
【０１２８】
ステップ７０７では、バックアップ要求の行われたバックアップ対象ＤＢ領域１１１の更新ビットマップを格納しているメモリ中の更新ビットマップ管理表１０９と、メモリ上に格納されている更新ビット数の累積値をクリアする。
【０１２９】
また前記ステップ７０３の処理では、ステップ７０２で読み込んだ更新ビットマップ中で、そのビット情報がＯＮとなっているデータをバックアップ対象ＤＢ領域１１１から差分バックアップ用ボリューム１１３へ複写しているが、更新ビットマップ中の所定のビットマップ範囲に占める更新ビット情報の数がバックアップ対象変更基準値以上である場合に、当該ビットマップ範囲内のビット情報に対応するデータをバックアップの対象としても良い。
【０１３０】
前記の様に本実施形態の処理では、ストレージ装置１１０側で更新ビットマップ管理表更新処理やバックアップ処理を行うものとして説明したが、ストレージ装置１１０側で更新ビットマップ管理表更新処理を行い、ホストコンピュータ１００側でバックアップ処理を行うものとしても良い。
【０１３１】
すなわち、データが更新された場合に、当該データが更新されたことを示す更新ビット情報を記憶装置サブシステムであるストレージ装置１１０中の更新ビットマップ管理表１０９に格納し、その更新ビットマップ管理表１０９中の更新ビット情報の数が差分バックアップ基準値に達した場合に当該更新ビット情報をホストコンピュータ１００のバックアップ処理部１０６へ送信し、前記更新ビット情報をホストコンピュータ１００のバックアップ処理部１０６で受け付けて当該更新ビット情報に対応するデータのバックアップをホストコンピュータ１００での制御により取得する。
【０１３２】
更新ビットマップの管理は、バックアップ対象ＤＢ領域１１１でのアクセス先アドレスに依存した処理であるので、ストレージ装置１１０側で効率的に行うことができるが、バックアップ処理に関しては、ホストコンピュータ１００側で既に使用しているアプリケーション処理により行いたい場合もある為、更新ビット数が差分バックアップ基準値に達した場合にストレージ装置１１０からホストコンピュータ１００へ更新ビットマップ情報を送信するインタフェースを設けることにより、ホストコンピュータ１００とストレージ装置１１０とが連携したバックアップ処理を行うことができる。
【０１３３】
以上説明した様に本実施形態のバックアップ処理装置によれば、更新ビットマップ管理表中の更新ビット情報の数が差分バックアップの処理時間を見積もる為の所定の基準値に達した場合に、その更新ビット情報に対応するデータのバックアップを取得するので、常に所定サイズの差分バックアップを取得することでバックアップ処理や回復処理に必要な処理時間の見積もりを容易化することが可能である。
【図面の簡単な説明】
【０１３４】
【図１】実施形態１のバックアップ処理装置の概略構成を示す図である。
【図２】実施形態１のページ入力要求処理の処理手順を示すフローチャートである。
【図３】実施形態１のバッファスチール処理の処理手順を示すフローチャートである。
【図４】実施形態１のチェックポイント処理の処理手順を示すフローチャートである。
【図５】実施形態１の更新ビットマップ管理表更新処理の処理手順を示すフローチャートである。
【図６】実施形態１の大量更新処理検出時の更新ビットマップ管理表更新処理の処理手順を示すフローチャートである。
【図７】実施形態１のバックアップ処理の処理手順を示すフローチャートである。
【図８】実施形態１のホストコンピュータ側で管理するバックアップ管理テーブルの一例を示す図である。
【図９】実施形態２のバックアップ処理装置の概略構成を示す図である。
【図１０】実施形態２のＷｒｉｔｅコマンド処理の処理手順を示すフローチャートである。
【図１１】実施形態２のストレージ装置側で管理するバックアップ管理テーブルの一例を示す図である。
【図１２】実施形態１の入出力効率の向上例を示す図である。
【符号の説明】
【０１３５】
１００…ホストコンピュータ、１１０…ストレージ装置、１０１…質問解析処理部、１０２…ＤＢ演算処理部、１０３…ＤＢバッファ管理部、１０４…チェックポイント処理部、１０５…ビットマップ処理部、１０６…バックアップ処理部、１０７…リカバリ処理部、１０８…ＤＢバッファ、１０９…更新ビットマップ管理表、１１１…バックアップ対象ＤＢ領域、１１２…FULLバックアップ用ボリューム、１１３…差分バックアップ用ボリューム、１１４…バックアップ制御管理情報、９０１…コマンド処理部、９０２…ビットマップ処理部、９０３…バックアップ処理部、９０４…リカバリ処理部
【図１】
2005309828.tif 000003
【図２】
2005309828.tif 000004
【図３】
2005309828.tif 000005
【図４】
2005309828.tif 000006
【図５】
2005309828.tif 000007
【図６】
2005309828.tif 000008
【図７】
2005309828.tif 000009
【図８】
2005309828.tif 000010
【図９】
2005309828.tif 000011
【図１０】
2005309828.tif 000012
【図１１】
2005309828.tif 000013
【図１２】
2005309828.tif 000014