JP2001142765A - データベースファイル整合性検証方法およびその装置ならびに記録媒体 - Google Patents

データベースファイル整合性検証方法およびその装置ならびに記録媒体

Info

Publication number
JP2001142765A
JP2001142765A JP32691499A JP32691499A JP2001142765A JP 2001142765 A JP2001142765 A JP 2001142765A JP 32691499 A JP32691499 A JP 32691499A JP 32691499 A JP32691499 A JP 32691499A JP 2001142765 A JP2001142765 A JP 2001142765A
Authority
JP
Japan
Prior art keywords
verification
database
consistency
index
database 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.)
Pending
Application number
JP32691499A
Other languages
English (en)
Inventor
Hisashi Komatsu
久 小松
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP32691499A priority Critical patent/JP2001142765A/ja
Publication of JP2001142765A publication Critical patent/JP2001142765A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】オンライン処理等の主要処理のスループットを
落とすことなくデータベースファイルの整合性検証を行
なう。 【解決手段】全体制御手段102は、排他制御を行なわ
ずに整合性検証のためのデータを取り出すデータベース
アクセス手段107を制御して取り出したデータをデー
タベース検証手段103に渡して整合性検証を行なわせ
る処理を所定回数繰り返させる。そして、検証結果管理
テーブル106を用いて検証結果管理テーブルアクセス
手段105に、この所定回数の検証結果を管理させると
共に、この管理させている所定回数の検証結果と不整合
判定回数に基づいてデータベースファイルの整合がとれ
ているかいないかを判断させ、この判断結果を得て利用
者端末101にその旨の情報を通知する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースファ
イルに対するデータベース整合性検証を行なうための方
法、およびその装置ならびにそのためのプログラムを記
録した記録媒体に関する。
【0002】
【従来の技術】データベースファイル(以下単にデータ
ベースとも記す)は、予期せぬ障害や利用者のミス等に
より、その格納構造が破壊されたり、複数のレコード間
での対応がとれなくなったりすることがあるため、デー
タベースの整合性の検証、すなわち、データベースの格
納構造が破壊されていないか否かを適宜検証する必要が
ある。データベースの整合性の検証には、物理的(ファ
イルシステム等)整合性の検証と論理的(レコード等)
整合性の検証があり、更に、論理的整合性の検証には、
単一のレコード(データレコード、インデックスレコー
ド等)の設定値の妥当性を検証する、すなわち、レコー
ド長、レコード属性等の設定値に対して正しいレコード
が格納されているか否かを検証するレコード形式検証、
および、複数のレコード間(データレコード−インデッ
クスレコード間、インデックスレコード間等)の対応関
係の妥当性を検証するレコード間検証とがある。
【0003】これらのレコードは、オンライン処理等に
おいて、対象となるデータベースをアクセスする際に更
新されるので、レコード更新中にデータベースの整合性
検証を行なうと、実際にデータベースの格納構造が破壊
されているか否かを判断できない場合がある。そのた
め、従来においては、データベース全体の整合性検証を
行なう場合には、オンライン処理等において、対象とな
るデータベースのアクセス動作を停止させ、整合性検証
対象のデータベースの内容が更新されない状態で整合性
検証を行なっていた。
【0004】しかし、このようにして整合性検証を行な
うとすれば、その間、オンライン処理等から対象となる
データベースをアクセスできなくなってしまうため、シ
ステムのスループットが落ちてしまうといった問題があ
った。そこで、このスループットの低下を防止するため
に、例えば特開平8−249222号公報記載の技術に
よれば、オンライン処理等によって対象となるデータベ
ースへのアクセスを停止することなく、排他制御手段を
利用しながら、データベースの整合性検証を行なうこと
が提案されている。すなわち、或る排他単位(例えばレ
コード単位)を、或る処理がアクセスしている間は、他
の処理がこの排他単位をアクセスできないように排他制
御することによって、データベースの格納構造が破壊さ
れていないか否かを検証可能な状態を保証して、データ
ベースの整合性検証を適確に行なうようにしたものであ
った。
【発明が解決しようとする課題】しかしながら、特開平
8−249222号公報に記載の技術によれば、データ
ベースの整合性検証処理において、他処理によるデータ
ベースへのアクセスを規制する排他期間は、データベー
スの更新を伴う処理と同程度なので、データベースの整
合性検証処理が、オンライン等の主要となる処理に対し
て、排他制御による影響を与えてしまい、主要となる処
理に対するスループットが十分なものとはなっていない
といった問題があった。
【0005】ところで、データベースは、オンライン処
理等の主要となる処理によって更新はされるが、月次バ
ッチ処理等の或る時期のみにしか実行しない処理におい
てしか用いないデータベースも存在し、このデータベー
スにおいて不整合が検出されたとしても、月次バッチ処
理等の実行前までに、不整合が修復されていれば良いよ
うな、利用者の判断で或る一定範囲内の不整合は許容
し、データベースの整合性検証処理が、オンライン処理
等の主要となる処理に影響を与えないようにして、主要
処理のスループットを重視する利用形態もある。
【0006】したがって、本発明者は、特にこのような
利用形態にあっては、オンライン処理等の主要処理にお
いて、更新中の排他単位(例えばブロック)に格納され
ているデータ(例えばレコード)の整合性検証を行なう
場合、排他制御を行なわずに、データベース内のブロッ
クデータを取り出して整合性検証を行ない、所定回数繰
り返して整合性検証を行なって、連続して所定回数以上
の不整合を検出したら、データベースの格納構造が破壊
されていると判断するようにすれば、その目的を達成す
ることを見出した。
【0007】本発明は、このような状況を鑑みてなされ
たものであり、排他制御を行なわずに整合性検証を行な
うことを可能にして、オンライン処理等の主要処理のス
ループットを落とすことなくデータベースファイルの整
合性検証を行なうための方法および装置ならびにそのた
めのプログラムを記録した記録媒体を提供することを目
的とする。
【課題を解決するための手段】上記目的を達成するため
に、本発明の内の請求項1に係る発明は、データベース
ファイルに対する整合性検証を行なうための方法であっ
て、データベースファイルから整合性検証のためのデー
タを排他制御を行なわずに取り出し、この取り出したデ
ータを用いて整合性検証を行なう処理を所定回数繰り返
し、この所定回数の検証結果と予め設定した整合性の判
定条件とに基づいて、データベースファイルの整合がと
れているかいないかを判断するデータベースファイル整
合性検証方法である。
【0008】この請求項1に係る発明においては、デー
タベースファイルから整合性検証のためのデータを排他
制御を行なわずに取り出し、この取り出したデータを用
いて整合性検証を行なう処理を所定回数繰り返す。そし
て、この所定回数の検証結果と予め設定した整合性の条
件とに基づいて、データベースファイルの整合がとれて
いるかいないかを判断するので、オンライン処理等の主
要な処理と排他制御しなくともデータベースファイルの
整合性が判断できるので、主要な処理のスループットを
落とさずにデータベースファイルの整合性検証を行なえ
る。
【0009】また、請求項2に係る発明は、請求項1に
記載のデータベースファイル整合性検証方法であって、
前記所定回数の繰り返し処理における、前回の整合性検
証において不整合とされた箇所のみを整合性検証の対象
として、前記所定回数の繰り返し処理を継続する、こと
を特徴とする。
【0010】この請求項2に係る発明においては、前回
の整合性検証において不整合とされた箇所のみを整合性
検証の対象としているため、整合性検証のための処理時
間を短縮できる。
【0011】また、請求項3に係る発明によれば、請求
項1および2のいずれかに記載のデータベースファイル
整合性検証方法において、前記所定回数の検証結果が、
予め設定した不整合判定回数以上の回数の不整合である
場合にはデータベースファイルの整合がとれていないと
判断する、ことを特徴とする。
【0012】この請求項3に係る発明によれば、不整合
判定回数以上の不整合が検出された場合には、データベ
ースファイルの整合がとれていないと判断するので、極
めて簡単なロジックで、データベースファイルの整合性
の判断を行なえる。
【0013】また、請求項4に係る発明は、請求項1、
2および3のいずれかに記載のデータベースファイル整
合性検証方法において、前記所定回数の繰り返し処理を
予め設定した時刻に自動実行させる、ことを特徴とす
る。
【0014】この請求項4に係る発明においては、整合
性検証を所望の時刻に自動開始させることができる。
【0015】また、請求項5に係る発明は、データベー
スファイルに対する整合性検証を行なうための装置であ
って、データベースファイルから整合性検証のためのデ
ータを排他制御を行なわずに取り出すためのデータベー
スアクセス手段と、この取り出したデータを用いて整合
性検証を行なうデータベース検証手段と、検証結果の管
理や整合性の最終的な判定を行なうための検証結果管理
手段と、装置動作を制御する全体制御手段と、を備え、
前記全体制御手段は、前記データベースアクセス手段を
制御して取り出したデータを前記データベース検証手段
に渡して整合性検証を行なわせる処理を所定回数繰り返
させ、前記検証結果管理手段に、この所定回数の検証結
果を管理させると共に、この管理させている所定回数の
検証結果と予め設定した整合性の判定条件とに基づいて
データベースファイルの整合がとれているかいないかを
判断させ、この判断結果を得て通知する手段であること
を特徴とするデータベースファイル整合性検証装置であ
る。
【0016】この請求項5に係る発明においては、全体
制御手段は、排他制御を行なわずに整合性検証用のデー
タを取り出すデータベースアクセス手段を制御して取り
出したデータをデータベース検証手段に渡して整合性検
証を行なわせる処理を所定回数繰り返させる。そして、
検証結果管理手段に、この所定回数の検証結果を管理さ
せると共に、この管理させている所定回数の検証結果と
予め設定した整合性の判定条件とに基づいてデータベー
スファイルの整合がとれているかいないかを判断させ、
この判断結果を得て通知するので、オンライン処理等の
主要な処理と排他制御しなくともデータベースファイル
の整合性が判断でき、主要な処理のスループットを落と
さずにデータベースファイルの整合性検証を行なえる
【0017】また、請求項6に係る発明は、請求項5に
記載のデータベースファイル整合性検証装置において、
前記検証結果管理手段は、検証結果を記憶するための検
証結果管理テーブルと、これをアクセスするための検証
結果管理テーブルアクセス手段と、を少なくとも備えて
なることを特徴とする。
【0018】この請求項6に係る発明においては、検証
結果管理テーブルアクセス手段が検証結果管理テーブル
をアクセスして検証結果を管理するので、簡易な構成で
検証結果を管理できる。
【0019】また、請求項7に係る発明は、請求項5お
よび6のいずれかに記載のデータベースファイル整合性
検証装置において、前記不整合条件を記憶する検証情報
管理テーブルを備え、前記全体制御手段は、前記検証結
果管理手段に、前記所定回数の検証結果と前記検証情報
管理テーブルの記憶内容とに基づいてデータベースファ
イルの整合がとれているかいないかを判断する手段であ
ることを特徴とする。
【0020】この請求項7に係る発明においては、不整
合条件を記憶する検証情報管理テーブルを備えるように
したので、不整合条件を容易に変更できる。
【0021】また、請求項8に係る発明は、請求項7に
記載のデータベースファイル整合性検証装置において、
前記検証情報管理テーブルが記憶する前記不整合条件
は、同一箇所で同一内容の不整合が所定回数以上発生し
たことであり、前記全体制御手段は、前記検証結果管理
手段に、前記所定回数の検証結果が、同一箇所で同一内
容の不整合が所定回数以上発生したものである場合に
は、データベースファイルの整合がとれていないと判断
させる手段であることを特徴とする。
【0022】この請求項8に係る発明においては、全体
制御手段は、所定回数の検証結果が、同一箇所で同一内
容の不整合が所定回数以上発生したと判断した場合に
は、データベースファイルの整合がとれていないと判断
するので、極めて簡単なロジックで、データベースファ
イルの整合性の判断を行なえる。
【0023】また、請求項9に係る発明は、請求項5、
6、7および8のいずれかに記載のデータベースファイ
ル整合性検証装置において、前記全体制御手段を設定時
刻に自動的に起動させて、データベースファイルの整合
がとれているかいないかの判定結果を通知させるための
整合性検証自動開始手段を備えたことを特徴とする。
【0024】この請求項9に係る発明においては、整合
性検証自動開始手段が、全体制御手段を設定時刻に自動
的に起動させて、データベースファイルの整合がとれて
いるかいないかを判定させるので、整合性検証処理を所
望の時刻に自動開始させることができる。
【0025】また、請求項10に係る発明は、請求項9
に記載のデータベースファイル整合性検証装置におい
て、前記設定時刻を登録するための整合性検証自動開始
情報管理テーブルを備え、前記整合性自動開始手段は、
前記整合性検証自動開始情報管理テーブルに登録された
設定時刻を考慮して、前記全体制御手段の起動を行なう
手段であることを特徴とする。
【0026】この請求項10に係る発明においては、設
定時刻を登録するための整合性検証自動開始情報管理テ
ーブルを備えるようにしたので、設定時刻の変更等が容
易に行なえる。
【0027】また、請求項11に係る発明は、データベ
ースファイルに対する整合性検証を行なうためのデータ
ベース整合性検証プログラムを記録したコンピュータ読
み取り可能な記録媒体であって、データベースファイル
から整合性検証のためのデータを排他制御を行なわずに
取り出し、この取り出したデータを用いて整合性検証を
行なう処理を所定回数繰り返し行なう処理と、この所定
回数の検証結果と予め設定した整合性の判定条件とに基
づいて、データベースファイルの整合がとれているかい
ないかを判断する処理と、をコンピュータに実行させる
ためのデータベースファイル整合性検証プログラムを記
録した記録媒体である。
【0028】この請求項11に係る発明においても、オ
ンライン処理等の主要な処理と排他制御しなくともデー
タベースファイルの整合性が判断できるので、主要な処
理のスループットを落とさずにデータベースファイルの
整合性検証を行なえる。
【0029】また、請求項12に係る発明は、請求項1
1に記載の記録媒体において、さらに、前記所定回数の
繰り返し処理を予め設定した時刻に自動実行させるため
の処理を、コンピュータに実行させるためのデータベー
スファイル整合性検証プログラムを記録した記録媒体で
ある。
【0030】この請求項12に係る発明においても、整
合性検証処理を所望の時刻に自動開始させることができ
る。
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しつつ説明する。 (第1の実施の形態)図1は、本発明の第1の実施の形
態のデータベースファイル整合性検証装置のブロック構
成図であり、この装置は、利用者プログラム109を格
納する利用者端末101と、全体制御手段102と、デ
ータベース検証手段103と、検証情報管理テーブル1
04と、検証結果管理テーブルアクセス手段105と、
検証結果管理テーブル106と、データベースアクセス
手段107と、データベースファイル108とを備えて
いる。
【0031】この装置の各構成要素の構成や動作を説明
すると以下のようになる。利用者プログラム109を格
納した利用者端末101は、データベース整合性検証設
定要求、データベース整合性検証要求を出力する。この
際、自動実行中のプログラム109がこれらの要求を発
行する場合や、利用者端末101が、ユーザのコマンド
入力によって要求を発行する場合が挙げられるが、以下
の説明においては簡単のために利用者端末101が、ユ
ーザのコマンド入力によって要求を発行する場合を想定
する。利用者端末101が出力するデータベース整合性
検証要求には、物理的整合性検証要求と論理的整合性検
証要求とがあり、さらに、論理的整合性検証要求には、
レコード形式検証要求とレコード間検証要求とがある。
以下の説明では、レコード間検証要求を発行した場合を
想定して説明する。
【0032】全体制御手段102は、利用者端末101
からデータベース整合性検証要求が発行された場合、そ
の要求に基づいて処理対象となるデータベースファイル
108のブロック番号を求め、ブロックデータをデータ
ベースファイル108から取得するために、ブロック番
号をデータベースアクセス手段107に渡し、データベ
ースアクセス手段107から受け取ったブロックデータ
をデータベース検証手段103に渡す。
【0033】全体制御手段102は、利用者端末101
からデータベース整合性検証設定要求が発行された場
合、その要求を検証情報管理テーブル104に登録す
る。この検証情報管理テーブル104には、データベー
ス不整合検証を連続して行なう回数である連続検証回数
と、同一レコードが同一不整合内容での不整合を連続し
て何回検出したら不整合と判断するかを定める不整合判
定回数とが対になって記憶される。図2は、検証情報管
理テーブル104の記憶内容の一例を示した説明図であ
る。この例では、データベース整合性検証を連続して7
回行なって、同一レコードで同一不整合内容を連続5回
検出したら不整合と判定することを定めている。また、
全体制御手段102は、データベース検証手段103か
ら、整合性検証を行なったデータベース名、ブロック番
号、レコード番号、不整合内容を示す番号、不整合か正
常かを示す情報を受け取り、これら受け取った情報で検
証結果管理テーブル106を更新するために、これら受
け取った情報を検証結果管理テーブルアクセス手段10
5に渡す。
【0034】全体制御手段102は、データベースの整
合性検証が終了したら、検証回数と検証情報管理テーブ
ル104に記憶されている連続検証回数とを比較して、
連続検証回数までデータベースの整合性検証を繰り返し
て行なう。なお、データベースの整合性検証を繰り返す
時は、前回の整合性検証までに検出した不整合箇所だけ
を検証するようにすれば、検証処理時間を短縮すること
が可能である。また、全体制御手段102は、データベ
ースの整合性検証を連続検証回数分行なったら、検証を
行なったデータベースに不整合があったかを検証するた
めに、検証を行なったデータベース名を検証結果管理テ
ーブルアクセス手段105に渡し、検証結果管理テーブ
ルアクセス手段105から不整合を検出したデータベー
ス名、ブロック番号、レコード番号等の情報を渡された
ら、これらと検証情報管理テーブル104にて定めてあ
る不整合回数とを比較して、同一レコードで同一内容の
不整合が不整合回数以上発生している場合には、データ
ベースファイルの整合がとれていないとして利用者端末
101にその旨を通知する。
【0035】データベース検証手段103は、全体制御
手段102から渡されるブロックデータを用いて、格納
しているレコードに対するレコード間検証を行ない、検
証が終了したら検証を行なったデータベース名、ブロッ
ク番号、レコード番号、不整合内容を示す番号、不整合
か正常かを示す情報を全体制御手段102に渡す。
【0036】検証結果管理テーブルアクセス手段105
は、全体制御手段102から渡される整合性検証を行な
ったデータベース名、ブロック番号、レコード番号、不
整合内容を示す番号、不整合か正常かを示す情報で検証
結果管理テーブル106を更新する。検証結果管理テー
ブル106は、不整合を検出したデータベース名、ブロ
ック番号、レコード番号、不整合内容を示す番号、およ
び、不整合を検出した回数を記憶可能となっている。図
3は、検証結果管理テーブル106の記憶内容の一例を
示した説明図である。この例では、データベース名
「D」のブロック番号「10」に格納しているレコード
番号「22」で不整合内容「1」を2回検出したこと、
および、データベース名「B」のブロック番号「5」に
格納しているレコード番号「7」で不整合内容「2」を
1回検出したことを示している。このように、検証結果
管理テーブルアクセス手段105が、検証結果管理テー
ブル106をアクセスして検証結果を管理するので、簡
易な構成で検証結果を管理できる。
【0037】データベースアクセス手段107は、排他
制御を行なわずに、全体制御手段102から渡されるブ
ロック番号に対するブロックデータをデータベースファ
イル108から取り出し、取り出したブロックデータを
全体制御手段102に渡す。データベースファイル10
8は、1個または複数個のブロックから構成される表、
もしくは、インデックスが、1個または複数個格納され
ている。図4は、ブロック401とレコード403との
関係を示した説明図である。ブロック401には、先頭
にそのブロックを管理するための管理情報を記憶するた
めの制御用領域402が設けられており、1個または複
数個のレコード403を含んで構成される。
【0038】次に、図1および図5乃至図10のフロー
チャートを参照して第1の実施の形態の全体動作につい
て詳細に説明する。まず、図1および図5のフローチャ
ートを参照して、データベース整合性検証設定要求時の
動作について詳細に説明する。利用者端末101は、デ
ータベースの整合性検証において、整合性検証を何回行
なうかを示す情報である連続検証回数、同一レコードに
おいて同一不整合内容を連続して何回検出したら不整合
と判断するかを定める情報である不整合判定回数を設定
するために、データベース整合性検証設定要求を発行す
る。利用者端末101から、データベース整合性検証設
定要求が発行されると、全体制御手段102は、その設
定要求における、不整合判定回数が連続検証回数より小
さく設定されているか否かを調べる(S501)。不整
合判定回数が、連続検証回数より大きかったら(S50
1がノー)、不整合判定回数を連続検証回数と同じ値と
し(S502)、検証情報管理テーブル104を更新し
て(S503)、データベース整合性検証設定要求が終
了した旨を利用者端末101に通知する。一方、全体制
御手段102は、不整合判定回数が連続検証回数より小
さいと判断した場合には(S501がイエス)、検証情
報管理テーブル104を更新して(S503)、データ
ベース整合性検証設定要求が終了した旨を利用者端末1
01に通知する。
【0039】次に、図1、図6、図7、および、図8乃
至図10のフローチャートを参照してデータベース整合
性検証要求時の動作について詳細に説明する。なお、本
説明においては、インデックスレコード間検証要求に対
するデータベース整合性検証要求時の動作について詳細
に説明するものとする。図6は、インデックスの構造を
示した説明図である。インデックスは、階層構造になっ
ており、インデックスレコードは、ブロック内でインデ
ックス値が昇順になるようにインデックスブロックに格
納されている。図6では3階層のインデックスになって
いる。インデックスは、最上位インデックスブロック6
01、中間位インデックスブロック603、最下位イン
デックスブロック605から構成されており、最上位イ
ンデックスブロック601は、インデックスにつき1つ
存在する。インデックスブロックには、インデックスを
構成している各インデックスブロックを最上位インデッ
クスブロック601から順番にたどれるように、自身の
インデックスブロック番号、一つ前のインデックスブロ
ック番号、一つ後のインデックスブロック番号をその制
御用領域に格納している。最上位インデックスブロック
601および中間位インデックスブロック603の夫々
に格納されている、最上位インデックスレコード60
2、中間位インデックスレコード604は、レコード番
号(RECNO)、管理している下位のインデックスブ
ロックに格納されている最大インデックス値、および、
管理している下位のインデックスブロック番号を有す
る。
【0040】最下位インデックスブロック605に格納
されている最下位インデックスレコード606は、レコ
ード番号(RECNO)、インデックス値、対応するデ
ータレコードのID(以下、RIDと記す)を有する。
図7は、インデックス構造の具体例を示した説明図であ
る。なお、インデックス値をアルファベットで表現し、
アルファベット順に格納している。図7のインデックス
は、3階層のインデックスになっており、最下位インデ
ックスレコード706は、インデックス値が昇順になる
ように(A、B)、最下位インデックスブロック705
に格納されている。最上位インデックスブロック701
のインデックスブロック番号は「1」、一つ後のインデ
ックスブロック番号は「2」、最上位インデックスブロ
ック701の前にインデックスブロックは存在しないの
で、一つ前のインデックスブロック番号は「0」となっ
ている。最上位インデックスブロック701に格納され
ている最上位インデックスレコード702には、レコー
ド番号が「1」、管理している下位のインデックスブロ
ック番号が「2」、管理している下位のインデックスブ
ロックに格納されている最大インデックス値が「D」の
ものと、レコード番号が「2」、管理している下位のイ
ンデックスブロック番号が「3」、管理している下位の
インデックスブロックに格納されている最大インデック
ス値が「H」のものとがある。
【0041】中間位インデックスブロック703では、
インデックスブロック番号が「2」、一つ前のインデッ
クスブロック番号が「1」、一つ後のインデックスブロ
ック番号が「3」のものが存在する。中間位インデック
スブロック703のインデックスブロック番号「2」に
格納されている中間位インデックスレコード704に
は、レコード番号が「3」、管理している下位のインデ
ックスブロック番号が「4」、管理している下位のイン
デックスブロックに格納されている最大インデックス値
が「D」のものと、レコード番号が「4」、管理してい
る下位のインデックスブロック番号が「5」、管理して
いる下位のインデックスブロックに格納されている最大
インデックス値が「D」のものとがある。最下位インデ
ックスブロック705では、インデックスブロック番号
が「4」、一つ前のインデックスブロック番号が
「3」、一つ後のインデックスブロック番号が「5」の
ものがある。最下位インデックスブロック705のイン
デックスブロック番号「4」に格納されている最下位イ
ンデックスレコード706には、レコード番号が
「7」、インデックス値が「A」、対応するデータレコ
ードのRIDをもつものと、レコード番号が「8」、イ
ンデックス値が「B」、対応するデータレコードのRI
Dをもつものとがある。インデックスブロック番号
「7」の最下位インデックスブロック705は、その後
にインデックスブロックが存在しないので、一つ後のイ
ンデックスブロック番号は「0」となっている。
【0042】さて、利用者端末101は、データベース
ファイル108に格納されているインデックスのレコー
ド間に対する整合性検証を行なうために、データベース
整合性検証要求を発行する。データベース整合性検証要
求には、検証するデータベース名、インデックスレコー
ド間検証である旨の情報が含まれる。利用者端末101
から、データベース整合性検証要求が発行されると、全
体制御手段102は、最初の整合性検証を行なうため、
検証回数を「1」とし(図8のS801)、検証要求が
インデックスレコード間検証であることから、検証する
データベースファイル108に格納されている最初のイ
ンデックスの最上位インデックスブロック番号を求める
(図8のS802)。全体制御手段102は、最上位イ
ンデックスブロック番号をデータベースアクセス手段1
07に渡す。すると、データベースアクセス手段107
は、全体制御手段102から渡される最上位インデック
スブロック番号に対応するブロックデータを、排他制御
を行なわずにデータベースファイル108から取り出し
(図8のS803)、取り出したブロックデータを全体
制御手段102に渡す。全体制御手段102は、ブロッ
ク番号とデータベースアクセス手段107から渡された
ブロックデータとを、データベース検証手段103に渡
す。
【0043】データベース検証手段103は、全体制御
手段102から渡される最上位インデックスブロックに
格納されている最上位インデックスレコードを取り出し
(図8のS804)、最上位インデックスレコードが管
理する中間位インデックスブロックのブロックデータを
取り出すために、対応するインデックスブロック番号を
全体制御手段102に渡す。全体制御手段102は、デ
ータベース検証手段103から渡されたインデックスブ
ロック番号を、データベースアクセス手段107に渡
し、データベースアクセス手段107は、全体制御手段
102から渡されたインデックスブロック番号に対応す
るブロックデータをデータベースファイル108から、
排他制御を行なわずに取り出し(図8のS805)、取
り出したブロックデータを全体制御手段102に渡す。
全体制御手段102は、ブロック番号とデータベースア
クセス手段107から渡されるブロックデータとを、デ
ータベース検証手段103に渡す。データベース検証手
段103は、全体制御手段102から渡される、中間位
インデックスブロックに格納されている中間位インデッ
クスレコードを取り出し(図8のS806)、対象とな
る中間位インデックスレコードが持っている下位の最大
インデックス値が、最上位インデックスレコードが持っ
ている下位の最大インデックス値より小さい、または、
等しいかを検証する(図8のS807)。この中間位イ
ンデックスレコードが持っている下位の最大インデック
ス値が、最上位インデックスレコードが持っている下位
の最大インデックス値より小さい、または、等しい場合
(S807がイエス)には、この中間位インデックスブ
ロックに格納されている、最初の中間位インデックスレ
コードか否かを調べる(図8のS809)。この中間位
インデックスブロックに格納されている、最初の中間位
インデックスレコードではない場合には(図8のS80
9がノー)、現在検証した中間位インデックスレコード
が持っている下位の最大インデックス値が、一つ前に検
証した中間位インデックスレコードが持っている下位の
最大インデックス値より大きいか否かを調べる(図8の
S811)。現在検証した中間位インデックスレコード
が持っている下位の最大インデックス値が、一つ前に検
証した中間位インデックスレコードが持っている下位の
最大インデックス値より大きい場合(図8のS811が
イエス)は、この中間位インデックスレコードは正常で
あるとして、検証したデータベース名、ブロック番号、
レコード番号、不整合内容を示す番号、正常である旨の
情報を全体制御手段102に渡し、検証結果管理テーブ
ルアクセス手段105を制御して検証結果管理テーブル
106の更新を行ない(図8のS812)、更新が完了
したら処理を継続する。
【0044】また、この中間位インデックスブロックに
格納されている、最初の中間位インデックスレコードだ
った場合には(図8のS809がイエス)、この中間位
インデックスレコードは正常であるとして、検証したデ
ータベース名、ブロック番号、レコード番号、不整合内
容を示す番号、正常である旨を示す情報を全体制御手段
102に渡し、検証結果管理テーブルアクセス手段10
5を制御して検証結果管理テーブル106の更新を行な
い(図8のS812)、更新が完了したら不整合検証処
理を継続する。現在検証した中間位インデックスレコー
ドが持っている下位の最大インデックス値が、一つ前に
検証した中間位インデックスレコードが持っている下位
の最大インデックス値より小さい、または、等しい場合
には(図8のS811がノー)、レコード間の不整合を
検出したとして、不整合を検出したデータベース名、ブ
ロック番号、レコード番号、不整合内容を示す番号、不
整合である旨の情報を全体制御手段102に渡し、検証
結果管理テーブルアクセス手段105を制御して検証結
果管理テーブル106の更新を行ない(図8のS81
3)、更新が完了したら整合性検証処理を継続する。デ
ータベース検証手段103は、対象となる中間位インデ
ックスレコードが持っている下位の最大インデックス値
が、最上位インデックスレコードが持っている下位の最
大インデックス値より大きい場合には(S807がノ
ー)、レコード間の不整合を検出したとして、不整合を
検出したデータベース名、ブロック番号、レコード番
号、不整合内容を示す番号、不整合である旨の情報を全
体制御手段102に渡し、検証結果管理テーブルアクセ
ス手段105を制御して検証結果管理テーブル106の
更新を行なう(図8のS808)。更新が完了したら、
この中間位インデックスブロックに格納されている、最
初の中間位インデックスレコードか否かを調べ(図8の
S810)、この中間位インデックスブロックに格納さ
れている最初の中間位インデックスレコードでない場合
には(S810のノー)、現在検証した中間位インデッ
クスレコードが持っている下位の最大インデックス値
が、一つ前に検証した中間位インデックスレコードが持
っている下位の最大インデックス値より大きいか否かを
調べ(図8のS811)、この中間位インデックスブロ
ックに格納されている最初の中間位インデックスレコー
ドだった場合には(S810のイエス)、整合性検証処
理を継続する。
【0045】データベース検証手段103は、対象とな
る中間位インデックスブロックに、次の中間位インデッ
クスレコードがあるか否かを調べ(図9のS814)、
この中間位インデックスブロックに、次の中間位インデ
ックスレコードがある場合には(S814がイエス)、
次の中間位インデックスレコードを取り出し(図8のS
806)、整合性検証処理を継続する。この中間位イン
デックスブロックに、次の中間位インデックスレコード
がない場合には(S814がノー)、対象となる最上位
インデックスブロックに格納されている、最初の最上位
インデックスレコードか否かを調べる(図9のS81
5)。この最上位インデックスブロックに格納されてい
る、最初の最上位インデックスレコードではない場合に
は(S815がノー)、現在検証した最上位インデック
スレコードが持っている下位の最大インデックス値が、
一つ前に検証した最上位インデックスレコードが持って
いる下位の最大インデックス値より大きいか否かを調べ
る(図9のS816)。現在検証した最上位インデック
スレコードが持っている下位の最大インデックス値が、
一つ前に検証した最上位インデックスレコードが持って
いる下位の最大インデックス値より小さい、または、等
しい場合には(S816がノー)、レコード間の不整合
を検出したとして、不整合を検出したデータベース名、
ブロック番号、レコード番号、不整合内容を示す番号、
不整合である旨の情報を全体制御手段102に渡し、検
証結果管理テーブルアクセス手段105を制御して検証
結果管理テーブル106の更新を行ない(図9のS81
8)、更新が完了したら整合性検証処理を継続する。
【0046】データベース検証手段103は、対象とな
る最上位インデックスブロックに格納されている、最初
の最上位インデックスレコードである場合(S815が
イエス)、または、現在検証した最上位インデックスレ
コードが持っている下位の最大インデックス値が、一つ
前に検証した最上位インデックスレコードが持っている
下位の最大インデックス値より大きい場合には(S81
6がイエス)、この最上位インデックスレコードは正常
だったとして、検証したデータベース名、ブロック番
号、レコード番号、不整合内容を示す番号、正常である
旨の情報を全体制御手段102に渡し、検証結果管理テ
ーブル106の更新を行ない(図9のS817)、更新
が完了したら検証した中間位インデックスブロックを破
棄し整合性検証処理を継続する。データベース検証手段
103は、この最上位インデックスブロックに、次の最
上位インデックスレコードがあるかを調べ(図のS81
9)、この最上位インデックスブロックに、次の最上位
インデックスレコードがある場合には(S819がイエ
ス)、次の最上位インデックスレコードを取り出し(図
8のS804)、整合性検証処理を継続する。この最上
位インデックスブロックに、次の最上位インデックスレ
コードがない場合には(S819がノー)、最上位イン
デックスブロックの整合性検証は終了したとして、次
に、最上位インデックスブロック以降のインデックスブ
ロックの整合性検証を行なうために、最上位インデック
スブロックが持っている次のインデックスブロック番号
を全体制御手段102に渡し、最上位インデックスブロ
ックを破棄する。
【0047】全体制御手段102は、データベース検証
手段103から渡されたインデックスブロック番号をデ
ータベースアクセス手段107に渡し、データベースア
クセス手段107は、全体制御手段102から渡される
インデックスブロック番号に対応するブロックデータ
を、データベースファイル108から、排他制御を行な
わずに取り出し(図9のS820)、取り出したブロッ
クデータを全体制御手段102に渡す。全体制御手段1
02は、ブロック番号とデータベースアクセス手段10
7から渡されるブロックデータとを、データベース検証
手段103に渡す。データベース検証手段103は、イ
ンデックスブロックの制御用領域に記憶されている管理
情報に基づいて、どの階層のインデックスブロックか、
すなわち最上位インデックスブロックか、中間位インデ
ックスブロックか、あるいは、最下位インデックスブロ
ックかを示す情報を参照し、取り出したインデックスブ
ロックが、最下位インデックスブロックか否かを調べる
(図9のS821)。最下位インデックスブロックでな
い場合、すなわち、中間位インデックスブロックの場合
(S821のノー)は、最上位インデックスブロックに
対して行なった上述の整合性検証を中間位インデックス
ブロックに対しても繰り返し行なう(図8のS804以
下)。最下位インデックスブロックの場合には(S82
1のイエス)、最下位インデックスブロックに格納され
ている、最下位インデックスレコードに対する検証は、
上位の中間位インデックスブロックを検証した時に検証
済みなので、該当するインデックスを構成する全インデ
ックスブロックに対する整合性検証は終了したとして、
このインデックスに対する整合性の検証が終了した旨の
情報を全体制御手段102に渡す。全体制御手段102
は、検証するデータベースファイル108に、次のイン
デックスがあるか否かを調べて(図9のS822)、次
のインデックスがある場合には(S822のイエス)、
対象となるインデックスの最上位インデックスブロック
番号を求めて(図8のS802)上述の整合性検証を繰
り返す(図8のS803以下)。次のインデックスがな
い場合には(S822のノー)、該当データベースファ
イル108に対する整合性検証は終了したとする。
【0048】全体制御手段102は、検証回数が検証情
報管理テーブル104にて管理している、連続して何回
整合性の検証を行なうかを示す情報である連続検証回数
と同じか否かを調べて(図9のS823)、同じでない
場合には(S823のノー)、検証回数に「1」を加え
て(図9のS824)、データベースファイル108に
対する整合性検証を繰り返す(図8のS802以下)。
検証回数が連続検証回数と同じ場合には(S823のイ
エス)、整合性検証を行なったデータベース名と検証情
報管理テーブル104で管理している不整合判定回数を
検証結果管理テーブルアクセス手段105に渡し、検証
回数をクリアする。検証結果管理テーブルアクセス手段
105は、全体制御手段102から渡されたデータベー
ス名で、不整合を検出したブロック番号、レコード番号
等が登録されているか否かを、検証結果管理テーブル1
06を参照して調べる(図10のS825)。該当する
データベース名があった場合には(S825のイエ
ス)、該当する個所の不整合検出回数が不整合判定回数
より大きい、または、等しいかを調べる(図10のS8
26)。該当する個所の不整合検出回数が不整合判定回
数より大きい、または、等しい場合(S826のイエ
ス)は、不整合を検出したとして不整合を検出したデー
タベース名、ブロック番号、レコード番号、不整合内容
を示す番号、不整合検出回数を全体制御手段102に渡
し、該当個所をクリアして、次に登録されている個所が
あるか否かを調べる。全体制御手段102は、検証結果
管理テーブルアクセス手段105から渡された不整合を
検出したデータベース名、ブロック番号、レコード番
号、不整合内容を示す番号、不整合検出回数を、利用者
端末102に渡して、データデースファイル108に不
整合が有ったことを通知する(図10のS827)。一
方、該当する個所の不整合検出回数が、不整合判定回数
より小さい場合には(S826のノー)、不整合とは判
定せずに、次に該当するデータベース名で登録されてい
る個所があるか否かを調べる。検証結果管理テーブル1
06に、該当するデータベース名がない場合には(S8
25のノー)、全体制御部102は、検証結果管理テー
ブル106の検索が終了した旨の情報を得て、データベ
ースファイル108に対する整合性検証が終了した旨の
情報を利用者端末101に通知する。
【0049】次に、図1および図11のフローチャート
を参照して、データベース検証手段103の検証結果を
検証結果管理テーブル106に更新する時の動作につい
て詳細に説明する。データベース検証手段103が検証
処理を行なった結果、不整合、または、正常と判定した
時、その不整合、または、正常と判定したデータベース
名、ブロック番号、レコード番号、不整合内容を示す番
号、不整合または正常である旨の情報を全体制御手段1
02に渡す。全体制御手段102は、データベース検証
手段103から渡されたデータベース名、ブロック番
号、レコード番号、不整合内容を示す番号、不整合また
は正常である旨の情報を検証結果管理テーブルアクセス
手段105に渡す。検証結果管理テーブルアクセス手段
105は、不整合の更新か否かを調べて(図11のS1
101)、不整合の更新である場合には(S1101の
イエス)、全体制御手段102から渡された不整合を検
出したデータベース名、ブロック番号、レコード番号、
不整合内容を示す番号が、検証結果管理テーブル106
に既に存在するか否かを調べる(図11のS110
3)。不整合を検出したデータベース名、ブロック番
号、レコード番号、不整合内容を示す番号が既に存在す
る場合には(S1103のイエス)、該当個所の不整合
検出回数に「1」を加え(図11のS1105)、更新
が終了した旨の情報を全体制御手段102に渡し、全体
制御手段102は、更新が終了した旨の情報をデータベ
ース検証手段103に渡す。一方、不整合を検出したデ
ータベース名、ブロック番号、レコード番号、不整合内
容を示す番号が、検証結果管理テーブル106に存在し
ない場合(S1103のノー)は、検証結果管理テーブ
ルアクセス手段105を制御して、不整合を検出したデ
ータベース名、ブロック番号、レコード番号、不整合内
容を示す番号、および不整合検出回数を1として登録さ
せ(図11のS1106)、全体制御手段102は、更
新が終了した旨の情報を得て、これをデータベース検証
手段103に渡す。検証結果管理テーブルアクセス手段
105は、正常の更新だった場合(S1101のノー)
は、全体制御手段102から渡されたデータベース名、
ブロック番号、レコード番号、不整合内容を示す番号
が、検証結果管理テーブル106に存在するか否かを調
べる(図11のS1102)。正常を検出したデータベ
ース名、ブロック番号、レコード番号、不整合内容を示
す番号が、検証結果管理テーブル106に存在する場合
には(S1102のイエス)、該当するデータベース
名、ブロック番号、レコード番号、不整合内容を示す番
号は正常であると検出したので、検証結果管理テーブル
106から、該当個所を削除し(図11のS110
4)、更新が終了した旨の情報を全体制御手段102に
渡し、全体制御手段102は、更新が終了した旨の情報
をデータベース検証手段103に渡す。一方、正常を検
出したデータベース名、ブロック番号、レコード番号、
不整合内容を示す番号が、検証結果管理テーブル106
に存在しない場合には(S1102のノー)、更新が終
了した旨の情報を全体制御手段102に渡し、全体制御
手段102は、更新が終了した旨の情報をデータベース
検証手段103に渡す。以上のようにして、データベー
スファイル108に対する整合性検証が行なわれること
になる。
【0050】したがって、この実施の形態によれば、全
体制御手段102は、排他制御を行なわずに整合性検証
のためのデータを取り出すデータベースアクセス手段1
07を制御して取り出したデータをデータベース検証手
段103に渡して整合性検証を行なわせる処理を所定回
数繰り返させる。そして、検証結果管理テーブル106
を用いて検証結果管理テーブルアクセス手段105に、
この所定回数の検証結果を管理させると共に、この管理
させている所定回数の検証結果と不整合判定回数に基づ
いてデータベースファイルの整合がとれているかいない
かを判断させ、この判断結果を得て利用者端末101に
その旨の情報を通知するので、オンライン処理等の主要
な処理と排他制御しなくともデータベースファイルの整
合性が判断でき、主要な処理のスループットを落とさず
にデータベースファイルの整合性検証を行なえる。さら
に、全体制御手段102は、所定回数の検証結果が、同
一レコードで同一内容の不整合が所定回数以上発生した
と判断した場合には、データベースファイル108の整
合がとれていないと判断するので、極めて簡単なロジッ
クで、データベースファイル108の整合性の判断を行
なえる。また、不整合条件を記憶する検証情報管理テー
ブル104を備えるようにしたので、不整合条件を容易
に変更できる。
【0051】次に、本装置のより具体的な動作を説明す
ることによって、発明の理解を図るように努める。な
お、不整合内容を示す番号は、上位インデックスレコー
ドと上位インデックスレコードとの不整合は「1」、上
位インデックスレコードと下位インデックスレコードと
の不整合は「2」、下位インデックスレコードと下位イ
ンデックスレコードとの不整合は「3」とする。さて、
利用者端末101から連続検証回数「7」、不整合判定
回数「5」のデータベース整合性検証設定要求が全体制
御手段102に渡されたとする。すると、全体制御手段
102は、渡された連続検証回数「7」と不整合判定回
数「5」とを比較する(図5のS501)。この場合、
不整合判定回数が連続検証回数より小さいので(S50
1のイエス)、検証情報管理テーブル104を更新して
(図5のS503)、データベース整合性検証設定要求
が終了した旨の情報を利用者端末101に通知する。図
12は、データベース整合性検証設定要求が終了した後
における検証情報管理テーブル104の記憶内容の説明
図である。一方、利用者端末101から、連続検証回数
「5」、不整合判定回数「7」のデータベース整合性検
証設定要求が、全体制御手段102に渡されたとする。
すると、全体制御手段102は、渡された連続検証回数
「5」と不整合判定回数「7」とを比較する(図5のS
501)。この場合、不整合判定回数が連続検証回数よ
り大きいので(S501のノー)、不整合判定回数を連
続検証回数の「5」とし(図5のS502)、検証情報
管理テーブル104を更新し(図5のS503)、デー
タベース整合性検証設定要求が終了した旨の情報を利用
者端末101に通知する。図13は、データベース整合
性検証設定要求が終了した後における検証情報管理テー
ブル104の記憶内容の説明図であり、検証回数および
不整合判定回数には夫々「5」が設定されている。
【0052】さて、図12、図14に示すように情報が
格納されている、検証情報管理テーブル104、データ
ベースAを用いた時に、利用者端末101からデータベ
ースAに対するインデックスレコード間検証のデータベ
ース整合性検証要求が全体制御手段102に渡されたも
のとする。なお、図14に示すように、インデックス値
をアルファベットで表現し、アルファベット順にインデ
ックス値が大きくなるものとする。全体制御手段102
は、最初の整合性の検証を行なうので検証回数を「1」
として(図8のS801)、整合性検証要求がインデッ
クスレコード間検証であることから、検証するデータベ
ースAに格納されている、最初のインデックスの最上位
インデックスブロック番号「1」を求める(図8のS8
02)。全体制御手段102は、最上位インデックスブ
ロック番号「1」をデータベースアクセス手段107に
渡す。データベースアクセス手段107は、全体制御手
段102から渡される、最上位インデックスブロック番
号「1」に対応するブロックデータをデータベースAか
ら、排他制御を行なわずに取り出し(図8のS80
3)、取り出したブロックデータ(図14の1401)
を全体制御手段102に渡す。全体制御手段102は、
ブロック番号「1」とデータベースアクセス手段107
から渡されたブロックデータとを、データベース検証手
段103に渡す。データベース検証手段103は、全体
制御手段102から渡される、最上位インデックスブロ
ックに格納されているレコード番号「1」の最上位イン
デックスレコードを取り出し(図8のS804)、レコ
ード番号「1」の最上位インデックスレコードが管理す
る中間位インデックスブロックのブロックデータを取り
出すために、対応するインデックスブロック番号「2」
を全体制御手段102に渡す。全体制御手段102は、
データベース検証手段103から渡されたインデックス
ブロック番号「2」をデータベースアクセス手段107
に渡し、データベースアクセス手段107は、全体制御
手段102から渡されるインデックスブロック番号
「2」に対応するブロックデータをデータベースファイ
ル108から、排他制御を行なわずに取り出し(図8の
S805)、取り出したブロックデータ(図14の14
04)を全体制御手段102に渡す。全体制御手段10
2は、ブロック番号「2」とデータベースアクセス手段
107から渡されるブロックデータとを、データベース
検証手段103に渡す。
【0053】データベース検証手段103は、全体制御
手段102から渡される、中間位インデックスブロック
に格納されているレコード番号「3」の中間位インデッ
クスレコードを取り出し(図8のS806)、この中間
位インデックスレコードが持っている下位の最大インデ
ックス値「B」が、最上位インデックスレコードが持っ
ている下位の最大インデックス値「D」より小さく(S
807がイエス)、ブロック番号「2」の中間位インデ
ックスブロックに格納されている、最初の中間位インデ
ックスレコードなので(S809がイエス)、レコード
番号「3」の中間位インデックスレコードは正常だとし
て、整合性検証を行なったデータベース名A、ブロック
番号2、レコード番号3、不整合内容を示す番号2、正
常である旨の情報を全体制御手段102に渡し、検証結
果管理テーブルアクセス手段105を制御して検証結果
管理テーブル106の更新を行ない(図8のS81
2)、更新が完了したら整合性検証処理を継続する。デ
ータベース検証手段103は、ブロック番号「2」の中
間位インデックスブロックに、レコード番号「4」の中
間位インデックスレコードがあるので(S814がイエ
ス)、レコード番号「4」の中間位インデックスレコー
ドを取り出し(図8のS806)、この中間位インデッ
クスレコードが持っている下位の最大インデックス値
「D」が、最上位インデックスレコードが持っている下
位の最大インデックス値「D」と等しく(S807がイ
エス)、ブロック番号「2」の中間位インデックスに格
納されている最初の中間位インデックスレコードではな
く(S809がノー)、一つ前に検証したレコード番号
「3」の中間位インデックスレコードが持っている下位
の最大インデックス値「B」より大きいので(S811
がイエス)、レコード番号「4」の中間位インデックス
レコードは正常であるとして、整合性検証を行なったデ
ータベース名A、ブロック番号2、レコード番号4、不
整合内容を示す番号2、3、および、正常である旨の情
報を全体制御手段102に渡し、検証結果管理テーブル
106の更新を行ない(図8のS812)、更新が完了
したら整合性検証処理を継続する。
【0054】データベース検証手段103は、ブロック
番号「2」の中間位インデックスブロックには、次の中
間位インデックスレコードがなく(S814がノー)、
レコード番号「1」の最上位インデックスレコードは、
ブロック番号「1」の最上位インデックスブロックに格
納されている、最初の最上位インデックスレコードなの
で(S815がイエス)、レコード番号「1」の最上位
インデックスレコードは正常だとして、整合性検証を行
なったデータベース名A、ブロック番号1、レコード番
号1、不整合内容を示す番号1、正常である旨の情報を
全体制御手段102に渡し、検証結果管理テーブルアク
セス手段105を制御して検証結果管理テーブル106
の更新を行ない(S817)、更新が完了したら、ブロ
ック番号「2」の中間位インデックスブロックを破棄
し、整合性検証処理を継続する。データベース検証手段
103は、ブロック番号「1」の最上位インデックスブ
ロックに、レコード番号「2」の最上位インデックスレ
コードがあるので(S819がイエス)、レコード番号
「2」の最上位インデックスレコードを取り出し(図8
のS804)、整合性検証処理を継続する。データベー
ス検証手段103は、レコード番号「2」の最上位イン
デックスレコードに対応する中間位インデックスブロッ
クに対する整合性検証が終了したら、ブロック番号
「1」の最上位インデックスブロックに格納されている
最初の最上位インデックスレコードでなく(S815の
ノー)、レコード番号「2」の最上位インデックスレコ
ードが持っている下位の最大インデックス値「H」が、
一つ前に検証したレコード番号「1」の最上位インデッ
クスレコードが持っている下位の最大インデックス値
「D」より大きいので(S816のイエス)、レコード
番号「2」の最上位インデックスレコードは正常だとし
て、整合性検証を行なったデータベース名A、ブロック
番号1、レコード番号2、不整合内容を示す番号1、正
常である旨の情報を全体制御手段102に渡し、検証結
果管理テーブルアクセス手段105を制御して検証結果
管理テーブル106の更新を行ない(S817)、更新
が完了したら整合性検証処理を継続する。
【0055】データベース検証手段103は、ブロック
番号「1」の最上位インデックスブロックには、次の最
上位インデックスレコードがないので(S819がノ
ー)、ブロック番号「1」の最上位インデックスブロッ
クの整合性検証は終了したとして、ブロック番号「1」
の最上位インデックスブロックが持っている、次のイン
デックスブロック番号「2」を全体制御手段102に渡
し、ブロック番号「1」の最上位インデックスブロック
を破棄する。全体制御手段102は、データベース検証
手段103から渡されたインデックスブロック番号
「2」をデータベースアクセス手段107に渡し、デー
タベースアクセス手段107は、全体制御手段102か
ら渡されるインデックスブロック番号「2」に対応する
ブロックデータを、データベースファイル108から排
他制御を行なわずに取り出し(S820)、取り出した
ブロックデータ(図14の1404)を全体制御手段1
02に渡す。 全体制御手段102は、ブロック番号
「2」とデータベースアクセス手段107から渡される
ブロックデータとを、データベース検証手段103に渡
す。データベース検証手段103は、インデックスブロ
ックの制御用領域に記憶されている管理情報を参照し
て、どの階層のインデックスブロックかを示す情報を考
慮して、ブロック番号「2」のインデックスブロック
は、中間位インデックスブロックなので(S821のノ
ー)、最上位インデックスブロックに対して行なった上
述の整合性検証をブロック番号「2」の中間位インデッ
クスブロックに対しても、繰り返し行なう。
【0056】データベース検証手段103は、全体制御
手段102から渡される中間位インデックスブロックに
格納されているレコード番号「3」の中間位インデック
スレコードを取り出し(図8のS804)、レコード番
号3の中間位インデックスレコードが管理する最下位イ
ンデックスブロックのブロックデータを取り出すため
に、対応するインデックスブロック番号「4」を全体制
御手段102に渡す。全体制御手段102は、データベ
ース検証手段103から渡されたインデックスブロック
番号「4」をデータベースアクセス手段107に渡し、
データベースアクセス手段107は、全体制御手段10
2から渡されるインデックスブロック番号「4」に対応
するブロックデータを、データベースファイル108か
ら排他制御を行なわずに取り出し(図8のS805)、
取り出したブロックデータ(図14の1410)を全体
制御手段102に渡す。全体制御手段102は、ブロッ
ク番号「4」とデータベースアクセス手段107から渡
されるブロックデータとを、データベース検証手段10
3に渡す。データベース検証手段103は、全体制御手
段102から渡される、最下位インデックスブロックに
格納されているレコード番号「7」の最下位インデック
スレコードを取り出し(図8のS806)、対象となる
インデックスレコードが持っているインデックス値
「A」が、中間位インデックスレコードが持っている下
位の最大インデックス値「B」より小さく(S807が
イエス)、ブロック番号「4」の最下位インデックスブ
ロックに格納されている最初の最下位インデックスレコ
ードなので(S809がイエス)、レコード番号「7」
の最下位インデックスレコードは正常だとして、整合性
検証を行なったデータベース名A、ブロック番号4、レ
コード番号7、不整合内容を示す番号2、正常である旨
の情報を全体制御手段102に渡し、検証結果管理テー
ブルアクセス手段105を制御して検証結果管理テーブ
ル106の更新を行ない(図8のS812)、更新が完
了したら整合性検証処理を継続する。
【0057】データベース検証手段103は、ブロック
番号「4」の最下位インデックスブロックに、レコード
番号「8」の最下位インデックスレコードがあるので
(S814がイエス)、レコード番号「8」の最下位イ
ンデックスレコードを取り出し(図8のS806)、こ
のインデックスレコードが持っているインデックス値
「B」が、中間位インデックスレコードが持っている下
位の最大インデックス値「B」と等しく(S807がイ
エス)、ブロック番号「4」の最下位インデックスブロ
ックに格納されている最初の最下位インデックスレコー
ドでなく(S809がノー)、一つ前に検証したレコー
ド番号7の最下位インデックスレコードが持っているイ
ンデックス値「A」より大きいので(S811がイエ
ス)、レコード番号「8」の最下位インデックスレコー
ドは正常だとして、整合性検証を行なったデータベース
名A、ブロック番号4、レコード番号8、不整合内容を
示す番号2および3、正常である旨の情報を全体制御手
段102に渡し、検証結果管理テーブルアクセス手段1
05を制御して検証結果管理テーブル106の更新を行
ない(図8のS812)、更新が完了したら整合性検証
処理を継続する。データベース検証手段103は、ブロ
ック番号「4」の最下位インデックスブロックには、次
の最下位インデックスレコードがなく(S814がノ
ー)、レコード番号「3」の中間位インデックスレコー
ドが、ブロック番号「2」の中間位インデックスブロッ
クに格納されている最初の中間位インデックスなので
(S815がイエス)、レコード番号「3」の中間位イ
ンデックスレコードは正常だとして、整合性検証を行な
ったデータベース名A、ブロック番号2、レコード番号
3、不整合内容を示す番号1、正常である旨の情報を全
体制御手段102に渡し、検証結果管理テーブルアクセ
ス手段105を制御して検証結果管理テーブル106の
更新を行ない(図9のS817)、更新が完了したら、
ブロック番号「4」の最下位インデックスブロックを破
棄し、整合性検証処理を継続する。
【0058】データベース検証手段103は、ブロック
番号「2」の中間位インデックスブロックに、レコード
番号「4」の中間位インデックスレコードがあるので
(S819がイエス)、レコード番号「4」の中間位イ
ンデックスレコードを取り出し(図8のS804)、整
合性検証処理を継続する。データベース検証手段103
は、レコード番号「4」の中間位インデックスレコード
に対応する最下位インデックスに対する整合性検証が終
了したら、レコード番号「4」の中間位インデックスレ
コードが、ブロック番号「2」の中間位インデックスブ
ロックに格納されている最初の中間位インデックスブロ
ックでなく(S815がノー)、レコード番号「4」の
中間位インデックスレコードが持っている下位の最大イ
ンデックス値「D」が、一つ前に検証したレコード番号
「3」の中間位インデックスレコードが持っている下位
の最大インデックス値「B」より大きいので(S816
がイエス)、レコード番号「4」の中間位インデックス
レコードは正常だとして、整合性検証を行なったデータ
ベース名A、ブロック番号2、レコード番号4、不整合
内容を示す番号1、正常である旨の情報を全体制御手段
102に渡し、検証結果管理テーブルアクセス手段10
5を制御して検証結果管理テーブル106の更新を行な
い(図9のS817)、更新が完了したら整合性検証処
理を継続する。
【0059】データベース検証手段103は、ブロック
番号「2」の中間位インデックスブロックには、次の中
間位インデックスレコードがないので(S819がノ
ー)、ブロック番号「2」の中間位インデックスブロッ
クの整合性検証は終了したとして、ブロック番号「2」
の中間位インデックスブロックが持っている次のインデ
ックスブロック番号「3」を全体制御手段102に渡
し、ブロック番号「2」の最上位インデックスブロック
を破棄する。全体制御手段102は、データベース検証
手段103から渡されたインデックスブロック番号
「3」をデータベースアクセス手段107に渡し、デー
タベースアクセス手段107は、全体制御手段102か
ら渡されるインデックスブロック番号「3」に対応する
ブロックデータを、データベースファイル108から排
他制御を行なわずに取り出し(図9のS820)、取り
出したブロックデータ(図14の1407)を全体制御
手段102に渡す。全体制御手段102は、ブロック番
号「3」とデータベースアクセス手段107から渡され
るブロックデータとを、データベース検証手段103に
渡す。データベース検証手段103は、インデックスブ
ロックの制御用領域に記憶してある管理情報を参照し
て、どの階層のインデックスブロックかを示す情報を考
慮して、ブロック番号「3」のインデックスブロック
は、中間位インデックスブロックなので(S821のノ
ー)、ブロック番号「2」の中間位インデックスブロッ
クに対して行なった上述の整合性検証をブロック番号
「3」の中間位インデックスブロックに対しても繰り返
し行なう。
【0060】データベース検証手段103は、ブロック
番号「3」の中間位インデックスブロックに対する整合
性検証が終了したら、ブロック番号「3」の中間位イン
デックスブロックが持っている次のインデックスブロッ
ク番号4を全体制御手段102に渡し、ブロック番号
「3」の中間位インデックスブロックを破棄する。全体
制御手段102は、データベース検証手段103から渡
されたインデックスブロック番号「4」をデータベース
アクセス手段107に渡し、データベースアクセス手段
107は、全体制御手段102から渡されるインデック
スブロック番号「4」に対応するブロックデータを、デ
ータベースファイル108から排他制御を行なわずに取
り出し(図9のS820)、取り出したブロックイメー
ジ(図14の1410)を全体制御手段102に渡す。
全体制御手段102は、ブロック番号「4」とデータベ
ースアクセス手段107から渡されるブロックデータと
を、データベース検証手段103に渡す。データベース
検証手段103は、インデックスブロックの制御用領域
に記憶してある管理情報を参照して、どの階層のインデ
ックスブロックかを示す情報を考慮して、ブロック番号
「4」のインデックスブロックは、最下位インデックス
ブロックなので(S821のイエス)、ブロック番号
「4」の最下位インデックスブロックに格納されている
最下位インデックスレコードに対する整合性検証は、上
位の中間位インデックスブロックの整合性検証時に検証
済みなので、このインデックスを構成する全インデック
スブロックに対する整合性検証は終了したとして、この
インデックスに対する整合性検証が終了した旨を全体制
御手段102に渡す。全体制御手段102は、整合性検
証の対象となるデータベースAに、次のインデックスが
あるか否かを調べて(S822)、次のインデックスが
ある場合には(S822のイエス)、対象となるインデ
ックスの最上位インデックスブロック番号を求めて(図
8のS802)、上述の整合性検証を繰り返す(図8の
S803以下)。一方、次のインデックスがない場合に
は(S822のノー)、このデータベースAに対する整
合性検証は終了したとする。全体制御手段102は、検
証回数「1」が検証情報管理テーブル104で管理して
いる連続検証回数「7」と同じ値ではないので(S82
3のノー)、検証回数を「2」として(図9のS82
4)、このデータベースAに対する整合性検証を繰り返
す(図8のS802以下)。このようにして、全体制御
手段102が、データベースAに対する整合性検証を7
回繰り返し行なったら、検証回数「7」が検証情報管理
テーブル104で管理している連続検証回数「7」と同
じ値なので(S823のイエス)、データベースAに対
する整合性検証は終了したとして、整合性検証を行なっ
たデータベース名Aと検証情報管理テーブル104で管
理している不整合判定回数「5」を検証結果管理テーブ
ルアクセス手段105に渡し、検証回数を「0」にす
る。
【0061】次に、図12、図15のような情報が格納
されている、検証情報管理テーブル104、データベー
スAを用いた時に、ブロック番号「1」の最上位インデ
ックスブロックに対する整合性検証を行なうものとす
る。なお、図15に示すように、インデックス値をアル
ファベットで表現し、アルファベット順にインデックス
値が大きくなるものとする。データベース検証手段10
3は、全体制御手段102から渡される最上位インデッ
クスブロックに格納されている、レコード番号「1」の
最上位インデックスレコードを取り出し(図8のS80
4)、レコード番号「1」の最上位インデックスレコー
ドが管理する中間位インデックスブロックのブロックイ
データを取り出すために、対応するインデックスブロッ
ク番号「2」を全体制御手段102に渡す。全体制御手
段102は、データベース検証手段103から渡された
インデックスブロック番号「2」をデータベースアクセ
ス手段107に渡し、データベースアクセス手段107
は、全体制御手段102から渡されるインデックスブロ
ック番号「2」に対応するブロックデータをデータベー
スファイル108から、排他制御を行なわずに取り出し
(図8のS805)、取り出したブロックデータ(図1
5の1501)を全体制御手段102に渡す。全体制御
手段102は、ブロック番号「2」とデータベースアク
セス手段107から渡されるブロックデータとを、デー
タベース検証手段103に渡す。データベース検証手段
103は、全体制御手段102から渡される中間位イン
デックスブロックに格納されているレコード番号「3」
の中間位インデックスレコードを取り出し(図8のS8
06)、この中間位インデックスレコードが持っている
下位の最大インデックス値「F」が、最上位インデック
スレコードが持っている下位の最大インデックス値
「D」より大きいので(S807がノー)、レコード間
の不整合を検出したとして、不整合を検出したデータベ
ース名A、ブロック番号2、レコード番号3、不整合内
容を示す番号2、不整合である旨の情報を全体制御手段
102に渡し、検証結果管理テーブルアクセス手段10
5を制御して検証結果管理テーブル106の更新を行な
い(図8のS808)、更新が完了したら整合性検証処
理を継続する。
【0062】データベース検証手段103は、レコード
番号「3」の中間位インデックスレコードが、ブロック
番号「2」の中間位インデックスブロックに格納されて
いる最初の中間位インデックスレコードで(S810が
イエス)、次の中間位インデックスレコードがあるので
(S814がイエス)、レコード番号「4」の中間位イ
ンデックスレコードを取り出し(図8のS806)、こ
の中間位インデックスレコードが持っている下位の最大
インデックス値「E」が、最上位インデックスレコード
が持っている下位の最大インデックス値「D」より大き
いので(S807がノー)、レコード間の不整合を検出
したとして、不整合を検出したデータベース名A、ブロ
ック番号2、レコード番号4、不整合内容を示す番号
2、不整合である旨の情報を全体制御手段102に渡
し、検証結果管理テーブルアクセス手段105を制御し
て検証結果管理テーブル106の更新を行ない(図8の
S808)、更新が完了したら整合性検証処理を継続す
る。データベース検証手段103は、レコード番号
「4」の中間位インデックスレコードが、ブロック番号
2の中間位インデックスブロックに格納されている最初
の中間位インデックスレコードでなく(S810がノ
ー)、レコード番号「4」の中間位インデックスレコー
ドが持っている下位の最大インデックス値「E」が、一
つ前に検証したレコード番号「3」の中間位インデック
スレコードが持っている下位の最大インデックス値Fよ
り小さいので(図8のS811がノー)、レコード間の
不整合を検出したとして、不整合を検出したデータベー
ス名A、ブロック番号2、レコード番号4、不整合内容
を示す番号3、不整合である旨の情報を全体制御手段1
02に渡し、検証結果管理テーブルアクセス手段105
を制御して検証結果管理テーブル106の更新を行ない
(図8のS813)、更新が完了したら整合性検証処理
を継続する。
【0063】データベース検証手段103は、ブロック
番号「2」の中間位インデックスブロックに次の中間位
インデックスレコードがなく(S814がノー)、レコ
ード番号「1」の最上位インデックスレコードが、ブロ
ック番号「1」の最上位インデックスブロックに格納さ
れている最初の最上位インデックスレコードなので(S
815がイエス)、レコード番号「1」の最上位インデ
ックスレコードは正常だとして、検証したデータベース
名A、ブロック番号1、レコード番号1、不整合内容を
示す番号1、正常である旨の情報を全体制御手段102
に渡し、検証結果管理テーブルアクセス手段105を制
御して検証結果管理テーブル106の更新を行ない(図
9のS817)、更新が完了したら整合性検証処理を継
続する。データベース検証手段103は、ブロック番号
「1」の最上位インデックスブロックに、次の最上位イ
ンデックスレコードがあるので(S819がイエス)、
レコード番号「2」の最上位インデックスレコードを取
り出し(図8のS804)、整合性検証処理を継続す
る。データベース検証手段103は、レコード番号
「2」の最上位インデックスレコードに対応する中間位
インデックスブロックに対する整合性検証が終了した
ら、レコード番号「2」の最上位インデックスレコード
が、ブロック番号「1」の最上位インデックスブロック
に格納されている最初の最上位インデックスレコードで
なく(S815がノー)、レコード番号「2」の最上位
インデックスレコードが持っている下位の最大インデッ
クス値「B」が、一つ前に検証したレコード番号「1」
の最上位インデックスレコードが持っている下位の最大
インデックス値「D」より小さいので(S816がノ
ー)、レコード間の不整合を検出したとして、不整合を
検証したデータベース名A、ブロック番号1、レコード
番号2、不整合内容を示す番号1、不整合である旨の情
報を全体制御手段102に渡し、検証結果管理テーブル
アクセス手段105を制御して検証結果管理テーブル1
06の更新を行ない(図9のS818)、更新が完了し
たら整合性検証処理を継続する。
【0064】検証結果管理テーブル106が図16に示
すような状態の時に、データベースAのブロック番号
2、レコード番号3、不整合内容を示す番号2の不整合
更新である旨の情報が、全体制御手段102から検証結
果管理テーブルアクセス手段105に渡されたとする。
検証結果管理テーブルアクセス手段105は、不整合の
更新か否かを調べ(図11のS1101)、不整合の更
新なので(S1101のイエス)、データベース名A、
ブロック番号2、レコード番号3、不整合内容を示す番
号2が、検証結果管理テーブル106に存在するか否か
を調べる(図11のS1103)。検証結果管理テーブ
ル106に存在しないので(S1103のノー)、検証
結果管理テーブルアクセス手段105は、不整合を検出
したデータベース名A、ブロック番号2、レコード番号
3、不整合内容を示す番号2、および不整合検出回数を
1として検証結果管理テーブル106を更新する(図1
1のS1106)。図17は、検証結果管理テーブルア
クセス手段105が、更新した後の検証結果管理テーブ
ル106の記憶内容を示したものである。次に、検証結
果管理テーブル106が図17に示すような状態の時
に、データベースAのブロック番号2、レコード番号
3、不整合内容を示す番号2の不整合の更新である旨の
情報が、全体制御手段102から検証結果管理テーブル
アクセス手段105に渡されたとする。すると、検証結
果管理テーブルアクセス手段105は、不整合の更新か
否かを調べて(図11のS1101)、不整合の更新な
ので(S1101のイエス)、データベース名A、ブロ
ック番号2、レコード番号3、不整合内容を示す番号2
が、検証結果管理テーブル106に存在するか否かを調
べる(図11のS1103)。検証結果管理テーブル1
06に存在するので(S1103のイエス)、該当個所
の不整合検出回数を「2」として検証結果管理テーブル
106を更新する(図11のS1105)。
【0065】図18は、検証結果管理テーブルアクセス
手段105が、更新した後の検証結果管理テーブル10
6の記憶状態を示したものである。次に、検証結果管理
テーブル106が図18に示すような状態の時に、デー
タベースAのブロック番号2、レコード番号3、不整合
内容を示す番号2の正常の更新である旨の情報が、全体
制御手段102から、検証結果管理テーブルアクセス手
段105に渡されたとする。すると、検証結果管理テー
ブルアクセス手段105は、不整合の更新か否かを調べ
(図11のS1101)、正常の更新なので(S110
1のノー)、データベース名A、ブロック番号2、レコ
ード番号3、不整合内容を示す番号2が、検証結果管理
テーブル106に存在するか否かを調べる(図11のS
1102)。検証結果管理テーブル106に存在するの
で(S1102のイエス)、該当個所は正常と判断され
たため、検証結果管理テーブルアクセス手段105は、
該当個所を検証結果管理テーブル106から削除する
(図11のS1104)。図19は、検証結果管理テー
ブルアクセス手段105が更新した後の検証結果管理テ
ーブル106の記憶状態を示したものである。
【0066】検証結果管理テーブル106が図19に示
すような状態の時に、データベースAのブロック番号
2、レコード番号3、不整合内容を示す番号2の正常の
更新である旨の情報が、全体制御手段102から検証結
果管理テーブルアクセス手段105に渡されたとする。
すると、検証結果管理テーブルアクセス手段105は、
不整合の更新か否かを調べ(図11のS1101)、正
常の更新なので(S1101のノー)、データベース名
A、ブロック番号2、レコード番号3、不整合内容を示
す番号2が、検証結果管理テーブル106に存在するか
否かを調べる(図11のS1102)。検証結果管理テ
ーブル106には存在しないので(S1102のノ
ー)、検証結果管理テーブルアクセス手段105は、検
証結果管理テーブル106の更新を行なわない。次に、
検証結果管理テーブル106が図20に示すような状態
の時に、データベースAに対する整合性検証が終了し
て、整合性検証を行わなったデータベース名「A」と不
整合判定回数「5」とが、全体制御手段102から検証
結果管理テーブルアクセス手段105に渡されたものと
する。すると、検証結果管理テーブルアクセス手段10
5は、全体制御手段102から渡されたデータベース名
Aで、不整合を検出したブロック番号、レコード番号等
が登録されているかを検証結果管理テーブル106を検
索して調べる(図10のS825)。検証結果管理テー
ブル106に、データベース名Aがあるので(S825
のイエス)、該当個所の不整合検出回数「7」が不整合
判定回数「5」より大きいので(S826のイエス)、
該当個所を不整合であると判定し、不整合を検出したデ
ータベース名A、ブロック番号1、レコード番号2、不
整合内容を示す番号1、不整合検出回数7を全体制御手
段102に渡し、該当個所をクリアして次に登録されて
いる個所があるか否かを調べる。
【0067】全体制御手段102は、検証結果管理テー
ブルアクセス手段105から渡された不整合を検出した
データベース名A、ブロック番号1、レコード番号2、
不整合内容を示す番号1、不整合検出回数7を利用者端
末102に通知する(図10のS827)。検証結果管
理テーブル106に、次のデータベース名Aが存在する
ので(S825のイエス)、該当個所の不整合検出回数
「3」が不整合判定回数「5」より小さいので(S82
6のノー)、該当個所を不整合とは判定しないで、次に
このデータベース名Aで登録されている個所があるか検
証する。検証結果管理テーブル106に該当するデータ
ベース名Aがないので(S825のノー)、検証結果管
理テーブル106の整合性検証が終了した旨の情報を全
体制御手段102に渡し、全体制御手段102は、この
データベースAに対する整合性検証が終了した旨の情報
を利用者端末101に通知する。図21は、整合性検証
が終了した後における検証結果管理テーブル106の記
憶状態を示した説明図である。
【0068】以上説明したきたように、この実施の形態
においては、データベースファイル108から整合性検
証のためのデータを排他制御を行なわずに取り出し、こ
の取り出したデータを用いて整合性検証を行なう処理を
所定回数繰り返す。そして、この所定回数の検証結果と
不整合判定回数とに基づいて、データベースファイル1
08の整合がとれているかいないかを判断するので、オ
ンライン処理等の主要な処理と排他制御しなくともデー
タベースファイルの整合性が判断できるので、主要な処
理のスループットを落とさずにデータベースファイルの
整合性検証を行なえる。
【0069】(第2の実施の形態)この実施の形態は、
所望の時刻に自動的に整合性検証を行なうようにした点
に特徴がある。次に、本発明の第2の実施の形態につい
て図面を参照して詳細に説明する。図22は、本発明の
第2の実施の形態のブロック構成図である。この実施の
形態の装置は、図1にて示されている第1の実施の形態
の装置構成において、整合性検証自動開始手段109
と、整合性検証自動開始情報管理テーブル110とを新
たに備えた点が異なり、その他の点では異なる所がな
い。整合性検証自動開始情報管理テーブル110には、
整合性検証を開始させる時刻である整合性検証開始時刻
と、整合性検証対象となるデータベース名と、どのよう
な整合性検証を行なうかを示す情報である整合性検証内
容とが対応付けて記憶される。整合性検証開始時刻は、
或る整合性検証の開始時刻を設定することはもちろんの
こと、その設定の仕方によって、或る時間毎に繰り返し
て整合性検証を行なうようにすることも可能であるが、
この実施の形態の説明では、所望の開始時刻に整合性検
証開始させることを想定して説明する。整合性検証内容
は、レコード形式検証、レコード間検証等の整合性検証
の内容を定める情報である。図23は、整合性検証自動
開始情報管理テーブル110の記憶状態例を示した説明
図であり、この記憶例では、データベース整合性検証を
開始させる時刻が「12時」、整合性検証の対象となる
データベース名が「D」、整合性検証内容が「インデッ
クスレコード間検証」であることを示している。整合性
検証自動開始手段109は、この装置が備える、現在時
刻を把握するための時刻(図22では図示せず)が示す
時刻を参照して、整合性検証自動開始情報管理テーブル
110に記憶管理されている整合性検証時刻になった
ら、整合性検証対象となるデータベース名、整合性検証
内容を全体制御手段102に渡し、データベース整合性
検証を自動で開始させる。
【0070】次に、図22および図24のフローチャー
トを参照して、この実施の形態の装置の全体動作につい
て詳細に説明する。図22で、利用者端末101が、整
合性検証自動開始に関するデータベース整合性検証設定
要求を発行した時の動作について詳細に説明する。整合
性検証自動開始に関するデータベース整合性検証設定要
求には、データベースの整合性検証を行なう整合性検証
開始時刻、整合性検証の対象となるデータベース名、整
合性検証内容、および、整合性検証自動開始に関する設
定要求である旨の情報が含まれている。利用者端末10
1(第1の実施の形態同様に利用者プログラム109自
身でも良い)は、整合性検証自動開始に関するデータベ
ース整合性検証設定要求を全体制御手段102に渡す。
全体制御手段102は、整合性検証自動開始に関する設
定要求が渡されたので、データベース整合性検証設定要
求に含まれる、整合性検証開始時刻、整合性検証の対象
となるデータベース名、および、整合性検証内容で、整
合性検証自動開始情報管理テーブル110を更新する。
整合性検証自動開始情報管理テーブル110の更新が終
了したら、整合性検証自動開始に関するデータベース整
合性検証設定要求が終了した旨の情報を、利用者端末1
01に渡す。
【0071】次に、図22および図24のフローチャー
トで、装置内の時計(図22では図示せず)が示す時刻
が、整合性検証自動開始情報管理テーブル110によっ
て記憶管理されている整合性検証開始時刻になった時の
整合性検証自動開始手段109の動作について詳細に説
明する。整合性検証自動開始手段109は、装置内の時
計(図22では図示せず)が示す時刻を参照して、整合
性検証自動開始情報管理テーブル110に記憶管理され
ている整合性検証開始時刻になったか否かを調べる(図
24のS2401)。時計が示す時刻が、整合性検証開
始時刻になっていない場合には(S2401のノー)、
データベースの整合性検証を開始させるための動作は行
なわずにウエイト状態となる。一方、装置内の時計(図
22では図示せず)が示す時刻が、整合性検証開始時刻
になった場合には(S2401のイエス)、整合性検証
自動開始情報管理テーブル110を参照して、整合性検
証の対象となるデータベース名と整合性検証内容とを全
体制御手段102に渡す。すると、全体制御手段102
は、整合性検証自動開始手段109から渡された整合性
検証の対象となるデータベース名、整合性検証内容を参
照して、データベースの整合性検証を自動開始させる。
以降のデータベースの整合性検証に関する動作について
は、第1の実施の形態と変わらる所がないので、重複説
明を省略する。
【0072】したがって、この実施の形態によれば、整
合性検証自動開始手段109が、全体制御手段102
を、設定時刻に自動的に起動させて、データベースファ
イル108の整合がとれているかいないかを判定させる
ので、整合性検証処理を所望の時刻に自動開始させるこ
とができる。また、設定時刻を登録するための整合性検
証自動開始情報管理テーブル110を備えるようにした
ので、設定時刻の変更等が容易に行なえたり、利用者が
一度登録した時刻等に、登録した整合性検証内容で自動
的にデータベースファイル108の整合性検証を行なう
ことができる。
【0073】次に、この実施の形態の装置のより具体的
な動作を説明して、発明理解の容易化に努める。利用者
端末101から、整合性検証開始時刻が「23時」、整
合性検証の対象となるデータベース名が「B」、整合性
検証内容が「インデックスレコード間検証」である、整
合性検証自動開始に関するデータベース整合性検証設定
要求が全体制御手段102に渡されたことを想定する。
全体制御手段102は、整合性検証自動開始に関する設
定要求が渡されたので、このデータベース整合性検証設
定要求に含まれる「整合性検証開始時刻23時、整合性
の検証を行なうデータベース名B、およびインデックス
レコード間検証」で、整合性検証自動開始情報管理テー
ブル110を更新する。整合性検証自動開始情報管理テ
ーブル110の更新が終了したら、整合性検証自動開始
に関するデータベース整合性検証設定要求が終了した旨
の情報を、利用者端末101の渡す。図25は、整合性
検証自動開始に関するデータベース整合性検証設定要求
に対する更新処理が終了した後における整合性検証自動
開始情報管理テーブル110の記憶状態を示している。
整合性検証自動開始情報管理テーブル110が、図25
に示すような記憶状態の時の整合性検証自動開始手段1
09の動作について説明する。整合性検証自動開始手段
109は、装置内の時刻(図22では図示せず)を参照
して、整合性検証開始時刻である23時になったか否か
を調べ(図24のS2401)、時刻が23時になって
いない場合には(S2401のノー)、データベースの
整合性検証を開始させない。一方、時刻が23時になっ
た場合には(S2401のイエス)、整合性検証自動開
始情報管理テーブル110を参照して、整合性検証の対
象となるデータベース名B、整合性検証内容がインデッ
クスレコード間検証である旨の情報を、全体制御手段1
02に渡す。これらを渡された全体制御手段102は、
データベースの整合性検証を、第1の実施の形態にて説
明したのと同じ手順で整合性検証を行なう。このように
して、整合性検証を所望の時刻に自動開始させることが
できる。
【0074】図26は、第1および第2の実施の形態の
装置のハードウエア構成図である。この装置は、CPU
1000と、RAM1010と、CRT1020と、H
D(ハードディスク)1030と、CDROM1040
と、マウス、キーボード等の入力デバイス1050とを
有し、各構成要素は互いに所要の情報を通信可能にバス
1060で接続されている。また、第1および第2の実
施の形態で説明してきたような処理を実現させるための
整合性検証プログラム1080が、記録媒体の一例とし
てのCDROM1070に記録されている。このCDR
OM1070をCDROMドライブ1040にセットす
ると、CPU1000は、整合性検証プログラム108
0を読み取ってこれをHD1030の所定エリアにイン
ストールする。この後、例えば利用者が入力デバイス1
050を操作して、所定のコマンドを入力すると、CP
U1000はインストールされた整合性検証プログラム
1080を実行して、図1や図22のブロック構成図で
説明した各手段を実現すると共に、RAM1010上に
各テーブルを実現して、第1および第2の実施の形態に
て説明してきた整合性検証を行なうことになる。なお、
このような記録媒体としては、CDROMの他に、FD
等の磁気記録媒体、DVD等の光記録媒体、MO等の光
磁気記録媒体、ROM、ICカード等の半導体記録媒体
等のコンピュータ読み取り可能な記録媒体が挙げられ
る。また、この整合性検証プログラム1080は、アプ
リケーションとして用いるのではなく、その処理手順の
少なくとも一部をHD1030に初期状態からインスト
ールされているOS(オペレーティングシステム)に組
み込んでも良いし、適当なミドルウエア内に組み込むよ
うにしても良い。
【0075】また、本発明の要旨を逸脱しない範囲内
で、以上説明してきた実施の形態に対して種々の変形を
施すことが可能であり、例えば、全体制御手段102や
利用者端末101が適宜渡す、または、渡される情報を
表示デバイスによって表示するようにすること、各テー
ブルを物理的に分離させずに1つにまとめること等の変
形を施し得る。
【発明の効果】以上説明したきたように、本発明によれ
ば、オンライン処理等の主要な処理と排他制御しなくと
もデータベースファイルの整合性が判断できるので、主
要な処理のスループットを落とさずにデータベースファ
イルの整合性検証を行なえるという効果が得られる。
【0076】また、整合性検証を所望の時刻に自動開始
させることができるという効果も得られる。
【図面の簡単な説明】
【図1】第1の実施の形態の装置のブロック構成図であ
る。
【図2】検証情報管理テーブル104の説明図である。
【図3】検証結果管理テーブル106の説明図である。
【図4】ブロックの構成の説明図である。
【図5】データベース整合性検証設定要求時の装置動作
を説明するためのフローチャートである。
【図6】インデックス構造の説明図である。
【図7】インデックスの具体的構造例を示す説明図であ
る。
【図8】整合性検証のための装置動作を説明するための
フローチャートである。
【図9】整合性検証のための装置動作を説明するための
フローチャートである。
【図10】整合性検証のための装置動作を説明するため
のフローチャートである。
【図11】整合性検証のための装置動作を説明するため
のフローチャートである。
【図12】検証情報管理テーブル104の記憶状態を示
す説明図である。
【図13】検証情報管理テーブル104の記憶状態を示
す説明図である。
【図14】インデックスの具体的構造例を示す説明図で
ある。
【図15】インデックスの具体的構造例を示す説明図で
ある。
【図16】検証結果管理テーブル106の記憶状態を示
す説明図である。
【図17】検証結果管理テーブル106の記憶状態を示
す説明図である。
【図18】検証結果管理テーブル106の記憶状態を示
す説明図である。
【図19】検証結果管理テーブル106の記憶状態を示
す説明図である。
【図20】検証結果管理テーブル106の記憶状態を示
す説明図である。
【図21】検証結果管理テーブル106の記憶状態を示
す説明図である。
【図22】第2の実施の形態の装置のブロック構成図で
ある。
【図23】整合性検証自動開始情報管理テーブル110
の説明図である。
【図24】第2の実施の形態の装置動作を説明するため
のフローチャートである。
【図25】整合性検証自動開始情報管理テーブル110
の記憶状態を示す説明図である。
【図26】本発明の実施の形態の装置のハードウエア構
成図である。
【符号の説明】
101 利用者端末 102 全体制御手段 103 データベース検証手段 104 検証情報管理テーブル 105 検証結果管理テーブルアクセス手段 106 検証結果管理テーブル 107 データベースアクセス手段 108 データベースファイル 109 整合性検証自動開始手段 110 整合性検証自動開始情報管理テーブル

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 データベースファイルに対する整合性検
    証を行なうための方法であって、 データベースファイルから整合性検証のためのデータを
    排他制御を行なわずに取り出し、この取り出したデータ
    を用いて整合性検証を行なう処理を所定回数繰り返し、 この所定回数の検証結果と予め設定した整合性の判定条
    件とに基づいて、データベースファイルの整合がとれて
    いるかいないかを判断するデータベースファイル整合性
    検証方法。
  2. 【請求項2】 請求項1に記載のデータベースファイル
    整合性検証方法であって、 前記所定回数の繰り返し処理における、前回の整合性検
    証において不整合とされた箇所のみを整合性検証の対象
    として、前記所定回数の繰り返し処理を継続する、こと
    を特徴とするデータベースファイル整合性検証方法。
  3. 【請求項3】 請求項1および2のいずれかに記載のデ
    ータベースファイル整合性検証方法において、 前記所定回数の検証結果が、予め設定した不整合判定回
    数以上の回数の不整合である場合にはデータベースファ
    イルの整合がとれていないと判断する、ことを特徴とす
    るデータベースファイル整合性検証方法。
  4. 【請求項4】 請求項1、2および3のいずれかに記載
    のデータベースファイル整合性検証方法において、 前記所定回数の繰り返し処理を予め設定した時刻に自動
    実行させる、ことを特徴とするデータベースファイル整
    合性検証方法。
  5. 【請求項5】 データベースファイルに対する整合性検
    証を行なうための装置であって、 データベースファイルから整合性検証のためのデータを
    排他制御を行なわずに取り出すためのデータベースアク
    セス手段と、 この取り出したデータを用いて整合性検証を行なうデー
    タベース検証手段と、 検証結果の管理や整合性の最終的な判定を行なうための
    検証結果管理手段と、 装置動作を制御する全体制御手段と、を備え、 前記全体制御手段は、 前記データベースアクセス手段を制御して取り出したデ
    ータを前記データベース検証手段に渡して整合性検証を
    行なわせる処理を所定回数繰り返させ、 前記検証結果管理手段に、この所定回数の検証結果を管
    理させると共に、この管理させている所定回数の検証結
    果と予め設定した整合性の判定条件とに基づいてデータ
    ベースファイルの整合がとれているかいないかを判断さ
    せ、 この判断結果を得て通知する手段であることを特徴とす
    るデータベースファイル整合性検証装置。
  6. 【請求項6】 請求項5に記載のデータベースファイル
    整合性検証装置において、 前記検証結果管理手段は、 検証結果を記憶するための検証結果管理テーブルと、こ
    れをアクセスするための検証結果管理テーブルアクセス
    手段と、を少なくとも備えていることを特徴とするデー
    タベースファイル整合性検証装置。
  7. 【請求項7】 請求項5および6のいずれかに記載のデ
    ータベースファイル整合性検証装置において、 前記不整合条件を記憶する検証情報管理テーブルを備
    え、 前記全体制御手段は、 前記検証結果管理手段に、前記所定回数の検証結果と前
    記検証情報管理テーブルの記憶内容とに基づいてデータ
    ベースファイルの整合がとれているかいないかを判断さ
    せる手段であることを特徴とするデータベースファイル
    整合性検証装置。
  8. 【請求項8】 請求項7に記載のデータベースファイル
    整合性検証装置において、 前記検証情報管理テーブルが記憶する前記不整合条件
    は、同一箇所で同一内容の不整合が所定回数以上発生し
    たことであり、 前記全体制御手段は、 前記検証結果管理手段に、前記所定回数の検証結果が、
    同一箇所で同一内容の不整合が所定回数以上発生したも
    のである場合には、データベースファイルの整合がとれ
    ていないと判断させる手段であることを特徴とするデー
    タベースファイル整合性検証装置。
  9. 【請求項9】 請求項5、6、7および8のいずれかに
    記載のデータベースファイル整合性検証装置において、 前記全体制御手段を設定時刻に自動的に起動させて、デ
    ータベースファイルの整合がとれているかいないかの判
    定結果を通知させるための整合性検証自動開始手段を備
    えたことを特徴とするデータベースファイル整合性検証
    装置。
  10. 【請求項10】 請求項9に記載のデータベースファイ
    ル整合性検証装置において、 前記設定時刻を登録するための整合性検証自動開始情報
    管理テーブルを備え、 前記整合性自動開始手段は、前記整合性検証自動開始情
    報管理テーブルに登録された設定時刻を考慮して、前記
    全体制御手段の起動を行なう手段であることを特徴とす
    るデータベースファイル整合性検証装置。
  11. 【請求項11】 データベースファイルに対する整合性
    検証を行なうためのデータベース整合性検証プログラム
    を記録したコンピュータ読み取り可能な記録媒体であっ
    て、 データベースファイルから整合性検証のためのデータを
    排他制御を行なわずに取り出し、この取り出したデータ
    を用いて整合性検証を行なう処理を所定回数繰り返し行
    なう処理と、 この所定回数の検証結果と予め設定した整合性の判定条
    件とに基づいて、データベースファイルの整合がとれて
    いるかいないかを判断する処理と、をコンピュータに実
    行させるためのデータベースファイル整合性検証プログ
    ラムを記録した記録媒体。
  12. 【請求項12】 請求項11に記載の記録媒体におい
    て、 さらに、前記所定回数の繰り返し処理を予め設定した時
    刻に自動実行させるための処理を、コンピュータに実行
    させるためのデータベースファイル整合性検証プログラ
    ムを記録した記録媒体。
JP32691499A 1999-11-17 1999-11-17 データベースファイル整合性検証方法およびその装置ならびに記録媒体 Pending JP2001142765A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32691499A JP2001142765A (ja) 1999-11-17 1999-11-17 データベースファイル整合性検証方法およびその装置ならびに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32691499A JP2001142765A (ja) 1999-11-17 1999-11-17 データベースファイル整合性検証方法およびその装置ならびに記録媒体

Publications (1)

Publication Number Publication Date
JP2001142765A true JP2001142765A (ja) 2001-05-25

Family

ID=18193175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32691499A Pending JP2001142765A (ja) 1999-11-17 1999-11-17 データベースファイル整合性検証方法およびその装置ならびに記録媒体

Country Status (1)

Country Link
JP (1) JP2001142765A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299249B2 (en) 2005-08-17 2007-11-20 International Business Machines Corporation Apparatus, system, and program for determining consistency of a database
US7483920B2 (en) 2004-11-12 2009-01-27 International Business Machines Corporation Database management system, database management method, and program
JP2010003265A (ja) * 2008-06-23 2010-01-07 Nippon Telegr & Teleph Corp <Ntt> データベース整合性チェック装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
US7647334B2 (en) 2006-12-28 2010-01-12 International Business Machines Corporation Method for checking index consistency in database
US8812513B2 (en) 2009-12-25 2014-08-19 International Business Machines Corporation Hash pointer checking for hierarchical database logical relationship
JP2016045749A (ja) * 2014-08-25 2016-04-04 日本電信電話株式会社 不整合検出装置及び不整合検出方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483920B2 (en) 2004-11-12 2009-01-27 International Business Machines Corporation Database management system, database management method, and program
US8108365B2 (en) 2004-11-12 2012-01-31 International Business Machines Corporation Consistency of a database management system
US7299249B2 (en) 2005-08-17 2007-11-20 International Business Machines Corporation Apparatus, system, and program for determining consistency of a database
US7647334B2 (en) 2006-12-28 2010-01-12 International Business Machines Corporation Method for checking index consistency in database
US7650354B2 (en) 2006-12-28 2010-01-19 International Business Machines Corporation System, method, and program for checking index consistency in database
JP2010003265A (ja) * 2008-06-23 2010-01-07 Nippon Telegr & Teleph Corp <Ntt> データベース整合性チェック装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
US8812513B2 (en) 2009-12-25 2014-08-19 International Business Machines Corporation Hash pointer checking for hierarchical database logical relationship
JP2016045749A (ja) * 2014-08-25 2016-04-04 日本電信電話株式会社 不整合検出装置及び不整合検出方法

Similar Documents

Publication Publication Date Title
US10503720B2 (en) Providing eventual consistency for multi-shard transactions
US7792800B1 (en) Data repository upgrade process
US20130132335A1 (en) Updating method and system of application system database thereof
US10417237B2 (en) Sorting tables in analytical databases
US9384044B2 (en) Intelligent inclusion/exclusion automation
WO2021114627A1 (zh) 基于分布式事务的数据处理方法、装置、终端及存储介质
JP2001142765A (ja) データベースファイル整合性検証方法およびその装置ならびに記録媒体
CN115237444A (zh) 基于版本号的并发控制方法、装置、设备及存储介质
US10671592B2 (en) Self-maintaining effective value range synopsis in presence of deletes in analytical databases
CN116360763A (zh) 一种快速生成rpa应用的方法及装置
US10216590B2 (en) Communication control determination of storing state based on a requested data operation and a schema of a table that stores therein data to be operated by the data operation
US11356325B1 (en) Accelerating transactions from a trusted source
CN111488232B (zh) 开箱即用解决方案级配置以及诊断日志记录和报告的系统和方法
US11157470B2 (en) Method and system for data quality delta analysis on a dataset
JP2018120256A (ja) 設定操作入力支援装置、設定操作入力支援システム
US20200106843A1 (en) Method and system of automating context-based switching between user activities
JP3022326B2 (ja) ファイル変更履歴管理システム
US11513927B1 (en) Method and system for performing testing operations for information handling systems
US7672929B2 (en) Database modification history
KR102417677B1 (ko) 회로 검증을 위한 유사 회로 검색 장치 및 방법
US20220383330A1 (en) System and method for identifying and remediating unanswered queries in application resolution reports
US20240028914A1 (en) Method and system for maintaining a data extraction model
US7035945B2 (en) Method and apparatus for identifying computer expansion cards
JP6282254B2 (ja) 製品構成情報管理装置、製品構成情報管理システムおよび製品構成情報管理方法
JP2000082005A (ja) システム間データベース共用システムのデータ処理方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040913