JPH0833860B2 - データベースの回復方法 - Google Patents

データベースの回復方法

Info

Publication number
JPH0833860B2
JPH0833860B2 JP1025964A JP2596489A JPH0833860B2 JP H0833860 B2 JPH0833860 B2 JP H0833860B2 JP 1025964 A JP1025964 A JP 1025964A JP 2596489 A JP2596489 A JP 2596489A JP H0833860 B2 JPH0833860 B2 JP H0833860B2
Authority
JP
Japan
Prior art keywords
log
database
lsn
page
recovery
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
Application number
JP1025964A
Other languages
English (en)
Other versions
JPH01263745A (ja
Inventor
ウイリアム・ウオルター・マイエ・ジユニア
チエング―フオング・シン
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH01263745A publication Critical patent/JPH01263745A/ja
Publication of JPH0833860B2 publication Critical patent/JPH0833860B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明はコンピュータ化されたデータベースに関し、
さらに詳細には、システム・クラッシュ後にデータを回
復するための手法に関するものである。
B.従来技術 コンピュータ化されたデータベース・システムが多数
のアプリケーションで広く受け入れられていることは周
知である。このデータベース・システムに蓄積されたデ
ータは膨大な費用と努力の表われであり、ユーザにとっ
て不可欠でないとしても非常に貴重なものであり、デー
タの消失は非常に深刻かつ高くつくものになる恐れがあ
る。
したがって、データの記憶及び操作におけるデータベ
ース・システムのより一般的な機能に加えて、コンピュ
ータ化されたデータベース・システムは、通常の処理が
停止するシステム・クラッシュの場合に、重要なデータ
回復機能をも提供しなければならない。回復機能を提供
する際の難点の1つは、データベースを整合状態に回復
させる必要があることであった。不整合の問題の一般的
な例は、たとえば、金融業務アプリケーションの事例に
見られる。ディスク上の顧客の勘定レコードに対する借
方記入が行なわれた後で、相関勘定に対して貸方記入が
行なわれる前に、銀行のデータベース・システムのクラ
ッシュが発生することがある。貸方記入活動は、主メモ
リまたはRAMバッファ・メモリに入力されるという意味
では、完了しているかもしれないが、実際にはまだディ
スクに書き込まれていない。したがって、外部の永久記
憶ディスク上のデータベースのイメージは不整合状態に
あると言われる。
この問題を解決するため、この例における借方活動及
び貸方活動等、トランザクション境界間のすべての活動
が完了した場合に、常にデータベースが整合状態になる
ように、別々の数組のデータベース活動の境界をつける
トランザクション境界の概念が、当技術で開発された。
言い換えると、データベースに対する一連の更新に関連
するデータベースにおけるトランザクション制御によ
り、これらの更新のすべてが完了するか、または1つも
完了しないことになる。問題が生じ、かつクラッシュ後
にトランザクションが完了する前にデータベースを回復
する必要がある場合に、データベースに関する動作をこ
れらのトランザクション境界に戻すことができることに
なる。
トランザクション境界及びコミットの概念によって対
処される整合性の問題に加えて、データベースを回復時
に前のデータ・イメージに復元しなければならない場合
に、データベース回復に付随して前のデータ・イメージ
を記憶する問題に関連してもう1つの難点があった。上
記の簡単な例では、それは借方記入活動のみの部分的ト
ランザクションまたは作動時トランザクションが発生し
た場合に、2つの勘定の元の状態を保持するということ
である。この場合、データベースが不完全なトランザク
ションによって変更される前の元の整合状態になるよう
に、トランザクションを取り消すことができるというこ
とである。
当技術で開発された、回復のために前のイメージ・デ
ータを保持する1つの技術は、シャドー法またはシャド
ー・ページングと呼ばれるものである。この技術を用い
た初期のデータベース・システムには、IBM社が開発し
たシステムR及び商業データベース・プロダクトSQL DS
がある。この技術では、記憶データ・ページのコピーが
保持された。トランザクション・コミット時に、記録コ
ピーのページの変更を含む新しいコピーが作成され、そ
れが新しいコミット・コピーになり、前のコピーは削除
された。追加のデータベース変更が行なわれるたびに、
現在のコミット・コピーがそれらの変更と共にデータ・
ページの新しいコミット・コピーに複写され、前の相関
データ・ページは削除された。必要とされる古いデータ
・ページから新しいデータ・ページへの変更は単にポイ
ンタを変更するだけでよいので、コミット時にこの技術
の処理能力上の利益が生じた。次に説明するより新しい
先行書込みロギング技術の場合のように、データベース
活動を再実行する必要はなかった。
それにもかかわらず、シャドー技術の周知の欠点が多
数明らかになり、先行書込みロギングをサポートするア
ルゴリズムの開発が必要となった。その主な欠点は、デ
ータのシャドー・コピーを維持するための余分なRAM及
びディスク空間、及びそれに付随するオーバヘッドなど
であった。データベース内のすべてのページを更新する
際に第2のコピーが必要なためである。その他の欠点に
は、チェックポイントに費用がかかること、データの物
理的集合が妨げられてデータが断片化すること、マップ
の効率が悪いこと、及びページ・マップ・ブロック用に
余分な入出力が必要なことがあった。
要するに、シャドー・ページングの不利な点が余りに
大きいことが使用中に判明し、したがって、先行書込み
ロギングが開発され、回復問題に対するよりすぐれた解
決法であると考えられるようになった。この技術の初期
の例は、上記のSQL/DSデータベース・システムに見られ
る。この技術では、データの第2のコピー全体を保持す
る代り、データベース活動の前後に行なわれたことにつ
いて、単に線形レコードまたはジャーナルを保持するだ
けである。RAMバッファに表わされた活動は、完了した
トランザクションに関するものでさえ、必ずしもディス
クに書き込まれるわけではない。したがって、そのよう
な作業はシステム・クラッシュ時に失われ、上記シャド
ー・ページング技術の場合とは異なって、回復ログから
回復を行なう際に再実行しなければならない。
先行書込みロギング・プロトルコのもとでは、一般
に、変更を含む相関データをデータ・ファイルに書き込
む前に、変更に対応するログ・レコードを、最初にディ
スクに書き込まなければならない。先行書込みロギング
の1つの重要な態様は、システム・クラッシュの場合に
そこから回復を開始する回復ログ内の点が周期的に決定
され、書き出されるという、チェックポイント法に関す
るものである。チェックポイント法の効率を左右する1
つの要素はデータベースの内部構造であり、さらに具体
的にはロッキングの細分性である。複数ユーザ・データ
ベースでは、2人以上のユーザが同じデータにアクセス
しようとするとき、周知の問題が発生する。前の例に戻
ると、第1のユーザが上記借方勘定を読み取っている間
に、第2のユーザが貸方勘定を変更することがある。第
2のユーザのトランザクションが作動中に、第1のユー
ザが同じ貸方勘定にアクセスすることがあり、不整合の
結果が生じる。
この問題に対する1つの解決策は、データベースの一
部分に対するアクセスを1人のユーザに制限することで
あった。そのような制限はロックと呼ばれ、データベー
スの制限される部分の大きさはロックの「細分性」に直
接関係するものであった。たとえば、前述のSQL/DSデー
タベースでは、ロッキングの細分性は、多数のレコード
を包含する物理的データ・ページ・レベルにあった。デ
ータベースの回復に関するそのような大きな細分性の重
要性は、それによってチェックポイント法における回復
の問題が単純になることであった。最適チェックポイン
トで回復を開始できるようにするのは、たとえば、レコ
ード・レベルでロッキングが行なわれるサブページ細分
性のシステムの場合よりも簡単な問題であった。
細分性が大きいとなぜチェックポイント法で回復の問
題が単純になるかを説明すると、レコード・ロッキング
の場合に、ディスクから内部にデータを移し、RAMバッ
ファから外部にデータを送り出す物理ページが、複数の
トランザクションからの更新を含むことがある。さら
に、システム・クラッシュの時点でこれらのトランザク
ションのあるものはコミットされ、あるものは打ち切ら
れ、あるものは停止される。その時点で、大きな細分性
ロッキングを有するDB2等のデータベース・システムで
は、ページはせいぜい1つのトランザクションによる影
響しか受けないことになる。したがって、そのページに
関する回復を扱うことは比較的容易になる。しかし、そ
のようなサブページ・ロッキングによって同時更新が容
易になるので、同じページで多数のトランザクションが
実行されることがあり、関連するデータベースのすべて
の変更を適正な順序で行なわなければならないため、回
復がより困難になる。
たとえば、データ・ページがページ・アウトされて更
新が必要となったかどうかを記録することが比較的容易
な、データ・ページ・レベルでのロッキング細分性と関
連する回復アルゴリズムの方がより簡単であるにもかか
わらず、サブページ細分性ロッキングを実現し、その結
果、データ・ページ内の多数のトランザクションに対し
て回復を行なう方法に対して開発及び関心が増大してき
た。そのような同時性が求められる1つの理由は、ペー
ジ・レベルのロッキングがページの物理的サイズに関係
していることであった。しかし、データベースは、任意
の物理的制限ではなく論理的オブジェクトまたはエンテ
ィティに関して動作するので、論理データ・オブジェク
トに対してテーブルまたはレコード・レベルでロッキン
グを行なうことが、すなわち、レコード・レベルなどの
サブページ・レベルの細分性が強く望まれていた。デー
タ・ページは入出力のためデータベースに入れてもよい
が、ロック自体は機能的にそのように制限しないことが
好ましい。したがって、回復のために先行書込み技術を
用いる状況では、同時性のため、単一ページ内にレコー
ドに対するロックを有する多数のトランザクションを設
けることが望まれていた。
したがって、サブページ細分性ロッキングのための技
術、及びデータ・ページ内の多数のトランザクションの
ための回復技術が開発された。1つの技術では、先行書
込みロギングに、データ・ページのサイズ(すなわち、
データベース内にデータを取り入れるため、またはデー
タを書き出すために使用される単位)よりも細かいロッ
キング細分性を設ける。この技術では、通常のデータベ
ース動作中は、バッファ・プールの状態に関する詳細な
情報を書き出す、すなわち、「ログ」する。具体的に
は、RAMバッファ・プール内のページの状況(すなわ
ち、どのページが「汚れて」いたか、それらのページを
汚した活動とそれに関連するログ順序番号(LSN)等)
が周期的に回復ログに書き出され、このチェックポイン
ト情報を含むレコード内に入れられる。回復のため必要
なこのデータに加えて、データベース内の実データに対
する変更のログ・レコードも回復ログに書き出される。
したがって、ログ全体は、チェックポイント情報とデー
タベースに対する実データ更新とからなる一連のレコー
ドであった。
回復時に、解析パスが行なわれる。この段階では、ロ
グに対して順方向パスが行なわれ、ログに以前に書き込
まれたチェックポイント情報を含むすべてのログ・レコ
ードが読み出されて解析される。次に、解析パス中にそ
こから回復を開始する最適チェックポイントがこの情報
から計算される。
さらに具体的には、多数のチェックポイント・レコー
ドから2つのLSNが決定される。すなわち、バッファ内
の最初の「汚れた」ページに対する第1の更新に関する
LSNと、依然として作動中の、または「コミットされて
いない」最初のトランザクションに対する第1の更新に
対応するLSNである。最適回復点はこれらのLSNのうち小
さい方の値に対応する。解析パス中に計算されたこれら
のLSNを、以下では、本発明のMINBUFLSN及びLOWTRANLSN
に対応するものと理解する。これらは本発明による通常
の順方向処理中に周期的に決定され記憶される。
そのような従来技術の1つの問題点は、(最適な回復
点を決定するための)これら2つのLSN値を計算するだ
けのためにすべてのログ・レコードを読むため、バッフ
ァ・プールのログ全体を走査しなければならない(すな
わち、解析パスが必要な)ことであった。これは本発明
と対照的であり、本発明では、上述のようにMINBUFLSN
及びLOWTRANLSNの値が周期的に決定されてログ・レコー
ドに書き込まれ、解析パスの必要はない。
従来技術では、MINBUFLSN及びLOWTRANLSNの実際の瞬
時値は、本発明に従って最後にログに書き込まれた値よ
りも新しく、したがって一層最適な回復点をもたらす
が、本発明のものは、解析パスを必要とせず、回復の際
にただちに使用可能である。
C.発明が解決しようとする問題点 したがって、上記のことを念頭に置けば、柔軟なチェ
ックポイント処理のための新規な方法が望まれていたこ
とは容易に明らかである。上記のシャドー法の欠点を回
避しながら、同時にサブページの同時性とデータ・ペー
ジにおける複数ページ・トランザクションからの回復を
実現する技術が望まれていた。さらに、この技術をサポ
ートするために実行時に必要なオーバヘッドの点で特に
迅速かつ効率的で、かつ回復時に分析段階が不要な、デ
ータベース回復のためのシステム及び方法が望まれてい
た。
D.問題点を解決するための手段 コンピュータ化ルーチンで実現された機能MINBUFLSN
及びLOWTRANLSNが定義され、チェックポイントの第1及
び第2成分を含む。MINBUFLSNは、機能的にRAMバッファ
内の最初の「汚れた」データ・ページに対する第1の更
新に関係している。LOWTRANLSNHは、機能的に各更新が
コミットされていないトランザクションに対応するよう
になった、トランザクション・テーブル中のシーケンス
の最初の更新に関係している。これら2つの成分は先行
書込み中に定期的に取り出されて、ロギング活動の関数
としてログ・ヘッダに記憶される。回復時には、チェッ
クポイントが検索され、回復アルゴリズムでその成分間
の機能比較が用いられる。従来の回復ログの解析パスは
不要となり、ロギング中のオーバヘッドが減少し、かつ
回復の効率が高まる。
E.実施例 本発明を記述するため、以下で使用するいくつかの用
語及び概念、及び使用されるシステム及び方法の簡単な
概説を示す。その後に、図面を参照しながら本発明の動
作についてさらに詳細な説明を行なう。
先行書込みロギング・プロトコルを用いるデータベー
スの技術では、以下の用語が通常使用される。
データ・ページ:この用語は、ユーザ・データを含む一
定の大きさの記憶ブロックを指す。そのようなデータ・
ページはRAMバッファ等ある形の2次記憶域にページ・
インすることができる(それらデータ・ページはシステ
ム・クラッシュの場合には失われる)。または、これら
のページをハード・ディスク・ファイル等通常の形の1
次記憶域にページ・アウトすることができる(それらの
ページはシステム・クラッシュの場合にも保持され
る)。バッファ内のデータ・ページはそれに対する最新
の更新を含むが、ハード・ディスク上のデータ・ページ
の古いコピーは、そのページに対する最新の更新を含ま
ないことがあり得る。
ログ・レコード:ログ・レコードという用語は、単一
のデータ変更の前後のイメージを共に含むレコードを指
す。このログ・レコードは通常、ログ・レコードに含ま
れる情報を使ったデータ更新の再実行及び取消しを可能
にするために使用される。
回復ログ:これは、データベースのデータ・ページに
対して加えられたすべての変更を、それらが実行された
順序で記録する一連の(すぐ上で説明した)ログ・レコ
ードを指す。回復ログを参照することにより、回復処理
はデータベースを整合状態に復元することができる。
ログ順序番号:回復ログ内の上記の各ログ・レコード
は、固有のログ順序番号(LSN)を使って識別される。
ログ・レコードのLSNとは、ログ・レコードの最初のバ
イトの、ログの論理的開始部分からの論理的バイト・オ
フセットである。
先行書込みロギング:データ・ページが更新または
「汚された」とき、その更新は、対応する識別LSNを有
するログ・レコードを生成する。データ・ページはまた
このLSNで更新される。「汚れた」データ・ページはど
れも、そのページに加えられた最後の更新を記録したロ
グ・レコードのLSNを含む。このようにして、データ・
ページは、その対応するLSNによって識別されるログ内
の特定の点と関連づけられ、このLSNより後のすべての
ログ・レコードは、対応するその特定ページを参照しな
いようになる。「汚れた」データ・ページがディスクに
書き出されるとき、先行書込みロギング・プロトコル
は、回復ログが書き込むべきページ上のLSNによって識
別されるログ・レコードまで、あらかじめディスクに書
き込まれていなければならないと指定する。この手順に
より、そのページに対する変更を記録するすべてのログ
・レコードがディスク上にすでに書き出される前に、デ
ータ・ページがディスクに書き出されないことが保証さ
れる。したがって、回復の場合、それによってデータベ
ースを整合状態に復元することができる。
MINBUFLSN:データベースRAMバッファはいつでも0ま
たは1つ以上の「汚れた」ページを含む。バッファが1
つ以上の「汚れた」ページを含む場合、最も古いペー
ジ、すなわち、他のどの「汚れた」ページよりも前に更
新されたページが1つ存在する。このページに対する最
初の更新のLSNを、本明細書ではMINBUFLSNとして定義す
る。MINBUFLSNは、必ずしもそのページに書き込まれるL
SNと同じではないが、そのページに対する最初の更新の
LSNであることに留意されたい。(それは2番目の更新
まで同じである。) MINBUFLSNパラメータが重要なのは、ログされた動作
が再実行される必要があるログ内の最初の点を識別する
ためである。なぜならば、以前のログ・レコードと関連
したデータ・ページはすでにディスクに書き出され、も
はやバッファ内にないからである。「汚れた」ページが
バッファにないときは、次に使用可能な、すなわち空い
ているLSNがMINBUFLSNとして使用される。なぜならば、
このLSNは、バッファ・ページに対する書込みを行なう
ことができる最初の場所だからである。
LOWTRANLSN:これは、最も古い作動時トランザクショ
ンによって書かれた最初のログ・レコードのLSNであ
る。言い換えると、これは、まだ作動中のトランザクシ
ョンによって書かれた任意のログ・レコードの最小のLS
Nである。LOWTRANLSNは、それよりも前には作動時トラ
ンザクションが現われないというログ内の点を識別す
る。
上記のことを念頭に置いて、次に本発明の全体的概念
について概説する。上記MINBUFLSN及びLOWTRANLSNが定
期的に決定され、ログ・ファイル・ヘッダのRAMバージ
ョンに書き込まれる。ディスクに書き込まれた最後のロ
グ・レコードのLSNも更新される。次にログ・ファイル
・ヘッダがディスクに書き込まれる。これらの活動が、
本発明のチェックポイント・システム及び方法の通常の
実行時オーバヘッドとなる。MINBUFLSN及びLOWTRANLSN
を維持するには、比較的小さなオーバヘッドしか必要と
せず、チェックポイント(MINBUFLSN、LOWTRANLSN)を
含むログ・ファイル・ヘッダを書く際の不定期的なディ
スク入出力も同様に小さなオーバヘッドしか必要としな
いことに留意されたい。
データベースの回復が必要となったとき、ログ内の開
始点STARTLSNが、LOWTRANLSNとMINBUFLSNの最小値とし
て求められる。STARTLSNが、ディスクに書き込まれた最
後のLSNよりも小さい場合、回復は完了し、さもない場
合は回復は必要でない。しかし、さらに、LOWTRANLSNが
MINBUFLSNよりも小さい場合は、ログされた更新が適用
されたので、LOWTRANLSNとMINBUFLSNの間での回復中に
データ・ページを読み込む必要はない。これを従来技術
と比較すると、従来技術では本発明とは異なりこのよう
なLSNは周期的に決定され記憶されることがないので、
これらのLSNの値を決定するだけのためにログ・レコー
ドの全体を走査しなければならない。すなわち、従来技
術では解析パスはログ・レコードの全体について必要で
あった。これに対し、本発明では、これらのLSN(すな
わち、MINIBUFLSNとLOWTRANLSN)はログ・レコードの書
き込みの活動状態に基づいて周期的に決定され記憶され
る。そして、LOWTRANLSNがMINIBUFLSNよりも小さい場合
はLOWTRANLSNとMINIBUFLSNとの間で回復が行われるが、
LSNが周期的に決定され記憶されているので、その回復
中にLSNの検査のためにわざわざデータ・ページを読み
込む必要がない。このように本発明では従来の解析パス
が不要となる。そこでLOWTRANLSNがMINIBUFLSNよりも小
さい場合にLOWTRANLSNとMINIBUFLSNとの間で行われる回
復のことを従来の解析パスと区別するために本明細書で
は便宜上「ミニ解析」と呼ぶことにする。なお、MINIBU
FLSNに達した後、通常の回復再実行処理が再開する。
第1図をまず参照すると、本発明によれば、ブロック
10及び12で示すように、MINBUFLSN及びLOWTRANLSNから
なるチェックポイントが周期的に作成され、次に、ブロ
ック14で示すように、ハード・ファイルや固定ディスク
等の永続記憶装置のログ・ファイル・ヘッダにやはり周
期的に書き出されることを想起されたい。線16は、この
線よりも上のチェックポイントを取り出して記憶する処
理と、この線よりも下側のシステム・クラッシュ後にそ
のようなチェックポイントを使ってデータベースの回復
を容易にする処理との間の機能上の区別を概念的に示す
ためのものである。以前に取り出され記憶されたチェッ
クポイントを検索して以下でさらに詳しく説明する回復
処理で使用するという、これら後者の回復方法をブロッ
ク18で総称的に示す。
次に第2図を参照すると、MINBUFLSNの概念が概念的
に示されている。データ処理システムのRAMバッファ20
の形の2次記憶域は、複数のデータ・ページ22及び24を
含む。これらのページの一部22は「クリーン」であり、
他のページは「汚れた」ページ24であって、更新が、こ
れらの更新の前後のイメージを示す相関ログ・レコード
と共にそれらのページに書き込まれている。「汚れた」
各ページには、それぞれのページの状況を「クリーン」
から「汚れた」に変化させるログ書込みの固有のLSN26
が関連づけられている。前述のように、MINBUFLSNは最
も古いページのLSN、すなわち、他のどの「汚れた」ペ
ージの更新よりも先に更新されたページのLSNである。
バッファ20に「汚れた」ページがないときは、次に使用
可能な、すなわち空いているLSNがバッファ・ページに
対する書込みを行なうことができる最初の場所であるの
で、そのLSNがMINBUFLSNとして使用される。
したがって、第2図の例では、「汚れた」ページ24に
は、昇順に5、7、10、11及び16のLSNが関連づけられ
ている。LSNが時間的に昇順に割り当てられているの
で、最小のLSNが最初の関連ページを示す。参照番号28
で示したMINBUFLSNの定義によれば、この例では、MINBU
FLSNは、最小の順序番号、すなわち参照番号30で示した
5である。5のLSNに関連する「汚れた」ページ24がデ
ィスクに書き出される場合、そのページはそれに応じて
RAMバッファ20から消える。第1図のブロック10で示す
処理によれば、新しいMINBUFLSN(詳しくは以下に説明
する第5図に示す)を周期的に取り出す際に、次のチェ
ックポイントをディスクに書き込む前に、バッファ20内
の「汚れた」ページと関連する最小のLSN、すなわちMIN
BUFLSN28を求めて、バッファ20内のページに対応するLS
N(すなわち、この例では、5、7、10、11及び16)の
リストが周期的に走査される。したがって、5のLSNに
関連するこの「汚れた」ページが書き出され、バッファ
20から消えた場合は、この走査に基づいて、7のLSNが
新しいMINBUFLSN28として5のLSNに置き換わり、7のLS
Nに関連する「汚れた」ページ24を、バッファ20内の新
たに指定された最も古い「汚れた」ページとしてマーク
する。
次に第3図を参照すると、トランザクション・テーブ
ル32の概略図が示されている。この図は、データベース
・システムのトランザクション管理機能では、まだ作動
中のトランザクションと関連して書き込まれたログ・レ
コードを記録することが一般的であることを概念的に示
すためのものである。トランザクション・テーブル32に
通常保持される値の1つはLSN34である。トランザクシ
ョンが最初にログ・レコードを書くとき、そのログ・レ
コードのLSNがトランザクション・テーブル34に書き込
まれ記憶される。(ログ・レコードは、データベースに
対する更新を記録するためトランザクションによっての
み書かれる。一部のトランザクションは決して更新せ
ず、読み取るだけである。トランザクションは、更新を
行なうまで、「読取り」トランザクションと呼ばれる。
読取りトランザクションはログ・レコードを書いていな
いので、LSNが関連づけられていない。第3図の例は、
最初のトランザクション書込み欄34を「R」、すなわち
読取り(参照番号36)が占めていることを示す。なぜな
らば、これらのトランザクションと関連するLSNがない
からである。) 第3図の説明図を引き続き参照すると、特定のトラン
ザクションがその最初のログ・レコードを書き、テーブ
ル34で14の値を有するLSN38がそれに関連づけられる。
別のトランザクションが、同様にその最初のログ・レコ
ードを書き、テーブル34に示すように、18の値を有する
LSN38がそれに関連づけられる。LOWTRANLSNが最も古い
作動時トランザクションが書いた最初のログ・レコード
のLSNである、すなわち、LSNが時間的に昇順に割り当て
られているので、そのトランザクションが書いた任意の
ログ・レコードの最小のLSNであることを上記のことか
ら想起されたい。したがって、第3図に関して、定義に
より、LOWTRANLSN40はトランザクション・テーブル34の
すべてのLSNの最小値、すなわち、ログ・レコードを書
いた書込みトランザクションとそれぞれ関連づけられて
いる順序番号10、14及び18の列の最小値である。したが
って、LOWTRANLSN40は、参照番号42として示す値10であ
り、これは、テーブル34に記録された各トランザクショ
ンについて書かれた最初のLSNを含む欄34におけるすべ
てのLSNの最小値である。
特定の時点でバッファ20またはテーブル34にLSNが存
在しない場合は、LOWTRANLSN及びMINBUFLSNは、次に使
用可能なログ・レコードの値に対応する値を割り当てら
れる。この値はもちろん、単調に増加するLSNの性質の
ため、第4図及び第5図の手順に従って後で決定される
MINBUFLSNまたはLOWTRANLSNに等しいかまたはそれより
も大きい。
要約すると、第2図及び第3図に関連して、バッファ
・ページ(ディスクに書き込まれ、またはディスクから
書き出される入出力ページの単位)に対する書込みがデ
ータベースで行なわれるとき、ログ・レコードが作成さ
れる。このログ・レコードには、データベース・システ
ムに対するレコードを一義的に識別し、かつデータ・ペ
ージに対するその特定の入出力書込みを一義的に識別す
るLSNが関連づけられる。LSNはその後で「汚れた」ペー
ジを「タグ」づけするために使用され、「汚れた」ペー
ジに関連するそのようなLSNのリストが作られる。ペー
ジが最初に「汚された」(すなわち、そのページに対し
て最初の入出力書込みが行なわれた)とき、LSNが作成
される。(LSNはもちろん、書込みが行なわれるときは
いつでも作成されるが、そのような最初の書込みが常に
ある。)最初の書込みに関連するこの最初のLSNが、バ
ッファ20内の「汚れや」ページLSNのリストに入れられ
る。したがって、リストには、その時点でバッファ・プ
ールに現存するすべてのページについて、当該の「汚れ
た」ページに対してログのどこで最初の書込みが行なわ
れたかを示す識別子であり、そのような識別子またはLS
Nが「汚れた」各ページと関連づけられている。
LSNは、順序番号を時間的に昇順に割り当てられるの
で、すでに存在するどのLSNも、定義により、新たに割
り振られるどのLSNよりも小さくなければならない。し
たがって、MINBUFLSNの値は、新たに割り振られたLSNに
等しいかまたはそれよりも小さい。バッファ・ページが
ディスクに書き出される場合、それと関連するLSNがバ
ッファ20の「汚れた」ページのLSNリストから除去され
る。同様に、バッファ20内に新たに読み込むことができ
る「クリーン」ページがその最初の書込みをディスクに
対して行なった場合は、それに応じてそのページにLSN
が割り当てられる。したがって、それに応じてバッファ
・プールに対して変更または追加があると、「汚れた」
ページと関連するLSNのリストが周期的に変更される。
次に第4図を参照して、通常のデータベース動作中の
チェックポイントのLOWTRANLSN成分の導出及び維持につ
いてさらに詳しく説明する。
第4図を参照して、通常のデータベース動作中にLOWT
RANLSNの値を取り出して維持するための方法を以下に詳
述する。最初に、44で、LOWTRANLSNはログ内の次に使用
可能なLSNに初期設定される。データベースの始動時に
は、作動的書込みトランザクションのLSNのリストは空
であることに留意されたい。したがって、LOWTRANLSNは
ログ内の次に使用可能なLSNに初期設定される。トラン
ザクションが現われてログ・レコードを書くと、対応す
るログ・レコードを識別するLSNが作成される。したが
って、46で、サブルーチンは、そのようなトランザクシ
ョンが対応する第1のログ・レコードを書くのを待つ。
この事象が発生すると、それによって定義された新しい
LSNが、48で第3図の例に示すような書込みトランザク
ションのLSNのリストに加えられる。新たに追加されたL
SNは、もちろんLOWTRANLSNに等しいかまたはそれよりも
大きくなければならない。なぜならば、LSNは昇順に順
次割り振られるからである。したがって、再計算の必要
はない。
第3図に示すようなLSNのリストが空でなくなると、
リストに対する次の変更は、その対応するトランザクシ
ョン(LSNを生じる)が終了したときのLSNの除去、また
はトランザクションがその最初のログ・レコードを書い
たときのLSNの新たな追加のいずれかである。したがっ
て、50で、処理は、リストに対するLSNの次の追加また
はLSNの削除を待つ。次に52で、LSNリストに対する変更
がLSNの追加であるかどうか検査が行なわれ、そうであ
る場合は、処理は54でループして48に戻り、追加のLSN
をリストに加える。一方、52でリストに対する変更が削
除である場合は、そのような削除によってLSNリストが
再び空になり、それがブロック58で判定される。リスト
が空になった場合は、処理は60でループして戻り、44で
LOWTRANLSNを次に使用可能なLSNに再び初期設定する。
一方、リストが空にされなかった場合は、処理は62で判
断ブロック58を出てブロック64に進む。ブロック64で
は、LSNリストは依然として削除後のメンバーを含む
が、現在リストにあるすべてのLSNのうちの最小のLSNを
決定することによってLOWTRANLSNの値が更新され、この
最小のLSNが次に新しいLOWTRANLSNになる。処理は次に6
5で戻り、50でリストに対する次の追加またはリストか
らの次の削除を待つ。
次に第5図を参照して、通常のデータベース動作中に
MINBUFLSN値を維持するための方法についてさらに詳し
く説明する。データベースの始動時には、第2図の説明
図でRAMバッファ20に示すような「汚れた」バッファ・
ページに対応するLSNのリストが空になる。したがっ
て、66に示すように、MINBUFLSNをログ内の次に使用可
能なLSNに初期設定しなければならない。バッファ・ペ
ージが初めて書かれる、すなわち「汚される」とき、そ
のページを最初に「汚した」そのページに対する書込み
に対応するログ・レコードを識別する対応するLSNが作
成される。したがって、68で、ルーチンは、トランザク
ションが最初のバッファ・ページを「汚す」のを待ち、
対応するLSNを生成する。第2図に示すようなリストに
新たに追加されたLSNは、以前のどのMINBUFLSNよりも大
きいかまたは等しくなければならない。これは、LSNは
昇順に順次割り振られるからであり、したがって、再計
算の必要はない。70で、「汚れた」バッファ・ページの
LSNのリストに新しいLSNが追加される。
LSNのリストが空でなくなると、対応する「汚れた」
バッファ・ページが書き出されるときのLSNの除去、ま
たは、バッファ・ページ内のページが「汚される」とき
に生じるLSNの新たな追加のいずれかから、リストに対
する次の変更が生じる。したがって、72で、処理は、
「汚れた」ページに対応するLSNリストに対する次のそ
のような追加、または次のそのような削除を待つ。74
で、リストに対する変更が追加なのか、それとも削除な
のかを判定するために検査が行なわれる。追加の場合
は、ルーチンは76で70に戻り、新しいLSNをリストに追
加する。一方、リストに対する変更が削除である場合
は、処理は78で74における検査から出て、次の検査80に
進む。LOWTRANLSNに関する処理の場合と同様に、リスト
からの削除によってはリストが再び空になる可能性があ
り、それが80で検査される。リストが空である場合は、
84でルーチンを出て、66の初期状態に戻る。一方、リス
トが空でない場合は、処理は82で検査80から出てブロッ
ク86に進む。削除後に、LSNリストがまだメンバーを含
む場合は、MINBUFLSNの値を更新する必要がある可能性
がある。したがって、86で、「汚れた」ページに対応す
るリスト内のLSNの最小値が決定され、新しい値としてM
INBUFLSNに割り当てられ、処理は88でループして戻り、
72でリストに対する次の変更を待つ。
MINBUFLSN及びLOWTRANLSNの値を、第5図及び第4図
に関連して詳述した相関処理によって第1図の10及び12
で維持する場合、第1図の14で示すように、通常の動作
中にチェックポイントのこれらの成分を周期的に記憶す
ることが望ましい。この次に第6図に関連して、チェッ
クポイントのディスクへの書出しについて、さらに詳細
に説明する。
データベースが最初に始動されるとき、90で、LOWTRA
NLSN及びMINBUFLSNの値が、ログ内の次に使用可能なLSN
に初期設定される。MINBUFLSNとLOWTRANLSNからなるチ
ェックポイントが、ときどき記憶されて回復のために使
用可能となることが本発明の特徴であり、そのような記
憶は通常、ディスクへの周期的書込みの形を取る。92
で、サブルーチンは、この記憶ステップの前に1つのロ
グ・レコードについて各々n回のログ書込みが行なわれ
るのを待つ。だだし、nはチェックポイントの効率が最
適となるように選択される。たとえば、ログ・レコード
が1回書き込まれるデータ・ページの更新では、n=1
である。別のトランザクションが生じて対応するログ・
レコードが書かれる場合は、n=2である。データベー
スの通常動作中、処理は、値nに達するまで、そのよう
なログ書込みの数、またはLSNの対応する番号を単にカ
ウントするだけである。94で、LOWTRANLSN及びMINBUFLS
Nの値がログ・ファイル・ヘッダに書かれる。処理は、
次に96でループして92に戻り、新たに取り出される次の
チェックポイント(すなわち、MINBUFLSN及びLOWTRANLS
Nの次の現在値)が94でログ・ファイル・ヘッダに次に
書かれる前に、ログ書込みのnカウントを再び累計し始
める。
したがって、一般的概念は、ログが成長し続けるにつ
れてときどきチェックポイントを取り、このチェックポ
イントをディスクに書き込みことである。ログが成長す
るにつれて、ログ・ファイル・ヘッダ内のチェックポイ
ント値は古くなり、最適でなくなる。しかし、明らか
に、ログに対する追加の書込みが行なわれた場合は、チ
ェックポイント値は同じ最適性を維持する。
nの選択に関して、ログ・ファイル書込み活動の何ら
かの手段を使って、チェックポイントを取る間隔を決定
することが望まれる。本明細書に記述する実施例では、
これは、ログ書込み回数nをカウントすることによって
行なわれ、この値が、後続のチェックポイントの決定と
ログ・ファイル・ヘッダへのチェックポイントの書込み
の間の間隔を決定する要素になる。しかし、本発明はロ
グ・ファイル活動の特定の測定基準に限定されるもので
はなく、他のnの決定要素を代わりに使用できることを
了解されたい。たとえば、別法では、そのようなログ活
動の測定基準を、単にログに書かれるバイトの数のカウ
ントとすることができる。この場合、間隔はより正確に
なるが、この値を維持するための費用及びオーバヘッド
が増大する。したがって、入出力の数、ログに書かれる
バイトの数等を用いてログ・ファイル活動を測定する必
要が生じるが、本発明は特定のログ活動測定基準に限定
されるものではなく、当技術で周知であるいくつかのそ
のような技術を使用することを意図している。さらに、
アプリケーションによっては、チェックポイントの周期
的記憶を起こす機能の選択を外部で行なうことが望まし
いこともあると想定している。そのような事例の1つで
は、ユーザは、nの値、または正確に言えばnが何の測
定基準であるか等の構成パラメータをユーザ・インター
フェースで随意に変更することができる。基本的概念
は、チェックポイントを周期的に取り出し、ログ活動の
何らかの測定基準の関数として記憶することである。
第1図を再び参照すると、MINBUFLSN及びLOWTRANLSN
が参照番号10及び12、ならびに第5図及び第4図の対応
する手順に従って決定され、さらに、これらのMINBUFLS
N及びLOWTRANLSN値を含むチェックポイントが、第6図
に関連して詳述した手順に従って14で書き出された後、
ログされたそのようなチェックポイントが役立つのは、
クラッシュ後にシステム回復のためにそれを後で使用す
る際である。したがって、次に第1図に参照番号18で示
したチェックポイントのそのような使用について第7図
の処理に関してさらに詳しく説明する。チェックポイン
トを書き出す手順(第6図)に従って、MINBUFLSN及びL
OWTRANLSNに対する対応値がログ・ファイル・ヘッダに
書かれたことを想起されたい。システム・クラッシュ時
に、LOWTRANLSN及びMINBUFLSNのこれらの値が、98に示
すように、ログ・ファイル・ヘッダから取り出される。
本発明によれば、読み取られたそのようなログ・ファイ
ル・ヘッダからチェック・ポイント・パラメータを取り
出すことができることの大きな利点は、通常のログ回復
技術に付随するログ・ファイルの解析パスの必要がそれ
によってなくなることである。
第7図を引き続き参照すると、開始LSN、すなわちLOW
TRANLSN及びMINBUFLSNの最小値が回復時に決定される。
102で、この開始LSNが、ディスクに書き込まれた最後の
LSNよりも小さいかどうか検査が行なわれる。そうであ
る場合は、104でルーチンを出て118に進み順方向回復手
順が終わる。開始LSNがディスクに対する最後のLSNより
も小さくない場合は、手順は経路106に従って、108に進
み、そこで検査を行なって、LOWTRANLSNがMINBUFLSNよ
りも小さいかどうか判定する。LOWTRANLSNがMINBUFLSN
よりも小さい場合は、LOWTRANLSNから始まってMINBUFLS
Nの前の最後の更新に到るまでのログ・レコードに記録
されたすべての更新が、データベースのディスク・バー
ジョンに対して実際に加えられたことがわかり、したが
って、検査のためにデータ・ページを読み込む必要がな
い。この間隔で開始するトランザクションを記録するこ
とのみが必要である。したがって、処理は110で出て、M
INBUFLSNから始まってLOWTRANLSNの直前のログ・レコー
ドに到るまでのログ・レコードについてのみ「ミニ解
析」を行なう。このステップについては後でさらにより
詳しく説明する。ログ・レコードが、MINBUFLSNと関連
するLSNを超え(たことが、ブロック108からの経路112
またはブロック114からの脱出によって示される)る
と、更新が実際に適用されたかどうか知るためにディス
クからデータ・ページを読み込むことが必要であり、こ
のステップはMINBUFLSNにおける完全順方向回復116と呼
ばれる。その後、処理は118に進み、順方向回復が終わ
る。
114に示した「ミニ解析」に関係するステップに戻る
と、上記のことから、LOWTRANLSNとMINBUFLSNの間のロ
グ・レコードに等しいかまたはそれよりも大きい一連の
ログ・レコードが存在することがわかる。さらに、LOWT
RANLSNから始まってMINBUFLSNで識別されるログ・レコ
ードの前で終わるログ・レコードにログされたすべての
更新が、ディスクに書き込まれたことがわかる。最小の
LSN(すなわち、LOWTRANLSNと同時に決定されるMINBUFL
SN)がLOWTRANLSNよりも大きい場合は、ディスクに書き
込まれていない最初のデータ変更を識別するLSNがMINBU
FLSNである。LOWTRANLSNから始まってMINBUFLSNに到る
ログされた動作はすべてディスクに書き出された。そう
でない場合は、それらの動作は、MINBUFLSNを計算する
ために使用される「汚れた」ログ・レコードのLSNのリ
スト中に存在し、したがって、MINBUFLSNはLOWTRANLSN
よりも小さいかまたはそれに等しくなる。その場合、第
7図の処理は「ミニ解析」フェーズを実行することがで
き、このフェーズでは、従来の先行書込みログ・チェッ
クポイント法とは違って、データ・ページを読み込む必
要はない。これは、ログ・レコードによって参照される
それらの更新が外部のディスク上にあることがわかって
いるからである。MINBUFLSNがLOWTRANLSNよりも小さい
ときは、この事実は知られず、処理は、データ・ページ
を取り込むことを強制される。
データ・ページは、そのデータ・ページに対して加え
られた最後の更新のLSNを含む。ログ・レコードのLSNが
データ・ページ上のLSNよりも大きい場合は、更新ログ
が外部のディスクに対して適用されておらず、再適用し
なければならないことがわかる。データ・ページ上のLS
Nが、処理が現在あるログ・レコードのLSNに等しいかま
たはそれよりも大きい場合は、更新が実際に加えられた
ことがわかる。これは当技術では完全再実行と呼ばれ、
順方向回復または再実行フェーズでログ・レコードが処
理されるたびにページ入出力が必要となるので、費用が
かかる。
それとは対称的に、本発明の技術は、MINBUFLSNに達
するまで、そのような入出力の必要がなくなる。多くの
場合、LOWTRANLSNとMINBUFLSNの間に多数のログ・レコ
ードが存在する。したがって、LOWTRANLSNがMINBUFLSN
よりも小さい場合、再実行中にそれらのログ・レコード
を調べるとき、ページ入出力をなくすことができる。入
出力の実行は必要でなく、新しいトランザクションの開
始を探すことだけが必要である。従来のチェックポイン
ト技術の解析フェーズでは、新しいトランザクションの
開始点を決定するために状態情報を調べた。本発明で
は、MINBUFLSNとLOWTRANLSNを記憶することによって解
析フェーズが不要となり、解析フェーズを実際に実行す
る必要なしに解析フェーズの利点のいくつかがほぼ実現
される(そこから、「ミニ解析」という用語が出てき
た)。本方法のもとでは、ログが処理される。また、MI
NBUFLSNがLOWTRANLSNに等しいかまたはそれよりも小さ
いある種の場合では、付随ページ入出力を伴う完全再実
行が必要とされる。しかし、本発明によれば、特定のロ
グ間隔に関して高価な入出力が必要とされない可能性が
見込まれる。
わかりやすくするため、LOWTRANLSN及びMINBUFLSNを
維持するための第4図及び第5図のルーチンの呼出しプ
ログラムは省略した。しかし、明らかなように、トラン
ザクション状態のレコードを追加、削除及び更新する際
のトランザクション管理機能の一部としてこれらのサブ
ルーチンを維持するために、データベース管理機構の一
部として、当技術で周知の適当なトランザクション管理
機構が設けられる。
同様に、「汚れた」ページのLSNリストを追加、削除
及び維持するためのルーチンの呼出しプログラムと、第
2図及び第3図に示したトランザクション・テーブル中
のLSNのリストも省略した。しかし、バッファが取り込
まれページ・アウトされるとき、これらの「汚れた」ペ
ージのLSNリスト及びLSN値を追加、削除及び維持する機
能を実行するために、当技術で周知の通常のバッファ・
プール管理機能も設けられる。したがって、たとえば、
第6図のブロック94に従って新しいチェックポイントを
書くときに、対応するMINBUFLSN及びLOWTRANLSN値を、
上記バッファ・ループ管理機能によって維持されている
記憶位置から回収することができる。
最後に、第8図を参照すると、本明細書に記載する処
理を実行するための関連ソフトウェアを備えたマイクロ
プロセッサからなる本発明のデータベース・システム12
0が示されている。このシステムは、IBMパーソナル・シ
ステム/2ファミリーのコンピュータに関連するアーキテ
クチャ等の通常のパーソナル・コンピュータ・アーキテ
クチャの態様で構成することが好ましい。そのようなコ
ンピュータ・システムには、インテル80386マイクロプ
ロセッサ等のマイクロプロセッサ132が設けられてい
る。マイクロプロセッサ132と、メモリ126、ROM128及び
各種の入出力装置130によって実現されるいくつかの関
連機能との間に接続するために、バス134が設けられて
いる。バスは、1本の線として機能的に示してあるが、
通常のように当技術で周知の目的用の通常のアドレス線
とデータ線と制御線を含むことを認識されたい。
簡単にするため、装置126、128及び130は、マイクロ
プロセッサ132との間のアダプタ・インターフェースな
しに示してあるが、それらの装置は周知の目的のため、
パーソナル・システム/2の一部として、または差込み式
別売品として設けられている。
読取り専用メモリ(ROM)128は基本入出力オペレーテ
ィング・システム(BIOS)を内蔵する。これはマイクロ
プロセッサ132によって実行され、システム120の基本動
作を制御する。OS/2等のオレレーティング・システム12
4は機能的に示してあり、ROM128内のBIOSと共に通常の
方法で稼働するが、オペレーティング・システム124用
のソフトウェアは通常、他のメモリ126に記憶される。
入出力装置130はオペレータ入入力用のキーボード、マ
ウス等、ならびにシステムの視覚出力をユーザに提供す
るためのIBM PS/2カラー表示装置8514等の表示装置を含
むことができる。メモリ126は、ディスク及び関連のデ
ィスク駆動機構、1つまたは複数のディスク・ファイル
等の種々の媒体の形を取ることができる。
本発明の教示を実現するのに適した適当なハードウェ
ア及びオペレーティング・システム・ソフトウェアに関
するより詳しい情報は、以下の文書に記載されている。
ヤコブッチ(Iacobucci)編「OS/2プログラマの手引き
(OS/2Programmer′s Guide)、マグローヒル、1988
年;「技術解説書パーソナル・システム/2(50型、60型
システム)(Technical Reference Manual,Personal Sy
stem/2(Model50,60Systems))」、IBM社、部品番号68
X2224、資料番号S68X2224;及び「IBMオペレーティング
・システム/2 バージョン1.0標準版技術解説書(IBM O
perating System/2 Version 1.0 Standard Edition Tec
hnical Reference)」、IBM社、部品番号6280201、資料
番号5871−AA。これらの文書を、引用により本明細書に
組み込む。
本発明によれば、オペレーティング・システム124の
他に、図に示したデータベース・プログラム等のアプリ
ケーション・プログラム122もメモリ126にロードされ
る。データベース・プログラム122は、当技術で周知の
ものなどいくつかの関係データベース・ルーチンの他
に、第5図、第4図、第7図及び第6図に関連して前述
した処理を実現するためのコンピュータ・プログラム・
ルーチン136、138、140及び142を含む。データベース・
プログラム122は一般に、システム120に関係データベー
ス機能を実行させるための命令をマイクロプロセッサ13
2に与える。したがって、ユーザは、プログラム122の実
行によって表示入出力装置130上に生じる出力に応答し
て、各種の入出力装置130を介してシステムと対話する
ことができる。
コンピュータ化された機能136−142に関連して、MINB
UFLSN及びLOWTRANLSNの値は順方向処理中にルーチン136
及び138によって周期的に決定される。これらの値はチ
ェックポイント書込みサブルーチン142に応答して、周
期的にメモリ126に書き出される。これらのLSN値がメモ
リ126にログされることに加えて、システム120のメモリ
126にあるデータベースに対する変更及び更新(入出力
装置130を介して入力される)も、メモリ126に記憶され
た回復ログにログされることは明らかなはずである。回
復時には、システム120がデータベース・プログラム122
の使用されるチェックポイント・ルーチン140部分を使
って、第7図に関連して前述した方式でMINBUFLSN及びL
OWTRANLSNの値を取り出して、マイクロプロセッサ132
に、MINBUFLSN及びLOWTRANLSN値に機能的に応答して、
メモリ126の適当な位置にあるデータベースの回復を制
御させる。
【図面の簡単な説明】
第1図は、本発明のシステム及び方法の主な機能構成要
素を示すブロック・ダイヤグラムである。 第2図は、バッファ内のデータ・ページと関連するMINB
UFLSNとLSNの関係を示す、データベースのRAMバッファ
の概念図である。 第3図は、トランザクション・テーブルで示されるトラ
ンザクションと関連するLOWTRANLSNとLSNの関係を示
す、データベースと関連するトランザクション・テーブ
ルの概念図である。 第4図は、第1図のブロック12に示すような、通常のデ
ータベース動作中にLOWTRANLSNを取り出して維持するた
めの方法を示す流れ図である。 第5図は、第1図のブロック10に示すような、通常のデ
ータベース動作中にMINBUFLSNを取り出して維持するた
めの方法を示す流れ図である。 第6図は、第1図のブロック14に示すような、それぞれ
第1図のブロック12及び10に対応する第4図及び第5図
に示す方法によって作成されたチェックポイント(MINB
UFLSN、LOWTRANLSN)を記憶するための方法を示す流れ
図である。 第7図は、第1図のブロック10及び12で作成され、かつ
第1図のブロック14に記憶されたチェックポイントを使
用したデータベース回復の開始をさらに詳細に示す流れ
図である。 第8図は、本発明の回復機能を備えたコンピュータ化さ
れたデータベース・システムの概略構成図である。 120……データベース・システム、122……データベース
・プログラム、124……オペレーティング・システム、1
26……メモリ、130……入出力装置、132……マイクロプ
ロセッサ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−245348(JP,A) 「IBM System Journa l」Vol.23 No.2(1984)P. 178−188

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】プロセッサとメモリを有するデータベース
    ・システムにおいて、 (a)複数の更新されたデータ・ページに対応するデー
    タを前記メモリに記憶するステップと、 (b)前記更新されたページのうち、更新時期が最も古
    いページの第一の標識を前記データから取り出すステッ
    プと、 (c)作動時データベース・トランザクションのそれぞ
    れに対応するログ・レコードを前記メモリに記憶するス
    テップと、 (d)前記作動時データベース・トランザクションのう
    ち、最も古い作動時データベース・トランザクションに
    よって書かれた第二の標識を前記記憶されたログ・レコ
    ードから取り出すステップと、 (e)前記第一および第二の標識に基づいてチェックポ
    イントを取り出すステップと、 (f)前記チェックポイントを前記メモリに記憶するス
    テップと、 (g)複数のログ・レコードを前記メモリの回復ログに
    書き込むステップと、 (h)前記ログ・レコードの前記書き込みの頻度を測定
    し、該測定に基づいて複数のチェックポイントを書き込
    むステップと、 (i)前記メモリに記憶された前記チェックポイントの
    うちの一つから前記第一の標識及び第二の標識を検索す
    るステップと、 (j)前記検索された第一の標識および第二の標識を比
    較するステップと、 (k)前記第二の標識が前記第一の標識と等しいかまた
    は大きいとき、前記第一の標識によって関連付けられる
    前記回復ログにおけるポイントから前記データベース・
    システムによって前記データベースの順方向の回復を開
    始するステップと、 から成るデータベースの回復方法。
  2. 【請求項2】前記ステップ(h)において、前記ログ・
    レコードの書き込みの頻度が前記回復ログへの前記ログ
    ・レコードの書き込み回数であって、前記回数の測定が
    所定数Nを計数することによって行われる請求項(1)
    記載のデータベースの回復方法。
JP1025964A 1988-04-08 1989-02-06 データベースの回復方法 Expired - Fee Related JPH0833860B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/179,194 US5043866A (en) 1988-04-08 1988-04-08 Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery
US179194 1988-04-08

Publications (2)

Publication Number Publication Date
JPH01263745A JPH01263745A (ja) 1989-10-20
JPH0833860B2 true JPH0833860B2 (ja) 1996-03-29

Family

ID=22655615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1025964A Expired - Fee Related JPH0833860B2 (ja) 1988-04-08 1989-02-06 データベースの回復方法

Country Status (5)

Country Link
US (1) US5043866A (ja)
EP (1) EP0336549B1 (ja)
JP (1) JPH0833860B2 (ja)
BR (1) BR8901649A (ja)
DE (1) DE68922431T2 (ja)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121486A (en) * 1987-11-20 1992-06-09 Hitachi, Ltd Network control system for dynamically switching a logical connection between an identified terminal device and an indicated processing unit
JPH01279312A (ja) * 1988-04-30 1989-11-09 Toshiba Corp コンピュータシステム
US5136707A (en) * 1988-10-28 1992-08-04 At&T Bell Laboratories Reliable database administration arrangement
US5159669A (en) * 1988-12-15 1992-10-27 Xerox Corporation Automatically creating a second workspace operation record including history data and a unit ID based on a first workspace operation
US5253360A (en) * 1988-12-16 1993-10-12 Kabushiki Kaisha Toshiba Facsimile device having continuous operating capabilities immediately after recovery from trouble and related method
DE68927705T2 (de) * 1989-06-13 1997-07-17 Ibm Verfahren zum Entfernen unbestätigter Änderungen an gespeicherten Daten durch ein Datenbankverwaltungssystem
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
US5412801A (en) * 1990-01-17 1995-05-02 E-Net Gap recovery for off-site data storage and recovery systems
US5155850A (en) * 1990-02-23 1992-10-13 International Business Machines Corporation Method and system for maintaining a time frame selective document history log in a data processing system
JP2778786B2 (ja) * 1990-03-02 1998-07-23 富士通株式会社 データ更新・復元処理方式
US5319774A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Recovery facility for incomplete sync points for distributed application
JP3293839B2 (ja) * 1990-05-16 2002-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム
JPH0540682A (ja) * 1990-06-08 1993-02-19 Internatl Business Mach Corp <Ibm> アトミシテイを有する記憶装置の高可用性耐故障再配置
DE69126066T2 (de) * 1990-06-29 1997-09-25 Oracle Corp Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs
EP0465019B1 (en) * 1990-06-29 1997-05-14 Oracle Corporation Method and apparatus for managing state identifiers for efficient recovery
US5242955A (en) * 1990-10-30 1993-09-07 Daicel Chemical Industries, Ltd. Composition comprising polyether compounds, a process for the preparation thereof and a curable resin composition
US5287501A (en) * 1991-07-11 1994-02-15 Digital Equipment Corporation Multilevel transaction recovery in a database system which loss parent transaction undo operation upon commit of child transaction
US5280611A (en) * 1991-11-08 1994-01-18 International Business Machines Corporation Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type
US5440727A (en) * 1991-12-18 1995-08-08 International Business Machines Corporation Asynchronous replica management in shared nothing architectures
JP2710190B2 (ja) * 1991-12-31 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データ辞書の同期化を調整するための方法および装置
US5446884A (en) * 1992-02-13 1995-08-29 International Business Machines Corporation Database recovery apparatus and method
US5574897A (en) * 1992-09-30 1996-11-12 International Business Machines Corporation System managed logging of objects to speed recovery processing
US5530855A (en) * 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
US20020091850A1 (en) 1992-10-23 2002-07-11 Cybex Corporation System and method for remote monitoring and operation of personal computers
US5430871A (en) * 1992-10-27 1995-07-04 Bmc Software, Inc. Method of dynamically adding and removing DB2 active logs
GB2273180A (en) * 1992-12-02 1994-06-08 Ibm Database backup and recovery.
US5404508A (en) * 1992-12-03 1995-04-04 Unisys Corporation Data base backup and recovery system and method
SE508828C2 (sv) * 1992-12-08 1998-11-09 Ericsson Telefon Ab L M System för relationsåterhämtning av databas i händelse av fel
US5544359A (en) * 1993-03-30 1996-08-06 Fujitsu Limited Apparatus and method for classifying and acquiring log data by updating and storing log data
US5455946A (en) * 1993-05-21 1995-10-03 International Business Machines Corporation Method and means for archiving modifiable pages in a log based transaction management system
US5524190A (en) * 1993-06-04 1996-06-04 Taligent, Inc. Command object logging system for restoring documents
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5613113A (en) * 1993-10-08 1997-03-18 International Business Machines Corporation Consistent recreation of events from activity logs
US6658488B2 (en) 1994-02-28 2003-12-02 Teleflex Information Systems, Inc. No-reset option in a batch billing system
US7412707B2 (en) * 1994-02-28 2008-08-12 Peters Michael S No-reset option in a batch billing system
WO1995023372A1 (en) * 1994-02-28 1995-08-31 Teleflex Information Systems, Inc. Method and apparatus for processing discrete billing events
US5999916A (en) * 1994-02-28 1999-12-07 Teleflex Information Systems, Inc. No-reset option in a batch billing system
US6708226B2 (en) 1994-02-28 2004-03-16 At&T Wireless Services, Inc. Multithreaded batch processing system
US5668993A (en) 1994-02-28 1997-09-16 Teleflex Information Systems, Inc. Multithreaded batch processing system
US5574902A (en) * 1994-05-02 1996-11-12 International Business Machines Corporation Efficient destaging of updated local cache pages for a transaction in a multisystem and multiprocess database management system with a high-speed shared electronic store
US5561795A (en) * 1994-05-13 1996-10-01 Unisys Corporation Method and apparatus for audit trail logging and data base recovery
JPH07319738A (ja) * 1994-05-23 1995-12-08 Nec Commun Syst Ltd 差分記録方式
US5435004A (en) * 1994-07-21 1995-07-18 International Business Machines Corporation Computerized system and method for data backup
WO1996023269A1 (en) * 1995-01-23 1996-08-01 Tandem Computers Incorporated System for maintenance of database integrity
US5740433A (en) * 1995-01-24 1998-04-14 Tandem Computers, Inc. Remote duplicate database facility with improved throughput and fault tolerance
US5835915A (en) * 1995-01-24 1998-11-10 Tandem Computer Remote duplicate database facility with improved throughput and fault tolerance
US5794242A (en) * 1995-02-07 1998-08-11 Digital Equipment Corporation Temporally and spatially organized database
JP2878988B2 (ja) * 1995-06-19 1999-04-05 株式会社東芝 チェックポイント通信処理システム
JP3085899B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 マルチプロセッサシステム
US5721842A (en) * 1995-08-25 1998-02-24 Apex Pc Solutions, Inc. Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch
US6301379B1 (en) * 1996-01-17 2001-10-09 Carreker-Antinori, Inc. Electronic check presentment systems and methods employing volatile memory datastore access techniques
US5721918A (en) * 1996-02-06 1998-02-24 Telefonaktiebolaget Lm Ericsson Method and system for fast recovery of a primary store database using selective recovery by data type
KR100198805B1 (ko) * 1996-11-22 1999-06-15 정선종 분석 단계에서 트랜잭션 테이블 초기화 기법을 이용한 댕글링 트랜잭션 발생 방지 방법
US5933838A (en) * 1997-03-10 1999-08-03 Microsoft Corporation Database computer system with application recovery and recovery log sequence numbers to optimize recovery
US6182201B1 (en) * 1997-04-14 2001-01-30 International Business Machines Corporation Demand-based issuance of cache operations to a system bus
US5890154A (en) * 1997-06-06 1999-03-30 International Business Machines Corp. Merging database log files through log transformations
US6304895B1 (en) 1997-08-22 2001-10-16 Apex Inc. Method and system for intelligently controlling a remotely located computer
US20010044843A1 (en) * 1997-10-28 2001-11-22 Philip Bates Multi-user computer system
US5931955A (en) * 1997-12-15 1999-08-03 At&T Corp Method and generic automatic database recovery
US6732123B1 (en) * 1998-02-23 2004-05-04 International Business Machines Corporation Database recovery to any point in time in an online environment utilizing disaster recovery technology
US6173292B1 (en) * 1998-03-04 2001-01-09 International Business Machines Corporation Data recovery in a transactional database using write-ahead logging and file caching
EP1116086B1 (en) 1998-09-22 2007-02-21 Avocent Huntsville Corporation System for accessing personal computers remotely
US6343293B1 (en) 1998-09-24 2002-01-29 International Business Machines Corporation Storing the uncompressed data length in a LOB map to speed substring access within a LOB value
US6366902B1 (en) 1998-09-24 2002-04-02 International Business Machines Corp. Using an epoch number to optimize access with rowid columns and direct row access
US6363389B1 (en) 1998-09-24 2002-03-26 International Business Machines Corporation Technique for creating a unique quasi-random row identifier
US6694340B1 (en) 1998-09-24 2004-02-17 International Business Machines Corporation Technique for determining the age of the oldest reading transaction with a database object
US6343286B1 (en) 1998-09-24 2002-01-29 International Business Machines Corporation Efficient technique to defer large object access with intermediate results
US6606617B1 (en) 1998-09-24 2003-08-12 International Business Machines Corporation Optimized technique for prefetching LOB table space pages
US6470359B1 (en) 1998-09-24 2002-10-22 International Business Machines Corporation Fast technique for recovering an index on an auxiliary table
US6144970A (en) * 1998-09-24 2000-11-07 International Business Machines Corporation Technique for inplace reorganization of a LOB table space
US6874104B1 (en) * 1999-06-11 2005-03-29 International Business Machines Corporation Assigning recoverable unique sequence numbers in a transaction processing system
US6389430B1 (en) * 1999-07-07 2002-05-14 Computer Associates Think, Inc. Real-time database object statistics collection
US6378014B1 (en) 1999-08-25 2002-04-23 Apex Inc. Terminal emulator for interfacing between a communications port and a KVM switch
US6539402B1 (en) 2000-02-22 2003-03-25 Unisys Corporation Using periodic spaces of block ID to improve additional recovery
US6785695B1 (en) 2000-10-19 2004-08-31 International Business Machines Corporation System and method for operational assistance during system restoration
US7055063B2 (en) * 2000-11-14 2006-05-30 International Business Machines Corporation Method and system for advanced restart of application servers processing time-critical requests
US6829719B2 (en) 2001-03-30 2004-12-07 Transmeta Corporation Method and apparatus for handling nested faults
US6820216B2 (en) * 2001-03-30 2004-11-16 Transmeta Corporation Method and apparatus for accelerating fault handling
AU2003295356A1 (en) * 2002-10-23 2004-05-13 Onaro Method and system for validating logical end-to-end access paths in storage area networks
US7259482B2 (en) 2003-09-24 2007-08-21 Belkin International, Inc. Distance extender and method making use of same
US7451166B2 (en) * 2005-01-13 2008-11-11 International Business Machines Corporation System and method for maintaining checkpoints of a keyed data structure using a sequential log
US7478278B2 (en) * 2005-04-14 2009-01-13 International Business Machines Corporation Template based parallel checkpointing in a massively parallel computer system
EP1943594A4 (en) 2005-09-27 2009-12-16 Onaro METHOD AND SYSTEMS FOR VALIDATING ACCESSIBILITY AND UPDATED REPLICATED DATA
WO2007134251A2 (en) * 2006-05-12 2007-11-22 Goldengate Software, Inc. Apparatus and method for read consistency in a log mining system
US7953698B2 (en) * 2006-08-03 2011-05-31 Sybase, Inc. Replication system with methodology for replicating stored procedure calls
US8009173B2 (en) 2006-08-10 2011-08-30 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8427489B2 (en) 2006-08-10 2013-04-23 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8826032B1 (en) 2006-12-27 2014-09-02 Netapp, Inc. Systems and methods for network change discovery and host name resolution in storage network environments
US8332860B1 (en) 2006-12-30 2012-12-11 Netapp, Inc. Systems and methods for path-based tier-aware dynamic capacity management in storage network environments
US8768890B2 (en) * 2007-03-14 2014-07-01 Microsoft Corporation Delaying database writes for database consistency
US9042263B1 (en) 2007-04-06 2015-05-26 Netapp, Inc. Systems and methods for comparative load analysis in storage networks
US8078655B2 (en) * 2008-06-04 2011-12-13 Microsoft Corporation Generation of database deltas and restoration
US9165012B2 (en) * 2009-10-02 2015-10-20 Symantec Corporation Periodic file system checkpoint manager
KR101587995B1 (ko) * 2009-10-28 2016-01-22 삼성전자주식회사 적응적 로깅 장치 및 방법
US8930321B2 (en) 2010-06-30 2015-01-06 Microsoft Corporation Logical recovery with unbundled transaction services
US9009125B2 (en) * 2010-10-13 2015-04-14 International Business Machiness Corporation Creating and maintaining order of a log stream
US9092149B2 (en) 2010-11-03 2015-07-28 Microsoft Technology Licensing, Llc Virtualization and offload reads and writes
US8370310B2 (en) 2011-03-04 2013-02-05 Microsoft Corporation Managing database recovery time
US9146765B2 (en) 2011-03-11 2015-09-29 Microsoft Technology Licensing, Llc Virtual disk storage techniques
US8725782B2 (en) 2011-04-25 2014-05-13 Microsoft Corporation Virtual disk storage techniques
US9519496B2 (en) 2011-04-26 2016-12-13 Microsoft Technology Licensing, Llc Detecting and preventing virtual disk storage linkage faults
US9817582B2 (en) 2012-01-09 2017-11-14 Microsoft Technology Licensing, Llc Offload read and write offload provider
US9003162B2 (en) 2012-06-20 2015-04-07 Microsoft Technology Licensing, Llc Structuring storage based on latch-free B-trees
US9778860B2 (en) 2012-09-12 2017-10-03 Microsoft Technology Licensing, Llc Re-TRIM of free space within VHDX
US9071585B2 (en) 2012-12-12 2015-06-30 Microsoft Technology Licensing, Llc Copy offload for disparate offload providers
US9251201B2 (en) 2012-12-14 2016-02-02 Microsoft Technology Licensing, Llc Compatibly extending offload token size
US9411692B2 (en) 2013-04-26 2016-08-09 Hewlett Packard Enterprise Development Lp Applying write elision
US9519591B2 (en) 2013-06-22 2016-12-13 Microsoft Technology Licensing, Llc Latch-free, log-structured storage for multiple access methods
US9251003B1 (en) * 2013-08-14 2016-02-02 Amazon Technologies, Inc. Database cache survivability across database failures
US9727611B2 (en) * 2013-11-08 2017-08-08 Samsung Electronics Co., Ltd. Hybrid buffer management scheme for immutable pages
CN103729442B (zh) * 2013-12-30 2017-11-24 华为技术有限公司 记录事务日志的方法和数据库引擎
US9514211B2 (en) 2014-07-20 2016-12-06 Microsoft Technology Licensing, Llc High throughput data modifications using blind update operations
US10684994B2 (en) * 2015-09-25 2020-06-16 Netapp Inc. Data synchronization
FR3046267B1 (fr) * 2015-12-28 2018-02-16 Proton World International N.V. Stockage de donnees dans une memoire flash
US20170345001A1 (en) * 2016-05-27 2017-11-30 Bank Of America Corporation Failed resource usage monitor and remediation system
CN111046024B (zh) * 2019-12-16 2023-05-23 上海达梦数据库有限公司 一种共享存储数据库的数据处理方法、装置、设备及介质
CN113239120B (zh) * 2021-06-07 2023-08-18 上海达梦数据库有限公司 一种日志同步方法、装置、设备及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
US3783256A (en) * 1972-07-12 1974-01-01 Gte Automatic Electric Lab Inc Data handling system maintenance arrangement for rechecking signals
US4020466A (en) * 1974-07-05 1977-04-26 Ibm Corporation Memory hierarchy system with journaling and copy back
US4077059A (en) * 1975-12-18 1978-02-28 Cordi Vincent A Multi-processing system with a hierarchial memory having journaling and copyback
GB1505603A (en) * 1976-07-07 1978-03-30 Ibm Data processing systems
US4429360A (en) * 1978-10-23 1984-01-31 International Business Machines Corporation Process and apparatus for interrupting and restarting sequential list-processing operations
US4459658A (en) * 1982-02-26 1984-07-10 Bell Telephone Laboratories Incorporated Technique for enabling operation of a computer system with a consistent state of a linked list data structure after a main memory failure
US4507751A (en) * 1982-06-21 1985-03-26 International Business Machines Corporation Method and apparatus for logging journal data using a log write ahead data set
US4498145A (en) * 1982-06-30 1985-02-05 International Business Machines Corporation Method for assuring atomicity of multi-row update operations in a database system
US4697266A (en) * 1983-03-14 1987-09-29 Unisys Corp. Asynchronous checkpointing system for error recovery
US4674038A (en) * 1984-12-28 1987-06-16 International Business Machines Corporation Recovery of guest virtual machines after failure of a host real machine
US4631673A (en) * 1985-01-22 1986-12-23 International Business Machines Corporation Method for refreshing multicolumn tables in a relational data base using minimal information
US4665520A (en) * 1985-02-01 1987-05-12 International Business Machines Corporation Optimistic recovery in a distributed processing system
US4703481A (en) * 1985-08-16 1987-10-27 Hewlett-Packard Company Method and apparatus for fault recovery within a computing system
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
EP0228559A1 (de) * 1985-12-17 1987-07-15 BBC Brown Boveri AG Fehlertolerante Mehrrechneranordnung
US4751702A (en) * 1986-02-10 1988-06-14 International Business Machines Corporation Improving availability of a restartable staged storage data base system that uses logging facilities
US4868744A (en) * 1986-03-03 1989-09-19 International Business Machines Corporation Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log
JPH0816881B2 (ja) * 1986-04-18 1996-02-21 株式会社日立製作所 データベース更新方法
US4819156A (en) * 1986-06-13 1989-04-04 International Business Machines Corporation Database index journaling for enhanced recovery
US4878167A (en) * 1986-06-30 1989-10-31 International Business Machines Corporation Method for managing reuse of hard log space by mapping log data during state changes and discarding the log data
US4852092A (en) * 1986-08-18 1989-07-25 Nec Corporation Error recovery system of a multiprocessor system for recovering an error in a processor by making the processor into a checking condition after completion of microprogram restart from a checkpoint
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US4823261A (en) * 1986-11-24 1989-04-18 International Business Machines Corp. Multiprocessor system for updating status information through flip-flopping read version and write version of checkpoint data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「IBMSystemJournal」Vol.23No.2(1984)P.178−188

Also Published As

Publication number Publication date
EP0336549B1 (en) 1995-05-03
EP0336549A2 (en) 1989-10-11
DE68922431T2 (de) 1996-01-25
EP0336549A3 (en) 1991-06-12
US5043866A (en) 1991-08-27
BR8901649A (pt) 1989-11-21
DE68922431D1 (de) 1995-06-08
JPH01263745A (ja) 1989-10-20

Similar Documents

Publication Publication Date Title
JPH0833860B2 (ja) データベースの回復方法
US4945474A (en) Method for restoring a database after I/O error employing write-ahead logging protocols
US5850507A (en) Method and apparatus for improved transaction recovery
JP2531894B2 (ja) デ―タ処理装置
JP2679779B2 (ja) トランザクション処理方法及び装置
US5581750A (en) System and method for improving data recovery performance
Mohan et al. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging
US6567928B1 (en) Method and apparatus for efficiently recovering from a failure in a database that includes unlogged objects
EP0351387B1 (en) Minimizing locking and reading in a segmented storage space
US7536517B2 (en) Direct-update software transactional memory
US5321832A (en) System of database copy operations using a virtual page control table to map log data into physical store order
CA2652115C (en) Apparatus and method for read consistency in a log mining system
US5832516A (en) Caching data in recoverable objects
JPH0560617B2 (ja)
US5873091A (en) System for data structure loading with concurrent statistical analysis
EP0295424B1 (en) Method for managing subpage concurrency control and partial transaction rollback in a transaction-oriented system of the write-ahead logging type
US9411692B2 (en) Applying write elision
KR100198805B1 (ko) 분석 단계에서 트랜잭션 테이블 초기화 기법을 이용한 댕글링 트랜잭션 발생 방지 방법
Ong SYNAPSE approach to database recovery
JPS62297948A (ja) デ−タベ−スの障害回復方式
JPH0443441A (ja) データベースのログ管理処理方式
Hvasshovd et al. The Record Oriented Approach
Ozsu Notes on Database System Reliability
Mittra Internal Level of an Oracle Database
JPH0795299B2 (ja) データベースの更新処理方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees