JP5044475B2 - データベース自動修復装置及びその方法並びにデータベース自動修復プログラム - Google Patents
データベース自動修復装置及びその方法並びにデータベース自動修復プログラム Download PDFInfo
- Publication number
- JP5044475B2 JP5044475B2 JP2008102499A JP2008102499A JP5044475B2 JP 5044475 B2 JP5044475 B2 JP 5044475B2 JP 2008102499 A JP2008102499 A JP 2008102499A JP 2008102499 A JP2008102499 A JP 2008102499A JP 5044475 B2 JP5044475 B2 JP 5044475B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- database
- function unit
- update
- repair
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
DOUGALAS COMERD,"The Ubiquitous B−Tree",ACM Computing Surveys,Vol 11,No2,121−138,June 1979.
前記データベース操作入出力装置は、前記ユーザからのデータベースへのレコード挿入要求及びレコード参照・更新要求操作を受け付けて、それぞれ前記レコード挿入機能部及びレコード参照・更新機能部に、レコードの挿入指示及びレコード参照・更新指示を出す手段を有し、
前記レコード挿入機能部は、前記データベース管理部のテーブルにレコードを挿入し、そのレコード挿入の際に、レコードにレコードIDを付与して前記テーブルに格納するとともに、レコードへのポインタを保持するリーフノードを前記データベース管理部のインデックスに挿入する手段を有し、
前記レコード参照・更新機能部は、前記データベース管理部のテーブルに格納されたレコードを参照・更新し、前記レコード参照・更新の際、リーフノードからレコードへのポインタを取得し、そのポインタの指すアドレスに存在するレコードのレコードIDと、リーフノードのレコードIDが一致の場合には、レコード参照・更新処理を行い、不一致の場合には、データベース破壊と判断して、前記データベース破壊修復機能部にデータベース破壊修復依頼を出す手段を有し、
前記データベース破壊修復機能部は、前記テーブル内のレコードのレコードIDの列を順次走査して、リーフノードのレコードIDと同一のレコードIDを検索し、同一のレコードIDが検索された場合は、リーフノードのレコードへのポインタを、検索された同一のレコードIDを含むレコードのアドレスで上書きしてデータベース破壊を修復する手段を有し、かつ、同一のレコードIDが検索されなかった場合、当該リーフノードを削除してデータベース破壊を修復する手段を有することを特徴とする。
前記レコード挿入機能部は、前記レコードにレコードIDを付与して前記テーブルに格納するとともに、レコードへのポインタを保持するリーフノードを前記データベース管理部のインデックスに挿入した際のそれぞれの処理結果を前記データベース入出力操作装置に通知する手段を有し、
前記レコード参照・更新機能部は、レコードIDが一致の場合のレコード参照・更新処理と、前記IDが不一致の場合のデータベース破壊修復機能部よりの修復依頼を出した際のそれぞれの処理結果を前記データベース操作入出力装置に通知する手段を有する、ことを特徴とする。
前記データベース操作入出力装置は、前記ユーザからのデータベースへのレコード挿入要求及びレコード参照・更新要求操作を受け付けるステップと、前記レコード挿入機能部及びレコード参照・更新機能部に、レコードの挿入指示及びレコード参照・更新指示を出すステップとを有し、
前記レコード挿入機能部は、前記データベース管理部のテーブルにレコードを挿入するステップと、前記レコード挿入の際に、前記レコードにレコードIDを付与して前記テーブルに格納するステップと、レコードへのポインタを保持するリーフノードを前記データベース管理部のインデックスに挿入するステップとを有し、
前記レコード参照・更新機能部は、前記データベース管理部のテーブルに格納されたレコードを参照・更新するステップと、前記レコード参照・更新の際、前記リーフノードからレコードへのポインタを取得し、そのポインタの指すアドレスに存在するレコードのレコードIDと、リーフノードのレコードIDが一致の場合には、レコード参照・更新処理を行うステップと、前記それぞれのIDが不一致の場合には、データベース破壊と判断して、前記データベース破壊修復機能部にデータベース破壊修復依頼を出すステップとを有し、
前記データベース破壊修復機能部は、前記テーブル内のレコードのレコードIDの列を順次走査して、リーフノードのレコードIDと同一のレコードIDを検索するステップと、同一のレコードIDが検索された場合は、リーフノードのレコードへのポインタを、検索された同一のレコードIDを含むレコードのアドレスで上書きしてデータベース破壊を修復するステップとを有し、かつ、同一のレコードIDが検索されなかった場合、当該リーフノードを削除してデータベース破壊を修復するステップとを有する、ことを特徴とする。
前記レコード挿入機能部は、前記レコードにレコードIDを付与して前記テーブルに格納するステップと、レコードへのポインタを保持するリーフノードを前記データベース管理部のインデックスに挿入するステップの実施によるそれぞれの処理結果を前記データベース操作入出力装置に通知するステップを有し、
前記レコード参照・更新機能部は、レコードIDが一致の場合のレコード参照・更新処理するステップと、前記IDが不一致の場合のデータベース破壊修復機能部よりの修復依頼を出すステップの実施によるそれぞれの処理結果を前記データベース操作入出力装置に通知するステップとを有する、ことを特徴とする。
データベースのユーザよりテーブルへレコード挿入要求をデータベース操作入出力装置001が受け付ける。要求を受け付ける為のユーザとデータベース操作入出力装置001間のインターフェースとしては、SQL(SQL92:IS9075−1992、JIS X3005−1995など)を使用することができる。(ステップ1001)
ステップ1001でデータベース操作入出力装置001が受け取ったレコードの挿入をレコード挿入機能部002に指示する。(ステップ1002)
ステップ1002で挿入を指示されたレコードに、レコード挿入機能部002にて、格納対象テーブル内で一意となる番号をレコードIDとして付与する。(ステップ1003)
ステップ1003でレコードIDが付与されたレコードを、データベース管理部005の格納対象テーブルに格納する。(ステップ1004)
ステップ1004で格納されたレコード内のキー値を使用して、木構造インデックス内でリーフノードを格納する位置を決定する。位置の決定方法としては、前述した非特許文献1に記載のB+−Tree等のアルゴリズムを使用することができる。(ステップ1005)
ステップ1005で決定された位置にリーフノードを挿入する。(ステップ1006)
ステップ1006で設置されたリーフノードに、ステップ1003で付与したレコードIDと同じ番号のレコードIDを格納する。(ステップ1007)
ステップ1006で設置されたリーフノードに、ステップ1005で位置の決定に使用したキー値を格納する。(ステップ1008)
ステップ1006で設置されたリーフノードに、ステップ1004で格納したレコードのアドレスをポインタとして格納する。(ステップ1009)
データベース操作入出力装置001へステップ1002で受け付けた要求の処理が完了したことを通知する。(ステップ1010)
データベース操作入出力装置001で、ユーザに対しステップ1001で受け付けた要求の処理が完了したことを通知する。(ステップ1011)。
データベースのユーザよりレコードの更新・参照処理の要求をデータベース操作入出力装置001が受け付ける。要求を受け付ける為のユーザとデータベース操作入出力装置001間のインターフェースとしては、SQL(SQL92:IS9075−1992、JIS X3005−1995など)を使用することができる。(ステップ2001)
ステップ2001でデータベース操作入出力装置001が受け付けたレコードの参照・更新をレコード参照・更新機能部002に指示する。(ステップ2002)
レコード参照・更新機能部002にて、ステップ2002で受け付けた指示の中から、更新・参照処理要求の対象となるレコードのキー値を抽出し、そのキー値でインデックスを走査し、そのキー値が格納されているリーフノードを取得する。インデックスの走査方法としては、前述の非特許文献1に記載のB+−Tree等のアルゴリズムを使用することができる。(ステップ2003)
ステップ2003で取得したリーフノードに格納されているレコードIDを取得する。(ステップ2004)
ステップ2003で取得したリーフノードに格納されているレコードへのポインタを取得する。(ステップ2005)
ステップ2005で取得したレコードへのポインタをたどって、ポインタが指し示すレコードを取得する。(ステップ2006)
ステップ2006で取得したレコードからレコードIDを取得する。(ステップ2007)
ステップ2004で取得したレコードIDと、ステップ2007で取得したレコードIDが一致していることを確認する。(ステップ2008)
ステップ2006で取得したレコードに対して、データベース操作入出力装置001から指示された更新・参照処理を行う。(ステップ2009)
ステップ2009で実施した処理結果をデータベース操作入出力装置001に通知する。(ステップ2010)
データベース操作入出力装置001にて、ユーザに対しステップ2010で受け取った処理結果を通知する。(ステップ2011)。
ステップ2001からステップ2007までは前記(2)項と同じ動作となる。
ステップ2004で取得したレコードIDと同じレコードIDを持つ(一致する)レコードをテーブル内から検索する。(ステップ2012)
ステップ2012にて同じレコードIDを持つ(一致する)レコードが検索できたことを確認する。(ステップ2013)
ステップ2003で取得したリーフノードのポインタを、ステップ2012で検索されたレコードのアドレスで上書きして、このレコードを指すように修正する。(ステップ2014)
ステップ2012で検索したレコードに対して、データベース操作入出力装置001からレコード参照・更新機能部003に指示された更新・参照処理を行う。(ステップ2015)
ステップ2014で実施したデータベース修復処理の内容と、ステップ2015で実施した処理結果をレコード参照・更新機能部003に通知する。(ステップ2016)
レコード参照・更新機能部003にて、ステップ2016で受け取った処理結果をデータベース操作入出力装置001に通知する。(ステップ2017)
データベース操作入出力装置001にて、ユーザに対しステップ2017で受け取った処理結果を通知する。(ステップ2018)。
ステップ2001からステップ2012までは、(3)項と同じ動作となる。
ステップ2003で取得したリーフノードを削除する。リーフノードの削除方法としては、前述した非特許文献1に記載のB+−Tree等のアルゴリズムを使用することができる。(ステップ2019)
ステップ2019で実施したデータベース修復処理の内容と、更新・参照処理要求の対象レコードはテーブル内に存在していないこと(レコード削除済み)をレコード参照・更新機能部003に通知する。(ステップ2020)
レコード参照・更新機能部003にて、ステップ2020で受け取った処理結果をデータベース操作入出力装置001に通知する。(ステップ2021)
データベース操作入出力装置001にて、ユーザに対しステップ2021で受け取った処理結果を通知する。(ステップ2022)。
002…レコード挿入機能部
003…レコード参照・更新機能部
004…データベース(DB)破壊修復機能部
005…データベース管理部
Claims (5)
- データベースユーザからのデータベースの操作を受け付けるデータベース操作入出力装置と、データベースにレコードを挿入するレコード挿入機能部と、データベースに格納されたレコードを参照・更新するレコード参照・更新機能部と、レコード参照・更新機能部からのデータベース破壊修復依頼によりデータベース破壊を修復するデータベース破壊修復機能部と、データベースの実体である複数のインデックス及び複数のテーブルを管理するデータベース管理部とを備え、
前記データベース操作入出力装置は、前記ユーザからのデータベースへのレコード挿入要求及びレコード参照・更新要求操作を受け付けて、それぞれ前記レコード挿入機能部及びレコード参照・更新機能部に、レコードの挿入指示及びレコード参照・更新指示を出す手段を有し、
前記レコード挿入機能部は、前記データベース管理部のテーブルにレコードを挿入し、そのレコード挿入の際に、レコードにレコードIDを付与して前記テーブルに格納するとともに、レコードへのポインタを保持するリーフノードを前記データベース管理部のインデックスに挿入する手段を有し、
前記レコード参照・更新機能部は、前記データベース管理部のテーブルに格納されたレコードを参照・更新し、前記レコード参照・更新の際、リーフノードからレコードへのポインタを取得し、そのポインタの指すアドレスに存在するレコードのレコードIDと、リーフノードのレコードIDが一致の場合には、レコード参照・更新処理を行い、不一致の場合には、データベース破壊と判断して、前記データベース破壊修復機能部にデータベース破壊修復依頼を出す手段を有し、
前記データベース破壊修復機能部は、前記テーブル内のレコードのレコードIDの列を順次走査して、リーフノードのレコードIDと同一のレコードIDを検索し、同一のレコードIDが検索された場合、リーフノードのレコードへのポインタを、検索された同一のレコードIDを含むレコードのアドレスで上書きしてデータベース破壊を修復する手段を有し、かつ、同一のレコードIDが検索されなかった場合、当該リーフノードを削除してデータベース破壊を修復する手段を有する、
ことを特徴とするデータベース自動修復装置。 - 請求項1記載のデータベース自動修復装置において、
前記データベース操作入出力装置は、前記レコード挿入機能部及びレコード参照・更新機能部に、レコードの挿入指示及びレコード参照・更新指示を出した際のそれぞれの処理結果を受け取り、前記ユーザに通知する手段を有し、
前記レコード挿入機能部は、前記レコードにレコードIDを付与して前記テーブルに格納するとともに、レコードへのポインタを保持するリーフノードを前記データベース管理部のインデックスに挿入した際のそれぞれの処理結果をデータベース操作入出力装置に通知する手段を有し、
前記レコード参照・更新機能部は、レコードIDが一致の場合のレコード参照・更新処理と、前記IDが不一致の場合のデータベース破壊修復機能部よりの修復依頼を出した際のそれぞれの処理結果を前記データベース操作入出力装置に通知する手段を有する、
ことを特徴とするデータベース自動修復装置。 - データベースユーザからのデータベースの操作を受け付けるデータベース操作入出力装置と、データベースにレコードを挿入するレコード挿入機能部と、データベースに格納されたレコードを参照・更新するレコード参照・更新機能部と、レコード参照・更新機能部からのデータベース破壊修復依頼によりデータベース破壊を修復するデータベース破壊修復機能部と、データベースの実体である複数のインデックス及び複数のテーブルを管理するデータベース管理部とを備えたデータベース自動修復方法であって、
前記データベース操作入出力装置は、前記ユーザからのデータベースへのレコード挿入要求及びレコード参照・更新要求操作を受け付けるステップと、前記レコード挿入機能部及びレコード参照・更新機能部に、レコードの挿入指示及びレコード参照・更新指示を出すステップとを有し、
前記レコード挿入機能部は、前記データベース管理部のテーブルにレコードを挿入するステップと、前記レコード挿入の際に、前記レコードにレコードIDを付与して前記テーブルに格納するステップと、レコードへのポインタを保持するリーフノードを前記データベース管理部のインデックスに挿入するステップとを有し、
前記レコード参照・更新機能部は、前記データベース管理部のテーブルに格納されたレコードを参照・更新するステップと、前記レコード参照・更新の際、前記リーフノードからレコードへのポインタを取得し、そのポインタの指すアドレスに存在するレコードのレコードIDと、リーフノードのレコードIDが一致の場合には、レコード参照・更新処理を行うステップと、前記それぞれのIDが不一致の場合には、データベース破壊と判断して、前記データベース破壊修復機能部にデータベース破壊修復依頼を出すステップとを有し、
前記データベース破壊修復機能部は、前記テーブル内のレコードのレコードIDの列を順次走査して、リーフノードのレコードIDと同一のレコードIDを検索するステップと、同一のレコードIDが検索された場合、リーフノードのレコードへのポインタを、検索された同一のレコードIDを含むレコードのアドレスで上書きしてデータベース破壊を修復するステップとを有し、かつ、同一のレコードIDが検索されなかった場合、当該リーフノードを削除してデータベース破壊を修復するステップとを有する、
ことを特徴とするデータベース自動修復方法。 - 請求項3記載のデータベース自動修復方法において、
前記データベース操作入出力装置は、前記レコード挿入機能部及びレコード参照・更新機能部に、レコードの挿入指示及びレコード参照・更新指示を出すステップを実施した際のそれぞれの処理結果を受け取り、前記ユーザに通知するステップを有し、
前記レコード挿入機能部は、前記レコードにレコードIDを付与して前記テーブルに格納するステップと、レコードへのポインタを保持するリーフノードを前記データベース管理部のインデックスに挿入するステップの実施によるそれぞれの処理結果を前記データベース操作入出力装置に通知するステップを有し、
前記レコード参照・更新機能部は、レコードIDが一致の場合のレコード参照・更新処理するステップと、前記IDが不一致の場合のデータベース破壊修復機能部よりの修復依頼を出すステップの実施によるそれぞれの処理結果を前記データベース操作入出力装置に通知するステップとを有する、
ことを特徴とするデータベース自動修復方法。 - 請求項3から4のいずれか1項に記載のデータベース自動修復方法の各ステップをコンピュータに実行させるデータベース自動修復プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008102499A JP5044475B2 (ja) | 2008-04-10 | 2008-04-10 | データベース自動修復装置及びその方法並びにデータベース自動修復プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008102499A JP5044475B2 (ja) | 2008-04-10 | 2008-04-10 | データベース自動修復装置及びその方法並びにデータベース自動修復プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009252148A JP2009252148A (ja) | 2009-10-29 |
JP5044475B2 true JP5044475B2 (ja) | 2012-10-10 |
Family
ID=41312756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008102499A Expired - Fee Related JP5044475B2 (ja) | 2008-04-10 | 2008-04-10 | データベース自動修復装置及びその方法並びにデータベース自動修復プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5044475B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013098918A1 (ja) * | 2011-12-26 | 2013-07-04 | 株式会社日立製作所 | データベースシステム及びデータベース管理方法 |
US9449039B2 (en) * | 2012-11-26 | 2016-09-20 | Amazon Technologies, Inc. | Automatic repair of corrupted blocks in a database |
US20210232581A1 (en) * | 2020-01-23 | 2021-07-29 | Coupang Corp. | Systems and methods for propagating timer management and event triggering |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000082001A (ja) * | 1998-09-04 | 2000-03-21 | Ai Soft Kk | データ管理装置およびデータ管理方法 |
JP2005332019A (ja) * | 2004-05-18 | 2005-12-02 | Matsushita Electric Ind Co Ltd | 破損データの修復装置及び方法 |
-
2008
- 2008-04-10 JP JP2008102499A patent/JP5044475B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009252148A (ja) | 2009-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691548B2 (en) | Tracking files excluded from backup | |
US7933870B1 (en) | Managing file information | |
KR101014089B1 (ko) | 데이터베이스 백업의 일관성 검사를 위한 시스템 및 방법 | |
US9183236B2 (en) | Low level object version tracking using non-volatile memory write generations | |
US7644301B2 (en) | Fault management system in multistage copy configuration | |
US7685189B2 (en) | Optimizing backup and recovery utilizing change tracking | |
US10481988B2 (en) | System and method for consistency verification of replicated data in a recovery system | |
US8285677B2 (en) | Method and apparatus for propagating tables while preserving cyclic foreign key relationships | |
US8103621B2 (en) | HSM two-way orphan reconciliation for extremely large file systems | |
US8473955B2 (en) | Reducing processing overhead and storage cost by batching task records and converting to audit records | |
US20130151476A1 (en) | Processing archive content based on hierarchical classification levels | |
JP2006508473A (ja) | 記憶システムにおけるデータ回復技術 | |
US20080162600A1 (en) | Optimizing backup and recovery utilizing change tracking | |
JP2008527571A (ja) | データの削除を管理するための方法および装置 | |
US11429498B2 (en) | System and methods of efficiently resyncing failed components without bitmap in an erasure-coded distributed object with log-structured disk layout | |
JP5044475B2 (ja) | データベース自動修復装置及びその方法並びにデータベース自動修復プログラム | |
CN110263060B (zh) | 一种erp电子附件管理方法及计算机设备 | |
US8775371B2 (en) | Synchronizing an auxiliary data system with a primary data system | |
US11379318B2 (en) | System and method of resyncing n-way mirrored metadata on distributed storage systems without requiring checksum in the underlying storage | |
US11218318B2 (en) | Two-step data deletion having confirmation hold | |
US11494090B2 (en) | Systems and methods of maintaining fault tolerance for new writes in degraded erasure coded distributed storage | |
CN111427989B (zh) | 一种全文检索的索引处理方法、索引处理系统及存储介质 | |
WO2022003911A1 (ja) | ワークフロー整合性確保装置、ワークフロー整合性確保方法、および、ワークフロー整合性確保プログラム | |
JP2014048750A (ja) | 情報資源管理プログラム、方法、及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100602 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120608 |
|
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: 20120710 |
|
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: 20120713 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150720 Year of fee payment: 3 |
|
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 |