(57)【特許請求の範囲】
【請求項１】
データベースサーバ部を備えたシステム本体装置である運用系サーバと、
記憶部を備えた該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
記憶装置と、
を有する、
データベースデータを管理するデータベースシステムであって、
記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢ（Ｄａｔａｂａｓｅ）ブロックから成るデータベースデータを含むデータベースファイル，
記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイル
を有し、
前記運用系サーバが、
前記データベースファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むチェックコードデータ埋込機能部
を備え、
前記支援系サーバが、
前記ログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、
該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納するログ情報取得機能部と、
前記チェックコードチェック指示を送る手段，
一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行う手段，
を備えるファイル整合性検証機能部と、
前記チェックコードチェック指示を受け、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記データベースファイルから読み出し記憶部に格納し、その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算手段，
前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェック手段，
を備えるチェックコード破壊検出機能部と、
を具備する
ことを特徴とするデータベースシステム。
【請求項２】
請求項１に記載のデータベースシステムにおいて、
記憶装置に格納され、前記トランザクションログをアーカイブしたアーカイブデータであるアーカイブログから成るアーカイブログファイルを有し、
前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部が、
前記ログファイルのトランザクションログの代わりに、前記アーカイブログファイルのアーカイブログを処理対象とする
ことを特徴とするデータベースシステム。
【請求項３】
請求項１または２に記載のデータベースシステムにおいて、
前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部及びチェックコード破壊検出機能部が、
ログファイル，データベースファイルを各々バックアップしたログバックアップファイル，データバックアップファイルを処理対象とする
ことを特徴とするデータベースシステム。
【請求項４】
請求項３に記載のデータベースシステムにおいて、
前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部及びチェックコード破壊検出機能部が、
前記ログバックアップファイル，データバックアップファイル，アーカイブログファイルに対し各々ミラーリングしたファイルを処理対象とする
ことを特徴とするデータベースシステム。
【請求項５】
データベースサーバ部，データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備えた運用系サーバと、
データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部，ログ自体及び該ログに関する情報を取得するログ情報取得機能部，チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部，記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
記憶装置と、
記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢブロックから成るデータベースデータを含むデータベースファイルと、
記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、
を有する、
データベースデータを管理するシステムに使用するデータ管理方法であって、
前記チェックコード埋込機能部が、前記データベースファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むステップと、
前記ログ情報取得機能部が、前記ログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、
該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納し、
前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、
前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記データベースファイルから読み出し記憶部に格納し、
その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、
前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、
前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、
を有することを特徴とするデータ管理方法。
【請求項６】
データベースサーバ部，データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、
データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部，ログ自体及び該ログに関する情報を取得するログ情報取得機能部，チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部，記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢブロックから成るデータベースデータを含むデータベースファイルと、
記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、
記憶装置に格納され、前記トランザクションログをアーカイブしたアーカイブデータであるアーカイブログから成るアーカイブログファイルと、
を有する、
データベースデータを管理するシステムに使用するデータ管理方法であって、
前記チェックコード埋込機能部が、前記データベースファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むステップと、
前記ログ情報取得機能部が、前記アーカイブログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、
該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納し、
前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、
前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記データベースファイルから読み出し記憶部に格納し、
その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、
前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、
前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、
を有することを特徴とするデータ管理方法。
【請求項７】
データベースサーバ部，データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、
データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部，ログ自体及び該ログに関する情報を取得するログ情報取得機能部，チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部，記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢブロックから成るデータベースデータを含むデータベースファイルと、
記憶装置と、
記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、
記憶装置に格納され、該データベースファイルをバックアップしたデータバックアップファイルと、
記憶装置に格納され、該ログファイルをバックアップしたログバックアップファイルと、
を有する、
データベースデータを管理するシステムに使用するデータ管理方法であって、
前記チェックコード埋込機能部が、前記データバックアップファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むステップと、
前記ログ情報取得機能部が、前記ログバックアップファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータバックアップファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、
該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納し、
前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、
前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記データバックアップファイルから読み出し記憶部に格納し、
その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、
前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、
前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むデータバックアップファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、
を有することを特徴とするデータ管理方法。
【請求項８】
データベースサーバ部，データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、
データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部，ログ自体及び該ログに関する情報を取得するログ情報取得機能部，チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部，記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢブロックから成るデータベースデータを含むデータベースファイルと、
記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、
記憶装置に格納され、該データベースファイルをバックアップしたデータバックアップファイルと、
記憶装置に格納され、該ログファイルをバックアップしたログバックアップファイルと、
記憶装置に格納され、該データバックアップファイルをミラーリングしたデータバックアップファイルと、
記憶装置に格納され、該ログバックアップファイルをミラーリングしたログバックアップファイルと、
を有する、
データベースデータを管理するシステムに使用するデータ管理方法であって、
前記チェックコード埋込機能部が、前記ミラーリングされたデータバックアップファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むステップと、
前記ログ情報取得機能部が、前記ミラーリングされたログバックアップファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいて前記ミラーリングされたデータバックアップファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、
該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納し、
前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、
前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記ミラーリングされたデータバックアップファイルから読み出し記憶部に格納し、
その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、
前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、
前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むミラーリングされたデータバックアップファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、
を有することを特徴とするデータ管理方法。
【請求項９】
コンピュータを請求項１乃至４のいずれかに記載のデータベースシステムにおける各手段及び各部として機能させることを特徴とするデータベースプログラム。
【請求項１０】
請求項９に記載のデータベースプログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースシステムにおけるデータ整合性保証（例えば、データ整合性チェック及びデータベース復旧）技術に関するものである。
【背景技術】
【０００２】
現在、データベースにおいて、データ整合性チェック技術やデータベース復旧技術が知られている。
【０００３】
例えば、データ整合性チェック技術としては、データベースに付与するインデックスに着目し、そのインデックスに関する情報（例えば、インデックス間の件数）や操作（例えば、そのインデックスを使った件数検索）に基づいて、そのインデックスの整合性をチェックする技術（例えば、特許文献１参照）が知られている。また、リレーション間のデータブロックの空き状況に着目し、異なるリレーション別に各データブロックの空き状況を判定し、いずれかのデータブロックの空き状況が異なっていた場合は、そのデータブロックが異常であると判定する技術（例えば、特許文献１参照）も知られている。
【０００４】
また、データ整合性チェックに基づいて異常と判定された場合に、データベースを復旧する技術（例えば、データリカバリ）も広く知られている。
【０００５】
例えば、回復ログを走査して、処理の完了を確認し、検出された不完全なログ書き込み、または、失敗したログ書き込みからの回復が行われる技術（例えば、特許文献２）である。
【０００６】
また、一般的な情報処理技術におけるデータ整合性チェックにおけるデータ誤り検出技術も、多くのものが知られている。特に、巡回冗長検査（ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）；例えば、非特許文献１，２参照）は、様々な場面で利用されている。
【特許文献１】特開平６−４５８８号公報（段落［００１０］〜［００１４］，［００１７］〜［００１８］等）。
【特許文献２】特開平１−２６１７４６号公報（２７９ページ第３欄１７行目〜２８０ページ第１欄１０行目，２８２ページ第２欄２行目〜２８６ページ第４欄１３行目等）。
【非特許文献１】Ｒｏｓｓ  Ｎ．  Ｗｉｌｌｉａｍｓ、“Ａ  ＰＡＩＮＬＥＳＳ  ＧＵＩＤＥ  ＴＯ  ＣＲＣ  ＥＲＲＯＲ  ＤＥＴＥＣＴＩＯＮ  ＡＬＧＯＲＩＴＨＭＳ”、［ｏｎｌｉｎｅ］、１９  Ａｕｇｕｓｔ  １９９３（平成５年８月１９日）、Ｒｏｓｓ  Ｎ．  Ｗｉｌｌｉａｍｓ、［平成１９年９月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｒｏｓｓ．ｎｅｔ／ｃｒｃ／ｄｏｗｎｌｏａｄ／ｃｒｃ＿ｖ３．ｔｘｔ＞。
【非特許文献２】Ａｒａｍ  Ｐｅｒｅｚ、“Ｂｙｔｅ−ｗｉｓｅ  ＣＲＣ  Ｃａｌｃｕｌａｔｉｏｎｓ”、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）、Ｊｕｎｅ  １９８３（昭和５８年６月）、ｐ４０−５０。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述のデータベースにおけるデータ整合性チェック方法は、データベースにおける物理ファイルが完全に整合されている状態のデータベースを前提としている。
【０００８】
しかし、上述のデータベースにおけるデータ整合性チェック方法は、トランザクションログによるデータリカバリを考慮していない。
【０００９】
また、上述の方法では、物理ファイル（例えば、バックアップされた基底ポイントで、バックアップを構成する物理ファイル）と該物理ファイルを構成するブロック（以後、ＤＢ（Ｄａｔａｂａｓｅ）ブロックという；物理ブロックとも言われる）のデータ破壊もしくはデータ破損した場合、整合性チェックは困難であり、また、データベース復旧作業も難しい状態になる。
【００１０】
本発明は、前記課題に対してなされたものであって、データベースにおける物理ファイルを構成するＤＢブロックがデータ破壊（もしくはデータ破損）されているか否かを検証するデータベースシステム，データ管理方法，データベースプログラム及びそのプログラムを記録する記録媒体を提供することにある。
【課題を解決するための手段】
【００１１】
前記課題の解決を図るために、請求項１記載の発明は、データベースサーバ部を備えたシステム本体装置である運用系サーバと、記憶部を備えた該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置と、を有する、データベースデータを管理するデータベースシステムであって、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢ（Ｄａｔａｂａｓｅ）ブロックから成るデータベースデータを含むデータベースファイル，記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルを有し、前記運用系サーバが、前記データベースファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むチェックコードデータ埋込機能部を備え、前記支援系サーバが、前記ログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納するログ情報取得機能部と、前記チェックコードチェック指示を送る手段，一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行う手段，を備えるファイル整合性検証機能部と、前記チェックコードチェック指示を受け、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記データベースファイルから読み出し記憶部に格納し、その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算手段，前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェック手段，を備えるチェックコード破壊検出機能部と、を具備することを特徴とする。
【００１２】
請求項２記載の発明は、請求項１に記載の発明において、記憶装置に格納され、前記トランザクションログをアーカイブしたアーカイブデータであるアーカイブログから成るアーカイブログファイルを有し、前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部が、前記ログファイルのトランザクションログの代わりに、前記アーカイブログファイルのアーカイブログを処理対象とすることを特徴とする。
【００１３】
請求項３記載の発明は、請求項１または２に記載の発明において、前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部及びチェックコード破壊検出機能部が、ログファイル，データベースファイルを各々バックアップしたログバックアップファイル，データバックアップファイルを処理対象とすることを特徴とする。
【００１４】
請求項４記載の発明は、請求項３に記載の発明において、前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部及びチェックコード破壊検出機能部が、前記ログバックアップファイル，データバックアップファイル，アーカイブログファイルに対し各々ミラーリングしたファイルを処理対象とすることを特徴とする。
【００１５】
請求項５記載の発明は、データベースサーバ部，データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備えた運用系サーバと、データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部，ログ自体及び該ログに関する情報を取得するログ情報取得機能部，チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部，記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置と、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢブロックから成るデータベースデータを含むデータベースファイルと、記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、を有する、データベースデータを管理するシステムに使用するデータ管理方法であって、前記チェックコード埋込機能部が、前記データベースファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むステップと、前記ログ情報取得機能部が、前記ログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納し、前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記データベースファイルから読み出し記憶部に格納し、その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、を有することを特徴とする。
【００１６】
請求項６記載の発明は、データベースサーバ部，データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部，ログ自体及び該ログに関する情報を取得するログ情報取得機能部，チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部，記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢブロックから成るデータベースデータを含むデータベースファイルと、記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、記憶装置に格納され、前記トランザクションログをアーカイブしたアーカイブデータであるアーカイブログから成るアーカイブログファイルと、を有する、データベースデータを管理するシステムに使用するデータ管理方法であって、前記チェックコード埋込機能部が、前記データベースファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むステップと、前記ログ情報取得機能部が、前記アーカイブログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納し、前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記データベースファイルから読み出し記憶部に格納し、その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、を有することを特徴とする。
【００１７】
請求項７記載の発明は、データベースサーバ部，データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部，ログ自体及び該ログに関する情報を取得するログ情報取得機能部，チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部，記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置と、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢブロックから成るデータベースデータを含むデータベースファイルと、記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、記憶装置に格納され、該データベースファイルをバックアップしたデータバックアップファイルと、記憶装置に格納され、該ログファイルをバックアップしたログバックアップファイルと、を有する、データベースデータを管理するシステムに使用するデータ管理方法であって、前記チェックコード埋込機能部が、前記データバックアップファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むステップと、前記ログ情報取得機能部が、前記ログバックアップファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータバックアップファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納し、前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記データバックアップファイルから読み出し記憶部に格納し、その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むデータバックアップファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、を有することを特徴とする。
【００１８】
請求項８記載の発明は、データベースサーバ部，データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部，ログ自体及び該ログに関する情報を取得するログ情報取得機能部，チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部，記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるＤＢブロックから成るデータベースデータを含むデータベースファイルと、記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、記憶装置に格納され、該データベースファイルをバックアップしたデータバックアップファイルと、記憶装置に格納され、該ログファイルをバックアップしたログバックアップファイルと、記憶装置に格納され、該データバックアップファイルをミラーリングしたデータバックアップファイルと、記憶装置に格納され、該ログバックアップファイルをミラーリングしたログバックアップファイルと、を有する、データベースデータを管理するシステムに使用するデータ管理方法であって、前記チェックコード埋込機能部が、前記ミラーリングされたデータバックアップファイルに含まれる各ＤＢブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをＤＢブロックにおけるチェックコードデータフィールドへ埋め込むステップと、前記ログ情報取得機能部が、前記ミラーリングされたログバックアップファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいて前記ミラーリングされたデータバックアップファイルにおける更新操作されたＤＢブロックである変更差分ＤＢブロックを特定し、該変更差分ＤＢブロックのＤＢブロック位置情報を取得し、前記記憶部に格納し、前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したＤＢブロック位置情報に応じたＤＢブロックを前記ミラーリングされたデータバックアップファイルから読み出し記憶部に格納し、その読み出したＤＢブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したＤＢブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該ＤＢブロックを破損ＤＢブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損ＤＢブロックを含むミラーリングされたデータバックアップファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、を有することを特徴とする。
【００１９】
請求項９記載の発明は、データベースプログラムであって、コンピュータを請求項１乃至４のいずれかに記載のデータベースシステムにおける各手段及び各部として機能させることを特徴とする。
【００２０】
請求項１０記載の発明は、記録媒体であって、請求項９に記載のデータベースプログラムを記録したことを特徴とする。
【００２１】
前記請求項１，２，５，６に記載の発明は、前記データベースファイルに基づいて、そのファイル内容の整合性保証を与えることができる。トランザクションログに基づいて、整合性チェック（チェックコードチェック）対象とするＤＢブロックを限定できる。
【００２２】
前記請求項３，７に記載の発明は、前記データバックアップファイルに基づいて、そのファイル内容の整合性保証を与えることができる。トランザクションログに基づいて、整合性チェック（チェックコードチェック）対象とするＤＢブロックを限定できる。
【００２３】
前記請求項４，８に記載の発明は、前記ミラーリングされたデータバックアップファイルに基づいて、そのファイル内容の整合性保証を与えることができる。トランザクションログに基づいて、整合性チェック（チェックコードチェック）対象とするＤＢブロックを限定できる。
【００２４】
前記請求項９に記載の発明は、請求項１乃至４のいずれかに記載のデータベースシステムをコンピュータプログラムとして記載できる。
【００２５】
前記請求項１０に記載の発明は、データベースプログラムを記録媒体に記録できる。
【発明の効果】
【００２６】
以上示したように請求項１乃至８のいずれかの発明によれば、ファイル内容の整合性保証によって、リカバリの成功を担保できる。また、整合性チェックで異常を検出した場合、その異常に応じた状態を確保できる。整合性チェック（チェックコードチェック）対象とするＤＢブロックを限定できるため、データベースファイル全体に対する整合性チェックと比較し、整合性チェック時間を短縮できる。
【００２７】
請求項９の発明によれば、データベースシステムとしてコンピュータを動作させるコンピュータプログラムを提供できる。
【００２８】
請求項１０の発明によれば、データベースプログラムとしてコンピュータを動作させるコンピュータプログラムを記録した記録媒体を提供できる。
【００２９】
これらを以ってデータ管理技術分野に貢献できる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施形態におけるデータベースシステムの構成を図１に基づいて説明する。
【００３１】
図１中のデータベースシステムは、利用者端末（例えば、パーソナルコンピュータ）３からＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）に基づいてアクセスされるデータベース管理システム本体装置である運用系サーバ１とその運用系サーバ１の管理するデータベースの整合性を保証する支援系サーバ２から構成される。利用者端末３，運用系サーバ１，支援系サーバ２は、通信回線（例えば、ネットワーク）で接続されており、各々で通信を行う。
【００３２】
運用系サーバ１は、データベース管理主体であるＳＱＬサーバ（例えば、ＰｏｓｔｇｒｅＳＱＬ；データベースサーバと考えて良い）部１ａ，破壊検出用ＣＲＣデータ（以下、単にＣＲＣデータ）を算出し埋め込むＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）埋込機能部１ｂ，ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を含み、各部と各装置を制御する制御部（図示省略），メモリなどの記憶部（図示省略），通信回線を介した通信を行う通信部（図示省略）を備え、例えば、コンピュータである。
【００３３】
さらに、運用系サーバ１は、データベースデータを含むデータベースファイルを格納するデータディスク装置１ｃ，データベースデータに対して行われた操作（変更もしくは更新操作も含む操作）とその操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有する情報（ログデータ）、そのログデータに対して計算されたＣＲＣデータを有する情報（即ち、ログもしくはログレコードであって、例えば、トランザクションログ）から成るログファイルを格納するログディスク装置１ｄ，データディスク装置１ｃに格納されたデータベースデータに応じたバックアップデータから成るデータバックアップファイルを格納するデータバックアップディスク装置１ｅ，ログディスク装置１ｄに格納されたログ（トランザクションログ）に応じたバックアップデータから成るログバックアップファイルを格納するログバックアップディスク装置１ｆ，ログ（トランザクションログ）もしくはバックアップされたログをアーカイブしたデータ（アーカイブデータという；基本的にログデータと同じものであって、トランザクションログ復旧可否情報，アーカイブデータに対して計算されたＣＲＣデータなどを含むデータ）であるアーカイブログ（もしくはアーカイブログレコード）から成るアーカイブログファイルを格納するアーカイブログディスク装置１ｇを有する。
【００３４】
なお、各ファイルは、データベースにおける物理ファイルであって、ＯＳのファイルシステムによっても管理される。トランザクションログもしくはアーカイブログは、それらのログにおいて操作されたデータベースデータに応じたＤＢブロックの物理ファイルにおける位置情報（ＤＢブロック位置情報）を特定（例えば、カタログ情報などを用いて特定）できるものとする。各ディスク装置は、一般的な記憶装置（例えば、ハードディスクドライブ装置）と考えて良い。
【００３５】
ＣＲＣ埋込機能部１ｂは、データディスク装置１に格納される物理ファイル（例えば、データベースファイル）に含まれる各ＤＢブロックにおけるデータフィールド（ＣＲＣデータ以外のデータ（即ち、データ実体）を格納するデータフィールド）に対するＣＲＣデータを生成し、生成したＣＲＣデータを埋め込む。より具体的には、ＤＢブロックは、前記データフィールドとＣＲＣデータを格納したＣＲＣデータフィールドから構成される。なお、ＣＲＣデータ生成する方法は、例えば、上述の非特許文献１のＣＲＣ技術を採用する。
【００３６】
支援系サーバ２は、バックアップファイル整合性検証機能部２ａ，ログ情報取得機能部２ｂ，ＣＲＣ破壊検出機能部２ｃ等を備え、例えば、コンピュータであって、さらに、アーカイブログディスク装置２ｄ，ログバックアップディスク装置２ｅ，データバックアップディスク装置２ｆを有する。さらに、支援系サーバ２の構成を、図２に基づいて詳細に説明する。
【００３７】
図２中の支援系サーバ２は、図１に示したように、バックアップファイルなどの物理ファイルの整合性を検証するバックアップファイル整合性検証機能部２ａ，ログ自体及び該ログに関する情報を取得するログ情報取得機能部２ｂ，ＣＲＣによってデータ破壊を検出するＣＲＣ破壊検出機能部２ｃを備え、さらに、アーカイブログディスク装置２ｄ，ログバックアップディスク装置２ｅ，データバックアップディスク装置２ｆを有するが、実際には、ＣＰＵ及びＯＳを含み、各部と各装置を制御する演算処理装置２ｇ，メモリなどの記憶部２ｈ，通信回線を介した通信を行う通信部（図示省略）も備える。
【００３８】
また、バックアップファイル整合性検証機能部２ａ，ログ情報取得機能部２ｂ，ＣＲＣ破壊検出機能部２ｃは、支援系サーバ２の本体であるＡＰＬ（Ａｐｐｌｉｃａｔｉｏｎ）サーバ２ｉに備えられた機能部である。なお、ＡＰＬサーバ２ｉは、記憶部２ｈにロードされ、演算処理装置２ｇに実行されるものであって、たとえば、サーバプログラムと考えて良い。
【００３９】
さらに、アーカイブログファイル２ｄ１を格納するアーカイブログディスク装置２ｄ，ログバックアップファイル２ｅ１を格納するログバックアップディスク装置２ｅ，データバックアップファイル２ｆ１を格納するデータバックアップディスク装置２ｆは、アーカイブログディスク装置１ｇ，ログバックアップディスク装置１ｆ，データバックアップディスク装置１ｅとそれぞれミラーリング（例えば、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）１のミラーコピー）されており、同じ内容のデータ（例えば、同じバックアップの基底ファイル）が格納されているものと考えてよい。
【００４０】
バックアップファイル整合性検証機能部２ａは、データバックアップファイル２ｆ１における破壊検出すべきＤＢブロックをログ情報取得機能部２ｂを使って特定し、該特定されたＤＢブロックのデータフィールドに応じたＣＲＣデータをＣＲＣ破壊検出機能部２ｃを使ってチェックする。そして、ＣＲＣデータに誤りを発見した（即ち、該ＤＢブロックが破損している）場合、ログ（例えば、トランザクションログもしくはアーカイブログ）を比較参照し、その比較参照した結果に基づいて、その破損したＤＢブロックが復旧可能か否かを判断する。
【００４１】
例えば、異常終了した、もしくは、運用中に強制ＳｎａｐＳｈｏｔで切離したデータベース（例えば、運用系サーバ１）に対しても、データベースデータの整合性をチェックし、復旧可能か否かを判断できる。
【００４２】
ログ情報取得機能部２ｂは、ログバックアップディスク装置２ｅに格納されたトランザクションログに基づいて、データバックアップファイル２ｆ１においてデータ変更もしくは更新されたＤＢブロック（即ち、変更差分ＤＢブロック）を特定（例えば、ＤＢブロックの位置情報を取得）する。
【００４３】
また、ログ情報取得機能部２ｂは、アーカイブログディスク装置２ｄに格納されたアーカイブログを追跡（チェック）し、データバックアップファイル２ｆ１においてデータ変更もしくは更新されたＤＢブロック（即ち、変更差分ＤＢブロック）を特定する。
【００４４】
このようにして、処理の高速化（処理時間の短縮化）を図ることができる。特に、巨大なデータベースデータでは、データベースデータ全体のＣＲＣチェックを毎回行なうこと（例えば、ＦｕｌｌＳｃａｎ処理）は処理時間コストが大きくなるため、このような処理は有効である。なお、トランザクションログに基づく処理を行うため、トランザクションログが破壊（例えば、物理的に破壊）されていないことが、条件となる。
【００４５】
ＣＲＣ破壊検出機能部２ｃは、特定されたＤＢブロックをデータバックアップディスク装置２ｆのデータバックアップファイル２ｆ１から取得し、その取得したＤＢブロックに対して破壊検出（ＣＲＣの誤り検出）を行なう。結果として、その取得したＤＢブロックに破壊が生じているか否か（即ち、ＤＢブロックのデータフィールドに応じたＣＲＣデータに誤りを発見したか否か）を出力する。なお、ＣＲＣの誤り検出には、例えば、上述の非特許文献１のＣＲＣ技術を採用する。
【００４６】
次に、ログバックアップディスク装置２ｅに格納されたログファイルにおけるトランザクションログに基づいてデータベースの整合性を保証する方法を図３に基づいて説明する。
【００４７】
まず、バックアップファイル整合性検証機能部２ａからログ情報取得指示を受けたログ情報取得機能部２ｂが、カタログ情報を取得する（Ｓ１０１：カタログ情報取得ステップ）。なお、カタログ情報は、ＳＱＬサーバ部１ａが管理するシステムデータベース（もしくはシステムデータベースデータ）から取得する。システムデータベース自体も、物理ファイル上に構築される。カタログ情報及びシステムデータベースに関しては、一般的であるため、前述より詳しい説明を省略する。
【００４８】
次に、ログ情報取得機能部２ｂが、取得したカタログ情報に基づいて、破壊検査を行う物理ファイルを特定するためのログファイル（例えば、ログバックアップファイル２ｅ１）の物理ファイル名を取得する（Ｓ１０２：破壊検査物理ファイル名特定ステップ）。
【００４９】
次に、ログ情報取得機能部２ｂが、取得した物理ファイル名に応じた物理ファイルが、存在するか否かをチェックする。例えば、ログバックアップディスク装置２ｅ上にログバックアップファイル２ｅ１が、存在するか否かをチェックする（Ｓ１０３：ＤＢ物理ファイル存在チェックステップ）。その物理ファイルが存在する場合、ステップＳ１０４へ進む。
【００５０】
ステップＳ１０４（トランザクションログ復旧情報参照格納ステップ）では、ログ情報取得機能部２ｂが、前記存在する物理ファイル（例えば、ログバックアップファイル２ｅ１）のトランザクションログに含まれるログデータに基づいてＣＲＣデータを計算し、その計算されたＣＲＣデータとトランザクションログに含まれるＣＲＣデータを比較する。その計算されたＣＲＣデータと該トランザクションログに含まれるＣＲＣデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータバックアップファイル２ｆ１における更新操作されたＤＢブロック（変更差分ＤＢブロック）を特定し、該ＤＢブロックの位置情報を取得し（あるいは計算し）記憶部２ｈ上に格納する。そして、当該処理をバックアップファイル整合性検証機能部２ａへ移し、バックアップファイル整合性検証機能部２ａは、ＣＲＣ破壊検出機能部２ｃへＣＲＣチェック指示を送る。
【００５１】
次に、ＣＲＣチェック指示を受けたＣＲＣ破壊検出機能部２ｃが、記憶部２ｈ上に格納したＤＢブロック位置情報に応じたＤＢブロックを前記データバックアップファイル２ｆ１から読み出し記憶部２ｈ上に格納する。続いて、その読み出したＤＢブロックのデータフィールドに対するＣＲＣデータを計算する（Ｓ１０５：ＤＢブロックに対するＣＲＣ計算ステップ）。なお、そのＣＲＣデータを計算する処理では、上述のＣＲＣ技術（非特許文献１参照）を採用するものとする。
【００５２】
次に、ＣＲＣ破壊検出機能部２ｃが、計算されたＣＲＣデータと記憶部２ｈ上に格納したＤＢブロックのＣＲＣデータフィールドに埋め込まれたＣＲＣデータを、一致したか否か比較し、その比較結果をバックアップファイル整合性検証機能部２ａへ通知する（Ｓ１０６：ＣＲＣチェックステップ）。
【００５３】
より具体的には、計算されたＣＲＣデータと記憶部２ｈ上に格納したＤＢブロックのＣＲＣデータフィールドに埋め込まれたＣＲＣデータが一致した場合、一致した比較結果をバックアップファイル整合性検証機能部２ａへ通知し、ステップＳ１１０へ進む。計算されたＣＲＣデータと記憶部２ｈ上に格納したＤＢブロックのＣＲＣデータフィールドに埋め込まれたＣＲＣデータが一致しなかった場合、そのＤＢブロックを破損したＤＢブロック（以下、破損ＤＢブロックという）と見做し、一致しなかった比較結果をバックアップファイル整合性検証機能部２ａへ通知し、ステップＳ１０７へ進む。
【００５４】
ステップＳ１０７では、ステップＳ１０６によって一致しなかった比較結果を受けたバックアップファイル整合性検証機能部２ａが、前記破損ＤＢブロックを含むデータバックアップファイル２ｆ１に対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックする（Ｓ１０７）。そのトランザクションログ復旧可否情報に復旧可能と設定されていた場合、ステップＳ１１０へ進む。トランザクションログ復旧可否情報に復旧不可能と設定されていた場合、異常系処理（例えば、ステップＳ１０８もしくはＳ１０９）へ進む。なお、ステップＳ１０８もしくはＳ１０９処理の選択は、例えば、予め選択されていても良いし、ＤＢブロックの位置情報に基づいて自動的に判断し選択しても良い。
【００５５】
ステップＳ１０８（物理破損検出レポート出力ステップ）では、バックアップファイル整合性検証機能部２ａが、破損ＤＢブロックの位置情報に基づいて、検出レポートを作成し出力する。例えば、破損ＤＢブロックの位置情報をファイルシステム上の論理情報に変換し、該論理情報を含む検出レポートを作成し出力する。
【００５６】
ステップＳ１０９（再バックアップ処理ステップ）では、バックアップファイル整合性検証機能部２ａが、破損ＤＢブロックの位置情報に応じた物理ファイル全体をバックアップする。
【００５７】
ステップＳ１１０では、バックアップファイル整合性検証機能部２ａが、当該物理ファイルの最終ＤＢブロックを処理していない場合、次のＤＢブロック位置情報を取得して記憶部２ｈ上に格納し、該ＤＢブロック位置情報に応じたＤＢブロックを読み出して記憶部２ｈ上に格納し、ＣＲＣ破壊検出機能部２ｃへＣＲＣチェック指示を送り、ステップＳ１０５へ進む。最終ＤＢブロックを処理していた場合、当該処理を終了する。
【００５８】
次に、アーカイブログディスク装置２ｄに格納されたアーカイブログファイルにおけるアーカイブログに基づいてデータベースの整合性を保証する方法を図４に基づいて説明する。なお、図３中のステップＳ１０６〜Ｓ１１０は、この方法でも、利用するため、これらのステップを有するステップを共通処理部分ステップ（Ｓ３００）として定義する。
【００５９】
まず、バックアップファイル整合性検証機能部２ａからアーカイブログ情報取得指示を受けたログ情報取得機能部２ｂが、カタログ情報を取得する（Ｓ２０１：カタログ情報取得ステップ）。
【００６０】
次に、ログ情報取得機能部２ｂが、取得したカタログ情報に基づいて、破壊検査を行う物理ファイルを特定するためのログファイル（例えば、アーカイブログファイル２ｄ１）の物理ファイル名を取得する（Ｓ２０２：破壊検査物理ファイル名特定ステップ）。
【００６１】
次に、ログ情報取得機能部２ｂが、取得した物理ファイル名に応じた物理ファイルが、存在するか否かをチェックする。例えば、アーカイブログディスク装置２ｄ上にアーカイブログファイル２ｄ１が、存在するか否かをチェックする（Ｓ２０３：ＤＢ物理ファイル存在チェックステップ）。その物理ファイルが存在する場合、ステップＳ２０４へ進む。
【００６２】
ステップＳ２０４（アーカイブログ変更ブロック取得ステップ）では、ログ情報取得機能部２ｂが、前記存在する物理ファイル（例えば、アーカイブログファイル２ｄ１）からアーカイブログ（もしくはアーカイブログレコード；実際には、トランザクションログと同じもの）を取得し、記憶部２ｈ上に格納する。
【００６３】
ステップＳ２０５（アーカイブログレコードＣＲＣチェックステップ）では、ログ情報取得機能部２ｂが、次のようなアーカイブログチェック処理を行う。取得したアーカイブログに含まれるアーカイブデータに基づいてＣＲＣデータを計算し、その計算されたＣＲＣデータとアーカイブログに含まれるＣＲＣデータを比較する。その計算されたＣＲＣデータとアーカイブログに含まれるＣＲＣデータが一致した場合、該アーカイブログは正常と見做し、ステップＳ２０７へ進む。その計算されたＣＲＣデータとアーカイブログに含まれるＣＲＣデータが一致しなかった場合、該アーカイブログは異常と見做し、即ち、該アーカイブログを破損アーカイブログと見做し、ステップＳ２０６へ進む。
【００６４】
ステップＳ２０６（ログ破損検出レポート出力ステップ）では、ログ情報取得機能部２ｂが、破損アーカイブログを論理情報（例えば、破損アーカイブログに関する情報）に展開し、その論理情報を含む検出レポートを出力する。
【００６５】
ステップＳ２０７（変更ブロック情報格納ステップ）では、ログ情報取得機能部２ｂが、前記正常と見做されたアーカイブログに基づいて、データバックアップファイル２ｆ１における更新操作されたＤＢブロックを特定し、該ＤＢブロックを変更差分ＤＢブロックと見做し、該変更差分ＤＢブロックの位置情報を記憶部２ｈにおける変更ブロック情報領域ｄ１１に格納し、ステップＳ２０８へ進む。
【００６６】
ステップＳ２０８では、ログ情報取得機能部２ｂが、当該アーカイブログファイル２ｄ１における最終アーカイブログを処理していない場合、次のアーカイブログを取得し記憶部２ｈ上に格納し、ステップＳ２０５へ進む。最終アーカイブログを処理していた場合、バックアップファイル整合性検証機能部２ａへ処理を戻し、バックアップファイル整合性検証機能部２ａがＣＲＣチェック指示をＣＲＣ破壊検出機能部２ｃへ送り、ステップＳ２０９へ進む。
【００６７】
ステップＳ２０９（ＤＢブロックに対するＣＲＣ計算ステップ）では、ＣＲＣチェック指示を受けたＣＲＣ破壊検出機能部２ｃが、記憶部２ｈの変更ブロック情報領域ｄ１１上に格納したＤＢブロック位置情報に応じたＤＢブロックをデータバックアップファイル２ｆ１から読み出し記憶部２ｈ上に格納する。続いて、その読み出したＤＢブロックのデータフィールドに対するＣＲＣデータを計算する。なお、そのＣＲＣデータを計算する処理では、上述のＣＲＣ技術（非特許文献１参照）を採用するものとする。
【００６８】
そして、共通処理部分ステップ（Ｓ３００）を行う。ただし、図４中のステップＳ３００では、ログバックアップディスク装置２ｅにおけるログバックアップファイル２ｅ１の代わりに、アーカイブログディスク装置２ｄにおけるアーカイブログファイル２ｄ１へアクセスする。
【００６９】
また、本実施形態のデータベースシステムにおいて、上述のデータベースの整合性を保証する方法における各手順を、該当する各部の手段として（例えば、各部の手段をコンピュータプログラムとして）実装しても良い。
【００７０】
また、本実施形態のデータベースシステムにおける各部（もしくは各手段）の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態のデータベースシステムにおける手順（方法）をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体（記憶媒体）、例えばＦＤ（Ｆｌｏｐｐｙ（登録商標）  Ｄｉｓｋ）や、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、メモリカード、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００７１】
さらに、上述の本実施形態のデータベースシステムに関する方法を記述したコンピュータプログラムもしくは各手段（もしくは各部）を構成したコンピュータプログラムを、その方法もしくは手段に必要とされる入出力データを格納したメモリや外部記憶部等にアクセスするように実装してもよい。
【００７２】
以上のように本実施形態におけるデータベースシステムにおいては、一般的なデータベースが有する、異常終了時にもトランザクションログによる再起動時の復旧を行う機能を利用し、データベースファイルにＤＢブロック破壊を起こした箇所があっても、トランザクションログを参照することによって復旧可能か否かを判断できる。
【００７３】
上述の機能に基づいて、本実施形態におけるデータベースシステムは、データベースが完全に整合されていない状態（例えば、運用中の強制的なデータベースのＳｎａｐＳｈｏｔ状態、データベース異常終了状態によるＤＢブロックへの不完全書込み状態）であっても、ＤＢブロックにおけるデータフィールドに対するＣＲＣチェックを行い、そのＣＲＣチェック結果に応じた処理を行うことができる。
【００７４】
例えば、本実施形態におけるデータベースシステムは、そのＣＲＣチェック結果として、そのＤＢブロックが破損している場合には、トランザクションログに基づいて破損ブロック復旧可否判断を行うことによって、データベースデータに破損箇所を有する状態のデータベースが正常に起動可能か否かの判断を行なうことができる。
【００７５】
また、本実施形態におけるデータベースシステムは、データベースデータの破損箇所を整合できないと判断した場合には、再バックアップを行なうことによって、バックアップファイルの信頼性を確保できる。
【００７６】
さらに、本実施形態におけるデータベースシステムは、トランザクションログに基づいて物理ファイルの変更ブロック情報の取得を可能とする（Ｓ２０７）。前回整合性をチェックした時点から変更差分ＤＢブロックを追跡することによって、走査対象の絞込を可能となる。
【００７７】
以上、本発明の実施形態について説明したが、本発明は説明した実施形態に限定されるものでなく、各請求項に記載した範囲において各種の変形を行うことが可能である。
【００７８】
例えば、本実施形態の変形として、トランザクションログに更新日時情報，作成日時情報を含め、特定の日時に基づいて、処理対象とするトランザクションログを選択しても良い。例えば、特定の日時より後のトランザクションログを選択し、処理を絞り込んでも良い。
【００７９】
また、本実施形態では、ミラーリングされたアーカイブログファイル，ログバックアップファイル，データバックアップファイルに対して、ＣＲＣによるデータ整合性チェックを行っているが、運用系サーバ内のアーカイブログファイル，ログバックアップファイル，データバックアップファイルに対してＣＲＣによるデータ整合性チェックを直接行っても良いし、それらのファイルが運用系サーバと支援系サーバで共有されていても良い。
【００８０】
また、本実施形態では、バックアップされたデータ（例えば、ログバックアップファイル，データバックアップファイル）を対象に、ＣＲＣによるデータ整合性チェックを行っているが、バックアップ元のデータに対してデータ整合性チェックを直接行っても良い。
【００８１】
また、各物理ファイルに応じてディスク装置を有しているが、各物理ファイルに個別にアクセスできれば良いため、例えば、一つのディスク装置に各物理ファイルを格納しても良い。
【００８２】
また、本実施形態では、各ファイル用に個別のディスク装置を有していたが、ディスク装置は、運用系サーバ，支援系サーバから各ファイルにアクセスできれば良いように構成されていれば良い。例えば、ＯＳの提供する共有機能などを利用して、アクセスできるようにしても良く。運用系サーバ，支援系サーバに必ずしも直結して備えられている必要はない。
【００８３】
また、本実施形態では、チェックコードの一つであるＣＲＣを用いたが、誤りや改ざんを検出できる符号体系であれば良く、例えば、電子署名技術やハッシュ関数などを用いたチェックコードであってもよい。
【図面の簡単な説明】
【００８４】
【図１】本実施形態におけるデータベースシステムの構成図。
【図２】本実施形態における支援系サーバの詳細な構成図。
【図３】本実施形態におけるトランザクションログに基づいてデータベースの整合性を保証する方法を示す図。
【図４】本実施形態におけるアーカイブログに基づいてデータベースの整合性を保証する方法を示す図。
【符号の説明】
【００８５】
１…運用系サーバ
１ａ…ＳＱＬサーバ部
１ｂ…ＣＲＣ埋込機能部
１ｃ…データディスク装置
１ｄ…ログディスク装置
１ｅ…データバックアップディスク装置
１ｆ…ログバックアップディスク装置
１ｇ…アーカイブログディスク装置
２…支援系サーバ
２ａ…バックアップファイル整合性検証機能部
２ｂ…ログ情報取得機能部
２ｃ…ＣＲＣ破壊検出機能部
２ｄ…アーカイブログディスク装置
２ｄ１…アーカイブログファイル
２ｅ…ログバックアップディスク装置
２ｅ１…ログバックアップファイル
２ｆ…データバックアップディスク装置
２ｆ１…データバックアップファイル
２ｇ…演算処理装置
２ｈ…記憶部
２ｉ…ＡＰＬサーバ
３…利用者端末
ｄ１１…変更ブロック情報領域
【図１】
0004982342.tif 000002
【図２】
0004982342.tif 000003
【図３】
0004982342.tif 000004
【図４】
0004982342.tif 000005