JPH0628043B2 - データ・ベース・システムの動作を回復する方法 - Google Patents

データ・ベース・システムの動作を回復する方法

Info

Publication number
JPH0628043B2
JPH0628043B2 JP62017469A JP1746987A JPH0628043B2 JP H0628043 B2 JPH0628043 B2 JP H0628043B2 JP 62017469 A JP62017469 A JP 62017469A JP 1746987 A JP1746987 A JP 1746987A JP H0628043 B2 JPH0628043 B2 JP H0628043B2
Authority
JP
Japan
Prior art keywords
log
data set
transaction
load
record
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 - Lifetime
Application number
JP62017469A
Other languages
English (en)
Other versions
JPS62206645A (ja
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 JPS62206645A publication Critical patent/JPS62206645A/ja
Publication of JPH0628043B2 publication Critical patent/JPH0628043B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1474Error detection or correction of the data by redundancy in operations in transactions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

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)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 この発明はトランザクシヨン向きデータ・ベース・シス
テムに関するものであり、詳細にいえば、故障または中
断が発生した際のシステムの活動を調整するLOADユ
ーテイリテイおよび回復管理装置を有するシステムに関
するものである。
B.従来技術 C.J.デート(C.J.Data)、「データベース・シ
ステム入門(An Introduction to Database Systems)」Vo
1.2、アデイソン・ウエズレイ・パブリツシング・コン
パニー(Addison Wesley Publishing Co.)、著作権19
83年の第1章で指摘されているように、データ・ベー
ス・システムの目的はトランザクシヨンを遂行すること
である。この場合、トランザクシヨンとは仕事の単位を
表わすものである。これは特別なBEGIN TRAN
SACTION操作から始まり、COMMIT操作また
はROLLBACK操作で終了する適用業務が指定する
一連の操作を実行することからなつている。COMMI
Tは仕事の単位が適切に完了したことを示すために使わ
れるものであり、ROLLBACKは何らかの例外的な
状態のため、仕事の単位が適切に完了しなかつたことを
示すために使われるものでるある。トランザクシヨン向
きのシステムの場合、ある口座から他の口座への振替な
どのトランザクシヨンは、単一の単元的(atomic)操作で
ある。このトランザクシヨンは成功するか、失敗するか
のいずれかである。失敗した場合、何も変わつてはなら
ない。すなわち、トランザクシヨンが行なわれなかつた
かのような、結果とならなければならない。
トランザクシヨン向きシステムは通常、回復管理装置を
含んでいる。回復管理装置とは、トランザクシヨンの単
元性を維持し、システム動作を再確立することを専門と
するサブシステム要素である。起こつたことを情報状態
を100%忠実に再確立するためには、すべての事象の
ロギングが生じる。ログ全体は直接アクセスの現在活動
しているオンライン部分と、保存的(archival)記憶機構
に入つている任意の数の以前の部分とで構成されてい
る。
多くの事象で、システムを停止させ、したがつてその後
システムを再スタートさせなければならなくなることが
ある。このとき、主記憶装置と揮発性バツフアの内容は
失われるが、不揮発性媒体に入つているデータ・ベース
は通常損害をこうむらない。障害が発生した時点で進行
していたトランザクシヨンをロールバツクしなければな
らないのは、トランザクシヨンが完了していないからで
ある。どのトランザクシヨンをロールバックするかを識
別するためには、ログ全体を始めから探索しなければな
らない。このことはBEGIN TRANSACTIO
Nレコードを有しているが、COMMITその他の基本
単位(primitive)などの終了レコードのないトランザク
シヨンに注目すれば明らかであろう。これを避けるた
め、従来技術ではチエツクポイント法を利用している。
このことは処理中のトランザクシヨンを表わす揮発性メ
モリの内容を活動ログに複写することを意味する。実際
には、チエツクポイント自体を構成する情報はレコード
からなつており、かつログ・データ・セットに書き込ま
れ、またそのアドレスも不揮発性記憶機構のRESTA
RTフアイルに適正に書き留められる。各チエツクポイ
ント・レコードは、チエツクポイントに時点で活動して
いるすべてのトランザクシヨンのリストを含んでいる。
それ故、システムの再スタート時に、回復管理装置はR
ESTARTフアイルから、最も新しいチエツクポイン
ト・レコードのアドレスを得ることができる。回復管理
装置は次いで、チエツクポイント・レコードをログに入
れ、その点から終りまでログの探索を進める。この処理
の結果として、回復管理装置はROLLBACKを実施
するために取り消さなければならないトランザクシヨン
と、データ・ベースを正しい状態に復元するため、CO
MMITを実施するのに再度行なわなければならないト
ランザクシヨンの両方を決定できるようになる。これを
満たすため、回復管理装置は2つのリスト、すなわちU
NDOリストとREDOリストから始まる。UNDOリ
ストは当初、チエツクポイント・レコードに挙げられた
すべてのトランザクシヨンを含んでいる。これとは対照
的に、REDOリストは最初は空である。回復管理装置
はチエツクポイント・レコードから前方へログの探索を
開始する。所定のトランザクシヨンに対するBEGIN
TRANSACTIONレコードを発見すると、回復
管理装置はこのトランザクシヨンをUNDOリストに追
加する。所定のトランザクシヨンに対するCOMMIT
レコードを発見すると、このトランザクシヨンをUND
OリストからREDOリストへ移す。回復管理装置がロ
グの終りに到達すると、UNDOリストとREDOリス
トは、取り消さなければならないトランザクシヨンと再
度行なわなければならないトランザクシヨンのそれぞれ
を識別する。次に、回復管理装置はログを前方へ進み、
REDOリストのトランザクシヨンを再度行なう。最後
に、回復管理装置はログ内を逆行して、UNDOリスト
のトランザクシヨンを取り消す。この処理が完了するま
で、新規の作業をシステムは受け入れることができな
い。
データ・ベースへの変更の書込、およびこの変更を表わ
すログ・レコードの書込は、2つの異なる動作である。
これら2つの動作の間に、故障が発生する可能性があ
る。安全度を高めるため、ログ・レコードは常に最初に
書き込まれる。これを「ログ書込優先プロトコル」とい
う。すなわち、対応するログ・レコードの少なくともU
NDO部分が物理的ログに書き込まれるまで、トランザ
クシヨンはレコードを物理的データ・ベースに書き込む
ことはできず、また同様にトランザクシヨンに対するす
べてのログ・レコードのRECO部分とUNDO部分の
両方が物理的ログに書き込まれるまで、トランザクシヨ
ンはCOMMIT処理を完了することができない。
上述の型式のトランザクシヨン向きデータ・ベース・シ
ステムにおいては、中断が発生した場合、回復機能の助
けを借りて、データ・ベースに対するすべての変更がロ
グに書き込まれる。前述のように、各トランザクシヨン
はBEGIN、COMMITまたはROLLBACKと
いうプリミテイブを利用して、トランザクシヨンの範囲
を定めている。この場合、REDOは常にトランザクシ
ヨンを最も新しいCOMMITポイントへ戻すものであ
る。これに対し、UNDOは常にトランザクシヨンをト
ランザクシヨンのBEGINポイントへ戻すものであ
る。トランザクシヨン・システムのログの書込と利用の
操作の例としては、下記のものが挙げられる。
(a)ガウリツク(Gawlick et al)米国特許第450775
1号「ログ書込優先データ・セツトを用いてジヤーナル
・データのロギングを行なう方法および装置(Method an
d Apparatus for Logging Journal Data Using a Log W
rite Ahead Date Set)」1985年3月26日発行。
(b)パラダイン他(Paradine et al)米国特許第4159
517号「データ処理装置用ジヤーナル・バツク・アツ
プ記憶抑制装置(Journal Back-up Storage Control for
a Data Processing System)」1979年6月26日発
行。
(c)ベーカー他(Baker et al)米国特許第4498145
号「データベース・システムにおける複数行更新操作の
原子性を確保する方法および装置(Method and Apparatu
s for Assurig Atomicity of Multirow Update Operati
on in a Database Systm)」1985年2月5日発行。
上記米国特昨第4507751号、第4159517号
および第4498145号はそれぞれ、(a)レコードの
更新前にログへの書込を行なうこと、(b)ログへのバツ
フアのダンピング、および(c)複数行の原子更新を確保
するためハード・ログおよびソフト・ログへ同時に書き
込むことを記載している。詳細にいえば、上記米国特許
の方法はすべて、トランザクシヨンのCOMMITポイ
ントによつて歩調が合わされる、あるいは決定されるデ
ータのローデイングを含む、データの移動に関するもの
である。
リレーシヨナル・データ・ベース型式のトランザクシヨ
ン向きシステムの場合、順次データ・セツトを関係テー
ブルベースに移動させるのは、LOADソフトウエア・
ユーテイリテイである。
中断が発生した場合、ログ書込のオーバーヘツドを避け
るため最初から再スタートするか、あるいは最後のCO
MMITポイント(すなわち、最後のトランザクシヨン
の終了点)から再スタートし、上記のログ書込を行なう
かのいずれかを行なわなければならないのも、LOAD
ユーテイリテイである。
C.発明が解決しようとする問題点 この発明の目的はトランザクシヨン向きシステムにおい
て、長い時間がかかり、障害に対する許容範囲の広い動
作を再スタートする際に関与する工程の数を最小とする
方法を提供することにある。これに関連する目的は、こ
の方法が再スタート可能なLOADユーテイリテイを、
動作上望ましくない特性を生起することなく中間のCO
MMITポイントから特に利用できるようにすることで
ある。
D.問題点を解決するための手段 上述の目的は、中断が生じた場合に、回復機能の助けを
借りてデータ・ベースに対するすべての変更を、通常は
ログに書き込むトランザクシヨン向き関係データ・ベー
ス・システムで再スタート可能なLOAD操作を実行す
ることによつて達成される。
このシステムにおいて、各トランザクシヨンはBEGI
N、COMMITまたはROLLBACKという基本単
位を利用して、トランザクシヨンの範囲を定める。RE
DO操作は常にトランザクシヨンを最も新しいCOMM
ITポイントへ戻すものである。これに対し、UNDO
操作は常にトランザクシヨンをトランザクシヨンのBE
GINポイントへ戻すものである。システムは順次入力
データ・セツトを収めた第1アドレス空間と、関係テー
ブルスペースを収めた第2アドレス空間を含んでいる。
LOAD操作は一連の重なり合わないトランザクシヨン
によつて、データ・セツトを第1アドレス空間から第2
アドレス空間へ移動させる。この場合、LOAD操作は
ロードされるデータ・セツトに対するログで、事前イメ
ージも事後イメージも用いない。複数個のアドレス空間
を上で述べたが、これらは必ずしも限定的なものではな
い。
この発明の方法は、(a)所定量のデータ・セツトをテー
ブルスペースの最後へ反復して転送し、データ・セツト
内での現在位置を記録し、かつテーブルスペース内で他
の終了位置を確立し、データ・セツトがなくなるか、あ
るいは進行中のトランザクシヨンが中断されるまで、反
復転送を継続し、(b)トランザクシヨンが中断された場
合に、ログからテーブルスペースの事前および事後のイ
メージによらないでREDOおよびUNDOをエミユレ
ートすることよつて、最後のCOMMITポイントから
LOAD操作を再スタートさせるという工程からなるも
のである。
E.実施例 従来技術に係る第3図にはトランザクシヨンの範囲を定
めるさまざまな型式の基本単位(BEGIN、COMM
IT、ROLLBACK)のタイムラインが示されてい
る。これにおいては、トランザクシヨンをネストできな
いことがわかる。トランザクシヨンがBEGINプリミ
テイブで始まり、COMMITプリミテイブで終わるこ
とに留意されたい。トランザクシヨンが失われたり、部
分的に行なわれたり、あるいは2回以上行なわれること
は絶対にない。トランザクシヨンの遂行と、中断が生じ
た場合の回復の両方を確実に行なうために、トランザク
シヨン向きデータ・ベース・システムは回復管理装置を
含んでいる。回復管理装置は外部からの要求に応じてト
ランザクシヨンを開始し、データ管理装置およびバツフ
ア管理装置へのサービス・コールによつて必要なアクセ
ス経路を開き、トランザクシヨンの要素が進行するのに
応じて、ログ管理装置へのサービス・コールによつて、
ロギングを維持し、適切なCOMMITポイントでトラ
ンザクシヨンを終了する。トランザクシヨンの処理が中
断された場合にも、回復装置が呼び出される。
やはり従来技術に係る第4図には、チエツクポイント時
間Tとシステム故障時間Tに関するトランザクシヨ
ンのタイムラインT1−T5が示されている。システム
故障が時間Tで発生したこと、および時間T以前の
最も新しいチエツクポイントが時間Tで取られたこと
がわかる。型式T1のトランザクシヨンが時間Tより
も前に完了していることに、留意されたい。型式T2の
トランザクシヨンは時間Tよりも前に始まり、時間T
の後で、時間Tの前に完了している。また、型式T
4のトランザクシヨンは時間Tの後で始まり、型式T
2のトランザクシヨンと同様、時間Tの後で、時間T
の前に完了しており、REDOの対象となつている。
これとは対照的に、型式T3およびT5のトランザクシ
ヨンは、UNDOの対象となつている。T3およびT5
は両方とも時間Tにおけるシステム故障よりも前には
完了していない。
上述したように、ソフトウエアLOADユーテイリテイ
は順次データ・セツトを、第1アドレス空間から関係テ
ーブル・スペースに移動させる。LOADユーテイリテ
イが多量のデータを処理することは、珍しいことではな
い。これにはかなり長い時間を要する。この期間中に、
LOAD操作が完了する前に中断された場合、LOAD
操作全体を始めから再スタートしなければならないの
は、ユーザの見地から満足できるものではない。
ソフトウエアLOADユーテイリテイを含んでいる従来
技術の解決策のひとつは、バツフアに入つているデータ
の所定のブロツクの各々の処理の終了後に、LOADユ
ーテイリテイが内部COMMITポイントを出すことを
可能とするものである。このことはロードされたレコー
ドのコピーをログに書き込むことによつて、再スタート
を最後の内部COMMITポイントから行なう機能を保
証するものである。ログの活動部分が有限のデータ・セ
ツトなのであるから、このことは実行中にログを強制的
に保管することがしばしばある。一方、このようなこと
を避けなければならないのであれば、ログ書込操作を負
担することに対する唯一の代替策は、始めから再スター
トすることであつた。詳細については、下記のIBM刊
行物を参照されたい。
(1)VM/SPに関するSQL/データ・システムの概
要と機能、GH24−5056(SQL/Data Systm Concep
ts and Facilities for VM/SP,CH24-5056) (2)VM/SPに関するSQL/データ・システムの計
画と管理、SH24−5043(SQL/Data System
Planning and Administration forVM/SP,SH2
4−5043) (3)VM/SPに関するSQL/データ・システムのデ
ータ・ベース・サービス・ユーテイリテイ、SH24−
5069(SQL/Data System Data Base Services U
tility forVM/SP,SH24−5069) この発明の目的を満たすには、この発明の方法はデータ
・レコードでログを溢れさせずに、中間のCOMMIT
ポイントから再スタートするものでなければならない。
このことは最小量の情報だけをログし、移動させなけれ
ばならないデータ・セツト内の部分と、ロードしなけれ
ばならないテーブルスペース内の部分とを記録すること
によつて達成される。
第1表にはLOAD LOG(NO)呼出し用のJCL
と構文が示されており、第2表にはLOAD LOG
(NO)呼出しの再スタート用のJCLと構文が示され
ている。JCLとはジヨブ制御言語(Job Control Langu
age)の頭字語である。JCLは、IBM370などの大
型システムで使われる言語機能であつて、(a)実行しな
ければならない一連のプログラムに名前をつる、(b)実
行機械パラメータを定義し、(c)プログラムに優先順位
を設定し、データ・セツトを特定のシステム機能と関連
づけるものである。LOAD LOGコマンドには「y
es」または「no」のいずれかを指定できる。「n
o」を指定した場合、LOAD LOG(NO)を実行
するとこによつて、ロードされたデータを含むREDO
またはUNDOレコードがログに書き込まれることはな
い。しかしながら、このコマンドは各COMMITポイ
ントにおいて、最小量の情報をログに記録する。この情
報は移動すべきデータ・セツト内、ワーク・データ・セ
ツト内、およびCOMMITが出された時点でロードさ
れるテーブルスペース内のユーテイリテイの位置を識別
するものである。この情報によつて、LOAD LOG
(NO)呼出しが再スタート時にこれらのオブジエクト
の内部で一致するように、呼出し自体を再配置すること
が可能となる。
LOAD LOG(NO)呼出しには、再スタート処理
中にテーブルスペースの状態を再構成するREDOログ
がない。さらに、コミツトされたテーブルスペースのペ
ージが書き込まれてから、ユーテイリテイ再スタート処
理が開始されるという保証はない。したがつて、LOA
D呼出し自体が更新されたすべてのテーブルスペースの
ページが書き込まれてから、2段階COMMIT操作の
終了段階(第II段階)になることを、保証しなければな
らない。なお、2段階COMMITの最初の段階は、シ
ステムがトランザクシヨンを含むすべてのログ・レコー
ドをログへ送らなければならないことを意味する。トラ
ンザクシヨンに複数の関係者がいた場合には、関係者の
それぞれが対応する要素に対して、事態を示さなければ
ならない。第II段階において、調整機能がトランザクシ
ヨンの関係者全員に対してCOMMITを連絡し、処理
を完了するようにしなければならない。これが発生する
のは、関係者全員が同じ完了状態になつたときだけであ
る。それ以外の場合には、トランザクシヨンを関係者全
員が放棄する。
上述のように、LOAD LOG(NO)呼出しはCO
MMITの第II段階以前に、すべての更新されたテーブ
ルスペースのページが書き込まれることを保証しなけれ
ばならない。このことはCOMMITの第1段階中に、
同期強制書込操作をバツフア管理装置に要求することに
よつて、達成される。これは特定のテーブルスペースに
まだ書き込まれていない、すべての更新されたシステム
・ページの同期書込を開始させる。
再スタート処理中にテーブルスペースの状態を、LOA
D LOG(NO)を呼出しが再構成することを可能と
するUNDOログを、この呼出しが有していないものと
想定する。また、書込が済んでいるがコミツトされてい
ない更新されたシステム・ページが、このユーテイリテ
イの再スタートの開始時にテーブルスペースに存在する
ものとする。再スタートされたLOAD LOG(N
O)呼出しによつて、関連するレコードが再度ロードさ
れるのであるから、LOADユーテイリテイ自体はこの
場合も、他の更新されたページが最後のCOMMITポ
イントからの再スタート前に、テーブルスペースから移
動されるということを保証しなければならない。ユーテ
イリテイは再度データ管理装置を参照し、コミツトされ
ていないデータをテーブルスペースから取り除くLOA
Dプロトコルを開始させることができる。この呼出しは
データ管理装置に、最後のCOMMITポイントにおけ
るテーブルスペース内の位置を与える。データ管理装置
は次いで、あらゆる無関係なデータを消去し、それ故、
テーブルスペース・ページ制御情報がテーブルスペース
の内容と合致していることを保証できる。この時点で、
LOADユーテイリテイは最後のCOMMITポイント
から再スタートできるようになる。
データ管理装置のプロトコルによつて、LOAD LO
G(NO)呼出しが、(a)テーブルスペース内の最後の
レコードの位置を要求するか、あるいは、(b)テーブル
スペース内のある点から先のすべてのレコードを削除
し、かつテーブルスペース内の最後のレコードの位置を
含めたテーブルスペース・ページ制御情報をこれに応じ
て、更新することを要求できるようになる。
バツフア管理装置のプロトコルは、LOAD LOG
(NO)呼出しがこの呼出しが専用のロツクを保持して
いるテーブルスペースに対して、バツフアの強制書込を
行なえるようにする。
テーブルスペースに対してバツフアを強制書込すること
は、既知の量のテーブルスペース・データがデイスクに
書き込まれたことを保証するものである。LOAD L
OG(NO)はこのプロトコルを使つて、最後のCOM
MITポイントからの再スタートの要求前に、最後のC
OMMITポイントで再スタートするのに必要な最小量
のデータが必ずデイスクに書き込まれることを、確実と
する。
LOAD呼出しは2つのアドレス空間、すなわち適用業
務アドレス空間と、拡張データ・ベース管理機能(AD
MF)アドレス空間という関係データ・ベース・アドレ
ス空間で実行される。LOAD LOG(NO)呼出し
に対する各アドレス空間内の基本的な流れは、次のとお
りである。
適用業務アドレス空間 −ADMFロード・ユーテイリテイ・モジユール(DS
NURWIT)がADMFアドレス空間初期化処理を行
なうよう要求する。
−入力データ・セツト内のすべての未処理レコードが処
理されるまで、処理を行なう。
適用業務アドレス空間に入力データ・セツトからの未処
理レコードを入れる。
ADFロードユーテイリテイ・モジユール(DSNUR
WBF)が適用業務アドレス空間バツフアからの入力デ
ータ・レコードを、ロードされるテーブルスペースにロ
ードするよう要求する。
最後のCOMMIT以降に処理された適用業務アドレス
空間バツフアの数が、内部限界値を超えているか、また
は入力データ・セツト全体が処理されている場合には、 入力データ・セツトをワーク・データ・セツトを同期さ
せる。
ADMFバツフア管理装置モジユール(DSNBWFO
R)がADMFバツフアを、デイスクにロードされるテ
ーブルスペースに対して強制書込するよう要求する。
ロードされるテーブルスペース内の現在位置に関する情
報(USRAに含まれている)を、ADMFアドレス空
間から適用業務空間へ転送する。
入力データ・セツト内の未処理レコードの現在位置、ロ
ードされるテーブルスペース内の現在位置、およびワー
キ・データ・セツト内の現在位置に関する情報をLOG
する。
最後のCOMMIT以降、または処理のスタート以降
に、ロードされるテーブルスペースに行なわれた変更を
COMMITする。
−ADMFロード・ユーテイリテイ・モジユール(DS
NURWIT)がADMFアドレス空間終了処理を行な
うよう要求する。
ADMFアドレス空間 DSNURWIT −初期化処理が要求された場合 LOADユーテイリテイ処理用にADMFアドレス空間
制御ブロツク(URTSという制御ブロツクを含む)を
初期化する。
LOG(NO)処理用にバツフア管理装置制御ブロツ
ク、データ管理装置制御ブロツク、および内部標識を初
期化する。
データ管理装置を呼び出して(DSNISLOD)、ロ
ードされるテーブルスペース内の最後のレコードに置
き、内部位置情報を戻す。
内部位置情報をURTSに記録する。
位置情報制御ブロツク(UCRAとも呼ばれる)を割り
振る。
再スタートされた呼出しでない場合 内部位置情報をURTSからUCRAにコピーする。
再スタートされた呼出しの場合 ロードされるテーブルスペースに対する最後のLOAD
呼出しの際にログされた情報から、内部位置情報をUC
RAに復元する。
ロードされるテーブルスペース内の内部位置情報を、U
CRAからURTSにコピーし、データ管理装置が次の
データ管理装置スタート・ロード(DSNISLOD)
呼出しで行なう必要のある再配置に備える。
−終了処理が要求されている場合 バツフア管理装置を呼び出して(DSNICLPS)、
ロードされるテーブルスペースを強制クローズする。こ
れにはそれまで書き込まれていないバツフアの強制書込
が含まれる。
DSNURWBF −ロードされる入力データ・レコードを含んでいる適用
業務アドレス空間を、ADMFアドレス空間に移動す
る。
−データ管理装置を呼び出して(DSNISLOD)、
ロードされるデーブルスペース内の、データ管理装置が
扱う必要のある再配置を含むスタート・ロード処理を行
なう。
−ADMFアドレス空間バツフアの入力データ・レコー
ドが処理待ちとなつている間に、次のことを行なう。
データ管理装置を呼び出して(DSNILOAD)、U
NDOまたはREDOレコードを入力データ・レコード
用のLOGに書き込まずに、次の入力データ・レコード
をロードされるテーブルスペースにロードし、かつロー
ドされるテーブルスペース内の現在位置に関する情報
を、URTSに記録する。
−ロードされるテーブルスペース内の現在位置に関する
情報を、URTSからUCRAにコピーする。
−データ管理装置を呼び出して(DSNIENDL)、
テーブルスペース・ページ制御情報を更新を含むエンド
・ロード処理を行なつて、COMMITに備える。
本発明の方法の適用例 LOADユーテイリテイの呼出し 従業員に関する情報をEMPLOYEEテーブルにロー
ドするLOADユーテイリテイの呼出しを考察する。
入力データ・セツトがそれぞれの長さが100バイト
の、1,000,000個の固定長の従業員レコードか
らなつており、かつ各サコードが従業員の名前、住所、
役職、部門番号、および作業場所と共に独自の従業員番
号を含んでいるものと仮定する。
さらに、適用業務アドレス空間バツフアとADMFアド
レス空間バツフアの大きさが32Kバイトであり、かつ
COMMITの内部限界値が100であると仮定する。
また、テーブルスペース・ページの大きさが4Kバイト
であると仮定する。
最後に、EMPLOYEEテーブルが他のテーブルと同
じテーブルスペースに常駐しており、かつEMPLOY
EEテーブルと他のテーブルがLOADユーテイリテイ
呼出しの実行前に、それぞれ2152行と212行を含
んでいるものと仮定する。
表1はこのタスクを行なうLOAD LOG(NO)呼
出しのJCLと構文を示すものである。SYSIN D
Dステートメント・ストリームがLOADユーテイリテ
イ呼出しを定義し、SYSREC DDステートメント
が入力データ・セツトを定義し、かつSYSUT1 D
Dステートメントが索引を構築するために後で使われる
ワーク・データ・セツトを定義していることに留意され
たい。
バツフアの使用量とCOMMITの頻度 適用業務アドレス空間バツフアとADMFアドレス空間
バツフアは、データ・レコードと制御長さ情報の両方を
含んでいる。バツフア長さ制御情報はバツフアあたり4
バイトを取り、レコート長さ制御情報はレコードあたり
4バイトを取る。したがつて、32Kバイトの適用業務
アドレス空間バツフアを充填するたびに、315のレコ
ードが入力データ・セツトから適用業務アドレス空間の
メモリへ転送されるが、これは制御情報が1264バイ
トてを取るからである。
したがつて、LOADユーテイリテイ呼出しは32Kバ
イトの適用業務アドレス空間バツフアを3175回充填
する。呼出しが100の適用業務アドレス空間バツフア
ごとにコミツトするのであるから、LOADユーテイリ
テイ呼出しは32のトランザクシヨンで構成されてい
る。それ故、中断後の、内部COMMITポイントから
のLOAD LOG(NO)呼出しの再スタートは論理
的には、32のトランザクシヨンのひとつの始めから行
なわれる。
チエツクポイント情報およびログの使用 LOAD LOG(NO)呼出しとLOAD LOG
(YES)呼出しは両方とも、入力データ・セツト内の
未処理レコードの現在位置、ロードされるテーブルスペ
ース内の現在位置、および、ひとつまたはそれ以上のワ
ーク・データ・セツト内の現在位置に関する情報をログ
する。ログ・レコード制御情報とチエツクポイント制御
情報には、52バイトが必要である。テーブルスペース
内の現在位置を記録するのには、24バイトが必要であ
る。入力データ・セツト内の位置またはワーク・データ
・セツト内の位置を記録するのには、アクセス方法サー
ビス・バツフアあたり76バイトが必要である。位置情
報をログするのに必要なログ・レコードあたりのログ空
間は、LOAD LOG(NO)呼出しおよびLOAD
LOG(YES)呼出しのものと同様である。しかし
ながら、LOG(NO)呼出しが位置情報を記録するた
めにログ・レコードを書き込む頻度は、LOG(YE
S)呼出しの10分の1程度である。
LOAD LOG(NO)呼出しはロードされるレコー
ドに関するログに対して、REDOまたはUNDOレコ
ードの書込を行なわない。このことは大量のデータをロ
ードするLOAD LOG(NO)呼出しに対するログ
の使用量を大幅に削減するものである。表1のLOAD
LOG(NO)呼出しと同じタスクを行なうLOAD
LOG(YES)呼出しは、テーブルスペースに書き
込まれた各ページに、ログ・レコードを書き込む。40
の入力データ・セツトが1ページに入つているのである
から、1,000,000のレコードをロードすると、
約25,000ページにロードすることになる。各ログ
・レコードが制御情報ならびにページのイメージ用に4
0バイトを必要とするのであるから、LOAD LOG
(YES)呼出しは付加的な約103,400,000
バイトのログを消費することになる。
LOADユーテイリテイの実行 表1のLOAD LOG(NO)呼出しを実行するため
初期化処理は、URTSおよびUCRAを含む、必要な
制御ブロツクと構造を獲得して、初期化する。初期化処
理はロードの開始位置を、テーブルスペースに存在する
2364のレコード以降の最初の自由位置として確立す
ることも行なう。初期化処理はこの最初の位置を、UR
TSおよびUCRA両方の内部に記録する。
LOADユーテイリテイは次いで、最初の315のレコ
ードを入力データ・セツトから提供業務アドレス空間バ
ツフアに転送する。テーブルペース内での再配置が必要
ないのであるから、レコードのローデイングはURTS
およびUCRA内に記録されている位置から始まる。L
OADレコード処理は各連続レコードを、最後にロード
されたレコードの直後のテーブルスペースに入れ、UR
TS内の現在位置を記録する。適用業務アドレス空間バ
ツフアに対するロード・レコード処理が完了すると、ロ
ード処理はロードされるテーブルスペース内の現在のレ
コード位置を、URTSからUCRAにコピーする。
LOADユーテイリテイは同様な態様で、入力データ・
セツト内の次の31,185のレコードへ進む。このユ
ーテイリテイは入力データ・セツトから315のレコー
ドを、反復して適用業務アドレス空間バツフアへ転送
し、最初のバツフアを処理したのと同様にして、このバ
ツフアの内容を処理する。
100番目のバツフアに対するロード・レコード処理が
完了すると、ロード処理は最初のコミツトの準備をす
る。COMMITの準備はADMFバツフアをデイスク
へ強制書込すること、および位置情報をログすることか
らなつている。最も最近ロードされた31,500のレ
コードのうち任意のものを含んでおり、かつまだ書き込
まれていない、すべてのADMFバツフアを強制書込す
ることで、準備は始まる。ロード処理が次いで、位置情
報を収集する。この処理はテーブルスペース内のその現
在位置を、33,864番目のレコードにあるものとし
て、入力データ・セツト内のその現在位置を、31,5
00番目のレコードにあるものとして記録し、かつワー
ク・データ・セツト内の対応する位置を記録する。ワー
ク・データ・セツト内の位置は、EMPLOYEEテー
ブルに定義された索引の数、および索引のキーのバイト
数によつて決定される。現在位置情報をログしたのち、
ロードは最も最近ロードされた31,500のレコード
をコミツトする。
ロード処理は継続され、最後の適用業務アドレス空間バ
ツフアをロードし、最後のCOMMITを出すまで、3
1,500のレコードの各々のローデイングが終わつて
から、コミツトされる。
中断および再スタート処理の例 LOADユーテイリテイが636,348番目のレコー
ドをロードしたときに、このユーテイリテイの中断が生
じたものと仮定する。この点で、LOADユーテイリテ
イは2021番目の適用業務アドレス空間バツフアの4
8番目のレコードをロードしている。テーブルスペース
内の現在位置は638,712番目のレコードにある。
入力データ・セツト内の現在位置は636,615番目
のレコードまたはその以降のレコードにある。ワーク・
データ・セツト内の位置はEMPLOYEEテーブルで
定義した索引の数、索引のキーのバイト数、および中断
の発生するまでに、2020のバツフアのロードが無事
完了したということによつて、決定される。第1図は中
断が発生するまでの、LOAD LOG(NO)呼出し
の実行を示すものである。
表2はLOAD LOG(NO)呼出しを、内部COM
MITポイントから再スタートする場合の、JCLと構
文を示すものである。最初のJCLおよび構文との唯一
の違いが、EXEC JCLステートメントにREST
ARTパラネメータを追加したことであることに、留意
されたい。
再スタート・ロード・レコード処理は2001番目の適
用業務アドレス空間バツフアの始めからテーブルスペー
スへの、レコードのローデイングを開始する。この態様
で再スタートを行なうため、初期化処理は内部処理状態
が20番目のCOMMITの後にある場合に、この状態
を再構成する。
再スタート処理は初期化処理から始まる。初期化処理は
URTSおよびUCRAを含む、必要な制御ブロツクと
構造を獲得して、初期化する。初期化処理は次いで、中
断前にデイスクに書き込まれた、テーブルスペース内の
最後のレコードの位置を確立する。LOAD LOG
(NO)呼出しが中断された場合には、この位置は63
2,364番目のレコードから638,712番目のレ
コードまでのテーブルスペースの任意の場所となる。初
期化処理は次いで、ログされた情報を読み取つて、20
番目のCOMMITが生じたときの入力データ・セツト
内の位置、ロードされるテーブルスペース内の位置、お
よびワーク・データ・セツト内の位置を獲得する。初期
化処理はこの情報を、UCRAおよびURTSの適切な
フイールドに記録する。
初期化後、LOADユーテイリテイは入力データ・セツ
トとワーク・データ・セツトを開き、その現在位置を2
0番目のCOMMITの完了後保持されている位置の各
々の内部に復元する。ロード呼出しは次いで、次の31
5のレコードを入力データ・セツトから適用業務アドレ
ス空間バツフアに転送する。適用業務アドレス空間バツ
フアの最初のレコードは、入力データ・セツトの63
0,001番目のレコードである。この場合、テーブル
スペース内での再配置が必要であるから、LOADユー
テイリテイはデータ管理装置を呼び出して、テーブルス
ペース内に存在している632,364番目のレコード
以降のあらゆるレコードを削除する。次いで、再スター
ト処理が完了し、ロード呼出しの実行が通常に行なわ
れ、入力データ・セツトのすべてのレコードが処理され
るまで、入力データがバツフアごとにロードされる。第
2図は20番目のCOMMITポイントから最後までの
LOAD LOG(NO)呼出しの再スタートの実行を
示したものである。
この発明の幾つかの好ましい特徴を例示したが、多くの
変更や改変を当分野の技術者が行なえるのであろう。し
たがつて、特許請求の範囲がこの発明の真の精神に属す
るこれらの変更および改変のすべてを対象とするもので
あると、理解すべきである。
F.発明の効果 以上説明したように、この発明によれば、トランザクシ
ヨン向きシステムにおいて、長い時間がかかり、障害に
対する許容範囲の広い動作を再スタートする際に関与す
る工程の数を最小とする方法が与えられる。
【図面の簡単な説明】
第1図および第2図は、トランザクシヨン、バツフアの
強制書込、チエツクポイント、およびCOMMITポイ
ントを含む、LOAD操作が行なわれているデータ・ベ
ース・システムの、この発明によるLOADユーテイリ
テイを使うことに関するタイムラインの図である。 第3図は、従来技術によるトランザクシヨンの実行を示
す図である。 第4図は、チエツクポイントおよびシステム故障に関し
て完了した状態の、従来技術によるトランザクシヨンの
タイムラインの図である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−142446(JP,A) 特開 昭58−164358(JP,A) 特開 昭59−108441(JP,A) bit別冊コンピュ−タ サイエンス acm computng survey s’83,(1985)共立出版pp.137−164

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】トランザクション向きデータ・ベース・シ
    ステムの動作を回復する方法において、各トランザクシ
    ョンは、該トランザクションの境界を設けるためにBE
    GIN、COMMITまたはROLLBACK基本単位
    を利用し、前記システムは記憶装置を有し、該装置は順
    次的データ・セットを含む第1の記憶位置と、データ・
    ベース形式にされた対象を含む第2の記憶位置を含み、
    さらに前記方法は、 (a)一連の重なり合わないトランザクションによって予
    定の量の前記順次的データ・セットを前記記憶装置の第
    1の記憶位置から第2の記憶位置へ移動し、該予定の量
    の順次的データ・セットを前記データ・ベース形式にさ
    れた対象の終了位置に追加することを繰り返し実行する
    とともに、その際に事前イメージまたは事後イメージを
    ログとして用いず、前記順次的データ・セット内の現在
    の位置と新しく確立された該データ・ベース形式にされ
    た対象の終了位置とをログに記録し、このことを、デー
    タ・セットがなくなるか、または進行中のトランザクシ
    ョンが中断されるまで継続する段階と、 (b)トランザクションの中断の場合に、前記ログに記録
    された前記順次的データ・セットの最近の位置及び前記
    データ・ベース形式にされた対象内の最近の終了位置を
    参照してトランザクションの中断前に完了した最後のC
    OMMIT地点から動作を再スタートし、前記データ・
    ベース形式にされた対象内の最近の終了位置以降のレコ
    ードを削除し、前記順次的データ・セットの最近の位置
    以降のデータ・セットについて段階(a)の処理を繰り返
    す段階と、 を有するデータ・ベース・システムの動作を回復する方
    法。
JP62017469A 1986-03-03 1987-01-29 データ・ベース・システムの動作を回復する方法 Expired - Lifetime JPH0628043B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/835,396 US4868744A (en) 1986-03-03 1986-03-03 Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log
US835396 1986-03-03

Publications (2)

Publication Number Publication Date
JPS62206645A JPS62206645A (ja) 1987-09-11
JPH0628043B2 true JPH0628043B2 (ja) 1994-04-13

Family

ID=25269410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62017469A Expired - Lifetime JPH0628043B2 (ja) 1986-03-03 1987-01-29 データ・ベース・システムの動作を回復する方法

Country Status (5)

Country Link
US (1) US4868744A (ja)
EP (1) EP0236743B1 (ja)
JP (1) JPH0628043B2 (ja)
CA (1) CA1273434A (ja)
DE (1) DE3788444T2 (ja)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6310251A (ja) * 1986-07-01 1988-01-16 Nec Corp レコ−ド指示子制御方式
DE3771603D1 (de) * 1986-07-23 1991-08-29 Siemens Ag Modular strukturiertes isdn-kommunikationssystem mit bildung und anzeige von fehlertexten.
US5065311A (en) * 1987-04-20 1991-11-12 Hitachi, Ltd. Distributed data base system of composite subsystem type, and method fault recovery for the system
JP2718031B2 (ja) * 1987-07-17 1998-02-25 株式会社日立製作所 履歴情報取得方法
JPH01147727A (ja) * 1987-12-04 1989-06-09 Hitachi Ltd オンラインプログラムの障害回復方法
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
US5043866A (en) * 1988-04-08 1991-08-27 International Business Machines Corporation Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery
US5123104A (en) * 1988-04-08 1992-06-16 International Business Machines Corporation Method and apparatus for concurrent modification of an index tree in a transaction processing system utilizing selective indication of structural modification operations
US5278983A (en) * 1988-09-30 1994-01-11 International Business Machines Corporation Boundary representation solid modeling system
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
EP0388155B1 (en) * 1989-03-14 1998-02-25 Canon Kabushiki Kaisha Process status supervisory system
JPH02310665A (ja) * 1989-05-25 1990-12-26 Toshiba Corp 分散トランザクション処理システム
EP0402542B1 (en) * 1989-06-13 1997-01-22 International Business Machines Corporation Method of removing uncommitted changes to stored data by a database management system
US5095421A (en) * 1989-08-17 1992-03-10 International Business Machines Corporation Transaction processing facility within an operating system environment
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
US5170464A (en) * 1990-01-26 1992-12-08 International Business Machines Corporation Method for rolling back an expert system
JP3293839B2 (ja) * 1990-05-16 2002-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム
US5327532A (en) * 1990-05-16 1994-07-05 International Business Machines Corporation Coordinated sync point management of protected resources
DE69126066T2 (de) * 1990-06-29 1997-09-25 Oracle Corp Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs
DE69126067T2 (de) * 1990-06-29 1997-10-02 Oracle Corp Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung
US5317730A (en) * 1991-01-11 1994-05-31 International Business Machines Corporation System for modifying persistent database based upon set of data elements formed after selective insertion or deletion
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
US5313625A (en) * 1991-07-30 1994-05-17 Honeywell Inc. Fault recoverable computer system
JP3590075B2 (ja) * 1992-01-20 2004-11-17 株式会社東芝 仮想記憶方式のデータ処理装置及び方法
EP0554854A3 (en) * 1992-02-04 1996-02-28 Digital Equipment Corp System and method for executing, tracking and recovering long running computations
GB2273180A (en) * 1992-12-02 1994-06-08 Ibm Database backup and recovery.
US6259446B1 (en) 1992-12-23 2001-07-10 Object Technology Licensing Corporation Menu state system
DE69304928T2 (de) * 1992-12-23 1997-04-03 Taligent Inc Atomares befehlsystem
JP2557192B2 (ja) * 1993-03-15 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5590277A (en) * 1994-06-22 1996-12-31 Lucent Technologies Inc. Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
US5530802A (en) * 1994-06-22 1996-06-25 At&T Corp. Input sequence reordering method for software failure recovery
US5666514A (en) * 1994-07-01 1997-09-09 Board Of Trustees Of The Leland Stanford Junior University Cache memory containing extra status bits to indicate memory regions where logging of data should occur
US5435004A (en) * 1994-07-21 1995-07-18 International Business Machines Corporation Computerized system and method for data backup
US5596710A (en) * 1994-10-25 1997-01-21 Hewlett-Packard Company Method for managing roll forward and roll back logs of a transaction object
US5644696A (en) * 1995-06-06 1997-07-01 International Business Machines Corporation Recovering multi-volume data sets during volume recovery
SE506534C2 (sv) * 1995-06-15 1998-01-12 Ericsson Telefon Ab L M Sätt att bestämma innehåll i restaureringslogg
US6105148A (en) * 1995-06-16 2000-08-15 Lucent Technologies Inc. Persistent state checkpoint and restoration systems
US6044475A (en) * 1995-06-16 2000-03-28 Lucent Technologies, Inc. Checkpoint and restoration systems for execution control
WO1997000477A1 (en) * 1995-06-16 1997-01-03 Lucent Technologies Checkpoint and restoration systems for execution control
US5940612A (en) * 1995-09-27 1999-08-17 International Business Machines Corporation System and method for queuing of tasks in a multiprocessing system
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
GB2311391A (en) * 1996-03-19 1997-09-24 Ibm Restart and recovery of OMG compliant transaction systems
KR100198805B1 (ko) * 1996-11-22 1999-06-15 정선종 분석 단계에서 트랜잭션 테이블 초기화 기법을 이용한 댕글링 트랜잭션 발생 방지 방법
US5998952A (en) * 1997-04-09 1999-12-07 Trw Inc. Method and apparatus for reducing torque ripple in an electric motor using anticasual filtering
US5925095A (en) * 1997-05-12 1999-07-20 International Business Machines Corporation Method and a computer program product for client/server computing with support for both recoverable and non-recoverable clients
JPH1196062A (ja) * 1997-09-19 1999-04-09 Hitachi Ltd ディレクトリ・アクセス方法
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
US6226651B1 (en) 1998-03-27 2001-05-01 International Business Machines Corporation Database disaster remote site recovery
US6351754B1 (en) 1998-06-23 2002-02-26 Oracle Corporation Method and system for controlling recovery downtime
US6253212B1 (en) * 1998-06-23 2001-06-26 Oracle Corporation Method and system for maintaining checkpoint values
GB2343020A (en) * 1998-10-19 2000-04-26 Ibm Handling transaction failures in a transaction processing system
US6618822B1 (en) * 2000-01-03 2003-09-09 Oracle International Corporation Method and mechanism for relational access of recovery logs in a database system
US6567928B1 (en) 2000-05-23 2003-05-20 International Business Machines Corporation Method and apparatus for efficiently recovering from a failure in a database that includes unlogged objects
US6651073B1 (en) 2000-05-23 2003-11-18 International Business Machines Corporation Method and apparatus for insuring database data integrity without data recovery logging
US6769074B2 (en) * 2000-05-25 2004-07-27 Lumigent Technologies, Inc. System and method for transaction-selective rollback reconstruction of database objects
US6631374B1 (en) * 2000-09-29 2003-10-07 Oracle Corp. System and method for providing fine-grained temporal database access
US8650169B1 (en) 2000-09-29 2014-02-11 Oracle International Corporation Method and mechanism for identifying transaction on a row of data
WO2004027604A2 (en) 2002-09-23 2004-04-01 Neos Financial Systems Limited Transaction processing system
US7308456B2 (en) * 2002-12-19 2007-12-11 International Business Machines Corporation Method and apparatus for building one or more indexes on data concurrent with manipulation of data
US7890466B2 (en) * 2003-04-16 2011-02-15 Oracle International Corporation Techniques for increasing the usefulness of transaction logs
US7499953B2 (en) * 2004-04-23 2009-03-03 Oracle International Corporation Online recovery of user tables using flashback table
US8918367B2 (en) * 2004-04-30 2014-12-23 Sap Se Two phase commit emulation for non distributed transactions
US7720820B2 (en) * 2005-07-12 2010-05-18 Microsoft Corporation Logless persistent components for enterprise applications
US8856083B2 (en) * 2006-06-09 2014-10-07 Oracle International Corporation Framework to optimize delete all row operations on database objects to improve throughput, query ability and flashback
US9519528B2 (en) 2013-04-19 2016-12-13 National Ict Australia Limited Checking undoability of an API-controlled computing system
CN108052430B (zh) * 2017-11-30 2022-03-18 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
KR102326490B1 (ko) * 2020-03-25 2021-11-15 주식회사 티맥스 소프트 스텝 입출력 데이터 셋 파이프라이닝
US11748212B1 (en) * 2021-06-28 2023-09-05 Gravic, Inc. Method and apparatus for resolving automatic transaction facility (ATF) failures

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3564506A (en) * 1968-01-17 1971-02-16 Ibm Instruction retry byte counter
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
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
US4648031A (en) * 1982-06-21 1987-03-03 International Business Machines Corporation Method and apparatus for restarting a computing system
US4521847A (en) * 1982-09-21 1985-06-04 Xerox Corporation Control system job recovery after a malfunction
US4514846A (en) * 1982-09-21 1985-04-30 Xerox Corporation Control fault detection for machine recovery and diagnostics prior to malfunction
WO1984002409A1 (en) * 1982-12-09 1984-06-21 Sequoia Systems Inc Memory backup system
US4697266A (en) * 1983-03-14 1987-09-29 Unisys Corp. Asynchronous checkpointing system for error recovery
US4538265A (en) * 1983-03-24 1985-08-27 International Business Machines Corporation Method and apparatus for instruction parity error recovery
US4641305A (en) * 1984-10-19 1987-02-03 Honeywell Information Systems Inc. Control store memory read error resiliency method and apparatus
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
bit別冊コンピュ−タサイエンスacmcomputngsurveys’83,(1985)共立出版pp.137−164

Also Published As

Publication number Publication date
DE3788444T2 (de) 1994-06-23
EP0236743A2 (en) 1987-09-16
CA1273434A (en) 1990-08-28
JPS62206645A (ja) 1987-09-11
US4868744A (en) 1989-09-19
DE3788444D1 (de) 1994-01-27
EP0236743A3 (en) 1989-09-27
EP0236743B1 (en) 1993-12-15

Similar Documents

Publication Publication Date Title
JPH0628043B2 (ja) データ・ベース・システムの動作を回復する方法
US6035379A (en) Transaction processing for user data employing both logging and shadow copying
JP2505112B2 (ja) トランザクション管理方法
JP2531894B2 (ja) デ―タ処理装置
US6185699B1 (en) Method and apparatus providing system availability during DBMS restart recovery
US6324548B1 (en) Database backup and recovery using separate history files for database backup and audit backup
Gray et al. The recovery manager of the System R database manager
US4498145A (en) Method for assuring atomicity of multi-row update operations in a database system
US5317731A (en) Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor
US5485608A (en) Methods and apparatus for updating information in a computer system using logs and state identifiers
US6061769A (en) Data set backup in a shared environment
US6173292B1 (en) Data recovery in a transactional database using write-ahead logging and file caching
JP2531776B2 (ja) デ―タベ―スを回復する方法
US11132350B2 (en) Replicable differential store data structure
US5524205A (en) Methods and apparatus for optimizing undo log usage
US6154847A (en) Method and system for performing resource updates and recovering operational records within a fault-tolerant transaction-oriented data processing system
US6490594B1 (en) Database computer system with application recovery and dependency handling write cache
US7509351B2 (en) Logical logging to extend recovery
JPH0560617B2 (ja)
Oki et al. Reliable object storage to support atomic actions
CN115617571A (zh) 一种数据备份方法、装置、系统、设备及存储介质
Rosenkrantz Dynamic database dumping
Gray et al. The recovery manager of a data management system
Cabrera et al. Implementing atomicity in two systems: Techniques, tradeoffs, and experience
US20060004846A1 (en) Low-overhead relational database backup and restore operations