JPH03271841A - データベースにおけるリカバリ方式 - Google Patents

データベースにおけるリカバリ方式

Info

Publication number
JPH03271841A
JPH03271841A JP2071305A JP7130590A JPH03271841A JP H03271841 A JPH03271841 A JP H03271841A JP 2071305 A JP2071305 A JP 2071305A JP 7130590 A JP7130590 A JP 7130590A JP H03271841 A JPH03271841 A JP H03271841A
Authority
JP
Japan
Prior art keywords
transaction
record
log file
flag
master
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
JP2071305A
Other languages
English (en)
Inventor
Fumihiko Kozakura
文彦 小櫻
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2071305A priority Critical patent/JPH03271841A/ja
Publication of JPH03271841A publication Critical patent/JPH03271841A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 複数のデータベースファイル毎にログファイルを設ける
と共にトランザクションの情報を記憶するマスターログ
ファイルを設けたデータベースシステムにおけるリカバ
リ方式に関し、 データベースシステムのリカバリ処理に用いられるマス
ターログの管理方式に関し、 トランザクション終了時に二次記憶装置に格納されてい
るマスターファイルへの書き込み回数を削減することを
目的し、 マスターログファイル中に設けられたトランザクション
毎のレコードの末尾に該レコードの内容の有効/無効を
判定するフラグのフィールドを設け、前記チェックポイ
ント時には、マスターログファイルは前記トランザクシ
ョン識別子のフィールドにエンドマークが書き込まれて
フラグは無効とされたレコード(エンドレコード)のみ
で構成される状態とし、トランザクションの終了時には
前記レコードのトランザクション識別子フィールドをエ
ンドマークから当該トランザクションの識別子に更新し
て、次に該レコードのフラグを有効とし、さらに新たな
前記エンドレコードをマスターログファイルに追加する
処理を行い、システムダウン時には前記フラグが有効で
あるレコードのトランザクション識別子を参照してリカ
バリ処理を行うように構成する。
〔産業上の利用分野〕
本発明はデータベースシステムにおけるリカバリ方式に
係わり、特に複数のデータベースファイルを有するデー
タベースシステムであって該データベースファイル毎に
ログファイルを設けると共にトランザクションの情報を
記憶するマスターログファイルを設けたデータベースシ
ステムにおけるリカバリ方式に関する。
近年、データベースシステムは広(普及しつつあり、そ
れに伴い処理の高速化が要求されている。
現在のデータベースシステムは二次記憶装置に対する入
出力回数の多さが高速処理化に対して障害となっている
ため、二次記憶装置に対する入出力回数の削減が望まれ
ている。
〔従来の技術〕
近年のデータベースシステムにおいて、大量で多岐にわ
たる情報の利用を可能とするため、複数のデータベース
ファイルを用意して上記の要求に対応すると共に、シス
テムダウンに対処したリカバリを行うためにログ(更新
等の情報)をセーフするログファイルを各データベース
ファイル毎に個別に設け、この複数のログファイルを一
括して管理するために更新等を行ったトランザクション
の情報を格納するマスターログファイルとを設けたデー
タベースシステムが採用されつつある。
このようなデータベースシステムの一例を示す概略構成
図を第2図に示す。
図中、1はCPUや処理プログラムが格納されているメ
モリ等で構成される処理システムであり、複数の利用者
端末2が接続されている。
3は外部の二次記憶装置(例えば磁気ディスク)であり
、このシステムにおいて、m個のデータベースファイル
30−1ないし30−mと、対応するログファイル20
−1ないし20−mと、マスターログファイル10が格
納されている。4はトランザクション実行中にログを蓄
積するバッファメモリであり、5はチェックポイント時
にデータベースファイル30−1ないし30−mを退避
しておく退避用外部記憶装置である。
マスターログファイル10には処理が終了したトランザ
クションの情報であるマスターログが格納される。第3
図に示すようにマスターログにはルコードに1回のトラ
ンザクションの識別子(ID)が収められる。データベ
ースシステムの処理態様によって、このトランザクショ
ンの識別子のフィールドに続いて該トランザクションの
処理の時刻や使用ノード(端末)等の情報が格納される
フィールドが用意されてルコードをなすことも多いが、
図では省略している。またマスターログファイルの先頭
のレコード1にはトランザクションの処理数が収められ
ており、トランザクションが終了するごとに1つインク
リメントされる。
また、データベースファイル30のそれぞれに対応して
設けられたログファイル2oには前記のトランザクショ
ン識別子と、対応する更新等の情報が書き込まれる。
一つのトランザクションで複数のデータベースファイル
30に対し更新等の処理を行った場合は、処理されたデ
ータベースファイル30に対応スルログファイル20に
当該トランザクションの識別子とそのデータベースファ
イル30に係わるログが格納される。そしてトランザク
ション識別子やその他の情報をマスターログファイル1
0に蓄積することにより、複数のログファイル20を一
括して管理することができる。
なお、チェックポイント時には各データベースファイル
30が退避用外部記憶装W5にセーブされると共に、各
ログファイル20およびマスターログファイル10はデ
ータベースシステムのチェックポイント時に初期化がな
される。マスターログファイル10についてはレコード
2以降は全てクリアされ、レコード1にはトランザクシ
ョン数0が書き込まれる。
このデータベースシステムのトランザクション毎の処理
を第4図により説明する。
トランザクションの処理が開始されてデータベースを更
新する(■)と、そのログをバッファメモリに書き込む
(@)。
そして実行中のトランザクションの終了に際しては、バ
ッファメモリに蓄積されたログを二次記憶装置内のログ
ファイルに書き出しく■)、さらに当該トランザクショ
ンの情報をマスターログファイルに書き出し、トランザ
クションの数を一つインクリメントして([相]、■)
、該トランザクションが終了する。
データベースシステムのシステムダウン時には、まずマ
スターログからレコード1を読み出してトランザクショ
ン数を認識し、レコード2以下のトランザクション数個
のレコードより各トランザクション識別子を読みだし、
各ログファイルより該トランザクション識別子のログを
参照して、チェックポイント毎にセーブされているデー
タベースの状態よりデータベースをリカバリする。
〔発明が解決しようとする課題〕
上記のトランザクション毎の処理の流れのうちマスター
ログを書き出す処理は、ログファイル20にログが取得
されたトランザクションの識別コードをマスターログフ
ァイル10の新たに作成したレコードに書き込み([相
])、続いてトランザクション数が書き込まれたレコー
ドlを該マスターログファイル10より読みだし、−一
つインクリメントして再びレコード1に書き込む処理(
■)を行うことになる。
即ち新たなトランザクション識別子を書き込むレコード
とトランザクション数を更新するレコード1とが隣接し
ておらず、他のブロックに格納されていると、マスター
ログファイルが格納されている二次記憶装置に対して二
回アクセスしなければならず、高速処理の障害となって
いた。
本発明はトランザクション終了時に二次記憶装置に格納
されているマスターファイルへの書き込み回数を削減す
ることを目的とする。
〔課題を解決するための手段〕
上記の課題を解決するために、本発明のデータベースに
おけるマスターログの管理方式は、複数のデータファイ
ルと、該データファイル毎に設けられて更新を行ったト
ランザクションの識別子と該トランザクション毎のデー
タ更新情報とを格納するログファイルと、トランザクシ
ョン毎に前記トランザクション識別子のフィールドを含
むレコードを格納するマスターログファイルとを有し、
各データファイルを退避させると共に前記ログファイル
と前記マスターログファイルを初期化するチェックポイ
ントを設けたデータベースシステムにおいて、 前記マスターログファイル中の前記トランザクション毎
のレコードの末尾に該レコードの内容の有効/無効を判
定するフラグのフィールドを設け、前記チェックポイン
ト時には、マスターログファイルは前記トランザクショ
ン識別子のフィールドにエンドマークが書き込まれてフ
ラグは無効とされたレコード(エンドレコード)のみで
構成される状態とし、 トランザクションの終了時には前記レコードのトランザ
クション識別子フィールドをエンドマーりから当該トラ
ンザクションの識別子に更新して、次に該レコードのフ
ラグを有効とし、さらに新たな前記エンドレコードをマ
スターログファイルに追加する処理を行い、 システムダウン時においては前記フラグが有効であるレ
コードのトランザクション識別子を参照してリカバリ処
理を行うようにするものである。
〔作用〕
各トランザクションが終了するごとにマスターログファ
イルのレコードにトランザクション2別子とフラグを書
き出し、すぐ次のレコードをエンドレコードとして新た
に作成するようにしたので、二次記憶装置に対するアク
セスが一回で済むことになる。
トランザクション毎に固有の識別子を含む情報の有効/
無効を判定するフラグを設けたのは従来のマスターログ
で書き込まれていたトランザクション数の代替であって
、フラグが有効であるトランザクションが処理終了済と
見なされる。このためシステムダウン時においてはマス
ターログを該フラグにより検索し、フラグが有効である
トランザクションの識別子を読み出してこれによりログ
ファイルを参照して、データベースのリカバリを実行す
る。この処理を無効のフラグが発見されるまで実行する
さらにマスターログファイルの末尾にはトランザクショ
ン識別子のフィールドにエンドマークを書き込んだレコ
ードを格納するようにしている。
トランザクション終了時にはこのエンドレコードに当該
トランザクションの識別子を上書きして、このレコード
の書き込みが終了(フラグを有効とした時)した後、次
のレコードをエンドレコードとして生成する。
〔実施例〕
以下、図面を参照して本発明の一実施例を説明する。
本実施例のマスターログは第2図で示したデータベース
システムにて用いられる。
第1図は本発明の一実施例のマスターログファイルの状
態を示す図である。
図中、■はマスターログの初期状態(チェックポイント
時)を示し、■は1回目のトランザクション終了時、■
は2回目のトランザクションの終了時、■はn回のトラ
ンザクションの終了時を示し2ている。
図に示すようにマスターログファイルのルコードは(少
なくとも)トランザクション識別子(IDコード)を格
納するフィールドと該レコードの内容の有効/無効を判
定するフラグより構成される。従来のマスターログファ
イルと同様にルコードに当該トランザクションに関する
他の情報(使用端末や時刻等)が書き込まれるフィール
ドが用意されることがあるが、ここでは省略している。
なお、他の情報のフィールドは必ずフラグのフィールド
の前に存在する。
次に、第1図に示す順序に従い、本発明の一実施例の動
作を説明する。なお以下の説明では簡単化のため第2図
で用いた付帯記号は省略する。
マスターログファイルはデータベースシステムのチェッ
クポイント時毎に初期化がなされる。所期化されたマス
ターログファイル■はそれぞれトランザクション識別子
のフィールドにエンドマークが書き込まれ、またフラグ
は無効を示している2つのレコード(レコード1とレコ
ード2Llなる。このエンドレコードを2つ用意するこ
とにより、片方のレコードにトランザクション識別子を
上書きしている時に1)最後のレコードは常にエンドレ
コードとなるため、いかなる時にシステムダウンが起こ
っても支障がない。
そして従来のシステムと同様に(第4図に示すように)
トランザクションが終了する際に、マスターログファイ
ルに該トランザクションの情報が書き込まれる。。
一回目のトランザクションの終了時には、初期状態のマ
スターログファイルのし・コード1に上書きされる形で
トランザクション識別子(ID)が書き込まれ、またフ
ラグは有効とされる。
レコード1が更新された後、新たにレコード3が作成さ
れる。このレコード3はレコード2と同しくトランザク
ション識別子のフィールドにはエンドマークが書き込ま
れ、フラグは無効とされている。(■) 同様に2回目のトランザクションの終了時にはレコード
2にトランザクション識別子を書き込み、有効フラグを
立てる。レコード2の更新後にエンドマークが格納され
てフラグが無効であるレコード4が生成される。(■) トランザクションがn回終了した時のマスターログファ
イルは■に示すようにレコードnまでトランザクション
識別子が格納されており、レコードn+1.  レコー
ドn+2はトランザクション識別子フィールドにエンド
マークが書き込まれ、フラグは無効とされている状態に
なる。
データベースシステムのシステムダウン時にはマスター
ログファイルを参照して、レコードの末尾のフラグが有
効となっているトランザクション識別子を読み出して、
これによりログファイルを参照してリカバリ処理を行う
、そしてフラグが無効となった時点で読み出しを終了す
る。
従ってマスターログファイルのあるレコードにトランザ
クション識別子を書き込んでいる途中にシステムダウン
が起きた場合には、フラグはまだ無効となっているため
、当該レコードのトランザクション識別子のフィールド
は無効となり、誤ってトランザクション識別子として用
いられることはない。
〔発明の効果〕
以上説明したように、本発明によれば、マスターログフ
ァイルの格納された二次記憶装置に対する出力が一度で
済むため、データベースシステムの高速化に貢献できる
。特にトランザクション処理の回数が多いシステムであ
れば効果が非常に大きい。
【図面の簡単な説明】
第1図は本発明の一実施例のマスターログを示す図、 第2図はマスターログファイルを用いたデータベースシ
ステムのファイルの構成図、 第3図は従来技術のマスターログを示す図、第4図はト
ランザクションごとの処理の流れを示す図である。 第2図において、 1−m−処理システム、 2− 利用者端末、 3 ・・−二次記憶装置、 4−  ログバラ“2アメモリ− 5−・ 退避用外部記憶装置、 10−・ マスターログファイル、 20−・ ログファイル、 30− データファイル。 \ 4 へ ■

Claims (1)

  1. 【特許請求の範囲】 複数のデータファイルと、該データファイル毎に設けら
    れて更新を行ったトランザクションの識別子と該トラン
    ザクション毎のデータ更新情報とを格納するログファイ
    ルと、トランザクション毎に前記トランザクション識別
    子のフィールドを含むレコードを格納するマスターログ
    ファイルとを有し、チェックポイント時には各データフ
    ァイルを退避させると共に前記ログファイルと前記マス
    ターログファイルの初期化を行うデータベースシステム
    において、 前記マスターログファイル中の前記トランザクション毎
    のレコードの末尾に該レコードの内容の有効/無効を判
    定するフラグのフィールドを設け、前記チェックポイン
    ト時には、マスターログファイルは前記トランザクショ
    ン識別子のフィールドにエンドマークが書き込まれてフ
    ラグは無効とされたレコード(エンドレコード)のみで
    構成される状態とし、 トランザクションの終了時には前記レコードのトランザ
    クション識別子フィールドをエンドマークから当該トラ
    ンザクションの識別子に更新して、次に該レコードのフ
    ラグを有効とし、さらに新たな前記エンドレコードをマ
    スターログファイルに追加する処理を行い、 システムダウン時においては前記フラグが有効であるレ
    コードのトランザクション識別子を参照してリカバリ処
    理を行うことを特徴とするデータベースにおけるリカバ
    リ方式。
JP2071305A 1990-03-20 1990-03-20 データベースにおけるリカバリ方式 Pending JPH03271841A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2071305A JPH03271841A (ja) 1990-03-20 1990-03-20 データベースにおけるリカバリ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2071305A JPH03271841A (ja) 1990-03-20 1990-03-20 データベースにおけるリカバリ方式

Publications (1)

Publication Number Publication Date
JPH03271841A true JPH03271841A (ja) 1991-12-03

Family

ID=13456795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2071305A Pending JPH03271841A (ja) 1990-03-20 1990-03-20 データベースにおけるリカバリ方式

Country Status (1)

Country Link
JP (1) JPH03271841A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548757A (en) * 1993-10-14 1996-08-20 Fujitsu Limited Method and apparatus for appending information to data files, ensuring proper end-of-file indication
JP2004532480A (ja) * 2001-05-24 2004-10-21 オラクル・インターナショナル・コーポレイション リレーショナルデータベース内での同期式変更データキャプチャ
US6847983B2 (en) 2001-02-28 2005-01-25 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of open files
US6985915B2 (en) 2001-02-28 2006-01-10 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of files

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548757A (en) * 1993-10-14 1996-08-20 Fujitsu Limited Method and apparatus for appending information to data files, ensuring proper end-of-file indication
US6847983B2 (en) 2001-02-28 2005-01-25 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of open files
US6985915B2 (en) 2001-02-28 2006-01-10 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of files
JP2004532480A (ja) * 2001-05-24 2004-10-21 オラクル・インターナショナル・コーポレイション リレーショナルデータベース内での同期式変更データキャプチャ

Similar Documents

Publication Publication Date Title
KR100862661B1 (ko) 지연된 로깅 방법 및 그 장치
US5724581A (en) Data base management system for recovering from an abnormal condition
CN103617097B (zh) 文件恢复方法及装置
US8108356B2 (en) Method for recovering data in a storage system
JPH08504528A (ja) データベースにおけるメモリ空間の最適化方法
CN111090663A (zh) 事务并发控制方法、装置、终端设备及介质
JPH03271841A (ja) データベースにおけるリカバリ方式
JP3183736B2 (ja) データベース論理データ構造の動的変更方式
JPH0816881B2 (ja) データベース更新方法
JP3636773B2 (ja) データベースのチェックを行う情報処理装置
JP4060639B2 (ja) データ管理装置
JPS63132351A (ja) メモリデ−タベ−ス処理装置
JP4027055B2 (ja) トランザクション管理装置
JP6891533B2 (ja) データベース装置
JPH0823840B2 (ja) デ−タベ−ス更新方法および装置
JPH0512087A (ja) 更新前ジヤーナルの出力方式
JPH0259837A (ja) データリカバリ処理方式
JPS62297948A (ja) デ−タベ−スの障害回復方式
JPS63195755A (ja) 主記憶装置上の情報の内容保証方式
JPH0816880B2 (ja) データベースシステムおよびその処理方法
JP2818538B2 (ja) ジャーナルファイルの分割管理方式およびジャーナルファイルの分割管理方法
JPH0438537A (ja) Dasd上のデータ・バックアップ/復元方式
JPH0319046A (ja) データベース復元方式
JP2001337857A (ja) データベース復旧システム
JPH02287642A (ja) インクリメンタル退避システム