(57)【要約】【課題】  本発明では、データベース資源のバックアップを取得する際に、バックアップ領域にコピーされた複写先のファイルに対し、従来のヘッダチェックにブロックチェック機能を追加した正常性チェック技術を提供する。【解決手段】  ファイルのバックアップリカバリシステムにおける正常性チェック方法において、バックアップ領域に格納された複写先ファイルの正常性のチェック条件をチェックテーブルに設定しておき、チェック条件にしたがってチェックの対象となる複写先ファイルを抽出して、抽出ファイルについて全ブロックチェックを実施することを特徴とする方法。【選択図】図１
2007226733.tif 000002
【特許請求の範囲】
【請求項１】
ディスク上のバックアップ領域にデータベースのファイルを直接コピーする機能を備えたバックアップリカバリシステムにおける正常性チェック方法であって、
前記バックアップ領域に格納された複写先ファイルの正常性のチェック条件をチェックテーブルに設定するチェック条件設定ステップと、
前記チェックテーブルを参照し前記チェック条件にしたがって、前記バックアップ領域においてチェックの対象となる複写先ファイルを抽出するファイル抽出ステップと、
抽出された前記複写先ファイルについて、当該ファイル内の全ブロックの正常性チェックを行うブロックチェックステップと、
を有することを特徴とするファイルの正常性チェック方法。
【請求項２】
前記ファイル抽出ステップにおいて、データベースの複写元ファイルをバックアップする際に記録された更新履歴から前記複写元ファイル内の更新されているブロック数をファイル毎にカウントし、該ブロック数の大きさによって前記複写先ファイルを抽出することを特徴とする請求項１に記載のファイルの正常性チェック方法。
【請求項３】
前記ファイル抽出ステップにおいて、データベースの複写元ファイルをバックアップする際に記録された更新履歴から前記複写元ファイル内の更新されているブロック数をカウントし、各ファイル毎に全ブロック数に対する更新されたブロック数を計算した値をファイルの更新度合を表す閾値とし、当該閾値以上のファイルを全ブロックチェックの対象ファイルとして抽出することを特徴とする請求項１に記載のファイルの正常性チェック方法。
【請求項４】
ディスク上のバックアップ領域にデータベースのファイルを直接コピーする機能を備えたバックアップリカバリシステムにおける正常性チェックプログラムであって、
コンピュータに、
前記バックアップ領域に格納された複写先ファイルの正常性のチェック条件をチェックテーブルに設定するチェック条件設定ステップと、
前記チェックテーブルを参照し前記チェック条件にしたがって、前記バックアップ領域においてチェックの対象となる複写先ファイルを抽出するファイル抽出ステップと、
抽出された前記複写先ファイルについて、当該ファイル内の全ブロックの正常性チェックを行うブロックチェックステップと、
を実行させる正常性チェックプログラム。
【請求項５】
ディスク上のバックアップ領域にデータベ−スのファイルを直接コピーする機能を備えたバックアップリカバリシステムにおける正常性チェック装置であって、
前記バックアップ領域に格納された複写先ファイルの正常性のチェック条件をチェックテーブルに設定するチェック条件設定手段と、
前記チェックテーブルを参照し前記チェック条件にしたがって、前記バックアップ領域においてチェックの対象となる複写先ファイルを抽出するファイル抽出手段と、
抽出された前記複写先ファイルについて、当該ファイル内の全ブロックの正常性チェックを行うブロックチェック手段と、
を有することを特徴とするファイルの正常性チェック装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース資源（ファイル）のバックアップリカバリシステムにおいて、バックアップファイルの正常性をブロック単位でチェックする技術に関する。
【背景技術】
【０００２】
従来、バックアップリカバリシステムにおいて、データベースのバックアップをディスクアレイ装置の高速データコピー機能を使って取得することが提案されている（例えば、特許文献１、２参照）。しかしながら、この場合、データベース（ＤＢ）サーバを経由しないでストレージ内で直接ディスクコピーを行うため、バックアップされるデータ( データベース) が、本当に正常な状態にあるか否かが不明のままとなる。もし、データベースの異常が分からずに、そのままバックアップされてしまうと、そのバックアップを使用した場合には、正常なリカバリを行うことはできない。
【０００３】
従来のバックアップリカバリシステムにおいては、バックアップ前のデータベースのファイル（制御ファイル、ログファイル、データファイル) について、ファイルのヘッダ部分のチェック行い、その正常性を判断していた。
【０００４】
すなわち、ヘッダ部分のみのチェックでは、「ファイルが存在する」、「ファイルサイズが一致している」という判断が得られるに過ぎず、例えば、ファイル内のデータブロックが破損している場合でも、正常と判断されてしまう恐れがある。
【０００５】
これに対し、ブロック単位でのチェックを行うことも考えられるが、チェックのボリュームが大きく、実際の業務処理を行いつつ、ファイル内の全ブロックの正常性をチェックすることは不効率であり、システムの負担が重くなるという問題を抱える。
【特許文献１】特許第３６０６７９７号公報
【特許文献２】特許第３７１４１８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記問題点を解決するため、本発明では、データベース資源（ファイル）のバックアップを取得する際に、バックアップ領域にコピーされた複写先のファイルに対し、ファイルのヘッダチェックだけでなく、ブロックのチェックを行う機能を追加し、また、データ更新量に応じてヘッダチェックとブロックチェックを自動選択できる技術を提供する。
【課題を解決するための手段】
【０００７】
第一の発明は、ディスク上のバックアップ領域にデータベースのファイルを直接コピーする機能を備えたファイルのバックアップリカバリシステムにおける正常性チェック方法であって、前記バックアップ領域に格納された複写先ファイルの正常性のチェック条件をチェックテーブルに設定するチェック条件設定ステップと、前記チェックテーブルを参照し前記チェック条件にしたがって、前記バックアップ領域においてチェックの対象となる複写先ファイルを抽出するファイル抽出ステップと、抽出された前記複写先ファイルについて、当該ファイル内の全ブロックの正常性チェックを行うブロックチェックステップと、を有することを特徴とするファイルの正常性チェック方法に関する。
【０００８】
すなわち、第一の発明によれば、チェック条件設定手段によって、ディスク上のバックアップ領域に格納された複写先ファイルが正常な状態にあるか否かをチェックする方法として、従来のファイルのヘッダチェックの他に、ブロックチェックおよびその条件をチェックテーブルに設定し、ファイル抽出手段が、チェックテーブルを参照して該テーブルに設定されたチェック条件からファイルの正常性チェック方法を取得することによって、バックアップ領域においてチェックの対象となる複写先ファイルを抽出し、ブロックチェック手段が、抽出された前記複写先ファイルについて、当該ファイル内の全ブロックの正常性チェックを行う構成をとることによって、時間のかかる全ブロックによるチェックが、コピーされたバックアップ領域の複写先ファイルを使って、業務処理を行いながら実行されるため、大幅な業務効率の改善を図ることができる。
【０００９】
第二の発明は、前記ファイル抽出ステップにおいて、データベースの複写元ファイルをバックアップする際に記録された更新履歴から前記複写元ファイル内の更新されているブロック数をファイル毎にカウントし、該ブロック数の大きさによって前記複写先ファイルを抽出することを特徴とする上記第一の発明に記載のファイルの正常性チェック方法に関する。
【００１０】
すなわち、第二の発明によれば、バックアップ領域において、正常性チェックのファイルを抽出するにあたって、複写元ファイルをバックアップする際の更新履歴から更新されたファイル内ブロックの数をファイル毎にカウントし、そのブロック数の大小によって対象とする複写先ファイルを抽出する構成とすることによって、更新量が少ないファイルであれば、そのままヘッダチェックのみとし、更新量の大きいファイルの場合には、ファイル内の全ブロックチェックを適用することが可能となり、より効率的な正常性チェックの実現が図れる。
【００１１】
第三の発明は、前記ファイル抽出ステップにおいて、データベースの複写元ファイルをバックアップする際に記録された更新履歴から前記複写元ファイル内の更新されているブロック数をカウントし、各ファイル毎に全ブロック数に対する更新されたブロック数を計算した値をファイルの更新度合を表す閾値とし、当該閾値以上のファイルを全ブロックチェックの対象ファイルとして抽出することを特徴とする上記第一の発明に記載のファイルの正常性チェック方法に関する。
【００１２】
すなわち、第三の発明によれば、ファイルの更新の度合を各ファイル毎に全ブロック数に対する更新されたブロック数とする更新比率の値を適用することによって、ファイル規模が大きなファイルであっても相対的な更新量が把握でき、より適正な全ブロックチェックが実現される。また、その閾値の設定によって、ヘッダチェックのみか、全ブロックチェックかの自動選択が実現される。
【発明の効果】
【００１３】
以上、本発明によれば以下の効果が生じる。
（１）チェック条件設定手段によって、ディスク上のバックアップ領域に格納された複写先ファイルが正常な状態にあるか否かをチェックする方法として、従来のファイルのヘッダチェックの他に、ブロックチェックおよびその条件をチェックテーブルに設定し、ファイル抽出手段が、チェックテーブルを参照して該テーブルに設定されたチェック条件からファイルの正常性チェック方法を取得することによって、バックアップ領域においてチェックの対象となる複写先ファイルを抽出し、ブロックチェック手段が、抽出された前記複写先ファイルについて、当該ファイル内の全ブロックの正常性チェックを行う構成をとることによって、時間のかかる全ブロックによるチェックが、コピーされたバックアップ領域の複写先ファイルを使って、業務処理を行いながら実行されるため、大幅な業務効率の改善を図ることができる。
（２）バックアップ領域において、正常性チェックのファイルを抽出するにあたって、複写元ファイルをバックアップする際の更新履歴から更新されたファイル内ブロックの数をファイル毎にカウントし、そのブロック数の大小によって対象とする複写先ファイルを抽出する構成とすることによって、更新量が少ないファイルであれば、そのままヘッダチェックのみとし、更新量の大きいファイルの場合には、ファイル内の全ブロックチェックを適用することが可能となり、より効率的な正常性チェックの実現が図れる。
（３）ファイルの更新の度合を各ファイル毎に全ブロック数に対する更新されたブロック数とする更新比率の値を適用することによって、ファイル規模が大きなファイルであっても相対的な更新量が把握でき、より適正な全ブロックチェックが実現される。また、その閾値の設定によって、ヘッダチェックのみか、全ブロックチェックかの自動選択が実現される。
【発明を実施するための最良の形態】
【００１４】
以下、図面にもとづいて本発明の実施形態を説明する。
【００１５】
図１は、本発明の実施の形態になる正常性チェック機能を備えたバックアップリカバリシステムの基本構成を示す。バックアップリカバリシステムは、ＳＡＮ（Storage Area Network：ストレージエリアネットワーク）３を介して接続するデータベース（ＤＢ）サーバ１およびディスク装置２とで構成される。
【００１６】
また、ＤＢサーバ１は、ディスク装置２におけるデータベースのファイル群のバックアップおよびリカバリを制御するバックアップリカバリ管理部１１、ディスク装置２のデータベース領域（複写元）からバックアップ領域（複写先）への直接コピーを制御するディスク複写制御部１２、ディスク装置２のデータベース領域にあるファイル群にアクセスし、データの検索、作成、更新、削除などを行うＲＤＢＭＳ（Relational Database Management System ：リレーショナルデータベース管理システム）エンジン部１３、およびディスク装置２のファイルをバックアップする際に、複写元および複写先のファイルが正常なものか否かのチェックを行う正常性チェック部１４とから構成されている。
【００１７】
また、ディスク装置２は、複写元のファイル群が格納されたＤＢ領域と、それらのファイル群がコピーされてバックアップされるバックアップ領域とからなる。さらに、ＤＢ領域のファイル群は、複写元のファイルであり、ファイルの所在に関するデータベースの物理構造を管理する制御ファイルおよびデータベースに対して行われた全ての履歴を保存するログファイル（制御ファイル＆ログファイル２１）と、表形式のデータベースオブジェクトを格納するデータファイル２２とからなり、またバックアップ（複写先）領域のファイル群は、コピーされた制御ファイル＆ログファイル２３と、コピーされたデータファイル２４とから構成されている。
【００１８】
さらに、正常性チェック部１４は、予め設定されたチェック条件にしたがって、複写元のＤＢ領域と複写先のバックアップ領域に格納されたファイルについて機能する状態にあるかの正常性チェックを行う。
【００１９】
また、図示していないが、バックアップしたファイルを復元する場合は、データベースを停止した状態とし、バックアップ領域の制御ファイル２３、データファイル２４のリストアを行い、リカバリが実行される。リカバリ実行が終わった時点で、データベースを起動し、データベースの復旧確認の処理が行われる。
【００２０】
なお、ＤＢサーバ１は、図に示していないが、ＣＰＵ（Central Processing Unit)とメモリを有するコンピュータであり、上記バックアップリカバリ管理部１１、ディスク複写制御部１２、ＲＤＢＭＳエンジン１３、および正常性チェック部１４における各処理プログラムは、起動時にメモリに展開され、ＣＰＵによって実行される。
【００２１】
図２は、本発明の実施の形態になるデータベースバックアップリカバリシステムにおける正常性チェック部の構成図を示す。正常性チェック部１４は、ディスク装置２のバックアップ領域にコピーされて格納された複写先ファイルの正常性のチェック条件をチェックテーブル１００に予め設定しておくチェック条件設定手段５１、チェックテーブル１００を参照するテーブル参照手段５２、チェックテーブル１００を参照し、そのチェック条件にしたがって、チェックの対象となる複写先ファイルをバックアップ領域から抽出するファイル抽出手段５３、および抽出された当該複写先ファイルについて、当該ファイル内の全ブロックの正常性チェックを行うブロックチェック手段５４とから構成されている。
【００２２】
なお、本発明では、正常性チェック部１４、バックアップ領域に格納されたデータファイル２４（データファイル１・・・ｎ）を対象としている。
【００２３】
図３は、本発明の実施の形態になるバックアップファイルの正常性チェック方法を定義したチェックテーブルを示す。チェックテーブル１００は、各ファイルの正常性チェックをどう処理するかについて予め設定し、ＤＢサーバ１の補助記憶装置などに格納しておくもので、「チェック方法」、「定義内容」、および「対象ファイル」項目に対し、３つのパターンが定義されている。
【００２４】
パターン１は、ファイルのヘッダチェックをコピー時に全複写元ファイルを対象として適用する内容である。
【００２５】
パターン２は、ファイル内の全ブロックチェックをバックアップ領域の全複写先ファイル（データファイル１・・・ｎ）を対象として適用する内容である。
【００２６】
パターン３は、複写先ファイル（データファイル１・・・ｎ）を更新度合を表す更新量によってフィルタリングし、抽出したファイルについて全ブロックチェックを行う内容である。実施例では、ファイル内の更新ブロックをコピーが実行されるときにカウントし、更新比率ｔとして、ｔ＝更新ブロック数／全ブロック数として更新比率を定義し、ｔ＝０．２を閾値として設定することによって、抽出された複写先のデータファイル２４を対象に全ブロックチェックが実行となる例を示している。なお、抽出ファイルは、リスト化される。また、上記では、更新比率を例としたが、更新のブロック数の大きさによってファイルを抽出してもよい。
【００２７】
図４は、本発明の実施の形態になるチェックテーブルに基づく複写先ファイルの全リストを示す。リストは、図３のチェックテーブルに基づいて、全複写先ファイルについて、「ファイル名」、パターン１、２、及び３の方法を示す「チェック方法」、１または０で示す「全ブロックチェックフラグ」、および閾値設定の有無と閾値からなる「閾値設定」の項目からなる複数のレコードで構成される。
【００２８】
例えば、第一のレコードのデータファイル１では、パターン１の方法によってヘッダチェックのみが適用され、第二のレコードのデータファイル２は、パターン２の方法の適用によって全ブロックチェックとなるが閾値設定なしであり、第三のレコードでは、パターン３の方法によって、全ブロックチェックと閾値０．２が設定されている。
【００２９】
図５は、本発明の実施の形態になるバックアップリカバリシステムのファイルの正常性チェックの処理フローを示す。まず、ステップＳ１１において、バックアップ環境設定情報としてファイルの正常性チェック方法に関するパターンを定義したチェックテーブル１００を用意する。図３に示すように、チェックテーブル１００は、従来のファイルのヘッダ部分をチェックする方法に対し、ファイル内の全ブロックをチェックする方法を付加してテーブルとなっている。
【００３０】
つぎに、ステップＳ１２において、ＤＢ領域にある複写元ファイルをバックアップ領域へコピーする際に、複写元ファイルのヘッダチェック実行し、全ての複写元ファイルについてヘッダチェックが済んだ後に、ステップＳ１３において、複写元ファイルをバックアップ領域に格納する（以上のＳ１２、１３は従来フロー）。
【００３１】
そして、ステップＳ１４において、バックアップ領域の複写先ファイルについて全ブロックによる正常性チェック処理を行う。全ブロックチェック処理の詳細は、以下の図５において説明する。
【００３２】
図６は、本発明の実施の形態になるファイル内の全ブロックをチェックする正常性チェックの処理フローを示す。まず、ステップＳ２１において、正常性チェック方法を定義したチェックテーブル１００を基づいて作成された、全ブロックチェックを行うか否かが設定されているファイルリストを読み込む。そして、ステップＳ２２において、ファイルの全ブロックチェックフラグがＯＮとなっているかを判断する。全ブロックチェックフラグがなければ終了し、ヘッダチェック処理されたファイルがそのまま複写先ファイルとしてバックアップ領域に格納される。
【００３３】
全ブロックチェックフラグがＯＮとなっていれば、ステップＳ２３において、バックアップ領域（複写先）の表示をマウントする。具体的には、複写元のＤＢ領域である業務領域のマウントポイント名の頭に/backup をつけたものでマウントする。
【００３４】
例えば、業務領域が /usr/db1 の場合、/backup/usr/db1 となる。
【００３５】
つぎに、ステップＳ２５において、ファイルリストから各ファイルの閾値設定の有無を判断する。閾値があれば、ステップＳ２５において、その設定値を取得し、ステップＳ２６において、更新比率の計算を行う（計算の詳細フローは図７に示す）。ステップＳ２７において、計算の結果、閾値を超えたファイルをリストを取得する。
【００３６】
ステップＳ２９において、取得したファイルリストを入力としてバックアップ領域（複写先）のデータファイル名に変換する。具体的には /backupをファイル名の先頭に付加する。例えば、/backup/usr/db1/system.dbf、/backup/usr/db1/user01.dbfなど。
【００３７】
ステップＳ３０において、変換データファイル名を入力として、全ブロックチェック実行のスクリプトを生成する。
【００３８】
例えば、実行スクリプトとして、dbv /backup/usr/db1/system.dbfを生成させる。
【００３９】
ステップＳ３１において、全ブロックチェックのスクリプトが実行され、本全ブロックチェックのフローは終了となる。
【００４０】
また、ステッＳ２４において、閾値設定がなければ、ステップＳ２８に進み、バックアップボリューム（複写先）内のデータファイルリストを取得する。
【００４１】
取得したファイルリストを入力として、バックアップ先のデータファイル名に変換（Ｓ２９）、全ブロックチェックのスクリプト生成（Ｓ２９）、およびスクリプト実行（Ｓ３１）の処理が、閾値設定ありの場合と同様に行われる。
【００４２】
図７は、本発明の実施の形態になるファイルの更新比率を計算する処理フローを示す。      
【００４３】
更新比率の計算フローは、図６のステップＳ２６の詳細を示したものである。まず、ステップＳ４１において、データファイルの全ブロック数を取得するＳＱＬスクリプトを生成し、ステップＳ４２において生成スクリプトが実行される。
【００４４】
例えば、select name, blocks from v$datafile などのＳｅｌｅｃｔ文で表現されたＳＱＬ文が使用され、その実行結果として得られる各ファイルの総ブロック数は以下のようになる。
ファイル名           総ブロック数
/usr/db1/system.dbf     64000 
/usr/db1/user01.dbf     64000 
そして、ステップＳ４３において、前回バックアップ時に記録したデータファイル毎の更新ブロック管理ファイルを読み込む。
このときのファイルの内容例は、以下の通りである。
ファイル名          前回の更新ブロック数
/usr/db1/system.dbf     34724 
/usr/db1/user01.dbf       950 
つぎに、ステップＳ４４において、現時点のデータファイル毎のブロック更新量を取得するＳＱＬスクリプトを生成する。例えば、このときのＳＱＬ文は、select d.name, f.phyblkwrt from v$datafile d, v$filestat f where d.file#=f.file#となる。
【００４５】
ステップＳ４５において、上記更新量取得のＳＱＬスクリプトが実行された結果、以下の更新量としてのブロック数が得られる。
ファイル名          現時点の更新ブロック数
/usr/db1/system.dbf     47528 
/usr/db1/user01.dbf     12078 
ステップＳ４６において、上記ブロック数の取得結果から、各データファイル毎の更新ブロック比率を計算する。/system.dbf の例において、更新ブロック比率は、前回と現時点の回更新ブロック数の差１２８０４（現時点４７５２８−前回３４７２４）／総ブロック数６４０００＝２０％と求まる。
【００４６】
そして、ステップＳ４７において、計算の結果より閾値を超えているデータファイルリストを生成する。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態になる正常性チェック機能を備えたバックアップリカバリシステムの基本構成を示す図である。
【図２】本発明の実施の形態になるデータベースバックアップリカバリシステムにおける正常性チェック部の構成図である。
【図３】本発明の実施の形態になるバックアップファイルの正常性チェック方法を定義したチェックテーブルを示す図である。
【図４】本発明の実施の形態になるバックアップリカバリシステムのファイルの正常性チェックの処理フローを示す図である。
【図５】本発明の実施の形態になるチェックテーブルに基づく複写先ファイルリストを示す図である。
【図６】本発明の実施の形態になるファイル内の全ブロックをチェックする正常性チェックの処理フローを示す図である。
【図７】本発明の実施の形態になるファイルの更新比率を計算する処理フローを示す図である。
【符号の説明】
【００４８】
１  ＤＢサーバ
２  ディスク装置
３  ＳＡＮ（ストレージエリアネットワーク）
１１  バックアップリカバリ管理部
１２  ディスク複写制御部
１３  ＲＤＢＭＳエンジン部
１４  正常性チェック部
２０  データベース
２１  制御ファイル＆ログファイル（複写元）
２２  データファイル（複写元）
２３  制御ファイル＆ログファイル（複写先）
２４  データファイル（複写先）
５１  チェック条件設定手段
５２  テーブル参照手段
５３  ファイル抽出手段
５４  ブロックチェック手段
１００  チェックテーブル
【図１】
2007226733.tif 000003
【図２】
2007226733.tif 000004
【図３】
2007226733.tif 000005
【図４】
2007226733.tif 000006
【図５】
2007226733.tif 000007
【図６】
2007226733.tif 000008
【図７】
2007226733.tif 000009