JPS63307551A - 先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法 - Google Patents

先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法

Info

Publication number
JPS63307551A
JPS63307551A JP63094715A JP9471588A JPS63307551A JP S63307551 A JPS63307551 A JP S63307551A JP 63094715 A JP63094715 A JP 63094715A JP 9471588 A JP9471588 A JP 9471588A JP S63307551 A JPS63307551 A JP S63307551A
Authority
JP
Japan
Prior art keywords
transaction
log
page
record
transactions
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
JP63094715A
Other languages
English (en)
Inventor
ドナルド・ジエームズ・ヘダール
ブルース・ジルバート・リンズイ
チヤンドラセカラン・モウハーン
ミル・ハミツド・ピラヘツシ
ピイーター・マーチン・シユワルツ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS63307551A publication Critical patent/JPS63307551A/ja
Pending 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/87Monitoring of transactions

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 以1;の°順序で本発明を説明する。
A、産業上の利用分野 [3,従来技術 C0発明が解決しようとする問題点 D0問題点を解決するための手段 E、実施例 E1例 E2 活動記録 E3  Do、UNDO,REDO,CLR及びその方
法の性質 E4 データの構造 E5 正常の処理 E6 再開始中のチェックポイント E7 媒体の回復 l・゛0発明の効果 A、産業上の利用分野 本発明はログをベースとする。トランザクション向けシ
ステムを障害に続いて、トランザクションに−hのある
状態に戻す方法に関する。さらに具体的には、本発明は
正常のシステムの動作中に単一のトランザクションの効
果を部分的にもしくは全体的に無効にする方法に関する
。ここで、トランザクションは、BEGIN (開始)
 、COMMIT (確約)もしくはABORT (打
切り)プリミティブを使用するユーザ・レベルに限定さ
れる。トランザクション・ログに関して云えば、ログか
らのUNDO(開始に戻す)及びRE D O(確約に
戻って実行)情報を使用して、システム回復及び部分的
もしくは完全なトランザクションのロールパックを定義
し、制御する。さらに具体的には本発明の方法は多重ト
ランザクションを同時に実行できる型、さらに微細な同
時制御及びその結果のトランザクション実行のオーバラ
ップを可能とする型のトランザクション向けシステムに
関する。
B、従来技術 従来技術としては次のものがあげられる。
(1)米国特許第4507751号。
(2)It(Mシステム・ジャーナル第23巻、第2号
、第178−188頁1984年著作権、R,A。
クルス著rIBMデータベース2のデータ回復J(R,
A、Crus、“Data Recovery in 
I[3M Database 2”IRM Syste
ms Journal、Vol、23.NO,2,Co
pyright 1984、PP、178−188) (3)1986年6月30日出願の米国特許出願第06
1880387号 (4)1986年10月17日出願の米国特許出願第0
61920819号 (5)システムズ・プログラミング・シリーズ第1巻第
4版第18章C,J、テート著[データベース・システ
ム入門」アジソン・ウェスレイ出版社1986年著作#
1 (c,J、Date、”An Introduct
ion t。
Database  Systems″、Vol、l+
4th  EditiontTheSystems P
rogramming 5eries、Addisio
n−WesleyPublishing  Co、、C
opyright  1986.Chapter  1
8)(6)1979年7月刊IBMリサーチ・レポート
RJ2571、リンドセイ等著[分散データベースにつ
いての覚書きJ  (Lindsay at al、”
Noteson Distributed Date−
bases”IBM 1lesearchReport
 RJ2571.July 1979)(7) カーネ
ギ−・メロン大学博士論文1984年゛ 著作権P、M
、シュワルツ著「型付きオブジェクトについてのトラン
ザクションJ  (P、M、Schwarz+”Tra
nsactions on Typed 0bject
s”、Ph、D Thesis。
Carnagia−Mallon Universit
y+COPyright  1984)従来技術は2フ
エイズのコミット型トランザクション向けシステム並び
にシステム回復及び再開始の両方でのログの使用に関連
している。上記の文献のうち(1)は先書きロギングを
(2)は問題点として回復中に繰返される障害によって
生ずるログ・レコードの拡散を示している。(3)はタ
グ付きレコードを多重回復ストリーム中に書込み。
回復の単位が終了した時にレコードを破棄する方法を開
示している。(4)の文献はページ細分のロッキングに
限定したログをベースとする回復を説明いている。(7
)の論文は種々のログ・ベース・トランザクションの回
復方法を論じている。残りの(4)及び(5)の文献は
この分野の現状を示すために引用されたものである。
〔トランザクション処理及び回復の概観〕C,J、デー
トによって指摘されているように「トランザクション」
とは回復可能なリソースの一貫した状態をすべての中1
jU点でかならずしも一貫性を保存する必要なく他の一
貫した状態に変換する、一連の動作より成る論理的な仕
事の単位を云う。
トランザクション処理システムはあるトランザクション
がある回復可能なデータ・リソースに対しである更新を
行ってトランザクションがその正常の終了もしくは一貫
性の中間点に達する前に障害が生じたならば、これ等の
更新を開始点にも戻すことを保証する。トランザクショ
ンはアプリケーションの指定した動作シーケンスの実行
を含むので、システム中のその存在は特殊なりEGIN
UNI’r OF WORK (仕事単位の開始)動作
で開始し、C:OMMIT (確約、有効化)動作もし
くはABORT (打切り)@J作で終る。
COMMIT及びA B ORT動作はアトミシテイ(
ato+aicity)を与える。COMMIT動作は
一貫性のある新らしい点に達したことを意味し、仕事の
単位によってなされたすべての更新が次続的なものにさ
れなければならないことを示す。Al10 RT動作は
障害が生じたこと、仕事の単位によってこれ迄になされ
た変更の確約(有効化)が解消されるか、変更が元に戻
されなければならないこと及び回復可能のデータ・リソ
ースが前の一貫性のある点に戻されなければならないこ
とを意味する。
このトランザクションの回復の保証を達成するためにシ
ステムはシステム間にまたがる故障停止、どのトランザ
クションが進行中であるか及びその更新動作について思
い出すことができ、システムが再開始された時に回復可
能データについてのそれ等の効果が適切に反映できなけ
ればならない。
トランザクション回復及びデータ回復の保証を満足させ
るために、システムは安定なメモリ上に記憶したログ中
にトランザクションを表わす仕事のm位の進行をその始
めから終り迄及び変更を回復可能なデータ・オブジェク
トに与える動作を記録する。ログは仕事の単位の確約動
作が反映され    −るか、確約されない動作が取消
されることを保証するソースである。ログされている動
作がデータオブジェクトの内容を反映している時には、
これ等のレコードも又障害を受けたもしくは失われたデ
ータを再構成するためのソースとなる。各ログ・レコー
ドはログに書込まれる時に一意的なログ通し番号(L 
S N)が割当てられる。LSNは昇順に割当てられる
。更新したページを安定なメモリに書込む前に、更新に
対応するログ・レコードのLSNがページ上に置かれる
62フ工イズCOMMIT処理は「準備」及び「確約」
フェイズを含み、障害が存在しても分散トランザクショ
ンのための均一な結果を保証する。「11!備」フェイ
ズ中でトランザクション中の各処理は継続するかどうか
について「投票」する。すべての「投票」が賛成ならば
、トランザクションの「確約」の結果がログ中に記録さ
れる。
〔ログ先書き〕
上述のように、本発明はログ光書き型のトランザクショ
ン向けシステムに関する。ログの先芽きプロトコルは持
久メモリ上で変更データのofの版を新らしい版で置換
える前にログを安定なメモリへ物理的に書込まなければ
ならないことを主張する。この説明で使用する安定なメ
モリとはシステムの障害中、元のままに残されて利用で
きる持久メモリを意味する。DASDはその例である。
さらにトランザクション・ステータスがログ中に記憶さ
れ、その確約されたステータス及びすべてのそのログ・
データが安定なメモリ上に安全に記録される迄はトラン
ザクションは完了したとは考えられない。従って再開始
手順は成功裡に完成した仕事の単位(トランザクション
)を回復するが、衝突の前に安定なメモリ中に更新した
リソースを物理的に書込むことは出来ない。このことは
対応するログ・レコードの少なくともUNDO部分が物
理的ログに書込まれる迄はトランザクションは物理的デ
ータ・ベースにレコードを書込めないことを意味してい
る。このことはさらにトランザクションのためのすべて
のログ・レコードのREDO部分が物理的ログに書込ま
れる迄はトランザクションはCOMMIT処理を完了し
得ないことを意味して・いる。
〔仕事の単位及び回復の単位〕
トランザクションは仕事の単位だけでなく回復の単位も
定義している。トランザクションは実際には多くの順次
段階の結果である。トランザクションの回復の単位の進
行はログ・レコードによって表わすことができ、その進
展状況は次のように分類される。
(フライ1−中)ニジステム中に回復の単位が存在する
が新らしい一貫性の点に到達していない。その動作は障
害によって中断されると1元に戻さなくてはならない。
(確約/疑念中)ニジステム内に回復の東位が存在し、
新らしい一1″[性の点に到達していて、成功裡に完了
に向けて動作を続けるか、もしくはその動作を元に戻す
ことができる。最後の決定は保留中である。もし仕事の
11位が障害によって中断されたのであれば、システム
は決定を持つ状態にあり、適切な完了動作を遂行しなけ
ればならない。
(保証/確約):回復の単位がシステム内に存在して、
障害によって中断されてもす入でのその動作が完了しな
ければならない存在点に達している。
(後処理完了):回復の単位がシステム内にもはや存在
せず従って障害によって中断できない。しかしながら回
復単位の完了動作だけでなくそのデータ更新アクティビ
ティはデータ回復処理中に反映されなければならない。
〔ページ及びサブページのロッキング〕トランザクショ
ン向けシステムは、すべて一様な転送rB位(ページ)
を使用しである形式の安定なメモリ (1)ASD、テ
ープ)にデータを書込まなければならない。順方向及び
逆方向処理はともにページ情報の追加及び撤回を含む。
現在、リレーショナル・データ・ベース型の多くのトラ
ンザクション・システムは全ページの細分のロッキング
だけを支援している。ページ・レベルのロッキングは同
じページを変更するトランザクションを直列化する。同
じページの同時更新はより微細なロッキング細分レベル
(サブページ/レコード)が許される時にだけ可能であ
る。   −トランザクション向けシステムは同時トラ
ンザクションの実行を孤立化して、アプリケーション・
プログラムが!i!11作の決定的なシーケンスを特定
しなければならないことを理解されたい。ロッキングの
細分性はシステムの処理能力に影響を与えることは良く
知られている。
〔補整ログ・レコード〕
補整ログ・レコード(cLR)はログ上で、UNDO動
作が生じた時間線中の個所もしくは点を画定する。さら
にCL Rは時間中のこの点で、どれぐらい多くの又ど
のトランザクションがU N I’)O中であるかを識
別する。
CL Rはページへの状態変化とログ中のログ・レコー
ド間に1対1対応を保持する。これは又ログに関してペ
ージの現在の状態の3111度をもトえる。
〔順方向進行及びロールバック〕
未完rのトランザクションが、完−rしたトランザクシ
ョンが存在する中でページからレコードを削除した場合
を考える。この動作で、完rしたトランザクションはレ
コードを同一ページに加えている。多くのトランザクシ
ョンが単一のページに° アクセスするや否や、トラン
ザクションの1つが順方向方向に進行し、他のトランザ
クションがUNDOLつNある場合が起り得る。障害が
生ずると、順方向で完了した最後のトランザクションを
起点としてこの方向の進行の度合い及び障害を生じたト
ランザクションの逆行方向の進行の度合いの両方を知る
必要がある。
トランザクションTIがページを状態AからBに駆動し
、トランザクションT2が同一ページをBからCに駆動
したものとする。その後、TIがこのページをCからD
に駆動する。又1゛Iをロールバック(UNDO)した
いとする。もしページの状態をAに戻すと、T2のBか
らCへの状態遷移は実際に存在する時もページ上に存在
するものとしては呪われない。従って、多くの未完了の
トランザクションが同じページを修正する時は、ページ
状態のバックトラッキングとしてではなくページ状態の
連続的進展によってロールバックを考えることが必要で
ある。
〔至」1動’ME  top  action)トラン
ザクションが究極的に打切られる時でも1〜ランザクジ
ヨンの結果の一部が永続する時がある。このような場合
はファイルの拡張時にみられろ。このような時は第1の
トランザクションがファイルを拡張し、次に第1のトラ
ンザクションが確約される前に他のトランザクションが
拡張領域を利用する。r能性がある。第1のトランザク
ションを打切らなければならない場合には、拡張の効果
を元に戻すことは望ましくない。このようなUNL)O
は他のトランザクションによって遂行された更新結果を
失う可能性が高い、他方、もし拡張に関連する動作自律
が完了前に障害によって中断するような場合は、1汎等
の動作をUNDOすることは望ましくない。このような
状況は伝統的には新らしいトランザクションを開始する
ことによって処理されていた。このような新らしいトラ
ンザクションを開始するアプリケーションは進行前にこ
のトランザクションが確約する迄待機する。
この新らしいトランザクション機構は勿論ロックの競合
に弱い。
本発明の文脈において、「至上動作」とは、他を囲むト
ランザクションの結果如何にかかわらず。
一度シーケンスが完了してもUNDONEしてはならな
いトランザクションの動作のシーケンスを意味する。
C0発明が解決しようとする問題点 本発明の目的は、先−1yきロギング型のトランザクシ
ョン向けシステムのサブページの同時制御及び部分的な
トランザクションのロールパックが可能な環境で1回復
及びトランザクションのロールバックの再開始を管理す
るための方法を与えることにある。
本発明の他の目的は、回復の再開始中に繰返して障害が
存在する時に、補正ログ・レコード・チェーンを拡張す
る場合に従来生じ得たような冗長なUNDO動作の数を
最小にする方法を与えられることにある。
D8問題点を解決するための手段 本発明に従えば、サブページのロッキングが存在する中
で補整ログ・レコードの使用によりRES ’rA R
T動作中ニU N D O処理を行う前ニREDO処理
を行うことによって効率的な回復が生ずる。繰返される
障害によって引起されるC L Rの補整を回避するこ
とによって、補整ログ・レコードの賢明なバックチェイ
ンニングが含まれる。ここで逆方向チエインニングは前
に遂行されたUNDOの飛越しを可能とし、すべての繰
返しを回避することができる。従来の方法によれば回復
の再開始中に、繰返される障害によって引起される補整
レコードの増大し続ける数を収容しなければならなかっ
た。
サブページ/レコード・レベルの任意のロッキング方法
は回復及び再開始が容易なものでなければならない。従
ってこのような方法はログによって決定されるような活
動記録の繰返しと障害が発生する前の状JNにシステム
を戻すことを含む。
「活動記録の繰返し」とは正常の処理中に生じたのと同
じ状態のシーケンスを通してシステムを駆動することに
関連する。安定メモリ中に欠けている変更のRE D 
O処理がUNDO処理の前に行われるので、逸脱なく、
ページに対して行われた状態の変更の繰返しが生ずる。
活動記録の繰返しく及びCL RのU N D Oの回
避)にはどのログ・レコードがRE S T A RT
時ページの状態に反映されていないかを確がぬる必要が
ある。「汚れたページ」についての可能な■くEDOの
ために調べる必要のあるログ・レコードの数を最小にす
ることは重要である。ここで’ i’jれたページ」と
はDASDからバッファにステージ・アップされて、修
正されているが、まだDASDに戻されていないページ
のことである。従って、上述のログ・レコードの数は障
害/衝突の発生時点にバッファ中に残されている古いペ
ージがバッファ中にもたらされた時点に対応する、ログ
中の時点を決定することによって制限できる。同じよう
に調べられているログ・レコードによって記述された修
dミをすでに含むページをアクセスするのを回避するこ
とも望ましい。この]1的のために、チェックポイント
以来更新されたページのリス1−と最゛後のチェックポ
イントの時にバッファ中にある汚れたページのリストが
ログ・レコードによってREDOを受ける障害前のログ
・レコードを有するページの組についての上限を4える
衝突後の再開始中に、本発明の方法は次の段1替を行う
(a) RED Oの処理を開始しなければならないロ
グ中の時点を決定し、「汚れたページ」についての情報
を確かめ、最後に完了したチェックポイントからログの
終り迄ログを走査することによって(J’?突の時点に
フライj〜中であったトランザクションを確かめる(分
析フェイズ)。
(b)すへてのトランザクションについて衝突点適活動
記録を繰返しくREi)○フェイズ)、すべてのログの
修正がデータ・ベースのページ上に存在することを保証
し。
(c)すへてのフライト中のトランザクションを同時に
ロールバックしくUNDOフェイズ)、UND○動作が
遂行される時にCLRに書き込む。
CL Rを適切にバツクチェーンニングすることによっ
て、従来遂行されたUNDO動作を飛越し繰返さないこ
とによってSYSTEM RESTA RTに関連して
UNDO動作を最小にすることができる。
本発明の方法のこの段階は次の段階を含む。
(a)COMMITに向って進行中のトランザクション
のための更新をロギングし、UND○動作を遂行中のト
ランザクションのための補整レコー1−をロギングする
(b)トランザクションのログ・レコードをバツクチェ
ーンニングして、トランザクションをロールバックする
時にUNDO動作に必要なシーケンスを形成して、S 
Y S T E M RE S T A RT ノ応答
する。
(c)活動中のトランザクションを識別して、すへての
REDO動作を行い、SYSTEM FAILURE(
障害)時点の情報状態を確立する。
(d)バックチェーンされたレコードを使用し、従来遂
行されたtJ N l) O動作を飛越し、即ち回避し
てフライト中のUNDO動作を行う。
埋没されている「至上動作」を画定する動作シーケンス
を遂行するためのトランザクションの実行は次の段階よ
り成る。
(a)トランザクションの最後のログ・レコードの位置
を確かめる。
(b)埋没された至上動作に関連するログr< E D
 O/UNDOレコードに書込む。
(c)埋没された至上動作を完了すると、ダミーのCL
 Rをログに書込み、これが段階(a)で求めた最後の
ログ・レコードの位置にバンクチェーンする。
IC6実施例 本発明の改良方法の理解を助けるために、先ずわかりや
すい例を示し、次にそれについて論する。
その後に、好ましい実施例について説明する。
Iと1例 トランザクション1゛がページPに含まれているレコー
ドrくに操作を加えるものとする。T LがPl上のR
lを更新するためには、′r1にとって次のことが必要
である。
(1)Piがバッファに存在しない時は、PlをDAS
Dからチェックする。
(2)更新の継続中はI) lに非他的アクセスを獲得
する。
(3)Pl上のR1を修正する。
(4)ログにレコードを付加してページの修正(1)1
上のlり1)を記述し、この修iEをREDOもしくは
UNDOするのに必要な十分な情報を与える。
(s)pi上にログ・レコードのアドレス・ログ・シー
ケンス番号(L S N)もしくは相対バイト・アドレ
ス(RB A)を記録し、Plに対する排他的アクセス
し、該ページになされた論理的変更についてのロックを
主張/保持を解放する。
T2がPl上のR2を更新するためには、T 2にとっ
ては次のことが必要である。
(6)R2に関してステップ(1)乃至(5)を繰返す
。この結果、Pl上のLSNは2回更新される。
T1を部分的にロールバッグしなければならない、具体
的にはR1へのり新を撤回するものと仮定する。本発明
の方法はR1への更新を記述したログ・し・コートをア
クセスする。ログ・レコー1へはl’ LをR1が見出
されるページであると定義しており、Pl上のR1に対
する更新を元に戻すのに必要な情報も与える。次にPl
をアクセスし、更新して、補整ログ・レコード(cLR
)を作成する。このCLRはR1更新のUNDOを記述
する。
Plの状態が(TlによるR 1へのUNDOのために
)3回変り、CLRがログに一層込まれると、Pl上の
LSNはCLRのLSNにセットされる。
この情況はT2によって一生じたPl上の更新が依然残
っているという)IC実によって複雑になる。
さらにT2がCOMMITL、次にシステムが障害を生
じたものと仮定する。COM M I Tログ・レコー
ドがT2の確約の1部としてログに書込まれる。この時
点で、ログは3つのログ・レコード(R1の更新、R2
の更新、R1のCLR)とCOMMITレコードを含む
。さらに、更新されたPlはバッファ・プール中に存在
するが安定なメモリ、即ちDASDに書込まれていない
ものとする。
間: Plが置かれるべき最終状態は?答二 PlはC
OMMITの時点であったのと同じ状態になければなら
ない。
問e  DASD上の1) lの状態は?容重 Plは
バッファ・プールからDASDへ書戻されていないので
I〕1は1゛1のR1更新もT2のR2更新のいずれも
含んでいない。
本発明の方法は次のことが可能であることを想起された
い。
(1)異なる回復の111位によって、ページになされ
た多くのコミットされない変更のログされた活動記録を
繰返すことによるサブページ/レコード・レベルのロッ
キングの細分。
(2)より多くの活動記録レコードをログに加えること
による部分的/完了トランザクションのロールバック 再開始時には、ページは変更されていない。ログされた
活動記録を繰返すことによって′1゛1にょるR1への
更新が適用される。次に、R2によるR 2への更新が
なされる。次にPlに加えられたのと同じ、T1による
R1の更新のUNDOがなされる。Plはページになさ
れた最も最近の変更を記述したログ・レコードのLSN
/RBAを含んでいるので、所与のログされた更新がペ
ージに加えられたかどうかを確かめることが可能である
これに関連して、トランザクションによって書込まれ各
ログされたレコードは同じトランザクションによって芹
込まれた直前のログ・レコードを指摘する。このように
ページの状態はログの位置と相関する。
R2活動記録 活+!り」記録は正しく順序付けられたシーケンスであ
り、その細分性はLSN/RBAを帯びるオブジェクト
(ページ)によって支配されている。さらに、活動記録
はDo及びUNDO事象を含むが。
REDO岱象は含まない。活動記録のREDOは・]G
象ではない。UNDOは修正主義者の歴史(活JIIJ
記録)と考えられることができる。又活動記録のlit
象はこれが影響を与えるオブジェクトに関連して記述さ
れる。この場合、オブジェクトはLSN / RB A
を帯びる単位(ページ)である。論理的ロギングは更新
上」作がログ・レコード中に十分に記述されることだけ
を要求することに注、低されたい。例えば、レコードの
フィールドをインクレメントもしくはデクレメントする
動作はインクレメント/デクレメント値の更新だけが必
要である。
フィールドの初期値もしくは最終値は保管する必要はな
い。
R3l)○、U N L)○、RED○、CLR及び方
法の性質 この方法は次の考え方に基づいている。
(1)LSNを帯びるオブジェクト+DOもしくはCL
 Rログ・レコードの1つは新しいオブジェクト状態に
マツプできる。
これは次のRE D Oを示す。
オブジェクト+Do/CLR→オブジェクト′(2)支
援されなければならない第2のマツピングはオブジェク
ト状態及びDOログ・レコードからCL R及・び祈ら
しいオブジェクト状態へのマツピングである。
これ等は次のように表わされる。
オブジェクト’ +ooログ・レコード→オブジエクト
“十CLR 註: U N DOはCL R中の、は味値からは誘導
されず、もしくはこれに」んすかない。CL Rの目的
はU N ILI Oに((I!じて遂行されろ動作を
記述することである。
(3)l)Oログ・レコードは2!l【の役割を果たす
これは次のように旧オブジェクトから新らしいオブジェ
クトへ及びその逆にマツプする。
オブジェクト → オブジェクト′ オブジェクト′→ オブジェクト どのようにマツピングが達成されるかについては、CL
 Rに必要とされるよりもより多くの情報を要する。U
 N I) Oを受けるのはDOログ・レコードであり
、CLRではないことを想起されたい。
操作+オブジェクト→オブジェクト′Doログ・レコー
ド 本発明のUNDOは次のように単方向性である。
オブジェクh’+Doログ→オブジェクト十〇 R 註: CL RはRE D O中に含まれるだけである
E4 データの構造 第1表はログ・レコードの構造を示す。種々のフィール
ドは次の通りである。
第1表 LSN :ログ・アドレス・スペース中にある。
ログ・レコードの最初のバイトのアドレス。最初のフィ
ールドに示したのはアルゴリズムの説明を容易にするた
めだけであり、実際にはレコード中には記憶されない。
タイプ:これはレコードがCL Rと呼ばれる補整レコ
ード(′″補整)、DOと呼ばれる正規の更新レコード
(“更新11 )もしくは確約プロトコル関連レコード
(例えば″準備′″)のどれであるかを示す。
TRANSID:ログ・レコードに書込んだトランザク
ション識別子。
先行LSN :同じトランザクションによって書かれた
先行ログ・レコードのアドレス。このフィールドは各ト
ランザクションの最初のログ・レコード中では0の値を
有する。
ページ■D二タイプ“更新″もしくは″補整″のレコー
ド中にだけ存在する。これはこの更新が加えられるペー
ジの識別子である。このページ11Jは通常2つの部分
、即ちオブジェクトID(表スペースもしくはインデッ
クス・スペースのような)及びそのオブジェクト内のペ
ージ番号より成る。このアルゴリズ11は多くのページ
のための更新を含むログ・レコードを処理できる。図を
簡単にするために1分だけを含むものと仮定している。
tJ N l)○NXLSN:NX−SN:補整レコー
ド中る、undoneされ補整さるべきこのトランザク
ションの次のログ・レコードのアドレス(即ちこのログ
・レコードが補整中のものに先行するログ・レコードの
アドレス)である。
長さ:ヘノダ情報を含むログ・レコードの長さ。
LSN+長さ−1がこのログ・レコードの最後のバイト
のアドレスでなければならない。
データ二ページになされる変更(新らしい値)を論理的
に示す情報及びこの変更をUNDOするのに必要な情報
(占い値)。
第2表は回復アルゴリズムに関係するデータ/インデッ
クス・ページ構造を示す。
第2表 (データ・ページ表) LSNAはページに加えられた最後の更新を記述するロ
グ・レコードの最後のバイトのアドレスである。このレ
コードは正規の更新レコードもしくはCLRである。最
初のバイトでなく最後のバイトのアドレスを選択したの
は、バッファ・マネジャにとってこれがディスクに汚れ
たページを書き戻す萌°にどの程度多くのログガ安定し
たメモリ上になければならないかを計算をするのを容易
にするためである。これが、更新ページがディスク上に
置かれる前にページになされた変更を記述するすべての
ログ・レコードをディスクに強制的に書込む一般に知ら
れた先書きロギング(WAL)プロトコルである。又本
発明のアルゴリズムも又バッファ・マネジャがこのWA
Lプロトコルに従うことを予想している。これ以外には
1本発明はバッファ・ページの置換方式に何等の制限も
課さない。
トランザクションによって修正されたページは、トラン
ザクションが実行を完了する前にでもディスクに書込ま
れる(即ち“スチール”方式)。修正されたページはこ
れを読取った個所と同じディスク上の個所に書戻される
(即ち゛陰″の位置でなく適切な個所に更新)。各更新
動作はオブジェクトを含むページのバッファ版に直ちに
適用される(即ち、更新の遅延はない)a望ましいこと
が見出された場合には更新に遅延がある場合(従ってロ
ギングが遅延する場合でも)実施できる。本発明は柔軟
性があるので、遅延更新の実行も含む。
第3表は再開始中に使用され、トランザクションの状態
の軌跡を保持するトランザクション表である。
第3表 全なチェックポイントレコードから、チェックポイント
が開始された後に書込まれたログ・レコードを分析する
ことによって求める。UNDOフェイズ中にも、表の項
目が修正される。再開始中にチェックポイン1−が取ら
れる時は、この表の内容がチェックポイント・レコード
中に含まれる。正常の処理中にも類似の表がトランザク
ション・マネジャによって使用される。この表は再開始
トランザクション表から再開始の終りに初期設定される
。表の種々のフィールドは次の通りである。
TRANS ID : トランザクションのID状態ニ
ドランザクジョンの確約状態。この状態は重罰できるか
(P)、i!!備されない(U)。
最後のLSN:トランザクションによって書込まれた最
後のレコードのアドレス。
UNDONXLSN : UNDONEされるべき次の
レコードのアドレス。トランザクションが遭遇した最後
のレコードが正規のUNDO可能な更新レコード(非C
LR)である時には、最後のLSN=UNDONXLS
Nである。最後のレコードがCL Hの時はこのフィー
ルドは最後のレコードが補整したものに先行するレコー
ドのアドレスを含む。
第4表は汚れたバッファ・ページに関する情報を表わす
のに使用する表である。
第4表 正常な処理中に汚れていないページが更新されるために
バッファ中に固定されている時には、バッファ・マネジ
ャはバッファ・プール(BP)汚れたページ表中に、将
来書込まれるべきあるログ・レコードのアドレスである
現在のログの終りアドレス(B U F L S N)
を記録する。BUFLSNの値はログ中のどの点からデ
ータ/インデックス・ページのディスク版中におそらく
まだない更新が存在するかを示す。ページがディスクに
も書戻される時は、BP汚れたページ表中の対応する項
目が除去される。この表の内容は正常な処理中(即ち非
再始時間中にチェックポイントが取られる時に書込まれ
たチェックポイント・レコード中に含まれる。再開始汚
れたページ表はその項目を最後の完全なチェックポイン
トのレコードから、分析フェイズ中に他のレコードを分
析することによって求める。表中の最小のB U FL
 S N値が再開始中にRE′Doフェイズのための開
始点を与える。
E5 正常の処理。
〔更新〕
正常(即ち非再開始)処理中は、トランザクシヨンは順
方向処理もしくは部分的/完全なロールパック(打切り
)を行う。ロールバックはシステムもしくはトランザク
ションによって開始される。
ロッキングの細分の単位をレコード(より一般には、サ
ブページ)とすると、更新のためにレコー1<がロック
された後に更新がページ中のレコードになされる時は、
このページがバッファ中に固定され、排他的なアクセス
のためにラッチされ。
更新が行われ、ログ・レコードに書込まれ、ログ・レコ
ードの最後のバイトのアドレスがページのLSNフィー
ルド中に置かれ、ページがアンラッチされ、固定が解除
される。説明を簡単にするために、単一のログ・レコー
ドが更新動作をRE D。
もしくはUNDOするのに必要なすべての情報(たとえ
ば、修正されたフィールドの事前及び事後イメージ、新
らしく挿入されたレコードの値。
削除されたレコードの値等)を収容できるものと仮定す
る。この目的のために2以上のレコードが書込まれる必
要がある場合がある(たとえば事前イメージに1つのレ
コード及び事後イメージに他のレコード)。本発明をこ
のようなシナリオを処理するように拡張するのは容易で
ある。このような場合にデータ・ページのLSNフィー
ルド中に置かれなければならないのは事後イメージのレ
コードの最後のバイトのアドレスである。
修正すべきレコードの識別がページを調べる前には知ら
れていない場合が時にある。このような場合は、レコー
ドのロックはページがラッチされた後に得なければなら
ない。ラッチを保持している間にロックを待つことを避
けるために(待つと検出できないデッドロックに落人る
)、ロックが条件骨まで要求され、もしこれが許可され
ないと。
ラッチが解放され、ロックが無条件に要求される。
一度無条件に要求されたロックが許可されると、ページ
は再びラッチされ、更新が上述のように遂行される1条
件付きで要求されたロックが直ちに許可された場合にも
、更新は上述のように行われる。
ロッキングの細分単位がページである時は、ページをラ
ッチする必要はない、それはページに関するロックが他
のトランザクションからその更新を分離するのに十分で
あるからである。そうでない時に取られる動作はレコー
ドのロッキングの場合と同じである。
〔完全/部分ロールパック〕
トランザクションのロールバックの程度の制限に関して
柔軟性を与えるために″保管点″′の概念が使用される
。保管点はトランザクションの実行中の任意の点で取ら
れる。実行後はしばらくして。
トランザクションもしくはシステムは保管点の確立に続
いて行われたすべての更新のUNDOを要求できる。こ
のような部分的ロールパックの後に、トランザクション
は実行を続け、再び順方向の進行を開始できる。保管点
が取られる時に思い出されなければならないものは(こ
れを“’5AVELSN”と呼ぶ)トランザクションに
よって書込まれた最後のログ・レコードのアドレスであ
る(SAVELSNは保管点が取られた時のログの終り
のアドレスでもよい)。もし保管点がトランザクション
の極く始めに確立されつつある時(即ちログ・レコード
を書込んでいない時)は、値はOに選ばれる。トランザ
クションが保管点適ロールパックを望む時はトランザク
ションは、その後継ログ・レコードをUNDOL、なけ
ればならないログ・レコードのアドレスを供給する。
ロールパック中に、UNDOされるログ・レコードの各
々についてCLRが書かれる。説明を容易にするために
、UNDO動作に関するすべての情報は単一のCLR中
に収容されるものとする。
提示されたアルゴリズムを多くのCLRを必要とするよ
うな場合に拡張することは容易である。順方向処理中で
書かれた、UNDOできない、即ちUNDOL、ではな
らないあるレコード(i!!備レコレコードペース、ク
ラス変更レコード等)が存在することに注意されたい。
CLRはけっしてUNDoされることはないので、これ
はUNDO情報(即ち事前イメージ)を含まない。
〔トランザクションの確約/打切り〕
トランザクションを確約(有効化)するのにはある形式
の2フエイズ確約プロトコルを使用し。
このプロトコルの1部としてログに同期して書込まれた
「準備」レコードがトランザクションが保持する排他的
ロック(IX、X、SIX等)のリストを含むものとす
る。この時点で非排他的ロックが解放できる。このよう
にしてトランザクションが準備状態に入ると、この状態
は終りレコードを同時に書込み、そのロックを解放する
ことによって確約される。準備されたトランザクション
はトランザクションを(ロールパック(O、トランザク
ID)のようなコールによって)その開始点にロールバ
ックし、そのロックを解放し、次に終りレコードを書込
むことによって打切られる。打切り及び終りレコードが
同時に書込まれるかどうかは使用される2フエイズの確
約プロトコールのタイプに依存する。準備レコードの書
込みはもしトランザクションが分散型でないか読取り専
用型である時はなしですませる。本発明ではトランザク
ションによって修正されたページはトランザクションの
終りにディスクに強制される必要はない(即ち確約時点
非強制方式)。
〔チェックポイント〕
定期的にチェックポイントを設けて再開始中になされる
べき仕事のjt(調べる必要のあるログの程度、ディス
クから読取らるべきデータ・ページの数等)が減少され
る。チェックポイントは非同期的に(即ち、他の処理が
続行中に)設けることができる。チェックポイント動作
はBEGINCHKPTレコードを書込むことによって
開始される。次にEND−CHKPTレコード(すべて
の情報が単一のEND−CHKPTレコードに収容でき
るものと仮定する)がその中に正常なトランザクション
表の内容(トランザクID、状態及び最後のLSN列の
みを含む)、BP汚れページ表、及び″1オープン″で
ある(即ち、BP汚れページ表が項目を有するために)
オブジェクトのための任意のファイル・マツピング情報
(表スペース、インデックス・スペース等)を含ませる
ことのよって構成される。もし1以上のトランザクショ
ンCOMMI’rコーディネータと長い時間接触できな
かったことによって長時間準備状態に留まる必要がある
時は、END−CHKPレコード中にこれ等のトランザ
クションによって保持された排他的ロックについての情
報を含ませると、万一障害が生じた時に、再開始中にこ
れ等のロックがこれ等のトランザクションの準備レコー
ドにアクセスすることなくこれ等のロックを再び獲得で
きる。一度E N D −CHK P Tレコードが構
成されると、これは同時にログに書込まれ、BEGIN
−CHKPTレコードのアドレスがディスク上の一般に
知られている場所であるマスタ・レコード中に記憶され
る。END−CHKPTレコードは強制的に書込まれる
必要はない。END CHKPTレコードは他のロギン
グ・アクティビティによってディスクに移動でき1次に
マスク・レコードを更新できる。
ラッチは必要な情報を集める間に表への読取りアクセス
を得るのに使用できなければならないので、情報を1時
に少しずつ集めて表に関する競合を減少することが望ま
しい。たとえば汚れたページ表が1000行を有するも
のとして、各ラッチング中に100項目を調べることが
できる。たとえチェックポイントの終りの前にすでに調
べられた項目が変っても、これは受容できる。
〔再開始処理〕 障害システムの再開始の開始時に呼出される再開始ルー
チンへの入力は局(サイト)障害もしくは遮断以前に取
られた最後の完全なチェックポイントのBEGIN−C
HKPTレコードへのポイントを含むマスク・レコード
のアドレスである。
〔分析フェイズ〕
局障害再開始中の分析フェイズの1部のルーチンへの入
力はマスク・レコードのアドレスである。
このルーチンの出力はシステムの障害即ち遮断時に準備
もしくは非準備状態にあるトランザクションのリストを
含むトランザクション表、システムの障害即ち遮断時に
汚れている可能性のあるバッファ中の°ページのリスト
を含む汚れたページ表及びREDOフェイズがログの処
理を開始しなければならないログ上の位置であるRED
OLSNである。このルーチンによって書かれる唯一の
ログ・レコードは完全にロールバックされたが、その終
りレコードが書込まれていないトランザクションの終り
レコードである。
本発明の方法は再開始分析の使用を必要としない。その
トランザクション表はREDO中に遭遇するチェックポ
イント・レコード及びログ・レコードから構成できる。
REDOLSNはチェックポイント・レコード中の汚れ
たページ表中の最小のLSNである。再開始分析フェイ
ズをなくするには又オペレーティング・システムに戻さ
れたファイルへの更新処理を回避するのに使用される他
の方法が必要である。再開始分析をなくした他の影響は
REDO中に使用した汚れたページ表が再開始チェック
ポイント後に生じた更新ログ・レコードをフィルタする
のに使用できない点である。
[REDOフェイズ] RE D Oフェイズ・ルーチンへの入力は再開始分析
ルーチンによって供給されるREDOLSN及び汚れペ
ージ表である。このルーチンは衝突時に現在のデータ・
ベースの状態を再確立する。汚れたページ表中のページ
だけがRE’DOフェイズ中に修正されることに注意さ
れたい、汚れたページ表中にリストされたすべてのペー
ジは少なくとも読取られ、このフェイズ中に調べられる
が、ログ・レコードは再開始ルーチンによって書込まれ
ない。汚れたページ表中に記述されたページが読取られ
ない場合がまれにある。このような状況はページが書込
まれるためにバッファ中に固定されたが、更新されるこ
とがなく、ページがチェックポイント・レコードに含ま
れた時に生ずる。これによってこれ等のすべてのページ
中に非同期的に170の読取りを開始する可能性が生じ
、これによって対応するログ・レコードがREDOフェ
イズ中に遭遇する以前にこれ等がバッファ中に利用でき
るようになる。REDOフェイズ中遂行された更新はロ
グされないので、ページ毎のベースで(汚れたページ表
中の情報で指示されて)再適用する必要があるログ・レ
コードの待ち行列をメモリ中に構築し、非同期的に開始
されるIloが完了し、ページがメモリ中にもたらされ
た時に対応するログ・レコード待ち行列を処理する。こ
のことは異なるページへの更新がログ中に表示された順
序とは異なる順序で適用できることを意味する。
これによって正しさは失われない。
(UNDOフェイズ〕 UNDOフェイズ・ルーチンへの入力は再開始トランザ
クション表である。汚れたページ表はこのUNDOフェ
イズ中は参照されない。UNDOフェイズが開始される
前に活動記録が繰返される(即ちログ中に反映されてい
る衝突時現在迄のデータ・ベースの状態が再び確立され
る)ので、ページ上のLSNはUNDO動作を遂行すべ
きかどうかを判断するのに参照されない。
再開始UNDOルーチンは準備状態にないトランザクシ
ョンを打切る。トランザクションを打切る過程では、こ
のルーチンがCLSに書込む。バッファ・マネジャはU
NDOフェイズ中に汚れたページをディ゛スクに書戻す
間に通常の先書きロギング・プロトコルに従う。
E6 再開始中のチェックポイント 〔分析フェイズ〕 分析フェイズの終りにチェックポイントを設けることに
よって再開始中に障害が生じても一部の仕事を省くこと
ができる。このチェックポイントの汚れたページ・リス
トの項目は再開始汚れたページ表が分析フェイズの終り
に含んでいる項目と同じである。このチェックポイント
は汚れたページ・リストをB I)汚れたページ表から
求めた正常のチェックポイントとは異なる。
このチェックポイントのアクティブ・トランザクション
の項目は、分析フェイズの終りに再開始トランザクショ
ン表の終りの項目と同じである。
[REDOフェイズ] RE D Oフェイズの始めに、バッファ・マネジャに
通告が与えられ、REDO中にバッファ・マネジャが修
正ページをディスクに書出す時に、マネジャは°バッフ
ァL S Nを(ページLSN+1)にすることによっ
てそのページのための再開始汚れページ表の項目を変換
する。実際には、この値を(ページLSN+1)に設定
するかわりに、バツファ・マネジャはより良い方法とし
てこの値をこの時にREDO走査が置かれていたログ・
レコードのアドレスにセットする。この後者の値は前者
の値よりもおそらくかなり高い。バッファ・マネジャは
再開始汚れたページ表をこのようにして処理すれば十分
である。バッファ・マネジャは正常の処理中のようにそ
れ自身の汚れたページ表を保持する必要はない。もちろ
ん、どのページが現在バッファ中にあるかは記録しなけ
ればならない。
これによってREDOフェイズ中の任意の時間にチェッ
クポイントを設けてREDOの終りの前に障害が生じた
場合でもRE D Oに必要なログの量を減少すること
ができる。このチェックポイントの汚れたページのリス
トの項目はこの時の再開始汚れたページ表の項目と同じ
である。このチェックポイントのアクティブ・トランザ
クション・リストの項目は分析フェイズの終りの再開始
トランザクションの表の項目と同じである。
[tJNDoフェイズ] UNDOフェイズの始めに再開始汚れたページ表はBP
汚れたページ表にされる。この時表は対応するページが
バッファ中に存在しない項目を除去することによってク
リーンアップされる。次にBPマネジャは正常の処理中
のようにこの表の処理を開始する(即ちページがディス
クに戻された時に項11を除去し、ページが汚れようと
する時に項目を追加する等)、UNDOフェイズ中に再
開始トランザクション表の項目が修正される。チェック
ポイントがこのU N D Oフェイズ中の任意の時間
に設けられる時は、このチェックポイントの汚れたペー
ジ・リストはBP汚れたページ表と同じになる。このチ
ェックポイントのアクチブ・トランザクション・リスト
の項目はその時の再開始トランザクション表の項目と同
じである。
E7 媒体の回復 媒体の回復がファイルもしくはこのような(DBスペー
ス表ススペースの)抄録レベルで必要になったものと仮
定する。このような項目のダンピングもしくはイメージ
・コピーイングは他のトランザクションによるその項目
に対する修正と同時に遂行できる。もちろん、最小量の
同期(ページ・レベルのラッチングのような)が必要で
ある。同時に、“フイジイ(Fussy)”ダンピング
が開始され、先行の完了チェックポイントのBEGIN
−CHKPTの位置が注目されてダンプされたデータと
ともに回想される(このチェックポイントを「ダンプ・
チェックポイント」と呼ぶ)。又イメージ・コピーイン
グがエンティティのディスク版からなされたものと仮定
する。この動作はデータ・ベース・バッファからのコピ
ーイングよりも効率的で“便利″′である。もし後者の
方法が望ましいことがわかると、ここで説明した機構を
そのように修正するのは容易である。このことはコピー
されたページのより最新の版がバッファ中に存在するこ
とを意味する。
媒体の回復が必要になった時は、抄録のダンプされた版
がロードされ、次にMINの点からREDO走査が開始
される(この点を媒体回復REDO点と呼ぶ)。MIN
はダンプ・チェックポイント・レコード中のファイル抄
録の汚れたページのBUFLSNとADDR(ダンプ・
チェックポイントのBEGIN CHKPTレコード)
のうち小さい方を示す。REDO走査中にダンプ・チェ
ックポイント・レコード中の汚れたページ・リスト中の
情報もしくはページ上のLSNが必要としないかぎり、
再開始REDO中と異なって、ログ・レコードが汚れた
ページ・リスト中にないページを参照する時はその更新
を行わなければならない(もちろんページのLSNがこ
れを必要としない時を除く)。簡単にするためには、一
度媒体回復RE D 0点を計算した後に汚れたページ
・リス1−を廃棄することが望ましく、すべてのその後
の更新を再適用すると仮定した方が望ましい。媒体の回
復中にログの長い部分が含まれる場合には汚れたページ
・リス1−を使用することによる節約は多くはなく。−
環ログの終りに到達すると、抄録に変更を’t−rっだ
フライト中のトランザクションは再開始のUND○ファ
イズ中と同じようにUNDOされる。このようなトラン
ザクションの識別に関する情報は別個に別のところに保
存され、ログの最後の完了チェックポイントからロクの
終り迄分析を行うことによってもしくは媒体回復RED
O中に計算して求められる。
F0発明の効果 本発明に従い、先書きロギング型のトランザクション向
けシステムのサブページの同時制御及び部分的なトラン
ザクションのロールバックが可能な環境で1回復及びト
ランザクションのロール・バックの再開始を管理する方
法が与えられる。
出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  山  本  仁  朗(外1名)

Claims (1)

  1. 【特許請求の範囲】 プロセッサ、該プロセッサを結合する主メモリ及びその
    中に記憶されているページが主メモリへ入力されるメモ
    リ・サブシステムを含み、該サブシステムの一部をログ
    として使用する、先書きロギング型のトランザクション
    向けシステム中で部分的トランザクション・ロールバッ
    クを含む一貫性のある前の点を確立し、該システム及び
    ログに定期的にチェックポイントを設け、変更されてい
    るが、メモリ・サブシステムに書戻されていないページ
    を汚れたページと呼び、上記プロセッサは各トランザク
    ションに応答して、少なくとも2つのトランザクション
    が同時に選択的に同一ページの論理的に事なる部分を更
    新する方法において、任意のトランザクションがその正
    常の終了時もしくは一貫性のある中間点に到達する前に
    システム中に障害が発生した時に、 (a)ログを最後に完了したチェックポイントからログ
    の終り迄走査することによって、REDO処理を開始す
    べき点、汚れたページに関する情報及び障害の発生時に
    フライト中であったトランザクションの識別を確認し(
    分析フェイズ) (b)すべてのトランザクションのためのアクティビテ
    ィを障害点迄繰返して、すべてのログ修正がページ上に
    存在することを保証し(REDOフェイズ) (c)すべてのフライト中のトランザクションを同時に
    ロールバックする(UNDOフェイズ)、先書きロギン
    グ型のトランザクション向けシステム中のロールバック
    方法。
JP63094715A 1987-06-08 1988-04-19 先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法 Pending JPS63307551A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US059666 1979-07-23
US5966687A 1987-06-08 1987-06-08

Publications (1)

Publication Number Publication Date
JPS63307551A true JPS63307551A (ja) 1988-12-15

Family

ID=22024446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63094715A Pending JPS63307551A (ja) 1987-06-08 1988-04-19 先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法

Country Status (3)

Country Link
EP (1) EP0295424B1 (ja)
JP (1) JPS63307551A (ja)
DE (1) DE3889254T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197598A (ja) * 1991-06-18 1993-08-06 Digital Equip Corp <Dec> トランザクション処理方法及び装置
JPH07500203A (ja) * 1991-10-18 1995-01-05 テキサス・マイクロシステムズ・インコーポレーテッド ロールバックのためのデータ・バックアップ・システム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920008461B1 (ko) * 1989-05-15 1992-09-30 인터내셔널 비지네스 머신즈 코포레이션 프로세스 인터럽팅 시스템 및 그 방법
JPH0540682A (ja) * 1990-06-08 1993-02-19 Internatl Business Mach Corp <Ibm> アトミシテイを有する記憶装置の高可用性耐故障再配置
EP0465019B1 (en) * 1990-06-29 1997-05-14 Oracle Corporation Method and apparatus for managing state identifiers for efficient recovery
DE69119222T2 (de) * 1991-06-04 1996-11-21 Ibm Datensicherung und Beseitigung in einem Datenverarbeitungssystem
GB2276737A (en) * 1993-03-30 1994-10-05 Ibm Fault-tolerant transaction-oriented data processing
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5832203A (en) * 1995-01-23 1998-11-03 Tandem Computers Incorporated Method for providing recovery from a failure in a system utilizing distributed audit
US5740432A (en) * 1996-05-28 1998-04-14 Sun Microsystems, Inc. Log file optimization in a client/server computing system
KR100198805B1 (ko) * 1996-11-22 1999-06-15 정선종 분석 단계에서 트랜잭션 테이블 초기화 기법을 이용한 댕글링 트랜잭션 발생 방지 방법
US6338146B1 (en) 1997-09-30 2002-01-08 Compaq Computer Corporation Method and apparatus for fault-tolerant, scalable and non-blocking three-phase flushing for committing database transactions in a cluster of multiprocessors
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
US8990476B2 (en) * 2009-10-01 2015-03-24 Micron Technology, Inc. Power interrupt management
WO2014169331A1 (en) 2013-04-19 2014-10-23 National Ict Australia Limited Checking undoability of an api-controlled computing system
US8683262B1 (en) 2013-06-21 2014-03-25 Terracotta Inc. Systems and/or methods for rapid recovery from write-ahead logs
CN110322050B (zh) * 2019-06-04 2023-04-07 西安邮电大学 一种风能资源数据补偿方法
CN110473100B (zh) * 2019-08-15 2023-07-11 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置
CN111694893B (zh) * 2020-04-23 2023-04-25 武汉达梦数据库股份有限公司 一种基于日志解析的部分回滚解析方法和数据同步系统
CN112506941B (zh) * 2021-02-03 2021-05-11 北京金山云网络技术有限公司 核查点的处理方法和装置、电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM SYSTEMS JOURNAL=1984 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197598A (ja) * 1991-06-18 1993-08-06 Digital Equip Corp <Dec> トランザクション処理方法及び装置
JPH07500203A (ja) * 1991-10-18 1995-01-05 テキサス・マイクロシステムズ・インコーポレーテッド ロールバックのためのデータ・バックアップ・システム

Also Published As

Publication number Publication date
DE3889254T2 (de) 1994-11-17
DE3889254D1 (de) 1994-06-01
EP0295424B1 (en) 1994-04-27
EP0295424A2 (en) 1988-12-21
EP0295424A3 (en) 1990-05-23

Similar Documents

Publication Publication Date Title
JPS63307551A (ja) 先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法
JP2505112B2 (ja) トランザクション管理方法
US9223805B2 (en) Durability implementation plan in an in-memory database system
US4868744A (en) Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log
EP0465019B1 (en) Method and apparatus for managing state identifiers for efficient recovery
US6185699B1 (en) Method and apparatus providing system availability during DBMS restart recovery
US9183236B2 (en) Low level object version tracking using non-volatile memory write generations
US6078999A (en) Recovering from a failure using a transaction table in connection with shadow copy transaction processing
EP0465018B1 (en) Method and apparatus for optimizing undo log usage
JP3763992B2 (ja) データ処理装置及び記録媒体
US7933927B2 (en) Method and apparatus for building index of source data
US6205449B1 (en) System and method for providing hot spare redundancy and recovery for a very large database management system
JP4813004B2 (ja) 主メモリートランザクション処理システムで並列的な回復演算のためのディファレンシャルロギング方法及び装置
US5561795A (en) Method and apparatus for audit trail logging and data base recovery
US6182241B1 (en) Method and apparatus for improved transaction recovery
US6154847A (en) Method and system for performing resource updates and recovering operational records within a fault-tolerant transaction-oriented data processing system
JPH05225019A (ja) 複数コンピュータ・データ共用システムにおける共用記憶の障害からのデータベースの回復方法
JPH06318165A (ja) 故障後の再起動中でのトランザクション適応システムにおいてデータを利用可能にする方法
JPH0812631B2 (ja) データベース・トランザクション及び照会処理システム
US7401102B2 (en) Management of global counters in transactions
EP0724223A1 (en) Remote duplicate database facility with database replication support for online line DDL operations
Bhattacharyya Database Management Systems
Satkar Crash Recovery.
Ozsu Notes on Database System Reliability
Locking et al. ARIES Recovery Algorithm