JP2531835B2 - デ―タベ―ス管理方法及びシステム - Google Patents

デ―タベ―ス管理方法及びシステム

Info

Publication number
JP2531835B2
JP2531835B2 JP2150088A JP15008890A JP2531835B2 JP 2531835 B2 JP2531835 B2 JP 2531835B2 JP 2150088 A JP2150088 A JP 2150088A JP 15008890 A JP15008890 A JP 15008890A JP 2531835 B2 JP2531835 B2 JP 2531835B2
Authority
JP
Japan
Prior art keywords
backout
failure
file
record
copy
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
JP2150088A
Other languages
English (en)
Other versions
JPH0324649A (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 JPH0324649A publication Critical patent/JPH0324649A/ja
Application granted granted Critical
Publication of JP2531835B2 publication Critical patent/JP2531835B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • 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.従来の技術 例えば、IBMカスタマ情報制御システム(CICS)など
のオンライン・トランザクション処理システムにおける
トランザクションとは、そのトランザクション処理シス
テムの記憶中に保持されているデータに対する変更のこ
とである。データの完全性を保証するためには、トラン
ザクションは、いわば「1か0か」でなくてはならず、
これは、データに対して完全な変更がなされるか、また
は全く変更がなされないかのどちらかであることを意味
する。通常、トランザクションを構成する変更は順次的
に行なわれ、全ての変更が完了した時点でシステムに対
して、システムにその変更に「コミット」するように指
令するために信号が送られる。
しかし、そのトランザクションを構成する全ての変更
がなされコミットされてしまう前に、システムが故障す
るかまたは、トランザクションが異常終了するならば、
データの完全性を維持するために、システムによってコ
ミットされなかったそれらの全ての変更を、システムは
除去または「バックアウト」しなくてはならない。シス
テムはこのことを、その変更されたデータを、システム
がその変更を実行するすぐ前にセーブしていたもとのデ
ータのコピーで置き換え、以てもとのデータを再び復帰
させ、その所望でない変更を除去することによって行
う。
コミットされていない変更の置換の途中でバックアウ
ト処理に障害が生じることもあり得る。それは例えば、
コミットされていない変更を含むデータが配置されてい
る記憶装置が誤動作することによる。コミットされてい
ない変更を置換するためのシステムの障害は、以前は、
データの完全性を維持するために、データに対してそれ
以上の変更が行なわれるのを防止するために、オペレー
タの動作が必要であることを意味した。従来のトランザ
クション処理システムでは、このことは、システム全体
を遮断して、問題を訂正し、システムを「緊急的再スタ
ート」として再スタートさせることにより行なわれ、オ
ペレータは、トランザクション処理の破壊につながるシ
ステムの遮断を行うか、またはコミットされていない変
更を含むいくつかのデータを許容せざるをえなかった。
システムの遮断は、もし主要システムがともかく故障し
たなら別のシステムが処理を引き受けるようにスタンバ
イ状態になっている「ホット・スタンバイ」システムに
影響を及ぼすことがある。そのスタンバイ・システム
は、処理を引き受ける時に緊急再スタートを実行し、こ
の緊急再スタートの間に実行されたなんらかのバックア
ウトは、直ちにまた失敗してしまうことになる。
C.発明が解決しようとする課題 この発明の目的は、コミットされていない変更を含
む、一般的にはファイルと呼ばれるデータがもとのデー
タまたは事前イメージ(変更前イメージともいう)によ
って置換されるまでそのデータの一部を分離する間に、
動作を継続することができるトランザクション処理シス
テムを提供することにある。
この発明の他の目的は、バックアウト障害が生じたフ
ァイルのみをクローズして、そのバックアウトを再試行
するためのプログラムを走らせることにより、従来のバ
ックアウト方法を改善することにある。
D.課題を解決するための手段 本発明は、システムが、データのもとのコピーに対し
て変更を行う前に、そのデータの複写コピーを記憶し、
システムまたはその変更を行うトランザクションの障害
時に、コミットされていない変更を含むコピーを複写コ
ピーで置き換え、もとのコピーを置換する工程でのシス
テムの障害(すなわちバックアウト障害)時に、バック
アウト障害処理の変更によってコミットされていない変
更が除去されてしまうまでシステムが、データを更に変
更することを禁止するようにした、データベース管理シ
ステムによって記憶されたデータに対してなされたコミ
ットされていない変更を除去する方法を提供するもので
ある。
好適には、もとのコピーを置換するためのシステムの
障害の場合、システムの表示装置がその障害を通知し、
コミットされていない変更が除去されるまで、システム
によるデータを更に変更しようとするその後の試みを禁
止する。好適には、システムは、視覚的表示装置を使用
してオペレータに障害を通知する。
好適には、このデータベース管理システムは、事前イ
メージ・ロギングを行うトランザクション処理システム
である。
E.実施例 この発明の好適な実施例では、コミットされていない
変更を含むがゆえの不所望のデータ更新の除去は、バッ
チ・バックアウト・ユティリティ・プログラムを使用し
て行なわれる。
バッチ・バックアウト・ユティリティは、CICSなどの
トランザクション処理システムが、正常にその処理を完
了していないトランザクションによって取り残されたか
もしれない不所望のデータ更新を取り除くことを禁止す
る問題に遭遇した時に走らせることができるものであ
る。このバッチ・バックアウト・ユティリティは、シス
テム・ログまたはそれのコピーから関連する事前イメー
ジを選択し、更新されたデータを置き換えるためにそれ
を使用することによって不所望の更新をバックアウトす
るプログラムである。システム・ログとは、システム再
スタート、性能監視、監査、デバッグなどに使用するた
めシステムがさまざまなデータを記録する順次的なデー
タ・セットである(すなわち、システムは、その動作の
「ログ」をこのデータセット上に維持する)。事前イメ
ージは、このデータ中に含まれる。
バッチ・バックアウト・ユティリティは、システム・
ログを読取り、どの事前イメージを再スタートさせるべ
きかを決定しなくてはならない。このことは簡単な作業
ではないかもしれない。システム上で同時に実行される
多くのトランザクションがありうるし、各トランザクシ
ョンが複数のファイルを更新しているかもしれない。1
つのファイル上のバックアウト障害は、ドミノ効果を呈
して、同一または他のファイル上に、以下の一連のバッ
クアウト障害を引き起こすことがある。また、そのバッ
クアウト障害を引き起こす問題が、例えば磁気ディスク
などの記憶素子全体に関与するなら、その磁気ディスク
上の多くのファイルも影響を受け、短い期間に続いて多
くのバックアウト障害が生じることがあり得る。
バックアウト障害がトランザクション処理システムに
生じた場合、コミットされていない変更をもつデータ、
すなわち望ましくないデータ更新をもつデータは、他の
トランザクションがそれにアクセスすることができない
ように分離されなくてはならない。本発明の1つの実施
例では、このことは、コミットされていない更新を含む
データが記憶されているファイルをクローズすることに
よって行なわれる。しかし、他のトランザクションが更
新の途中であるためそのファイルを直ちにクローズする
ことは可能ではないかもしれず、よってもし可能ならこ
れらのトランザクションを完了まで走らせることが好ま
しい。もちろん、これらのトランザクションのうちのい
くつかは(もしかしたら同一の理由で)完了することが
できず従って異常終了するかもしれず、そしてそれらの
更新のバックアウトは失敗するかもしれない。こうし
て、最初のバックアウト障害と、ファイルをクローズす
ることができ不所望の更新が離隔された時点の間に、そ
のファイル上にそれ以後のバックアウト障害が生じてい
ることがある。
もし、バックアウト障害の間に、例えば、電源遮断、
システム・エラー、オペレーティング・システム障害な
どのためにシステム自体全体が故障したなら、さらに問
題は錯綜してくる。
例えばCICSシステムなどのトランザクション処理シス
テムが故障する(すなわち、異常終了する)なら、その
システムは、緊急再スタート・モードで再スタートす
る。このモードでは、動作を続ける前に、システムは失
敗した時のままの状態に事を戻そうと試みる。システム
は障害の時点で、どのトランザクションが進行中(すな
わち実行中)であるかを突き止めることができ、これら
のトランザクションを異常終了したものとして取扱い、
それらのコミットされていない更新をバックアウトしよ
うと試みる。明らかに、これらの試みは、より以上のバ
ックアウト障害に帰してしまうことがある。
CICSシステム及びその他の関連システムにおいては、
複数のファイルが実際には同一のデータの集まり(デー
タセット)をあらわすことがあるが、それは異なる複数
の経路からアクセスされ、従って異なる2つのファイル
のための2つのバックアウト障害が、同一のデータセッ
トについて生じる、ということがあり得る。これらの複
雑さは全て、システム・ログ中にあらわれるレコードに
反映され、従って、バッチ・バックアウト・ユティリテ
ィは、この相互に入り組んだレコードのストリームを解
きほぐしそれを追跡しようと試みて、非常に複雑な作業
を行うことがある。好適には、バッチ・バックアウト・
ユティリティは、(事前イメージを記憶する必要がない
ように)関連の事前イメージを見出すと直ぐに更新をバ
ックアウトし、システム・ログを一回走査するだけでこ
れを行うことができるように一度の実行で複数のファイ
ルに対してバックアウトを実行することができるべきで
ある。また、バッチ・バックアウト・ユティリティは、
特定のバックアウトを行うべきか、またはそれを緊急再
スタートへ任せるべきかを決定することができなくては
ならない。同様に、緊急再スタートは、どのバックアウ
トを試みるべきか、及びバッチ・バックアウト・ユティ
リティへ任せるべきかを決定することができなくてはな
らない。
本発明は、特定のファイルについてのバックアウト障
害の期間を囲む(すなわち、始まりと終りをマークす
る)ためのシステム・ログ・レコードのセットを提供す
る。これらのレコードを使用すると、バッチ・バックア
ウト・ユティリティは次のことを追跡することができ
る。
(a) システムがそのバックアウト障害処理を完了し
たかどうか(すなわち、もしバックアウト障害処理が完
了する前にシステムが故障したなら、システムの緊急再
スタートが試みるので、バッチ・バックアウト・ユティ
リィはバックアウトを試みるべきではない)、 (b) どのトランザクションがどのファイル(すなわ
ち、バックアウトすべきどの変更)に対してバックアウ
トを失敗したか、 (c) どのトランザクションが最初にバックアウト障
害を引き起こしたか(すなわち、何時他のバックアウト
障害を探すのを中止したらよいか)。
本発明の3つのタイプのバックアウト・レコードは、
各バックアウト障害処理の開始、途中(次)、終了を示
すので、それらの処理自体は同時的に起こり得るもので
あってそれゆえシステム・ログ上で互いに入り組んであ
らわれ得るけれども、バッチ・バックアウト・ユティリ
ティが、めいめい個別のバックアウト障害処理を追跡す
るのは比較的容易である。
本発明の好適な実施例では、何時バックアウト障害が
生じても、システムは、ユーザーがもし可能ならその状
況を処理することができるようにユーザーが書いたプロ
グラムを呼び出すが、そのバックアウト障害を単に無視
するのではなくて次の「バックアウト障害制御コード」
を実行するために、その呼び出しからユーザーの戻りで
トランザクション処理を変更することになる。バックア
ウト障害が生じた時はいつでも、ファイル状況制御ブロ
ック中の「バックアウト障害」フラグが検査される。そ
してもしこのフラグがセットされていなかったなら、そ
のファイルにとってこれが最初のバックアウト障害とな
り、そのフラグをオンにスイッチすることによって、こ
のファイルが「バックアウト障害」状況になる。トラン
ザクションがファイルのアクセスを要求するときは、常
にこの状況か検査される。もしそれがセットされている
ことが分かったなら、システムはそのファイルに対する
アクセスを拒否することになる。このファイルはまた、
「クローズ」状態に入れられることになる。このこと
は、そのファイルにアクセスする最後のトランザクショ
ンがそれによって終了されると直ぐにそのファイルがク
ローズされることになることを意味する(このファイル
を更新する一度に2つ以上のトランザクションが存在し
得る)。「バックアウト障害」レコードがログに書き込
まれることとなるが、これには、ファイル名、トランザ
クション識別子等とともに、このバックアウト障害がこ
のファイルに対して最初のものであることを示す「最
初」フラグが含まれている。もしそのトランザクション
処理システムが、バックアウト障害の発生時に検査して
その「バックアウト障害」状況フラグが既にセットされ
ていることを見出したなら、トランザクション処理シス
テムは、以前にこのファイル上でバックアウト障害が生
じていることを知り、そのフラグを再びセットしたりフ
ァイルをクローズしようとは試みないで、システム・ロ
グに、フラグが、「最初」でなく「継続」にセットされ
ている以外は上記の情報と類似の情報を含むバックアウ
ト障害レコードを単に書き込む。
ファイルが結局クローズする時(すなわち、最初のバ
ックアウト障害以前にそのファイルにアクセスしていた
全てのトランザクションが終了した時)、システムは
「バックアウト障害」フラグがセットされているファイ
ルをオープンしようとするいかなる試みも許可しないの
で、そのファイル上の不所望の更新を分離することがで
きるようになる。この時点で、このファイルについての
バックアウト障害処理が完了し、このファイルに対する
更新のバックアウトがバッチ・バックアウト・ユティリ
ティに必要なデータセット名−ファイル名の対を知らせ
る追加情報も、そのログ・レコードに含まれる。
バッチ・バックアウト・ユティリティは、システム・
ログを後方に読み、上述のバックアウト障害ログ・レコ
ードを調べて、処理に必要な情報(すなわち、どの事前
イメージを再指定するか、バックアウトを進めるかまた
は緊急再スタート手続に任せるべきか、必要な全てのバ
ックアウト処理をいつ終了したか等)を知るためのテー
ブルを生成し、維持するだけでよい。
この発明の更なる好適な実施例においては、バッチ・
バックアウト・ユティリティには、ユーザーがバックア
ウトしたいと要望しているデータセットの名前を与える
だけでよい。バッチ・バックアウト・ユティリティは、
それと一致するデータセット名を含む「終了」タイプの
バックアウト障害レコードを探してシステム・ログ(の
コピー)を後方に読み進む。もしバッチ・バックアウト
・ユティリティが該当のものを見出したなら、バッチ・
バックアウト・ユティリティは、上記のテーブル中にデ
ータセット名−ファイル名の対を記憶する。バッチ・バ
ックアウト・ユティリティはこのときまた、その記憶し
たファイル名を含む「後」または「最初」タイプのバッ
クアウト障害ログ・レコードをも探すことになる。バッ
チ・バックアウト・ユティリティは、これらのレコード
からのトランザクション識別子をそのテーブルに追加
し、再指定すべき正しい事前イメージを選択するため
に、記憶しているファイル名−トランザクション識別子
の組合せを使用する(バッチ・バックアウト・ユティリ
ティがログ上で各事前イメージを読み取るとき、バッチ
・バックアウト・ユティリティは、その事前イメージに
ついてのファイル名とトランザクション識別子を、その
テーブルに記憶されているものと比較する。そしても
し、一致するファイル名とトランザクション識別子をも
つテーブル・エントリが存在するなら、バッチ・バック
アウト・ユティリティは、バックアウト障害がこのファ
イルとこのトランザクションに発生したに違いないこと
と、そのファイルがクローズされていることを知る。そ
れゆえ、バッチ・バックアウト・ユティリティは、この
事前イメージを再指定し、コミットされていない更新を
バックアウトすべきことを知るのである)。バッチ・バ
ックアウト・ユティリティはまた、「最初」タイプのレ
コードを見たかどうかを記憶するためにそのテーブルに
マークし、これにより、バッチ・バックアウト・ユティ
リティは、そのファイルについてのそれ以上のバックア
ウト障害ログ・レコードを無視することになる(という
のは、バッチ・バックアウト・ユティリティはシステム
・ログを後方に読み進んでいるので、それらは、時間的
にはより早期だが順序的にはより後方のバックアウト障
害レコードのセットからのものであるからである。)。
バッチ・バックアウト・ユティリティはまた、読み取
るレコード中で「タスクの開始」フラグにも注目する。
このフラグは、トランザクションのために書かれた最初
のレコードを示し、バッチ・バックアウト・ユティリテ
ィは、トランザクションの開始を通過する時、もし一致
するトランザクション識別子があるならそれをそのテー
ブルから除去することになる。さらに、もしそのテーブ
ルが、「最初」タイプのバックアウト障害ログ・レコー
ドがあるファイルについて見出されたことを示し、バッ
チ・バックアウト・ユティリティが、このファイルにつ
いてバックアウト障害を呈した最後の残りのトランザク
ションを除去したばかりであるなら、このファイルにつ
いてはそれ以上トランザクション・エントリが作成され
ていないことになるので、バッチ・バックアウト・ユテ
ィリティは、このファイル・エントリをも除去すること
ができる。このテーブル中にそれ以上ファイル・エント
リがない場合、バッチ・バックアウト・ユティリティ
は、コミットされていない更新を全てバックアウトして
しまい、停止することができることを知るのである。
この発明の好適な実施例に従えば、トランザクション
処理システムは、バックアウト障害ログ・レコードを含
む。バックアウト障害ログ・レコードは、コミットされ
ていな変更をバックアウトするために、バックアウトを
試みることが安全かどうか、どこで開始すべきか、どこ
で停止すべきか、どのもとのレコードに再適用しなくて
はならないか、を計算するためにバッチ・バックアウト
・ユティリティが必要とする情報を含む。バックアウト
障害ログ・レコード中のフィールドとしては、「最初」
フラグ(これは、所与のデータセットにつき最初のバッ
クアウト障害ログ・レコードであるならセットされ
る)、データセット名、及びトランザクション識別子が
ある。
バックアウト障害ログ・レコードには次の3つの異な
るタイプがある。
(i)バックアウト障害ログ・レコード「最初」、これ
は、所与のデータセットにつき最初にバックアウト障害
を呈したタスクがどれかを示す。
(ii)バックアウト障害ログ・レコード「後」、これ
は、所与のデータセットにつきその後バックアウト障害
を呈したタスクがどれかを示す。
(iii)バックアウト障害ログ・レコード「終了」、こ
れは、所与のデータセットにつきバックアウト障害が完
了したことを示す。
バッチ・バックアウト・ユティリティは、「バックア
ウト障害」ログ・レコードを探してシステム・ログを後
方へ辿る。該当するものが見付かると、それの中のデー
タセット名をチェックして、それが、ユーザーがバック
アウトされるべきものとして指定したデータセット名に
一致するかどうかを調べる。もしそうなら、バッチ・バ
ックアウト・ユティリティは、その追加の情報を「バッ
クアウト障害」ログ・レコード中に記憶し、もとのどの
レコードに再適用され、どこで停止すべきかを制御する
ためにこの記憶情報を使用する。
次に示す疑似コードの例は、バックアウト障害ログ・
レコードが使用される様子を示すものである。「データ
ベース」という用語は、バックアウトされるべきエンテ
ィティをあらわす。バックアウト障害コードは、事前イ
メージをデータベースに適用することに失敗した時はい
つでも呼び出される。以下の疑似コードは、適当なバッ
クアウト障害論理の概要を示すものである。
例1. IF このデータベースが既にバックアウト障害を起こし
ている THEN バックアウト障害ログ・レコード「後」を書き込む ELSE バックアウト障害ログ・レコード「最初」を書き込む このデータベースがバックアウト障害を引き起こして
いることを記録 そのデータベースを更新しようとする以後の試みが許
可されないことを保証 ENDIF WHEN このデータベースを使用する全てのタスクが完了
した データベースをクローズ バックアウト障害ログ・レコード「終了」を書き込み ENDWHEN バッチ・バックアウト・ユティリティは、バックアウ
ト障害ログ・レコードを探してシステム・ログを後方に
読み進む。バッチ・バックアウト・ユティリティ内に
は、以前に処理されたバックアウト障害ログ・レコード
からの情報を含むテーブルが維持されている。バッチ・
バックアウト・ユティリティがバックアウト障害ログ・
レコードを見出す時、バッチ・バックアウト・ユティリ
ティは、バックアウト障害ログ・レコード読取のタイプ
に応じて、このテーブルを更新する。
以下の疑似コードは、適当なバッチ・バックアウト・
ユティリティ論理の例を示すものである。
例2. システム・ログを後方に読み進む IF バックアウト障害ログ・レコード THEN IF ユーザーがバックアウトするよう依頼したデータベ
ース THEN IF このデータベースについて後方に読み取られた最初
のバックアウト障害ログ・レコード THEN IF バックアウト障害ログ・レコード「終了」 THEN バックアウト障害ログ・レコード「終了」読取を記録す
るようにフラグをセット ELSE エラー、システムがバックアウトを完了しなかった、こ
のデータベースのバックアウトは、システムの責任であ
る ENDIF ELSE IF このデータベースについて、バックアウト障害ログ
・レコード「最初」が読み取られた THEN このバックアウト障害ログ・レコードを無視、このデー
タベースについて一組のバックアウト障害ログ・レコー
ドが読み取られており、このバックアウト障害ログ・レ
コードは、前のバックアウト障害のものである ELSE データベースに対して、このバックアウト障害ログ・
レコード中にトランザクション識別子を記録 IF バックアウト障害ログ・レコード 「最初」 THEN このことをデータベースに対して記録 ENDIF ENDIF ENDIF ELSE 無視 ENDIF IF 事前イメージ THEN IF ユーザーがバックアウトすることを依頼したデータ
ベースの事前イメージ THEN IF 事前イメージのトランザクション識別子がバックア
ウト障害ログ・レコード中に見出された THEN 事前イメージを適用 ELSE このトランザクション識別子にはバックアウト障害ロ
グ・レコードが存在しなかったので無視、このタスクは
バックアウトを失敗しなかった ENDIF ELSE 無視 ENDIF ENDIF IF トランザクションの最初のレコード THEN IF このトランザクション識別子は、何らかのデータベ
ースに対して記録されたものである THEN このレコードを除去 IF そのトランザクション識別子をもったデータベース
が存在し、バックアウト障害ログ・レコード「最初」が
そのデータベースについて読み取られた THEN そのデータベースを、バックアウトすべきデータベー
スのリストから除去 IF バックアウトすべきデータベースのリストが残って
いない THEN ジョブの終了 ENDIF ENDIF ENDIF ENDIF F.発明の効果 以上説明したように、この発明によれば、バックアウ
ト障害が生じたファイルのみをクローズして、そのバッ
クアウトを再試行するためのプログラムを走らせること
により、従来のバックアウト方法を改善する方法が提供
される。

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】システムが、データのもとのコピーに対し
    て変更を行う前に、そのデータの複写コピーを記憶し、
    システムまたはその変更を行うトランザクションの障害
    時に、コミットされていない変更を含むコピーを該複写
    コピーで置き換えるバックアウト処理を行なうデータベ
    ース管理システムにおいて、 前記バックアウト処理中の障害の生じた範囲を特定する
    ためのフィールドを含むレコードを、バックアウト障害
    レコードとしてシステム・ログに書き込むステップと、 あるファイルに対するバックアウト処理中に障害が生じ
    た場合には、バックアウト障害フラグをセットするステ
    ップと、 前記障害の処理が完了するまで、前記ファイルに対する
    更なる変更を禁止するステップと、 前記システム・ログを走査して前記バックアウト障害レ
    コードを検出するステップと、 前記検出されたレコードのフィールド情報に基づいて前
    記ファイルのバックアウト障害の範囲を特定し、前記の
    バックアウト処理を行なうステップと、 を含む、 データベース管理方法。
  2. 【請求項2】前記バックアウト障害レコードに含まれる
    フィールドが、 前記ファイルを含む所定のデータセットにつき最初にバ
    ックアウト障害が生じたことを示す「最初」、 該データセットにつきバックアウト障害が終了したこと
    を示す「終了」、 前記「最初」で示されたデータセットと前記「終了」で
    示されたデータセットの間にある該データセットにつき
    バックアウト障害が生じたことを示す「継続」、 の3つのタイプを含み、該タイプの種別に基づき前記の
    バックアウト障害の範囲を特定する、請求項1記載の方
    法。
  3. 【請求項3】前記バックアウト障害レコードが、前記の
    フィールド以外に、前記ファイルを含むデータセット
    名、及び前記変更を行なうトランザクション識別子を具
    備し、これらのフィールドに基づき前記のバックアウト
    処理を行なう、請求項1または2記載の方法。
  4. 【請求項4】システムが、データのもとのコピーに対し
    て変更を行う前に、そのデータの複写コピーを記憶し、
    システムまたはその変更を行うトランザクションの障害
    時に、コミットされていない変更を含むコピーを該複写
    コピーで置き換えるバックアウト処理を行なうデータベ
    ース管理システムにおいて、 前記バックアウト処理中の障害の生じた範囲を特定する
    ためのフィールドを含むバックアウト障害レコードをシ
    ステム・ログに書き込む手段と、 あるファイルに対するバックアウト処理で障害が生じた
    場合には、バックアウト障害フラグをセットして、該フ
    ァイルに対する更なる変更を禁止する手段と、 前記システム・ログを走査して前記バックアウト障害レ
    コードを検出する手段と、 前記検出されたレコードのフィールド情報に基づいて前
    記ファイルのバックアウト障害の範囲を特定し、前記の
    バックアウト処理を行なう手段と、 を含む、データベース管理システム。
JP2150088A 1989-06-13 1990-06-11 デ―タベ―ス管理方法及びシステム Expired - Lifetime JP2531835B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP89305987A EP0402542B1 (en) 1989-06-13 1989-06-13 Method of removing uncommitted changes to stored data by a database management system
EP89305987.3 1989-06-13

Publications (2)

Publication Number Publication Date
JPH0324649A JPH0324649A (ja) 1991-02-01
JP2531835B2 true JP2531835B2 (ja) 1996-09-04

Family

ID=8202715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2150088A Expired - Lifetime JP2531835B2 (ja) 1989-06-13 1990-06-11 デ―タベ―ス管理方法及びシステム

Country Status (7)

Country Link
US (1) US5437026A (ja)
EP (1) EP0402542B1 (ja)
JP (1) JP2531835B2 (ja)
AT (1) ATE148241T1 (ja)
BR (1) BR9002804A (ja)
CA (1) CA2018932A1 (ja)
DE (1) DE68927705T2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2276737A (en) * 1993-03-30 1994-10-05 Ibm Fault-tolerant transaction-oriented data processing
US6920467B1 (en) * 1993-11-26 2005-07-19 Canon Kabushiki Kaisha Avoiding unwanted side-effects in the updating of transient data
GB2301910B (en) * 1995-06-07 1999-07-21 Ibm Management of units of work on a computer system log
US5745750A (en) * 1995-12-15 1998-04-28 International Business Machines Corporation Process and article of manufacture for constructing and optimizing transaction logs for mobile file systems
US5761678A (en) * 1996-06-26 1998-06-02 International Business Machines Corporation Creation of clone storage area with identification of base storage area and deferred cloning of metadata
US5873098A (en) * 1997-04-23 1999-02-16 Oracle Corporation Dynamic snapshot set adjustment
US5951695A (en) * 1997-07-25 1999-09-14 Hewlett-Packard Company Fast database failover
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
US6092086A (en) * 1998-03-31 2000-07-18 Bmc Software System and method for handling backout processing during capture of changed data in an enterprise computer system
GB2343020A (en) * 1998-10-19 2000-04-26 Ibm Handling transaction failures in a transaction processing system
JP4237354B2 (ja) * 1999-09-29 2009-03-11 株式会社東芝 トランザクション処理方法及びトランザクション処理システム
US6587962B1 (en) * 1999-10-20 2003-07-01 Hewlett-Packard Development Company, L.P. Write request protection upon failure in a multi-computer system
GB0006413D0 (en) * 2000-03-17 2000-05-03 Ibm A dynamic shortcut to reverse autonomous computer program actions
US6990466B1 (en) * 2000-08-08 2006-01-24 International Business Machines Corporation Method and system for integrating core banking business processes
US20030088783A1 (en) * 2001-11-06 2003-05-08 Dipierro Massimo Systems, methods and devices for secure computing
US7103603B2 (en) * 2003-03-28 2006-09-05 International Business Machines Corporation Method, apparatus, and system for improved duplicate record processing in a sort utility
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7631120B2 (en) 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US20050125423A1 (en) * 2003-12-04 2005-06-09 Hsien-Cheng Chou Method to provide a filter for the capture program of IBM/DB2 data replication
US7756838B2 (en) * 2005-12-12 2010-07-13 Microsoft Corporation Robust end-of-log processing
US8015215B2 (en) * 2006-08-24 2011-09-06 Oracle America, Inc. Delegation in a file system with distributed components
US20090063807A1 (en) * 2007-08-29 2009-03-05 International Business Machines Corporation Data redistribution in shared nothing architecture
KR101548222B1 (ko) * 2013-10-18 2015-08-31 ㈜윈웨이시스템 데이터 백업 방법 및 이를 지원하는 시스템
CN109696902B (zh) * 2018-12-06 2022-06-10 奇瑞汽车股份有限公司 一种信号记录装置、故障点检测电路及方法
CN111221671B (zh) * 2019-11-27 2024-03-22 中国银行股份有限公司 应用程序异常退出的处理方法及装置
CN111444039B (zh) * 2019-12-30 2023-03-21 中国银联股份有限公司 缓存数据回退方法以及缓存数据回退装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5155678A (en) * 1985-10-29 1992-10-13 International Business Machines Corporation Data availability in restartable data base system
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
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
US5077658A (en) * 1987-10-19 1991-12-31 International Business Machines Corporation Data access system for a file access processor
US4888681A (en) * 1987-10-19 1989-12-19 International Business Machines Corporation Space management system for data files having shared access
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
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

Also Published As

Publication number Publication date
EP0402542A1 (en) 1990-12-19
JPH0324649A (ja) 1991-02-01
ATE148241T1 (de) 1997-02-15
CA2018932A1 (en) 1990-12-13
DE68927705T2 (de) 1997-07-17
EP0402542B1 (en) 1997-01-22
BR9002804A (pt) 1991-08-20
US5437026A (en) 1995-07-25
DE68927705D1 (de) 1997-03-06

Similar Documents

Publication Publication Date Title
JP2531835B2 (ja) デ―タベ―ス管理方法及びシステム
US6185699B1 (en) Method and apparatus providing system availability during DBMS restart recovery
US6993537B2 (en) Data recovery system
US5917998A (en) Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging
US7133884B1 (en) Unobtrusive point-in-time consistent copies
US6453325B1 (en) Method and means for backup and restoration of a database system linked to a system for filing data
JPH01261746A (ja) データベースを回復する方法
US20080276239A1 (en) Recovery and restart of a batch application
US5740434A (en) System for maintenance of database integrity
KR100212447B1 (ko) 재수행 단계에서 종료한 트랜잭션 처리 기법을 이용한 댕글링 트랜잭션 발생 방지 방법
JP4428887B2 (ja) データベースシステム
US20210406245A1 (en) Rollback-Free Referential Integrity Update Processing
JP3290182B2 (ja) 共用環境におけるデータ・セットのバックアップ方法及び装置
JPH0561748A (ja) データベース・アクセスにおける同期確認の自動化方式
CN113190379B (zh) 一种数据库备份减少备份集的方法、系统及介质
JPS63262737A (ja) デ−タベ−ス更新記録処理方法
JPH1153239A (ja) データベースのロールバック処理方法及び前記ロールバック処理方法の手順を記録した記録媒体
Kumar et al. Recovery in Oracle
JPS6167153A (ja) 直接アクセス記憶装置の部分障害回復処理方法
JPH06214848A (ja) データベース管理システム
Emanuel Database recovery
JP2004013228A (ja) データベースシステム及びその整合制御方法
JPS60142446A (ja) バツクワ−ド障害復元処理方式
JP3483662B2 (ja) 計算機のバックアップ方式
JPH06149641A (ja) オンラインバックアップ及び障害回復方式