JPS62245348A - データベース更新方法 - Google Patents

データベース更新方法

Info

Publication number
JPS62245348A
JPS62245348A JP61087914A JP8791486A JPS62245348A JP S62245348 A JPS62245348 A JP S62245348A JP 61087914 A JP61087914 A JP 61087914A JP 8791486 A JP8791486 A JP 8791486A JP S62245348 A JPS62245348 A JP S62245348A
Authority
JP
Japan
Prior art keywords
page table
page
database
transaction
version
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.)
Granted
Application number
JP61087914A
Other languages
English (en)
Other versions
JPH0816881B2 (ja
Inventor
Teizaburo Kanai
金居 貞三郎
Toru Nishigaki
西垣 通
Kazuro Masamoto
正本 和朗
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61087914A priority Critical patent/JPH0816881B2/ja
Priority to US07/031,835 priority patent/US5043871A/en
Publication of JPS62245348A publication Critical patent/JPS62245348A/ja
Publication of JPH0816881B2 publication Critical patent/JPH0816881B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】
〔産業上の利用分野〕 本発明は、データベース・システムにおけろ、1〜ラン
ザクジヨンのデータベース更新方式に係り、特に、デー
タの回復たとえば電源断等のシステム障害が発生したと
きのデータの回復によるデータベースの論理的一貫性を
有するデータベースを更新する方法および装置に係る。 〔従来の技術〕 データベース・システムにおいては、電源断等によるシ
ステム障害やプログラム誤り等によるトランザクション
障害が発生したとき、データベースの論理的一貫性を保
たねばならない。特に障害発生時に実行未完了のトラン
ザクションによるデータベース更新結果については、こ
れを無効にしなければならない。 このための従来技術として、トランザクションがデータ
ベースを更新する際、更新前の情報の格納箇所とは異な
る新しい箇所に更新結果を格納する方式が知られており
、ニー・シー・エム、トランザクションズオンデータベ
ースシステムズ。 第2巻、第1号(0177年)、第91頁から第104
頁(CM Trans、 Database 5yst
、 、 Vol、 2 、 Na 1(1977)、 
P P、91−104)に述べられている。 この方式はシャドウ・ページ方式と呼ばれ、トランザク
ション実行完了までにそのすべてのデータベース更新内
容を新たな格納箇所に書き出し、トランザクション実行
完了時点で更新前情報を無効、更新後情報を有効とする
。シャドウ・ページ方式の特徴をまとめると次の(1)
〜(4)となる。 (1)データベースは論理的な領域の単位であるページ
から構成され、ページとページのデータベース蓄積媒体
上の格納箇所であるスロットとの対応を表わすページ・
テーブルをカレント版とバックアップ版の2つもつ、こ
れらはいずれもディスク等の不揮発性媒体上に格納され
る0通常、ページ・テーブル自体も複数のブロックに分
割され、主記憶装置は不揮発性媒体との間の転送はブロ
ック単位に行われる。 (2)トランザクションによってデータベースが更新さ
れる場合に更新ページの更新後の内容を格納する新たな
スロットをカレント・ページ・スロットと呼び、ページ
との対応はカレント版ページ・テーブルに保持する。一
方、更新前のページの内容を格納しているスロットをシ
ャドウ・ページ・スロットと呼び、ページとの対応はバ
ックアップ版ページ・テーブルに保持する。 (3)トランザクションの実行完了時、カレント版ペー
ジ・テーブルを有効とすることにより、カレント・ペー
ジ・スロットに格納された更新後情報を有効とする。具
体的には、カレント版とバックアップ版のうちいずれの
ページ・テーブルが有効かを示す不揮発性媒体上のステ
ータス・ビットを変更する。 (4)トランザクション実行中にシステム/トランザク
ション障害が発生すると、ステータス・ビットによりバ
ックアップ版ページ・テーブルが有効なことがわかる。 すなわち、バックアップ版ページ・テーブルで示される
シャドウ・ページ・スロットに格納された更新前情報が
有効とされる。 したがって、システム/トランザクション障害が発生し
てもデータベースの論理的一貫性を保つことが可能であ
り、しかもデータベース更新履歴情報の取得は不要であ
る。
【発明が解決しようとする問題点〕
上記シャドウ・ページ方式における従来技術には次の3
つの問題点があった。 第一に、同時に複数のトランザクションがデータベース
を共用し、これを更新できないことである。この理由は
、トランザクション実行完了時にカレント版ページ・テ
ーブルの有効化をステータス・ビットの変更により一括
して行うため、当該ページ・テーブルの中に実行中の他
のトランザクションにより更新中のページが含まれては
ならないためである。 第二に、データベース更新結果の有効化と、端末へ送信
するメツセージや主記憶装置上のシステム管理情報の更
新結果の有効化とを同期させることが困難なことである
。トランザクションは1通常、データベース更新のみな
らず、メツセージ送受信やシステム管理情報更新を伴う
。しかし、従来技術におけるステータス・ビットの変更
はデータベース更新のみに係っている。このため、シス
テム障害が発生したとき、タイミングによっては。 データベース更新結果のみが有効とされたり、逆にメツ
セージやシステム管理情報更新結果のみが有効とされた
りする恐れがある。 第三に、トランザクション毎に不揮発性媒体上のページ
・テーブルやステータス・ビットを更新する必要があり
、この更新オーバヘッドがシステムの性能劣化の一因と
なっていることである。 第一、第二の問題点のため、複数のオンライントランザ
クションが同時にデータベースを共用し更新するような
現実のシステム環境のもとでは、前述のようなシャドウ
・ページ方式ではなく、データベース更新履歴情報を取
得する方式と組み合わせたシャドウ・ページ方式が用い
られている。 しかし、この方式ではデータベース更新情報取得のオー
バヘッドが大きく、上記の第三の問題点とあわせ、シス
テムの処理効率が低下する恐れがあった。 本発明は、シャドウ・ページ方式において、処理効率を
低下させることなく、複数トランザクションによるデー
タベースの同時更新を可能とし、かつデータベース更新
結果とメツセージやシステム管理情報更新結果の同期的
な有効化を可能とするデータベース更新方法および装置
を提供することを目的とする。 〔問題点を解決するための手段〕 上記第一、第二の問題点は、ページ・テーブルの更新履
歴情報を履歴ファイルに取得することにより解決される
。すなわち、 (1)ステータス・ビットによるページ・テーブル更新
結果の有効化ではなく、トランザクションの処理完了を
示す履歴情報の取得により当該トランザクションのデー
タベース更新に伴うページ・テーブル更新の結果をを有
効とすること、障害時には履歴ファイルに取得したペー
ジ・テーブル更新履歴情報を用いてページ・テーブルを
回復すること、により第一の問題点を解決する。 (2)トランザクションの処理完了を示すJ11W情報
。 端末メツセージや主記憶装置上のシステム管理情報の更
新の内容を表わす履歴情報とともにページ・テーブル更
新履歴情報を履歴ファイルに取得することにより第二の
問題点を解決する。 また、上記の第三の問題点は、不揮発性媒体上のページ
・テーブルの更新をトランザクション毎ではなく、チェ
ックポイント時に行うことにより解決される。具体的事
例で示せば。 (3)主記憶装置上にカレント版ページ・テーブルを設
置し、トランザクションによるデータベース更新時はこ
のカレント版ページ・テーブルを更新する。そして、チ
ェックポイント時に、カレント版ページ・テーブルの内
容を不揮発性媒体上のバックアップ版ページ・テーブル
に反映する、あるいは、カレント版ページ・テーブルの
チェックポイント・ダンプをチェックポイント・ダンプ
・ファイルに取得する。これにより不揮発性媒体上のペ
ージ・テーブルの更新オーバヘッドが減少し、第三の問
題が解決される。 〔作用〕 上記手段の動作を以下にまとめる。 (1)トランザクション実行時、該トランザクションに
よってデータベースが更新された場合、主記憶装置上の
カレント版ページ・テーブルを更新し、更新されたペー
ジの更新後の内容を格納したスロットを登録する。カレ
ント版ページ・テーブルの更新履歴情報は、該トランザ
クションによる端末メツセージや主記憶装置上のシステ
ム管理情報変更の内容を表わす履歴情報などともに、該
トランザクションの処理完了までに履歴ファイルに取得
する。 (2)トランザクション実行完了時、該トランザクショ
ンに関連する履歴情報で履歴ファイルに未取得なものを
取得後、該トランザクションの処理完了を示す履歴情報
を履歴ファイルに取得する0本履歴情報の取得によりト
ランザクションは完了したものとされ、該トランザクシ
ョンによるデータベース更新、端末メツセージや主記憶
装置上のシステム管理情報の更新が有効になる。 (3)チェックポイント時、主記憶装置上のカレント版
ページ・テーブルの内容を不揮発性媒体上のバックアッ
プ版ページ・テーブルに書き出す、あるいはカレント版
ページ・テーブルのチェックポイント・ダンプをチェッ
クポイント・ダンプ・ファイルに取得する。 (4) ftt源断等のシステム障害時、バックアップ
版ページ・テーブルと、カレント版ページ・テーブルの
チェックポイント・ダンプをチェックポイント・ダンプ
・ファイルに取得している場合はカレント版ページ・テ
ーブルのチェックポイント・ダンプと、履歴ファイル中
のページ・テーブル更新履歴情報とを用いて、トランザ
クションの処理完了を示す履歴情報が取得されているト
ランザクションによるデータベース更新結果のみが反映
された状態にカレント版ページ・テーブルを回復する。 以上(1) (2)により、複数のトランザクションが
データベースを同時に共用している場合にも、各トラン
ザクションによるデータベース更新に伴うページ・テー
ブルの更新結果を他のトランザクションとは独立に有効
化することができ、第一の問題点は解決される。 ゛ また(1)(2) (4)により、システム障害時
に処理完了を示す履歴情報が取得されているトランザク
ションに対してのみ該トランザクションのデータベース
更新結果を有効化するため、第二の問題点は解決される
。 さらに(1)(3)により、トランザクション実行待通
常は主記憶装置上のカレント版ページ・テーブルを更新
し、チェックポイント時のみ不揮発性媒体上のバックア
ップ版ページ・テーブルを更新する(あるいはカレント
版ページ・テーブルのチェックポイント・ダンプをチェ
ックポイント・ダンプ・ファイルに取得する)ので、第
三の問題点は解決さhる。 〔実施例〕 以下、本発明の実施例を図面を用いて説明する。 最初に、第一の実施例について構成および動作を説明す
る。第1図は第一の実施例の構成を示す図であり5本発
明の特徴を表わす図である。第1図において、磁気ディ
スク等のデータベース蓄積媒体50.バックアップ版ペ
ージ・テーブル80やバックアップ版スロット使用マツ
プ90等のデータベース制御情報を格納する不揮発性記
憶媒体100、および履歴ファイル70の媒体である磁
気ディスク(あるいは磁気テープ)がCPU/メモリ1
0に接続されている。データベース蓄積媒体50上のデ
ータベース領域60は、スロットと呼ばれる固定長のブ
ロックに分割されている。一方、トランザクションが参
照・更新するデータベースの論理的な空間はページと呼
ばれる固定区画に分割されている。スロットはページの
内容を格納するためのものであり、両者のサイズは一致
する(例えば4096バイト)、各スロットは1回の入
出力動作で参照・更新ができる。第2図は、バックアッ
プ版ページ・テーブル80およびバックアップ版スロッ
ト使用マツプ90を配明する図である。バックアップ版
ページ・テーブル80はチェックポイント時に更新され
、当該時点におけるカレント版ページ・テーブル30の
内界が反映される。すなわち、バックアップ版ページ・
テーブル80は、最新のチェックポイント時点での各ペ
ージの最新の内容のデータベース領域6o内での格納箇
所であるスロットの番号が設定されている。 また、バックアップ版スロット使用マツプ9oは。 バックアップ版ページ・テーブル80同様チエツクポイ
ント時に更新され、当該時点でのカレント版ページ・テ
ーブル30にもとづくデータベース領域60内の各スロ
ットの使用有無を示すビットマツプである。すなわち、
バックアップ版スロット使用マツプ90は、最新のチェ
ックポイント時点での各ページの最新の内容が格納され
ているスロットに対しては1.他のスロットに対しては
0が設定されている。バックアップ版ページ・テーブル
80およびバックアップ版スロット使用マツプ90は、
各々複数個の固定長(例えば512バイト)のブロック
81.91から構成されており。 各ブロックは1回の入出力動作で参照・更新が可能であ
る。バックアップ版ページ・テーブル80に書き込み中
に障害が発生した場合、データベースの論理的一貫性が
保証されなくなる。この問題に対し、バックアップ版ペ
ージ・テーブル80を二重化し、最初の書き込み動作が
正常に終了したら引き続き他方への書き込みを実行する
、最初の書き込み動作が異常終了した場合は他方のバッ
クアップ版ページ・テーブルを用いて通常のシステム障
害として回復処理を行うことによりデータベースの論理
的一貫性を保証することができる。よって、以下本実施
例においてはバックアップ版ページ・テーブル80に対
する書き込み動作は常に正常に終了するものとする。な
お、バック・アップ版ページ・テーブル80およびバッ
クアップ版スロット使用マツプ90は、データベース蓄
積媒体50上に置かれていてもよい0次に、第3図はカ
レント版ページ・テーブル30およびカレント版スロッ
ト使用マツプ40を説明する図である。 システム動作中、これらのデータベース制御情報はメモ
リ10上に存在する。カレント版ページ・テーブル30
はトランザクションによるデータベース更新時に更新さ
れ、更新ページの更新後の内容が格納されているデータ
ベース領域60のスロットの番号が設定される。すなわ
ち、カレント版ページ・テーブル30はシステム動作中
の各時点でのデータベースの各ページの最新の内容が格
納されたスロットの番号が設定されている。また。 カレント版ページ・テーブル30はバックアップ版ペー
ジ・テーブル80に対応して複数の固定長の論理的なブ
ロック31から構成される。なお、以下の実施例におい
てメモリ10はカレント版ページ・テーブル30全体を
置くことが可能なものとする。そうでない場合、実行中
のトランザクションによって更新されたページに対する
エントリを含むブロックを除くカレント版ページ・テー
ブル30のブロックをLRUアルゴリズム等を用いてメ
モリ(主記憶装置)以外の記憶装置!!(揮発性でも可
)に書き出すことにより、実質的にはカレント版ページ
・テーブル30全体がメモリ10上にあるとしてよい。 一方、カレント版スロット使用マツプ40とトランザク
ションによるデータベース更新時およびトランザクショ
ン実行完了時に更新され、システムの各時点でのデータ
ベース領域60内の各スロットの使用有無を示す、カレ
ント版スロット使用マツプ40は、バックアップ版スロ
ット使用マツプ90に対応して複数の固定長の論理的な
ブロック41から構成される。バックアップ版スロット
使用マツプ90と異なり、カレント版スロット使用マツ
プ40においてはデータベースの各ページの最新の内容
を格納したスロットだけではなく、実行中のトランザク
ションによって更新されたページの更新前の内容を格納
したスロット(シャドウ・スロットと呼ぶ)61も使用
状態になっている。また、シャドウ・スロットに対応す
るエントリを含むブロックに対しては、スロット使用状
況を示す通常のブロック41の他に、各スロットがシャ
ドウ・スロットであるか否かを示すブロック42が存在
する。第4図はN&歴ファイル70を説明する図である
。履歴ファイル70には、ページ・テーブル更新ジャー
ナル71やトランザクション処理完了ジャーナル72の
他に、端末メツセージ・ジャーナル73やシステム管理
情報更新ジャーナル74等のシステムの各種履歴情報が
時系列時に取得される。ページ・テーブル更新ジャーナ
ル71は、更新ページ番号、該ページの更新前の内容を
格納したスロットの番号。 該ページの更新後の内容を格納したスロットの番号、等
の情報を含んでいる。 次にシステム動作について説明する。システム動作を通
常時動作、チェックポイント時動作、システム障害時動
作、トランザクション障害時動作に分けて述べる。 (1)通常時動作 トランザクションの実行開始から終了までの本発明にか
かわる処理は(a)〜(b)の順序で行われる。 (a)実行中のページ読み込み カレント版ページ・テーブル30の該ページのエントリ
をサーチし、該ページの最新の内容を格納するスロット
の番号を求める。そして、求めたスロットから該ページ
を読み込む。 (b)実行中の更新ページ書き出し 更新ページをデータベース蓄積媒体50上のデータベー
ス領域60に書き出す時の処理フローを第5図に示す。 ■ 最初に、該ページに対するシャドウ・スロットが存
在するかどうかを調べる。後述のメモリ10−Hに蓄積
されたシャドウ・スロットに関する情報により、該ペー
ジに対するシャドウ・スロットの存在有無を判定するこ
とができる。 ■ ■において該ページに対するシャドウ・スロットが
存在するならば、該ページは該トランザクションにおい
て既に1回以上データベースに書き出されている。この
場合、カレント版ページ・テーブル30の該ページのエ
ントリをサーチし、求めたスロットに該ページの更新後
の内容を書き出す。 ■ のにおいて該ページに対するシャドウ・スロットが
存在しないならば、該ページを該トランザクションにお
いて初めてデータベースに書き出す場合である。この場
合、以下の手順で新しいスロットに荷ページの更新後の
内容を杏き出し、元のスロットをシャドウ・スロットに
する。 ■カレント版スロット使用マツプ40をサーチし、空き
スロットを見いだす。 ■上記の空きスロットに該ページの更新後の内容を書き
出す。 ■カレント版ページ・テーブル30の該ページのエント
リを更新し、上記新スロットの番号を設定する。また、
カレント版スロット使用マツプ40を更新し、上記新ス
ロットを使用中の状態とするとともに、該ページの更新
前の内容を格納していたスロットをシャドウ・スロット
とする。 ■該ページのページ番号、更新前および更新後の内容を
格納しているスロットの各各番号等からなるページ・テ
ーブル更新履歴情報をメモリ10内に蓄積する。 また、該ページについて、シャドウ・スロットが存在す
ることおよび該シャドウ・スロットの番号をメモリ10
内に蓄積する。 (c)コミット命令発行時の更新ページ書き出し前項(
b)は、メモリ10内のデータベース・ページ格納領域
があふれた場合などに実行される処理である6本項は、
トランザクションで実行中のプログラムから処理完了を
表わすコミット命令が発行された時、該トランザクショ
ンで更新した全てのページをデータベースに書き出す処
理である。内容は、前項(b)の処理を各ページについ
て実行することに他ならない、なお、本処理実行中にシ
ステム障害が発生した時、該トランザクションは処理未
完了とみなし、データベース更新結果は保証しない。 (d)ページ・テーブル更新ジャーナル取得メモリ10
内に’I積したページ・テーブル更新履歴情報をページ
・テーブル更新ジャーナル71として履歴ラアイル70
に取得する。 実際の媒体への出力は、他の端末メツセージ・ジャーナ
ル73やシステム管理情報更新ジャーナル74等の各種
履歴情報と一詣に。 (e)のトランザクション処理完了ジャーナル取得時あ
るいはメモリ10内の履歴情報格納領域があふれた時に
行われる。 (、)カレント版スロット使用チップ更新(b)の処理
でメモリ10内に蓄積したシャドウ・スロット管理情報
により、該トランザクションで更新したページに対する
スロットを解放し、空きスロットとする。具体的には、
各シャドウ・スロットに対して、カレント版スロット使
用マツプ40をサーチし、該スロットの使用有無を示す
ビットおよび該スロットがシャドウ・スロットか否かを
示すビットをいずれもオフにする。 (f)トランザクション処理完了ジャーナル取得前項(
、)が終了すると、トランザクションの処理が完了した
ことを示すトランザクション処理完了ジャーナル72を
履歴ファイル70に取得する。 (d)で述べたように、本処理では該トランザクション
に関する各種履歴情報で履歴ファイル70の媒体に未出
力のものを該トランザクション処理完了ジャーナルとと
もに履歴ファイル70の媒体に出力する。 (2)チェックポイント時動作 チェックポイントは、システム障害時の回復処理に要す
る時間の短縮等の理由により、下記のようなタイミング
で設定される。 ・システム開始/再開始処理終了時 ・システム終了時 ・前回のチェックポイントから一定件数の履歴情報を取
得した時 ・その他(履歴ファイルの媒体障害時等)チェックポイ
ント時動作のうち、データベースにかかわる処理は、以
下の(a)、 (b)の順に行われる。 (a)ページ・テーブル更新ジャーナル取得メモリ10
内に蓄積したページ・テーブル更新履歴情報をページ・
テーブル更新ジャーナル71として履歴ファイル70に
取得する((1)通常時動作の(d)と異なり、媒体に
出力する)。 (b)バックアップ版ページ・テーブル等の更新不揮発
性記憶媒体100上のバックアップ版ページ・テーブル
80およびバックアップ版スロット使用マツプ90を更
新し、カレント版ページ・テーブル30の内容を反映さ
せる。バックアップ版ページ・テーブル80については
、カレント版ページ・テーブル30の内容をそのまま書
き出せばよい、バックアップ版スロット使用マツプ90
については、カレント版スロット使用マツプ40におい
てスロット使用有無を示すビットマツプのブロック41
とシャドウ・スロットか否かを示すビットマツプのブロ
ック42の排他的論理和の結果を書き出せばよい。 また、カレント版ページ・テーブル30およびカレント
版スロット使用マツプ40のブロック毎に前回のチェッ
クポイントからの更新有無を示す更新フラグを設け、必
要なブロックのみを不揮発性記憶媒体100上のバック
アップ版ページ・テーブル80およびバックアップ版ス
ロット使用マツプ90に書き出すことにより、更新量を
削減することができる。 なお、チェックポイント情報として、バックアップ版ペ
ージ・テーブル80を更新する時に履歴ファイル70中
の最終の履歴情報の(各履歴情報に付与された一貫)番
号およびチェックポイント時に実行中の全トランザクシ
ョンの最初の履歴情報の(各履歴情報に付与された一貫
)番号を、バックアップ版ページ・テーブル80ととも
に不揮発性記憶媒体100に取得しておく。 上記(a)、 (b)の処理を行っている間、トランザ
クションは実行状態であってもよいがデータベースの更
新はできず、データベース更新を要求するトランザクシ
ョンは待ち状態になる。 なお、(b)におけるチェックポイント情報は、データ
ベースの他にメツセージやシステム管理情報等の回復対
象を有するシステム環境では。 システム障害からの回復処理で用いる各種情報を格納す
るファイルに通常取得される。 (3)システム障害時動作 電源断等のシステム障害が発生した時のデータベース回
復処理を以下に述べる。処理フローを第6図に示す。下
記(a)〜(C)の処理実行後、システムはカレント版
ページ・テーブル30にもとづいて必要なページを読み
込み、通常処理を開始する。 (a)データベース制御情報の読み込み不揮発性記憶媒
体100からバックアップ版ページ・テーブル80およ
びバックアップ版スロット使用マツプ9oを読み込み、
各々カレント版ページ・テーブル30およびカレント版
スロット使用マツプ40としてメモリ10内に展開する
。なお、カレント版スロット使用マツプ40はシステム
障害からの回復処理が終了して通常処理が開始されるま
では各スロットの使用有無を示すビットマツプ・ブロッ
ク4]のみから構成されており、シャドウ・スロットか
否かを示すビットマツプ・ブロック42は存在しない。 (b)トランザクションの状態解析 履歴ファイル70を読み、システム障害発生時のトラン
ザクションの状態を解析する。 さして、解析結果をもとにトランザクションを分類する
。トランザクションは、必要な回復処理の内容により第
7図に示すように下記の■〜■に分類される。なお、第
7図において111はチェックポイント、112はシス
テム障害発生時点、121〜125はトランザクション
を示す。 ■タイプIのトランザクション 121のトランザクションのように、チェックポイント
以前に完了したトランザクション、なお、トランザクシ
ョンの完了はトランザクション処理完了ジャーナルの取
得有無により判定する。 ■タイプ■のトランザクション 122のトランザクションのように、チェックポイント
以前に始まり、チェックポイント後に完了したトランザ
クション。 ■タイプ■のトランザクション 123のトランザクションのように、チェックポイント
以前に始まり、システム障害発生時に実行中であったト
ランザクション。 ■タイプIVのトランザクション 124のトランザクションのように、チェックポイント
後に始まり、システム障害が発生する前に完了したトラ
ンザクション。 ■タイプ■のトランザクション 125のトランザクションのように、チェックポイント
後に始まり、システム障害発生時に実行中であったトラ
ンザクション。 後述するようにタイプIのトランザクションに対するデ
ータベース回復処理は不要である。したがって、データ
ベース回復処理において解析すべき履歴情報の範囲は、
チェックポイント時に実行中であった全トランザクショ
ンの最初の履歴情報以降である。この履歴情報の番号は
チェックポイント時にチェックポイント時の最終履歴情
報の番号とともに不揮発性記憶媒体100に書き出され
ているので1回復処理の先頭でメモリ10内に読み込め
ばよい。 (c)データベース制御情報の回復 (b)で分類したトランザクションのタイプに応じて、
回復処理を行う。 ■タイプIのトランザクション 該トランザクションによる全ての処理は有効である。該
トランザクションのデータベース更新結果は既に有効化
されており、データベース回復処理は不要である。 ■タイプ■のトランザクション 該トランザクションによる全ての処理は有効であるが、
該トランザクションのデータベース更新結果の一部が有
効化されていない可能性がある。したがって、履歴ファ
イル70中の該トランザクションのページ・テーブル更
新ジャーナル71を用いて該トランザクションの有効化
されていないデータベース更新結果をメモリ10内のデ
ータベース制御情報20に反映させる。すなわち、該ト
ランザクションのチェックポイント後に取得されたペー
ジ・テーブル更新ジャーナル71を取得順に読み込み、
カレント版ページ・テーブル30およびカレント版スロ
ット使用マツプ40を更新する。 カレント版ページ・テーブル30については、該ページ
のエントリをサーチし、更新後スロット番号を設定する
。また、カレント版スロット使用マツプ40については
、更新前および更新後の各スロットに対するエントリを
サーチし、各々オフおよびオンにする。 ■タイプ1■のトランザクション 該トランザクションによる全ての処理は無効であるが、
該トランザクションのデータベース更新結果の一部が有
効化されている可能性がある。したがって、履歴ファイ
ル70中の該トランザクションのページ・テーブル更新
ジャーナル71を用いて該トランザクションの有効化さ
れたデータベース更新結果をメモリ10内のデータベー
ス制御情報20から取り除く。すなわち、該トランザク
ションのチェックポイント以前に取得されたページ・テ
ーブル更新ジャーナル71を取得順とは逆順に読み込み
、カレント版ページ・テーブル30およびカレント版ス
ロット使用マツプ40を更新する。 カレント版ページ・テーブル30については、該ページ
のエントリをサーチし、更新前スロット番号を設定する
。また、カレント版スロット使用マツプ40については
、更新前および更新後の各スロットに対するエントリを
サーチし、各々オンおよびオフする。 ■タイプ■のトランザクション 該トランザクションによる全ての処理は有効であるが、
該トランザクションのデータベース更新結果は有効化さ
れていない。 したがって、履歴ファイル70中の該トランザクション
のページ・更新ジャーナルを用いて該トランザクション
のデータベース更新結果をメモリ10内のデータベース
制御情報20に反映させる0本項では該トランザクショ
ンの全てのページ・テーブル更新ジャーナル71を用い
ることを除き、具体的な処理内容は■のタイプ■のトラ
ンザクションと同じである。 本タイプのトランザクションが複数存在する場合、トラ
ンザクション処理完了ジャーナルを取得した順に上記処
理を行う。 ■タイプ■のトランザクション 該トランザクションによる全ての処理は無効である。該
トランザクションのデータベース更新結果は有効化され
ておらず、データベース回復処理は不要である。 なお、データベース以外の回復対象であるメツセージや
システム管理情報等の回復処理は、履歴ファイル70を
解析することにより公知の方法で行う。 (4)トランザクション障害時動作 トランザクション処理完了ジャーナル72取得以前のプ
ログラム・エラー等発生によるトランザクション障害の
場合、以下の回復処理を行う。 (a)データベース制御情報の回復 メモリ10内に蓄積したシャドウ・スロット管理情報を
用いて、該トランザクションの全ての更新ページについ
て下記の■、■の処理を行う。 ■カレント版ページ・テーブル30の該ページのエント
リをサーチし、更新前スロット番号を設定する。 ■カシ28版スロット使用マツプ40をサーチし、該ペ
ージの更新後スロットの使用有無を示すビットおよび該
ページの更新前スロットがシャドウ・スロットが否かを
示すビットをともにオフにする。 (b)メモリ内のページ内容の回復 相異なるトランザクション間でメモリ10内にロードさ
れたページの引継ぎを行う場合は、該トランザクション
による更新前の情報をメモリ10内に残しておき、それ
を用いて該ページの内容を該トランザクション実行開始
時点の内容に戻す。 なお、メツセージやシステム管理情報等の回復処理は、
履歴ファイル70にもとづいて公知の方法で行う。 以上述べたように、本実施例によれば前述のシャドウ・
ページ方式の3つの問題点を解決することができる。ま
た、本実施例特有の効果の第一として、チェックポイン
ト時にシステム停止状態である必要がなくトランザクシ
ョン実行中であってもよい(ただし、データベース更新
を要求するトランザクションは待ち状態になる)ので、
チェックポイント処理のオーバヘッドが小さい、第二の
効果として、チェックポイント時に実行中の全トランザ
クションの最初の履歴情報の番号を不揮発性記憶媒体に
記録するので、システム障害発生時の回復処理において
データベースに関して解析すべき履歴情報の範囲が狭く
なり、回復処理に要する時間が短縮される。また、チェ
ックポイント時にメモリ10内のシステム管理情報等を
不揮発性記憶媒体に書き出し、システム障害発生時に上
記の書き出した情報を用いて回復処理を行λば、データ
ベース以外に関しても解析すべき履歴情報の範囲が狭く
なり、回復処理に関する時間は更に短縮される6 なお、システム障害発生時の回復処理において、データ
ベース回復処理の本実施例のようにトランザクション毎
に行うのではなく、下記の■、■のようにすることによ
り、トランザクションの状態解析およびメツセージやシ
ステム管理情報等の回復処理と一緒に回復処理を効率的
に行うことができる。 ■ 最初に履歴ファイル70を最終の8歴情報から取得
順とは逆順に読み込み、トランザクションの状態解析お
よび未完了トランザクションの処理の無効化を行う。 ■ 次に履歴ファイル7oを取得順に読み込み。 完了トランザクションの処理の有効化を行う。 次に、第二の実施例について構成および動作を説明する
。第8図は第二の実施例の構成を示す図である。基本的
には第一の実施例と同じであり、バックアップ版ページ
・テーブル80およびバックアップ版スロット使用マツ
プ90からなる不揮発性記憶媒体100上のデータベー
ス制御情報が2組である点が第一の実施例と異なる。な
お、第8Uf4においてこれらの2組のデータベース制
御情報は別々の不揮発性記憶媒体100に格納されてい
るが、2組とも同じ不揮発性記憶媒体(データベース蓄
積媒体50でもよい)に格納されていてもよい、2組の
バックアップ版ペーリ・テーブル80およびバックアッ
プ版スロット使用マツプ90は、チェックポイント時に
交互に更新され、システム障害発生時の回復処理では最
新の有効なチェックポイント時に更新された方が使用さ
れる。 このため、不揮発性記憶媒体100にチェックポイント
情報として、第一の実施例同様に該バックアップ版ペー
ジ・テーブル8oの更新時の履歴ファイル70中の最終
履歴情報の番号を記録する領域を設けるとともに、該チ
ェックポイントの有効/無効を示すチェックポイント有
効フラグを設ける。なお、第一の実施例とは異なり、各
バックアップ版ページ・テーブル80が二重化されてい
る必要はない。 次にシステム動作について述べる0通常時動作およびト
ランザクション障害時動作は第一の実施例と同様に行わ
れる。よって、以下においてはチェックポイント時動作
およびシステム障害時動作について述べる。 (1)チェックポイント時動作 チェックポイント時動作のうち、データベースにかかわ
る処理について述べる。処理フローを第9図に示す。 (a)バックアップ版ページ・テーブル等の更新該チェ
ックポイント時に更新すべきバックアップ版ページ・テ
ーブル80およびバックアップ版スロット使用マツプ9
0を選択し、必要な更新処理を行う。更新対象となるバ
ックアップ版ページ・テーブル等は、システム開始/再
開始時に選択した後、有効なチェックポイント毎に切り
換えていく。選択したバックアップ版ページ・テーブル
80およびバックアップ版スロット使用マツプ90の更
新処理は、第一の実施例と同様に行う、ただし。 更新フラグは各々のバックアップ版ページ・テーブル8
0およびバックアップ版スロット使用マツプ90毎に設
定する必要がある。 なお、チェックポイント情報として不揮発性記憶媒体1
00にバックアップ版ページ・テーブル80更新時の履
歴ファイル70中の最終履歴情報の番号を取得するとと
もに、上記不揮発性記憶媒体100上のチェックポイン
ト有効フラグをオフ(無効状態)にする。 上記処理を行っている間、データベースの更新を含め、
トランザクションは実行状態であってもよい。 (b)チェックポイント有効監視 チェックポイント時に実行中の全トランザクションの実
行状態を監視し、該チェックポイントの有効監視を行う
。第10図はチェックポイント有効監視を説明する図で
あり、図において210および211はチェックポイン
ト、221〜229はトランザクション。 230はトランザクション障害、231はトランザクシ
ョン障害に対する回復処理を示す。 チェックポイント210の時点で実行中の全トランザク
ション221,224,226゜228がチェックポイ
ント有効監視の対象となり、トランザクション障害23
0の発生により該チェックポイントは無効となる。この
場合、トランザクション障害230に対する回復処理2
31の終了後、再度チェックポイント21】を取り直す
。今度はチェックポイント211の時点で実行中の全ト
ランザクション222,225,227,229がチェ
ックポイント有効監視の対象となり、トランザクション
229の処理完了によりチェックポイント211は有効
になる。 (C)チェックポイント有効フラグの更新チェックポイ
ント有効監視の結果、該チェックポイントが有効になっ
た場合、不揮発性記憶媒体100上のチェックポイント
有効フラグをオン(有効状態)にする。 (2)システム障害時動作 電源断等のシステム障害が発生した時のデータベース回
復処理は基本的には第一の実施例と同様に行うが、以下
に述べるように少し異なる。 下記(a)〜(c)の処理実行後、システムはカレント
版ページ・テーブル30にもとづいて必要なページを読
み込み、通常処理を開始する。 (a)データベース制御情報の読み込み最初に読み込む
べきバックアップ版ページ・テーブル80およびバック
アップ版スロット使用マツプ90を選択した後、それら
に対する読み込み処理を第一の実施例と同様に行う。読
み込み対象の選択は下記の通りに行う。 ■ 各不揮発性記憶媒体100から、各々のチェックポ
イント有効フラグおよびバックアップ版ページ・テーブ
ル80更新時の履歴ファイル70中の最終履歴情報の番
号を読む。 ■ チェックポイント有効フラグがともにオン(有効状
態)の場合、バックアップ版ページ・テーブル80更新
時の最終履歴情報の番号を比較し、新しい方を読み込み
対象とする。 ■ チェックポイント有効フラグが一方のみオンの場合
、オンの方を読み込み対象とする。なお、チェックポイ
ント時の動作より。 両方のチェックポイント有効フラグがオフとなることは
ない。 上記選択処理において選択されなかった方のバックアッ
プ版ページ・テーブル80およびバックアップ版スロッ
ト使用マツプ90は、次のチェックポイント時の更新対
象となる。 また、それらの更新フラグは全てオンに設定される。 (b)トランザクションの状態解析 履歴ファイル70を読み、第一の実施例と同様に行う。 ただし、本実施例の場合はチェックポイント有効監視に
より、タイプnlのトランザクションは存在せず、デー
タベース回復処理において解析すべき履歴情報の範囲は
チェックポイント時点での最終履歴情報以降である。 (C)データベース制御情報の回復 タイプ■のトランザクションが存在しない以外は第一の
実施例と同様に行う。 なお、メツセージやシステム管理情報等の回復処理は、
履歴ファイル70を解析することにより公知の方法で行
う。 以上述べたように、本実施例によれば第一の実施例同様
に前述のシャドウ・ページ方式の3つの問題点を解決す
ることができる。また、本実施例特有の効果を第一とし
て、チェックポイント時にシステム停止状態である必要
がなく、データベース更新を含めてトランザクション実
行中であってもよい。したがって、チェックポイント処
理のオーバヘッドが第一の実施例よりも更に小さい。第
二の効果として、チェックポイント有効監視によりシス
テム障害発生時の回復処理においてデータベースに関し
て解析すべき履歴情報の範囲がチェックポイント時点で
の最終履歴情報以降ですみ、回復処理に関する時間が短
縮される。メモリ内のシステム管理情報等のデータベー
ス制御情報と同様の方法を用いれば回復に要する時間が
更に短縮されるのは第一の実施例と同様である。 次に、第三の実施例について構成および動作を説明する
。第11図は第三の実施例の構成を示す図である1本実
施例においては、第一の実施例の構成に更に複数のチェ
ックポイント・ダンプ・ファイル200を加え、CPU
/メモリ10に接続した構成となっている。チェックポ
イント・ダンプ・ファイル200はチェックポイント時
にメモリ10上のシステム管理情報やデータベース制御
情報20等が書き出されるファイルであり、ラウントロ
ピン方式で使用される。すなわち、チェックポイント毎
に順に各チェックポイント・ダンプ・ファイルが使用さ
れ、−巡すると再び先頭のチェックポイント・ダンプ・
ファイルから順に使用していく、このとき、以前書き出
した情報(チェックポイント・ダンプ情報と呼ぶ)を消
さないようにその後に新たなチェックポイント・ダンプ
情報を書き出す、そして、システム障害発生時の回復処
理では最新の有効なチェックポイント時に取得されたチ
ェックポイント・ダンプ情報が用いられる。このため、
チェックポイント・ダンプ・ファイル200にはメモリ
10上のシステム管理情報やデータベース制御情報20
等のチェックポイント・ダンプ情報の他に、有効なチェ
ックポイントに対してチェックポイント情報としてチェ
ックポイント時の履歴ファイル70中の最終履歴情報の
番号が含まれている。なお、バックアップ版ページ・テ
ーブル80の二重化は第二の実施例同様に不要である。 次にシステム動作について述べる。通常時動作およびト
ランザクション障害時動作は第一の実施例と同様に行わ
れる。よって、以下においてはチェックポイント時動作
およびシステム障害時動作について述べる。 (1)チェックポイント時動°作 チェックポイント時の処理フローを第12図に示す。 (a)チェックポイント・ダンプ・ファイル選択チェッ
クポイント・ダンプ情報を取得するチェックポイント・
ダンプ・ファイル200を選択する。取得対象となるチ
ェックポイント・ダンプ・ファイル200は、システム
開始/再開始時に選択した後、ラウントロピン方式で使
用する。 (b)チェックポイント・ダンプ情報取得システム管理
情報やデータベース制御情報20等のメモリ10上の情
報を、選択したチェックポイント・ダンプ・ファイル2
00に取得する。データベース制御情報20は、ブロッ
ク単位に、バックアップ版ページ・テーブル80および
バックアップ版スロット使用マツプ90の最新の更新処
理以後に更新された部分のみをチェックポイント・ダン
プ情報として取得する。このため、カレント版ページ・
テーブル30およびカレント版スロット使用マツプ40
にブロック毎に更新フラグを設ける。 (c)チェックポイント有効監視 第二の実施例同様にチェックポイントの有効監視を行い
、チェックポイントが無効となった場合はチェックポイ
ントを取り直すにのとき、同じチェックポイント・ダン
プ・ファイル200の無効となったチェックポイント・
ダンプ情報の上にかぶせて新たにチェックポイント・ダ
ンプ情報を取得する。 (d)最終履歴情報の番号の取得 チェックポイント有効監視の結果、該チェックポイント
が有効になった場合、該チェックポイント時の履歴ファ
イル70中の最終履歴情報の番号を上記チェックポイン
ト・ダンプ・ファイル200に取得する。本処理により
、該チェックポイント・ダンプ情報は有効となる。 (e)バックアップ版ページ・テーブル等の更新チェッ
クポイント・ダンプ情報の取得量を削減するため、一定
回数の有効なチェックポイント毎にバックアップ版ペー
ジ・テーブル80およびバックアップ版スロット使用マ
ツプ90を更新し、それらの更新フラグをオフに設定す
る。 (2)システム障害時動作 システム障害発生時のデータベース回復処理は、以下の
(a)〜(d)の順に行われる。(a)〜(d)の処理
実行後、システムはカレント版ページ・テーブル30に
もとづいて必要なページを読み込み1通常処理を開始す
る。 (a)データベース制御情報の読み込み第一の実施例と
同様にして、不揮発性記憶媒体tOOからバックアップ
版ページ・テーブル80およびバックアップ版スロット
使用マツプ90を読み込み、カレント版ページ・テーブ
ル30およびカレント版スロット使用マツプ40として
メモリ10内に展開する。 (b)チェックポイント・ダンプ情報の読み込みデータ
ベース制御情報20のチェックポイント・ダンプ情報を
チェックポイント・ダンプ・ファイル200から読み込
み、カレント版ページ・テーブル30およびカレント版
スロット使用マツプ40の該当するブロックにかぶせ、
データベース制御情報20を該チェックポイント時の状
態に回復する。読み込むべきチェックポイント・ダンプ
・ファイル200の選択は下記の通りに行う。 ■ 各チェックポイント・ダンプ・ファイルから各々の
最終のチェックポイント・ダンプ情報に対する最終N1
歴情報の番号を読み込む。 ■ 読み込んだ番号を比較し、最新の番号に対するチェ
ックポイント・ダンプ情報を読み込み対象とする。なお
、最終Mi歴情報の番号が取得されていないチェックポ
イント・ダンプ情報は無効であるため、読み込み対象と
はならない。 (c)トランザクションの状態解析 第二の実施例と同様に行う。 (d)データベース制御情報の回復 第二の実施例と同様に行う。 なお、メツセージやシステム管理情報等の回復処理は、
履歴ファイル70およびチェックポイント・ダンプ・フ
ァイル200を用いることにより公知の方法で行う。 以上述べたように、本実施例によれば第二、第三の実施
例同様に前述のシャドウ・ページ方式の3つの問題点を
解決することができる。また1本実施例特有の効果とし
て第二の実施例と同様の効果を得ることができる。 以上の説明において不揮発性記憶装置としてIC不揮発
メモリ等の高速ランダムアクセス記憶装置またはいわゆ
るICディスク等を適用した場合の高速化および使い勝
手上の効果は秀れている。 また障害ページが生じたときの回復を行う実施例につい
て詳述したが本発明は障害時の回復に限らず、データベ
ースの更新履歴を伴うプロセス一般に適用可能であり、
このときのバックアップ版ページテーブルは必ずしも揮
発性記憶装置によらなくてもよい。 〔発明の効果〕 本発明によれば、複数のオンライン・トランザクション
が同時にデータベースを更新し、端末とメツセージを送
受信するオンライン・データベース・システム情おいて
、シャドウ・ページ方式を用いることが可能となる。従
来、このようなシステムでは、データベース更新履歴情
報を取得し、たとえばシステム/トランザクション障害
時にはこれを用いて回復処理を行う方式が広く採用され
ている。この従来方式と比較すると、本発明により履歴
情報取得量を削減することができる6例えば、ページ・
サイズを約4にバイト、ページ番号およびスロット番号
を4バイトにし、いずれの場合も更新前後情報を取得す
るものと考えると、1ページ当たりの平均更新データ量
が60バイトならば1/10.100バイトならば1/
17に履歴情報取得量を削減できる(ただし、更新履歴
情報のみの比較)。特定のページに更新が集中した場合
、更に履歴情報取得量削減効果が大きい。 また、本発明では通常時はメモリ上のカレント版ページ
・テーブルおよびカレント版スロット使用マツプを参照
/更新することにより、シャドウ・ページ方式における
ページ・テーブル更新オーバヘッドを減少させている。 さらにトランザクションの度にバックアップ版ページテ
ーブルを不揮発メモリディスク等に取得していた従来方
式に比して多数回(例えば1,000回)のトランザク
ションの後、チェックポイント時にバックアップ版ペー
ジテーブルを不揮発メモリに転送することによる総合的
高速化効果は著しいものがある。
【図面の簡単な説明】
第1図は第1の実施例の構成図、第2図は本発明バック
アップ版ページ・テーブルおよびバックアップ版スロッ
ト使用マツプの説明図、第3図は本発明カレント版ペー
ジ・テーブルおよびカレント版スロット使用マツプの説
明図、第4図は本発明履歴ファイルの説明図、第5図は
本発明における更新ページ書き出し時の処理フロー図、
第6図は本発明におけるシステム障害時のデータベース
回復処理フロー図、第7図はトランザクションの状態図
、第8図は本発明筒2の実施例の構成図、第9図は第2
の実施例のチェックポイント時の処理フロー図、第10
図は本発明におけるチェックポイント有効監視の説明図
、第11図は本発明筒コ3の実施例の構成図、第12図
は第3の実施例のチェックポイント時の処理フロー図で
ある。 10・・・CPU/メモリ、20・・・データベース制
御情報、30・・・カレント版ページ・テーブル、4゜
・・・カレント版スロット使用マツプ、50・・・デー
タベース蓄積媒体、60・・・データベース領域、70
・・・履歴ファイル、71・・・ページ・テーブル更新
ジャーナル、72・・・トランザクション処理完了ジャ
ーナル、80・・・バックアップ版ページ・テーブル9
0・・・バックアップ版スロット使用マツプ、100・
・・不揮発性記憶媒体、200・・・チェックポイント
Y 1 図 so  テ’−yべ−x11オ1トbTJaζ 7/ 
ぺう−カ伊彬ンデル 2ρバマ7丁クフλ々スD7ト1
デフry]2  図 麗 3 Z 系 4 口 拓 5 口 χ6 口 系 7 口 拓 3 口 VIq  図 茅 10  図 第 11  口 20θ ラrツク、tj<ノド・グン7#2vイル第 
1z  図

Claims (1)

  1. 【特許請求の範囲】 1、データの論理的な格納箇所であるページから構成さ
    れるデータベースと、該データベースの各ページと必要
    に応じて該ページを回復すべきページ内容が格納されて
    いるデータベース蓄積媒体上のスロットとの対応を与え
    る記憶装置上のバックアップ版ページ・テーブルと、ト
    ランザクションによつて更新されたページと該ページの
    更新後の内容が格納されているデータベース蓄積媒体上
    のスロットとの対応を与えるカレント版ページ・テーブ
    ルと、システムの各種履歴情報を記録する履歴ファイル
    と、を備え、上記バックアップ版ページ・テーブルおよ
    びカレント版ページ・テーブルにもとづきその時点で使
    用されていないスロットを見出して更新したページの内
    容をデータベース蓄積媒体に格納し、該スロットをカレ
    ント版ページ・テーブルに登録し、カレント版ページ・
    テーブルの変更内容を表わす履歴レコードを該トランザ
    クションの完了以前に履歴ファイルに取得することを特
    徴とするデータベース更新方法。 2、上記バック・アップ版ページ・テーブルが不揮発生
    記憶装置内に形成される第1項記載のデータベース更新
    方法。 3、上記ページの回復を該ページの障害発生時に行う第
    1項記載のデータベース更新方法。 4、実行中のトランザクションが端末メッセージを送受
    信したり、主記憶装置上のシステム管理情報を更新する
    場合は、その内容を表わす履歴レコードを該トランザク
    ションの実行完了以前に上記履歴ファイルに取得する第
    1項記載のデータベース更新方法。 5、トランザクションの実行が完了した時、該トランザ
    クションの処理完了を示す履歴レコードを履歴ファイル
    に取得する、第1項記載のデータベース更新方法。 6、システム運転中のチェックポイント時に、トランザ
    クションによるデータベース更新に伴うカレント版ペー
    ジ・テーブルの変更の内容を表わす履歴レコードで履歴
    ファイルに未取得のものがあれば履歴ファイルに取得し
    た後、上記バックアップ版ページ・テーブルを更新して
    カレント版ページ・テーブルの内容をバックアップ版ペ
    ージ・テーブルに反映させる第1項記載のデータベース
    更新方法。 7、システム障害発生時に、上記履歴ファイルを読み、
    トランザクションの処理完了を表わす履歴レコードが取
    得されているトランザクションについて、その端末メッ
    セージの回復および更新した主記憶装置上のシステム管
    理情報の回復を行い、トランザクションによるデータベ
    ース更新に伴うカレント版ページ・テーブルの変更内容
    を表わす履歴レコードおよび不揮発性記憶装置上のバッ
    クアップ版ページ・テーブルを用いて、トランザクショ
    ンの処理完了を表わす履歴レコードが取得されているト
    ランザクションによるデータベース更新に伴うカレント
    版ページ・テーブルの変更のみを反映するようにカレン
    ト版ページ・テーブルを回復することによりデータベー
    スの論理的一貫性を保証する第1項記載のデータベース
    更新方法。 8、不揮発性記憶装置上のバックアップ版ページ・テー
    ブルを複数備え、チェックポイント時に、上記複数のバ
    ックアップ版ページ・テーブルを巡回使用して順に更新
    対象として選択し、選択したバックアップ版ページ・テ
    ーブルを更新してカレント版ページ・テーブルの内容を
    該バックアップ版ページ・テーブルに反映させる第1項
    記載のデータベース更新方法。 9、システム障害発生時のカレント版ページ・テーブル
    の回復では、上記履歴ファイル中のトランザクションに
    よるデータベース更新に伴うカレント版ページ・テーブ
    ルの変更内容を表わす履歴レコードと、不揮発性記憶装
    置上の複数のバックアップ版ページ・テーブルの中で最
    も後に有効に更新されたバックアップ版ページ・テーブ
    ルと、を用いて、トランザクションの処理完了を表わす
    履歴レコードが取得されているトランザクションによる
    データベース更新に伴うカレント版ページ・テーブルの
    変更のみを反映するようにカレント版ページ・テーブル
    を回復する第8項記載のデータベース更新方法。 10、チェックポイント時に該システムの主記憶装置上
    の各種制御情報を取得するチェックポイント・ダンプ・
    ファイルを備え、チェックポイント時には、カレント版
    ページ・テーブルのチェックポイント・ダンプを上記チ
    ェックポイント・ダンプ・ファイルに取得し、システム
    終了時に、不揮発性記憶装置上のバックアップ版ページ
    ・テーブルを更新してカレント版ページ・テーブルの内
    容をバックアップ版ページ・テーブルに反映させる第1
    項記載のデータベース更新方法。 11、システム障害発生時のカレント版ページ・テーブ
    ルの回復では、履歴ファイル中のトランザクションによ
    るデータベース更新に伴うカレント版ページ・テーブル
    の変更内容を表わす履歴レコードと、チェックポイント
    ・ダンプ・ファイル中の最新の有効に取得されたカレン
    ト版ページ・テーブルのチェックポイント・ダンプと、
    不揮発性記憶装置上のバックアップ版ページ・テーブル
    と、を用いてトランザクションの処理完了を表わす履歴
    レコードが取得されているトランザクションによるデー
    タベース更新に伴うカレント版ページ・テーブルの変更
    のみを反映するようにカレント版ページ・テーブルを回
    復する第10項記載のデータベース更新方法。 12、データの論理的な格納箇所であるページから構成
    されるデータベースと、該データベースの各ページと必
    要に応じて該ページを回復すべきページ内容が格納され
    ているデータベース蓄積媒体上のスロットとの対応を与
    えるランダムアクセス不揮発性記憶装置上のバックアッ
    プ版ページ・テーブルと、トランザクションによつて更
    新されたページと該ページの更新後の内容が格納されて
    いるデータベース蓄積媒体上のスロットとの対応を与え
    るカレント版ページ・テーブルと、システムの各種履歴
    情報を記録する履歴ファイルと、上記バックアップ版ペ
    ージ・テーブルおよびカレント版ページ・テーブルにも
    とづきその時点で使用されていないスロットを見出して
    更新したページの内容をデータベース蓄積媒体に格納す
    る手段と、該スロットをカレント版ページ・テーブルに
    登録し、カレント版ページ・テーブルの変更内容を表わ
    す履歴レコードを該トランザクションの完了以前に履歴
    ファイルに取得する手段を有することを特徴とするデー
    タベース更新装置。
JP61087914A 1986-03-26 1986-04-18 データベース更新方法 Expired - Fee Related JPH0816881B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61087914A JPH0816881B2 (ja) 1986-04-18 1986-04-18 データベース更新方法
US07/031,835 US5043871A (en) 1986-03-26 1987-03-26 Method and apparatus for database update/recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61087914A JPH0816881B2 (ja) 1986-04-18 1986-04-18 データベース更新方法

Publications (2)

Publication Number Publication Date
JPS62245348A true JPS62245348A (ja) 1987-10-26
JPH0816881B2 JPH0816881B2 (ja) 1996-02-21

Family

ID=13928187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61087914A Expired - Fee Related JPH0816881B2 (ja) 1986-03-26 1986-04-18 データベース更新方法

Country Status (1)

Country Link
JP (1) JPH0816881B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01263745A (ja) * 1988-04-08 1989-10-20 Internatl Business Mach Corp <Ibm> データベースの回復方法
WO1993003436A1 (en) * 1991-08-06 1993-02-18 Fujitsu Limited Method and apparatus for reducing lock period of shared buffer
JPH0540682A (ja) * 1990-06-08 1993-02-19 Internatl Business Mach Corp <Ibm> アトミシテイを有する記憶装置の高可用性耐故障再配置
US5715447A (en) * 1991-08-06 1998-02-03 Fujitsu Limited Method of and an apparatus for shortening a lock period of a shared buffer
US5724581A (en) * 1993-12-20 1998-03-03 Fujitsu Limited Data base management system for recovering from an abnormal condition
JP2006004147A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法
CN110309233A (zh) * 2018-03-28 2019-10-08 腾讯科技(深圳)有限公司 数据存储的方法、装置、服务器和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS582937A (ja) * 1981-06-27 1983-01-08 Fujitsu Ltd 障害回復方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS582937A (ja) * 1981-06-27 1983-01-08 Fujitsu Ltd 障害回復方式

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01263745A (ja) * 1988-04-08 1989-10-20 Internatl Business Mach Corp <Ibm> データベースの回復方法
JPH0540682A (ja) * 1990-06-08 1993-02-19 Internatl Business Mach Corp <Ibm> アトミシテイを有する記憶装置の高可用性耐故障再配置
WO1993003436A1 (en) * 1991-08-06 1993-02-18 Fujitsu Limited Method and apparatus for reducing lock period of shared buffer
US5715447A (en) * 1991-08-06 1998-02-03 Fujitsu Limited Method of and an apparatus for shortening a lock period of a shared buffer
US5724581A (en) * 1993-12-20 1998-03-03 Fujitsu Limited Data base management system for recovering from an abnormal condition
JP2006004147A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法
CN110309233A (zh) * 2018-03-28 2019-10-08 腾讯科技(深圳)有限公司 数据存储的方法、装置、服务器和存储介质
CN110309233B (zh) * 2018-03-28 2022-11-15 腾讯科技(深圳)有限公司 数据存储的方法、装置、服务器和存储介质

Also Published As

Publication number Publication date
JPH0816881B2 (ja) 1996-02-21

Similar Documents

Publication Publication Date Title
US5043871A (en) Method and apparatus for database update/recovery
US6298425B1 (en) Computer disk management system using doublet A-B logging
EP0351387B1 (en) Minimizing locking and reading in a segmented storage space
JP3763992B2 (ja) データ処理装置及び記録媒体
US5561795A (en) Method and apparatus for audit trail logging and data base recovery
US7873683B2 (en) File system having transaction record coalescing
US5638508A (en) Method and a system for processing a log record
CA2818472C (en) Optimized startup verification of file system integrity
US6539402B1 (en) Using periodic spaces of block ID to improve additional recovery
WO2001095640A2 (en) A method and system for highly-parallel logging and recovery operation in main-memory transaction processing systems
JPH07175700A (ja) データベース管理方式
US6944635B2 (en) Method for file deletion and recovery against system failures in database management system
CN113515501B (zh) 非易失性内存数据库管理系统恢复方法、装置和电子设备
JPH11134235A (ja) 外部記憶装置故障時の回復支援方法
CN111414320B (zh) 基于日志文件系统的非易失内存构建磁盘cache的方法及系统
WO2006095356A1 (en) A method of logging transactions and a method of reversing a transaction
JPS62245348A (ja) データベース更新方法
CN113419897A (zh) 一种文件处理方法、装置、电子设备及其存储介质
JPH06149485A (ja) データ完結性保証処理方法
CN114756408A (zh) 元数据备份恢复方法、装置、电子设备及存储介质
JP2001229063A (ja) データ管理システム
KR100365891B1 (ko) 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법
JPS63133240A (ja) 常駐テ−ブルの内容保証方式
JPS63132351A (ja) メモリデ−タベ−ス処理装置
JPS63195755A (ja) 主記憶装置上の情報の内容保証方式

Legal Events

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