JP2009134665A - データベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体 - Google Patents

データベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体 Download PDF

Info

Publication number
JP2009134665A
JP2009134665A JP2007311947A JP2007311947A JP2009134665A JP 2009134665 A JP2009134665 A JP 2009134665A JP 2007311947 A JP2007311947 A JP 2007311947A JP 2007311947 A JP2007311947 A JP 2007311947A JP 2009134665 A JP2009134665 A JP 2009134665A
Authority
JP
Japan
Prior art keywords
check code
data
log
block
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007311947A
Other languages
English (en)
Other versions
JP4982342B2 (ja
Inventor
Takafumi Takeuchi
孝文 竹内
Harushio Hidaka
東潮 日高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007311947A priority Critical patent/JP4982342B2/ja
Publication of JP2009134665A publication Critical patent/JP2009134665A/ja
Application granted granted Critical
Publication of JP4982342B2 publication Critical patent/JP4982342B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】物理ファイルを構成するDBブロックを検証する。
【解決手段】まず、ファイル2fに含まれる各DBブロックに応じたチェックコードを生成し、DBブロックへ埋め込む(1b)。ログファイル2eに基づいて計算されたチェックコードと該ログに含まれるチェックコードが一致した場合、該ログに基づいてファイル2fにおける変更差分DBブロックの位置情報を記憶部に格納する(2b)。前記記憶部に格納された位置情報に応じ、ファイル2fにおけるDBブロックに基づいてチェックコードを計算する(2c)。続いて、計算されたチェックコードと記憶部に格納したDBブロックのチェックコードが一致しなかった場合、該DBブロックを破損DBブロックと見做す(2c)。そして、前記破損DBブロックを含むファイル2fに対するログに含まれるトランザクションログ復旧可否情報に応じた処理を行う(2a)。
【選択図】図1

Description

本発明は、データベースシステムにおけるデータ整合性保証(例えば、データ整合性チェック及びデータベース復旧)技術に関するものである。
現在、データベースにおいて、データ整合性チェック技術やデータベース復旧技術が知られている。
例えば、データ整合性チェック技術としては、データベースに付与するインデックスに着目し、そのインデックスに関する情報(例えば、インデックス間の件数)や操作(例えば、そのインデックスを使った件数検索)に基づいて、そのインデックスの整合性をチェックする技術(例えば、特許文献1参照)が知られている。また、リレーション間のデータブロックの空き状況に着目し、異なるリレーション別に各データブロックの空き状況を判定し、いずれかのデータブロックの空き状況が異なっていた場合は、そのデータブロックが異常であると判定する技術(例えば、特許文献1参照)も知られている。
また、データ整合性チェックに基づいて異常と判定された場合に、データベースを復旧する技術(例えば、データリカバリ)も広く知られている。
例えば、回復ログを走査して、処理の完了を確認し、検出された不完全なログ書き込み、または、失敗したログ書き込みからの回復が行われる技術(例えば、特許文献2)である。
また、一般的な情報処理技術におけるデータ整合性チェックにおけるデータ誤り検出技術も、多くのものが知られている。特に、巡回冗長検査(CRC(Cyclic Redundancy Check);例えば、非特許文献1,2参照)は、様々な場面で利用されている。
特開平6−4588号公報(段落[0010]〜[0014],[0017]〜[0018]等)。 特開平1−261746号公報(279ページ第3欄17行目〜280ページ第1欄10行目,282ページ第2欄2行目〜286ページ第4欄13行目等)。 Ross N. Williams、"A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS"、[online]、19 August 1993(平成5年8月19日)、Ross N. Williams、[平成19年9月20日検索]、インターネット<URL:http://www.ross.net/crc/download/crc_v3.txt>。 Aram Perez、"Byte−wise CRC Calculations"、IEEE(Institute of Electrical and Electronic Engineers)、June 1983(昭和58年6月)、p40−50。
上述のデータベースにおけるデータ整合性チェック方法は、データベースにおける物理ファイルが完全に整合されている状態のデータベースを前提としている。
しかし、上述のデータベースにおけるデータ整合性チェック方法は、トランザクションログによるデータリカバリを考慮していない。
また、上述の方法では、物理ファイル(例えば、バックアップされた基底ポイントで、バックアップを構成する物理ファイル)と該物理ファイルを構成するブロック(以後、DB(Database)ブロックという;物理ブロックとも言われる)のデータ破壊もしくはデータ破損した場合、整合性チェックは困難であり、また、データベース復旧作業も難しい状態になる。
本発明は、前記課題に対してなされたものであって、データベースにおける物理ファイルを構成するDBブロックがデータ破壊(もしくはデータ破損)されているか否かを検証するデータベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体を提供することにある。
前記課題の解決を図るために、請求項1記載の発明は、データベースサーバ部を備えたシステム本体装置である運用系サーバと、記憶部を備えた該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置と、を有する、データベースデータを管理するデータベースシステムであって、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDB(Database)ブロックから成るデータベースデータを含むデータベースファイル,記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルを有し、前記運用系サーバが、前記データベースファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むチェックコードデータ埋込機能部を備え、前記支援系サーバが、前記ログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納するログ情報取得機能部と、前記チェックコードチェック指示を送る手段,一致しなかった比較結果を受けた場合、前記破損DBブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行う手段,を備えるファイル整合性検証機能部と、前記チェックコードチェック指示を受け、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記データベースファイルから読み出し記憶部に格納し、その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算手段,前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェック手段,を備えるチェックコード破壊検出機能部と、を具備することを特徴とする。
請求項2記載の発明は、請求項1に記載の発明において、記憶装置に格納され、前記トランザクションログをアーカイブしたアーカイブデータであるアーカイブログから成るアーカイブログファイルを有し、前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部が、前記ログファイルのトランザクションログの代わりに、前記アーカイブログファイルのアーカイブログを処理対象とすることを特徴とする。
請求項3記載の発明は、請求項1または2に記載の発明において、前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部及びチェックコード破壊検出機能部が、ログファイル,データベースファイルを各々バックアップしたログバックアップファイル,データバックアップファイルを処理対象とすることを特徴とする。
請求項4記載の発明は、請求項3に記載の発明において、前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部及びチェックコード破壊検出機能部が、前記ログバックアップファイル,データバックアップファイル,アーカイブログファイルに対し各々ミラーリングしたファイルを処理対象とすることを特徴とする。
請求項5記載の発明は、データベースサーバ部,データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備えた運用系サーバと、データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部,ログ自体及び該ログに関する情報を取得するログ情報取得機能部,チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部,記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置と、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDBブロックから成るデータベースデータを含むデータベースファイルと、記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、を有する、データベースデータを管理するシステムに使用するデータ管理方法であって、前記チェックコード埋込機能部が、前記データベースファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むステップと、前記ログ情報取得機能部が、前記ログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納し、前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記データベースファイルから読み出し記憶部に格納し、その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損DBブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、を有することを特徴とする。
請求項6記載の発明は、データベースサーバ部,データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部,ログ自体及び該ログに関する情報を取得するログ情報取得機能部,チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部,記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDBブロックから成るデータベースデータを含むデータベースファイルと、記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、記憶装置に格納され、前記トランザクションログをアーカイブしたアーカイブデータであるアーカイブログから成るアーカイブログファイルと、を有する、データベースデータを管理するシステムに使用するデータ管理方法であって、前記チェックコード埋込機能部が、前記データベースファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むステップと、前記ログ情報取得機能部が、前記アーカイブログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納し、前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記データベースファイルから読み出し記憶部に格納し、その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損DBブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、を有することを特徴とする。
請求項7記載の発明は、データベースサーバ部,データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部,ログ自体及び該ログに関する情報を取得するログ情報取得機能部,チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部,記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置と、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDBブロックから成るデータベースデータを含むデータベースファイルと、記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、記憶装置に格納され、該データベースファイルをバックアップしたデータバックアップファイルと、記憶装置に格納され、該ログファイルをバックアップしたログバックアップファイルと、を有する、データベースデータを管理するシステムに使用するデータ管理方法であって、前記チェックコード埋込機能部が、前記データバックアップファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むステップと、前記ログ情報取得機能部が、前記ログバックアップファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータバックアップファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納し、前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記データバックアップファイルから読み出し記憶部に格納し、その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損DBブロックを含むデータバックアップファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、を有することを特徴とする。
請求項8記載の発明は、データベースサーバ部,データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部,ログ自体及び該ログに関する情報を取得するログ情報取得機能部,チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部,記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDBブロックから成るデータベースデータを含むデータベースファイルと、記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、記憶装置に格納され、該データベースファイルをバックアップしたデータバックアップファイルと、記憶装置に格納され、該ログファイルをバックアップしたログバックアップファイルと、記憶装置に格納され、該データバックアップファイルをミラーリングしたデータバックアップファイルと、記憶装置に格納され、該ログバックアップファイルをミラーリングしたログバックアップファイルと、を有する、データベースデータを管理するシステムに使用するデータ管理方法であって、前記チェックコード埋込機能部が、前記ミラーリングされたデータバックアップファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むステップと、前記ログ情報取得機能部が、前記ミラーリングされたログバックアップファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいて前記ミラーリングされたデータバックアップファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納し、前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記ミラーリングされたデータバックアップファイルから読み出し記憶部に格納し、その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損DBブロックを含むミラーリングされたデータバックアップファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、を有することを特徴とする。
請求項9記載の発明は、データベースプログラムであって、コンピュータを請求項1乃至4のいずれかに記載のデータベースシステムにおける各手段及び各部として機能させることを特徴とする。
請求項10記載の発明は、記録媒体であって、請求項9に記載のデータベースプログラムを記録したことを特徴とする。
前記請求項1,2,5,6に記載の発明は、前記データベースファイルに基づいて、そのファイル内容の整合性保証を与えることができる。トランザクションログに基づいて、整合性チェック(チェックコードチェック)対象とするDBブロックを限定できる。
前記請求項3,7に記載の発明は、前記データバックアップファイルに基づいて、そのファイル内容の整合性保証を与えることができる。トランザクションログに基づいて、整合性チェック(チェックコードチェック)対象とするDBブロックを限定できる。
前記請求項4,8に記載の発明は、前記ミラーリングされたデータバックアップファイルに基づいて、そのファイル内容の整合性保証を与えることができる。トランザクションログに基づいて、整合性チェック(チェックコードチェック)対象とするDBブロックを限定できる。
前記請求項9に記載の発明は、請求項1乃至4のいずれかに記載のデータベースシステムをコンピュータプログラムとして記載できる。
前記請求項10に記載の発明は、データベースプログラムを記録媒体に記録できる。
以上示したように請求項1乃至8のいずれかの発明によれば、ファイル内容の整合性保証によって、リカバリの成功を担保できる。また、整合性チェックで異常を検出した場合、その異常に応じた状態を確保できる。整合性チェック(チェックコードチェック)対象とするDBブロックを限定できるため、データベースファイル全体に対する整合性チェックと比較し、整合性チェック時間を短縮できる。
請求項9の発明によれば、データベースシステムとしてコンピュータを動作させるコンピュータプログラムを提供できる。
請求項10の発明によれば、データベースプログラムとしてコンピュータを動作させるコンピュータプログラムを記録した記録媒体を提供できる。
これらを以ってデータ管理技術分野に貢献できる。
以下、本発明の実施形態におけるデータベースシステムの構成を図1に基づいて説明する。
図1中のデータベースシステムは、利用者端末(例えば、パーソナルコンピュータ)3からSQL(Structured Query Language)に基づいてアクセスされるデータベース管理システム本体装置である運用系サーバ1とその運用系サーバ1の管理するデータベースの整合性を保証する支援系サーバ2から構成される。利用者端末3,運用系サーバ1,支援系サーバ2は、通信回線(例えば、ネットワーク)で接続されており、各々で通信を行う。
運用系サーバ1は、データベース管理主体であるSQLサーバ(例えば、PostgreSQL;データベースサーバと考えて良い)部1a,破壊検出用CRCデータ(以下、単にCRCデータ)を算出し埋め込むCRC(Cyclic Redundancy Check)埋込機能部1b,CPU(Central Processing Unit)及びOS(Operating System)を含み、各部と各装置を制御する制御部(図示省略),メモリなどの記憶部(図示省略),通信回線を介した通信を行う通信部(図示省略)を備え、例えば、コンピュータである。
さらに、運用系サーバ1は、データベースデータを含むデータベースファイルを格納するデータディスク装置1c,データベースデータに対して行われた操作(変更もしくは更新操作も含む操作)とその操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有する情報(ログデータ)、そのログデータに対して計算されたCRCデータを有する情報(即ち、ログもしくはログレコードであって、例えば、トランザクションログ)から成るログファイルを格納するログディスク装置1d,データディスク装置1cに格納されたデータベースデータに応じたバックアップデータから成るデータバックアップファイルを格納するデータバックアップディスク装置1e,ログディスク装置1dに格納されたログ(トランザクションログ)に応じたバックアップデータから成るログバックアップファイルを格納するログバックアップディスク装置1f,ログ(トランザクションログ)もしくはバックアップされたログをアーカイブしたデータ(アーカイブデータという;基本的にログデータと同じものであって、トランザクションログ復旧可否情報,アーカイブデータに対して計算されたCRCデータなどを含むデータ)であるアーカイブログ(もしくはアーカイブログレコード)から成るアーカイブログファイルを格納するアーカイブログディスク装置1gを有する。
なお、各ファイルは、データベースにおける物理ファイルであって、OSのファイルシステムによっても管理される。トランザクションログもしくはアーカイブログは、それらのログにおいて操作されたデータベースデータに応じたDBブロックの物理ファイルにおける位置情報(DBブロック位置情報)を特定(例えば、カタログ情報などを用いて特定)できるものとする。各ディスク装置は、一般的な記憶装置(例えば、ハードディスクドライブ装置)と考えて良い。
CRC埋込機能部1bは、データディスク装置1に格納される物理ファイル(例えば、データベースファイル)に含まれる各DBブロックにおけるデータフィールド(CRCデータ以外のデータ(即ち、データ実体)を格納するデータフィールド)に対するCRCデータを生成し、生成したCRCデータを埋め込む。より具体的には、DBブロックは、前記データフィールドとCRCデータを格納したCRCデータフィールドから構成される。なお、CRCデータ生成する方法は、例えば、上述の非特許文献1のCRC技術を採用する。
支援系サーバ2は、バックアップファイル整合性検証機能部2a,ログ情報取得機能部2b,CRC破壊検出機能部2c等を備え、例えば、コンピュータであって、さらに、アーカイブログディスク装置2d,ログバックアップディスク装置2e,データバックアップディスク装置2fを有する。さらに、支援系サーバ2の構成を、図2に基づいて詳細に説明する。
図2中の支援系サーバ2は、図1に示したように、バックアップファイルなどの物理ファイルの整合性を検証するバックアップファイル整合性検証機能部2a,ログ自体及び該ログに関する情報を取得するログ情報取得機能部2b,CRCによってデータ破壊を検出するCRC破壊検出機能部2cを備え、さらに、アーカイブログディスク装置2d,ログバックアップディスク装置2e,データバックアップディスク装置2fを有するが、実際には、CPU及びOSを含み、各部と各装置を制御する演算処理装置2g,メモリなどの記憶部2h,通信回線を介した通信を行う通信部(図示省略)も備える。
また、バックアップファイル整合性検証機能部2a,ログ情報取得機能部2b,CRC破壊検出機能部2cは、支援系サーバ2の本体であるAPL(Application)サーバ2iに備えられた機能部である。なお、APLサーバ2iは、記憶部2hにロードされ、演算処理装置2gに実行されるものであって、たとえば、サーバプログラムと考えて良い。
さらに、アーカイブログファイル2d1を格納するアーカイブログディスク装置2d,ログバックアップファイル2e1を格納するログバックアップディスク装置2e,データバックアップファイル2f1を格納するデータバックアップディスク装置2fは、アーカイブログディスク装置1g,ログバックアップディスク装置1f,データバックアップディスク装置1eとそれぞれミラーリング(例えば、RAID(Redundant Arrays of Inexpensive Disks)1のミラーコピー)されており、同じ内容のデータ(例えば、同じバックアップの基底ファイル)が格納されているものと考えてよい。
バックアップファイル整合性検証機能部2aは、データバックアップファイル2f1における破壊検出すべきDBブロックをログ情報取得機能部2bを使って特定し、該特定されたDBブロックのデータフィールドに応じたCRCデータをCRC破壊検出機能部2cを使ってチェックする。そして、CRCデータに誤りを発見した(即ち、該DBブロックが破損している)場合、ログ(例えば、トランザクションログもしくはアーカイブログ)を比較参照し、その比較参照した結果に基づいて、その破損したDBブロックが復旧可能か否かを判断する。
例えば、異常終了した、もしくは、運用中に強制SnapShotで切離したデータベース(例えば、運用系サーバ1)に対しても、データベースデータの整合性をチェックし、復旧可能か否かを判断できる。
ログ情報取得機能部2bは、ログバックアップディスク装置2eに格納されたトランザクションログに基づいて、データバックアップファイル2f1においてデータ変更もしくは更新されたDBブロック(即ち、変更差分DBブロック)を特定(例えば、DBブロックの位置情報を取得)する。
また、ログ情報取得機能部2bは、アーカイブログディスク装置2dに格納されたアーカイブログを追跡(チェック)し、データバックアップファイル2f1においてデータ変更もしくは更新されたDBブロック(即ち、変更差分DBブロック)を特定する。
このようにして、処理の高速化(処理時間の短縮化)を図ることができる。特に、巨大なデータベースデータでは、データベースデータ全体のCRCチェックを毎回行なうこと(例えば、FullScan処理)は処理時間コストが大きくなるため、このような処理は有効である。なお、トランザクションログに基づく処理を行うため、トランザクションログが破壊(例えば、物理的に破壊)されていないことが、条件となる。
CRC破壊検出機能部2cは、特定されたDBブロックをデータバックアップディスク装置2fのデータバックアップファイル2f1から取得し、その取得したDBブロックに対して破壊検出(CRCの誤り検出)を行なう。結果として、その取得したDBブロックに破壊が生じているか否か(即ち、DBブロックのデータフィールドに応じたCRCデータに誤りを発見したか否か)を出力する。なお、CRCの誤り検出には、例えば、上述の非特許文献1のCRC技術を採用する。
次に、ログバックアップディスク装置2eに格納されたログファイルにおけるトランザクションログに基づいてデータベースの整合性を保証する方法を図3に基づいて説明する。
まず、バックアップファイル整合性検証機能部2aからログ情報取得指示を受けたログ情報取得機能部2bが、カタログ情報を取得する(S101:カタログ情報取得ステップ)。なお、カタログ情報は、SQLサーバ部1aが管理するシステムデータベース(もしくはシステムデータベースデータ)から取得する。システムデータベース自体も、物理ファイル上に構築される。カタログ情報及びシステムデータベースに関しては、一般的であるため、前述より詳しい説明を省略する。
次に、ログ情報取得機能部2bが、取得したカタログ情報に基づいて、破壊検査を行う物理ファイルを特定するためのログファイル(例えば、ログバックアップファイル2e1)の物理ファイル名を取得する(S102:破壊検査物理ファイル名特定ステップ)。
次に、ログ情報取得機能部2bが、取得した物理ファイル名に応じた物理ファイルが、存在するか否かをチェックする。例えば、ログバックアップディスク装置2e上にログバックアップファイル2e1が、存在するか否かをチェックする(S103:DB物理ファイル存在チェックステップ)。その物理ファイルが存在する場合、ステップS104へ進む。
ステップS104(トランザクションログ復旧情報参照格納ステップ)では、ログ情報取得機能部2bが、前記存在する物理ファイル(例えば、ログバックアップファイル2e1)のトランザクションログに含まれるログデータに基づいてCRCデータを計算し、その計算されたCRCデータとトランザクションログに含まれるCRCデータを比較する。その計算されたCRCデータと該トランザクションログに含まれるCRCデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータバックアップファイル2f1における更新操作されたDBブロック(変更差分DBブロック)を特定し、該DBブロックの位置情報を取得し(あるいは計算し)記憶部2h上に格納する。そして、当該処理をバックアップファイル整合性検証機能部2aへ移し、バックアップファイル整合性検証機能部2aは、CRC破壊検出機能部2cへCRCチェック指示を送る。
次に、CRCチェック指示を受けたCRC破壊検出機能部2cが、記憶部2h上に格納したDBブロック位置情報に応じたDBブロックを前記データバックアップファイル2f1から読み出し記憶部2h上に格納する。続いて、その読み出したDBブロックのデータフィールドに対するCRCデータを計算する(S105:DBブロックに対するCRC計算ステップ)。なお、そのCRCデータを計算する処理では、上述のCRC技術(非特許文献1参照)を採用するものとする。
次に、CRC破壊検出機能部2cが、計算されたCRCデータと記憶部2h上に格納したDBブロックのCRCデータフィールドに埋め込まれたCRCデータを、一致したか否か比較し、その比較結果をバックアップファイル整合性検証機能部2aへ通知する(S106:CRCチェックステップ)。
より具体的には、計算されたCRCデータと記憶部2h上に格納したDBブロックのCRCデータフィールドに埋め込まれたCRCデータが一致した場合、一致した比較結果をバックアップファイル整合性検証機能部2aへ通知し、ステップS110へ進む。計算されたCRCデータと記憶部2h上に格納したDBブロックのCRCデータフィールドに埋め込まれたCRCデータが一致しなかった場合、そのDBブロックを破損したDBブロック(以下、破損DBブロックという)と見做し、一致しなかった比較結果をバックアップファイル整合性検証機能部2aへ通知し、ステップS107へ進む。
ステップS107では、ステップS106によって一致しなかった比較結果を受けたバックアップファイル整合性検証機能部2aが、前記破損DBブロックを含むデータバックアップファイル2f1に対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックする(S107)。そのトランザクションログ復旧可否情報に復旧可能と設定されていた場合、ステップS110へ進む。トランザクションログ復旧可否情報に復旧不可能と設定されていた場合、異常系処理(例えば、ステップS108もしくはS109)へ進む。なお、ステップS108もしくはS109処理の選択は、例えば、予め選択されていても良いし、DBブロックの位置情報に基づいて自動的に判断し選択しても良い。
ステップS108(物理破損検出レポート出力ステップ)では、バックアップファイル整合性検証機能部2aが、破損DBブロックの位置情報に基づいて、検出レポートを作成し出力する。例えば、破損DBブロックの位置情報をファイルシステム上の論理情報に変換し、該論理情報を含む検出レポートを作成し出力する。
ステップS109(再バックアップ処理ステップ)では、バックアップファイル整合性検証機能部2aが、破損DBブロックの位置情報に応じた物理ファイル全体をバックアップする。
ステップS110では、バックアップファイル整合性検証機能部2aが、当該物理ファイルの最終DBブロックを処理していない場合、次のDBブロック位置情報を取得して記憶部2h上に格納し、該DBブロック位置情報に応じたDBブロックを読み出して記憶部2h上に格納し、CRC破壊検出機能部2cへCRCチェック指示を送り、ステップS105へ進む。最終DBブロックを処理していた場合、当該処理を終了する。
次に、アーカイブログディスク装置2dに格納されたアーカイブログファイルにおけるアーカイブログに基づいてデータベースの整合性を保証する方法を図4に基づいて説明する。なお、図3中のステップS106〜S110は、この方法でも、利用するため、これらのステップを有するステップを共通処理部分ステップ(S300)として定義する。
まず、バックアップファイル整合性検証機能部2aからアーカイブログ情報取得指示を受けたログ情報取得機能部2bが、カタログ情報を取得する(S201:カタログ情報取得ステップ)。
次に、ログ情報取得機能部2bが、取得したカタログ情報に基づいて、破壊検査を行う物理ファイルを特定するためのログファイル(例えば、アーカイブログファイル2d1)の物理ファイル名を取得する(S202:破壊検査物理ファイル名特定ステップ)。
次に、ログ情報取得機能部2bが、取得した物理ファイル名に応じた物理ファイルが、存在するか否かをチェックする。例えば、アーカイブログディスク装置2d上にアーカイブログファイル2d1が、存在するか否かをチェックする(S203:DB物理ファイル存在チェックステップ)。その物理ファイルが存在する場合、ステップS204へ進む。
ステップS204(アーカイブログ変更ブロック取得ステップ)では、ログ情報取得機能部2bが、前記存在する物理ファイル(例えば、アーカイブログファイル2d1)からアーカイブログ(もしくはアーカイブログレコード;実際には、トランザクションログと同じもの)を取得し、記憶部2h上に格納する。
ステップS205(アーカイブログレコードCRCチェックステップ)では、ログ情報取得機能部2bが、次のようなアーカイブログチェック処理を行う。取得したアーカイブログに含まれるアーカイブデータに基づいてCRCデータを計算し、その計算されたCRCデータとアーカイブログに含まれるCRCデータを比較する。その計算されたCRCデータとアーカイブログに含まれるCRCデータが一致した場合、該アーカイブログは正常と見做し、ステップS207へ進む。その計算されたCRCデータとアーカイブログに含まれるCRCデータが一致しなかった場合、該アーカイブログは異常と見做し、即ち、該アーカイブログを破損アーカイブログと見做し、ステップS206へ進む。
ステップS206(ログ破損検出レポート出力ステップ)では、ログ情報取得機能部2bが、破損アーカイブログを論理情報(例えば、破損アーカイブログに関する情報)に展開し、その論理情報を含む検出レポートを出力する。
ステップS207(変更ブロック情報格納ステップ)では、ログ情報取得機能部2bが、前記正常と見做されたアーカイブログに基づいて、データバックアップファイル2f1における更新操作されたDBブロックを特定し、該DBブロックを変更差分DBブロックと見做し、該変更差分DBブロックの位置情報を記憶部2hにおける変更ブロック情報領域d11に格納し、ステップS208へ進む。
ステップS208では、ログ情報取得機能部2bが、当該アーカイブログファイル2d1における最終アーカイブログを処理していない場合、次のアーカイブログを取得し記憶部2h上に格納し、ステップS205へ進む。最終アーカイブログを処理していた場合、バックアップファイル整合性検証機能部2aへ処理を戻し、バックアップファイル整合性検証機能部2aがCRCチェック指示をCRC破壊検出機能部2cへ送り、ステップS209へ進む。
ステップS209(DBブロックに対するCRC計算ステップ)では、CRCチェック指示を受けたCRC破壊検出機能部2cが、記憶部2hの変更ブロック情報領域d11上に格納したDBブロック位置情報に応じたDBブロックをデータバックアップファイル2f1から読み出し記憶部2h上に格納する。続いて、その読み出したDBブロックのデータフィールドに対するCRCデータを計算する。なお、そのCRCデータを計算する処理では、上述のCRC技術(非特許文献1参照)を採用するものとする。
そして、共通処理部分ステップ(S300)を行う。ただし、図4中のステップS300では、ログバックアップディスク装置2eにおけるログバックアップファイル2e1の代わりに、アーカイブログディスク装置2dにおけるアーカイブログファイル2d1へアクセスする。
また、本実施形態のデータベースシステムにおいて、上述のデータベースの整合性を保証する方法における各手順を、該当する各部の手段として(例えば、各部の手段をコンピュータプログラムとして)実装しても良い。
また、本実施形態のデータベースシステムにおける各部(もしくは各手段)の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態のデータベースシステムにおける手順(方法)をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体(記憶媒体)、例えばFD(Floppy(登録商標) Disk)や、MO(Magneto−Optical disk)、ROM(Read Only Memory)、メモリカード、CD(Compact Disk)、DVD(Digital Versatile Disk)、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
さらに、上述の本実施形態のデータベースシステムに関する方法を記述したコンピュータプログラムもしくは各手段(もしくは各部)を構成したコンピュータプログラムを、その方法もしくは手段に必要とされる入出力データを格納したメモリや外部記憶部等にアクセスするように実装してもよい。
以上のように本実施形態におけるデータベースシステムにおいては、一般的なデータベースが有する、異常終了時にもトランザクションログによる再起動時の復旧を行う機能を利用し、データベースファイルにDBブロック破壊を起こした箇所があっても、トランザクションログを参照することによって復旧可能か否かを判断できる。
上述の機能に基づいて、本実施形態におけるデータベースシステムは、データベースが完全に整合されていない状態(例えば、運用中の強制的なデータベースのSnapShot状態、データベース異常終了状態によるDBブロックへの不完全書込み状態)であっても、DBブロックにおけるデータフィールドに対するCRCチェックを行い、そのCRCチェック結果に応じた処理を行うことができる。
例えば、本実施形態におけるデータベースシステムは、そのCRCチェック結果として、そのDBブロックが破損している場合には、トランザクションログに基づいて破損ブロック復旧可否判断を行うことによって、データベースデータに破損箇所を有する状態のデータベースが正常に起動可能か否かの判断を行なうことができる。
また、本実施形態におけるデータベースシステムは、データベースデータの破損箇所を整合できないと判断した場合には、再バックアップを行なうことによって、バックアップファイルの信頼性を確保できる。
さらに、本実施形態におけるデータベースシステムは、トランザクションログに基づいて物理ファイルの変更ブロック情報の取得を可能とする(S207)。前回整合性をチェックした時点から変更差分DBブロックを追跡することによって、走査対象の絞込を可能となる。
以上、本発明の実施形態について説明したが、本発明は説明した実施形態に限定されるものでなく、各請求項に記載した範囲において各種の変形を行うことが可能である。
例えば、本実施形態の変形として、トランザクションログに更新日時情報,作成日時情報を含め、特定の日時に基づいて、処理対象とするトランザクションログを選択しても良い。例えば、特定の日時より後のトランザクションログを選択し、処理を絞り込んでも良い。
また、本実施形態では、ミラーリングされたアーカイブログファイル,ログバックアップファイル,データバックアップファイルに対して、CRCによるデータ整合性チェックを行っているが、運用系サーバ内のアーカイブログファイル,ログバックアップファイル,データバックアップファイルに対してCRCによるデータ整合性チェックを直接行っても良いし、それらのファイルが運用系サーバと支援系サーバで共有されていても良い。
また、本実施形態では、バックアップされたデータ(例えば、ログバックアップファイル,データバックアップファイル)を対象に、CRCによるデータ整合性チェックを行っているが、バックアップ元のデータに対してデータ整合性チェックを直接行っても良い。
また、各物理ファイルに応じてディスク装置を有しているが、各物理ファイルに個別にアクセスできれば良いため、例えば、一つのディスク装置に各物理ファイルを格納しても良い。
また、本実施形態では、各ファイル用に個別のディスク装置を有していたが、ディスク装置は、運用系サーバ,支援系サーバから各ファイルにアクセスできれば良いように構成されていれば良い。例えば、OSの提供する共有機能などを利用して、アクセスできるようにしても良く。運用系サーバ,支援系サーバに必ずしも直結して備えられている必要はない。
また、本実施形態では、チェックコードの一つであるCRCを用いたが、誤りや改ざんを検出できる符号体系であれば良く、例えば、電子署名技術やハッシュ関数などを用いたチェックコードであってもよい。
本実施形態におけるデータベースシステムの構成図。 本実施形態における支援系サーバの詳細な構成図。 本実施形態におけるトランザクションログに基づいてデータベースの整合性を保証する方法を示す図。 本実施形態におけるアーカイブログに基づいてデータベースの整合性を保証する方法を示す図。
符号の説明
1…運用系サーバ
1a…SQLサーバ部
1b…CRC埋込機能部
1c…データディスク装置
1d…ログディスク装置
1e…データバックアップディスク装置
1f…ログバックアップディスク装置
1g…アーカイブログディスク装置
2…支援系サーバ
2a…バックアップファイル整合性検証機能部
2b…ログ情報取得機能部
2c…CRC破壊検出機能部
2d…アーカイブログディスク装置
2d1…アーカイブログファイル
2e…ログバックアップディスク装置
2e1…ログバックアップファイル
2f…データバックアップディスク装置
2f1…データバックアップファイル
2g…演算処理装置
2h…記憶部
2i…APLサーバ
3…利用者端末
d11…変更ブロック情報領域

Claims (10)

  1. データベースサーバ部を備えたシステム本体装置である運用系サーバと、
    記憶部を備えた該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
    記憶装置と、
    を有する、
    データベースデータを管理するデータベースシステムであって、
    記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDB(Database)ブロックから成るデータベースデータを含むデータベースファイル,
    記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイル
    を有し、
    前記運用系サーバが、
    前記データベースファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むチェックコードデータ埋込機能部
    を備え、
    前記支援系サーバが、
    前記ログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
    その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、
    該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納するログ情報取得機能部と、
    前記チェックコードチェック指示を送る手段,
    一致しなかった比較結果を受けた場合、前記破損DBブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行う手段,
    を備えるファイル整合性検証機能部と、
    前記チェックコードチェック指示を受け、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記データベースファイルから読み出し記憶部に格納し、その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算手段,
    前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェック手段,
    を備えるチェックコード破壊検出機能部と、
    を具備する
    ことを特徴とするデータベースシステム。
  2. 請求項1に記載のデータベースシステムにおいて、
    記憶装置に格納され、前記トランザクションログをアーカイブしたアーカイブデータであるアーカイブログから成るアーカイブログファイルを有し、
    前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部が、
    前記ログファイルのトランザクションログの代わりに、前記アーカイブログファイルのアーカイブログを処理対象とする
    ことを特徴とするデータベースシステム。
  3. 請求項1または2に記載のデータベースシステムにおいて、
    前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部及びチェックコード破壊検出機能部が、
    ログファイル,データベースファイルを各々バックアップしたログバックアップファイル,データバックアップファイルを処理対象とする
    ことを特徴とするデータベースシステム。
  4. 請求項3に記載のデータベースシステムにおいて、
    前記支援系サーバのログ情報取得機能部及びファイル整合性検証機能部及びチェックコード破壊検出機能部が、
    前記ログバックアップファイル,データバックアップファイル,アーカイブログファイルに対し各々ミラーリングしたファイルを処理対象とする
    ことを特徴とするデータベースシステム。
  5. データベースサーバ部,データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備えた運用系サーバと、
    データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部,ログ自体及び該ログに関する情報を取得するログ情報取得機能部,チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部,記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
    記憶装置と、
    記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDBブロックから成るデータベースデータを含むデータベースファイルと、
    記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、
    を有する、
    データベースデータを管理するシステムに使用するデータ管理方法であって、
    前記チェックコード埋込機能部が、前記データベースファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むステップと、
    前記ログ情報取得機能部が、前記ログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
    その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、
    該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納し、
    前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、
    前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記データベースファイルから読み出し記憶部に格納し、
    その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、
    前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、
    前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損DBブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、
    を有することを特徴とするデータ管理方法。
  6. データベースサーバ部,データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、
    データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部,ログ自体及び該ログに関する情報を取得するログ情報取得機能部,チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部,記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
    記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDBブロックから成るデータベースデータを含むデータベースファイルと、
    記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、
    記憶装置に格納され、前記トランザクションログをアーカイブしたアーカイブデータであるアーカイブログから成るアーカイブログファイルと、
    を有する、
    データベースデータを管理するシステムに使用するデータ管理方法であって、
    前記チェックコード埋込機能部が、前記データベースファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むステップと、
    前記ログ情報取得機能部が、前記アーカイブログファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
    その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータベースファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、
    該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納し、
    前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、
    前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記データベースファイルから読み出し記憶部に格納し、
    その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、
    前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、
    前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損DBブロックを含むデータベースファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、
    を有することを特徴とするデータ管理方法。
  7. データベースサーバ部,データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、
    データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部,ログ自体及び該ログに関する情報を取得するログ情報取得機能部,チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部,記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
    記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDBブロックから成るデータベースデータを含むデータベースファイルと、
    記憶装置と、
    記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、
    記憶装置に格納され、該データベースファイルをバックアップしたデータバックアップファイルと、
    記憶装置に格納され、該ログファイルをバックアップしたログバックアップファイルと、
    を有する、
    データベースデータを管理するシステムに使用するデータ管理方法であって、
    前記チェックコード埋込機能部が、前記データバックアップファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むステップと、
    前記ログ情報取得機能部が、前記ログバックアップファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
    その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいてデータバックアップファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、
    該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納し、
    前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、
    前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記データバックアップファイルから読み出し記憶部に格納し、
    その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、
    前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、
    前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損DBブロックを含むデータバックアップファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、
    を有することを特徴とするデータ管理方法。
  8. データベースサーバ部,データに対しチェックコードデータ算出し埋め込むチェックコードデータ埋込機能部を備え、システム本体装置である運用系サーバと、
    データベースにおける物理ファイルの整合性を検証するファイル整合性検証機能部,ログ自体及び該ログに関する情報を取得するログ情報取得機能部,チェックコードによってデータ破壊を検出するチェックコード破壊検出機能部,記憶部を備え、該運用系サーバの管理するデータベースの整合性を保証する支援系サーバと、
    記憶装置に格納され、データ実体を格納したデータフィールドとチェックコードデータを格納したチェックコードデータフィールドから構成されるDBブロックから成るデータベースデータを含むデータベースファイルと、
    記憶装置に格納され、該データベースデータに対して行われた変更もしくは更新操作と該操作対象であるデータベースデータが復旧可能か否かを示すトランザクションログ復旧可否情報を有するログデータ、そのログデータに対して計算されたチェックコードデータ、を有するトランザクションログから成るログファイルと、
    記憶装置に格納され、該データベースファイルをバックアップしたデータバックアップファイルと、
    記憶装置に格納され、該ログファイルをバックアップしたログバックアップファイルと、
    記憶装置に格納され、該データバックアップファイルをミラーリングしたデータバックアップファイルと、
    記憶装置に格納され、該ログバックアップファイルをミラーリングしたログバックアップファイルと、
    を有する、
    データベースデータを管理するシステムに使用するデータ管理方法であって、
    前記チェックコード埋込機能部が、前記ミラーリングされたデータバックアップファイルに含まれる各DBブロックにおけるデータフィールドに対するチェックコードデータを生成し、生成したチェックコードデータをDBブロックにおけるチェックコードデータフィールドへ埋め込むステップと、
    前記ログ情報取得機能部が、前記ミラーリングされたログバックアップファイルのトランザクションログに含まれるログデータに基づいてチェックコードデータを計算し、その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータを比較し、
    その計算されたチェックコードデータと該トランザクションログに含まれるチェックコードデータが一致した場合、該トランザクションログを正常と見做し、該トランザクションログに基づいて前記ミラーリングされたデータバックアップファイルにおける更新操作されたDBブロックである変更差分DBブロックを特定し、
    該変更差分DBブロックのDBブロック位置情報を取得し、前記記憶部に格納し、
    前記ファイル整合性検証機能部が、前記チェックコード破壊検出機能部へチェックコードチェック指示を送るトランザクションログ参照格納ステップと、
    前記チェックコードチェック指示を受けたチェックコード破壊検出機能部が、前記記憶部に格納したDBブロック位置情報に応じたDBブロックを前記ミラーリングされたデータバックアップファイルから読み出し記憶部に格納し、
    その読み出したDBブロックのデータフィールドに対するチェックコードデータを計算するチェックコード計算ステップと、
    前記チェックコード破壊検出機能部が、前記計算されたチェックコードデータと記憶部に格納したDBブロックのチェックコードデータフィールドに埋め込まれたチェックコードデータを、一致したか否か比較し、一致しなかった場合は、該DBブロックを破損DBブロックと見做し、その比較結果を前記ファイル整合性検証機能部へ通知するチェックコードチェックステップと、
    前記ファイル整合性検証機能部が、一致しなかった比較結果を受けた場合、前記破損DBブロックを含むミラーリングされたデータバックアップファイルに対する操作に応じたトランザクションログに含まれるトランザクションログ復旧可否情報をチェックし、該トランザクションログ復旧可否情報に応じた処理を行うステップと、
    を有することを特徴とするデータ管理方法。
  9. コンピュータを請求項1乃至4のいずれかに記載のデータベースシステムにおける各手段及び各部として機能させることを特徴とするデータベースプログラム。
  10. 請求項9に記載のデータベースプログラムを記録したことを特徴とする記録媒体。
JP2007311947A 2007-12-03 2007-12-03 データベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体 Expired - Fee Related JP4982342B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007311947A JP4982342B2 (ja) 2007-12-03 2007-12-03 データベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007311947A JP4982342B2 (ja) 2007-12-03 2007-12-03 データベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体

Publications (2)

Publication Number Publication Date
JP2009134665A true JP2009134665A (ja) 2009-06-18
JP4982342B2 JP4982342B2 (ja) 2012-07-25

Family

ID=40866464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007311947A Expired - Fee Related JP4982342B2 (ja) 2007-12-03 2007-12-03 データベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体

Country Status (1)

Country Link
JP (1) JP4982342B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019193823A1 (ja) * 2018-04-02 2019-10-10 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN110764943A (zh) * 2019-10-21 2020-02-07 中国民航信息网络股份有限公司 一种Oracle数据库的数据处理方法及装置
CN112162989A (zh) * 2020-09-24 2021-01-01 北京人大金仓信息技术股份有限公司 数据库数据一致性检测方法、装置、介质和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01261746A (ja) * 1988-04-08 1989-10-18 Internatl Business Mach Corp <Ibm> データベースを回復する方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01261746A (ja) * 1988-04-08 1989-10-18 Internatl Business Mach Corp <Ibm> データベースを回復する方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019193823A1 (ja) * 2018-04-02 2019-10-10 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN110764943A (zh) * 2019-10-21 2020-02-07 中国民航信息网络股份有限公司 一种Oracle数据库的数据处理方法及装置
CN110764943B (zh) * 2019-10-21 2023-05-05 中国民航信息网络股份有限公司 一种Oracle数据库的数据处理方法及装置
CN112162989A (zh) * 2020-09-24 2021-01-01 北京人大金仓信息技术股份有限公司 数据库数据一致性检测方法、装置、介质和电子设备
CN112162989B (zh) * 2020-09-24 2023-09-15 北京人大金仓信息技术股份有限公司 数据库数据一致性检测方法、装置、介质和电子设备

Also Published As

Publication number Publication date
JP4982342B2 (ja) 2012-07-25

Similar Documents

Publication Publication Date Title
AU2017228544B2 (en) Nonvolatile media dirty region tracking
US9104622B2 (en) Retrieval and recovery of data chunks from alternate data stores in a deduplicating system
US8788466B2 (en) Efficient transfer of deduplicated data
KR101103885B1 (ko) 데이터 확인을 위한 방법, 장치, 시스템 및 컴퓨터 판독가능한 기록 매체
US8495037B1 (en) Efficient isolation of backup versions of data objects affected by malicious software
EP3519965B1 (en) Systems and methods for healing images in deduplication storage
US10585762B2 (en) Maintaining files in a retained file system
US10481988B2 (en) System and method for consistency verification of replicated data in a recovery system
US10229123B2 (en) Automatic real-time file management method and apparatus
JP2009076075A (ja) データ格納方法、データ・ストレージ・システムおよびプログラム(ストレージ・システムにおけるデータ完全性の検証)(著作権および商標登録表示本特許文書の開示の一部は、著作権保護を受ける内容を含む。本所有権者は、特許文書または特許開示書のいずれか一つによるファクシミリ複写物には、複写物が特許商標庁の特許ファイルまたは記録として世に出現している限り異論はないが、他の場合に全ての著作権は完全に留保する。)(本明細書で参照するある種のマークについては、出願人またはその譲受人と提携しまたは提携しない第三者の、慣習法上の、または登録された商標である可能性がある。これらのマークを使用するのは、例示によって実施可能な開示を提供するためであり、そのようなマークに関連するもののみに本発明の範囲を制限するように解釈されるべきではない。)
US9146935B1 (en) Systems and methods for classifying files as candidates for deduplication
US10044801B1 (en) Backup of user data with validity check
CN103761489A (zh) 用于检测文件的完整性的系统和方法
JP4982342B2 (ja) データベースシステム,データ管理方法,データベースプログラム及びそのプログラムを記録する記録媒体
US20080155319A1 (en) Methods and systems for managing removable media
US7028153B1 (en) Backup and retrieval of data storage using catalog data
US8745001B1 (en) Automated remediation of corrupted and tempered files
US7865472B1 (en) Methods and systems for restoring file systems
KR101623505B1 (ko) 손상된 이벤트 로그 파일을 복원하기 위한 시스템 및 방법
JP6327028B2 (ja) オブジェクトストレージシステムおよびその制御方法およびその制御プログラム
US9733929B1 (en) Systems and methods for restoring applications
JP2004164362A (ja) バックアップ装置、バックアップ方法、バックアップ用プログラム及びバックアップ用プログラムの記録媒体
US20120150809A1 (en) Disaster recovery services
KR101623508B1 (ko) 삭제된 이벤트 로그 파일을 복원하는 시스템 및 방법
US9064132B1 (en) Method for writing hardware encrypted backups on a per set basis

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090618

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100126

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120423

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees