JPH07101399B2 - データベースのデッドロック処理方式 - Google Patents

データベースのデッドロック処理方式

Info

Publication number
JPH07101399B2
JPH07101399B2 JP63331977A JP33197788A JPH07101399B2 JP H07101399 B2 JPH07101399 B2 JP H07101399B2 JP 63331977 A JP63331977 A JP 63331977A JP 33197788 A JP33197788 A JP 33197788A JP H07101399 B2 JPH07101399 B2 JP H07101399B2
Authority
JP
Japan
Prior art keywords
database
file
monitor
contents
program
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
JP63331977A
Other languages
English (en)
Other versions
JPH02178855A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63331977A priority Critical patent/JPH07101399B2/ja
Publication of JPH02178855A publication Critical patent/JPH02178855A/ja
Publication of JPH07101399B2 publication Critical patent/JPH07101399B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は遅延変更方式を採用したデータベースシステム
におけるデッドロック処理方式に関するものである。
〔従来の技術〕
一部のデータベースシステムでは、デッドロックおよび
その他の障害に対する保全性および性能を保つために、
いわゆる遅延変更方式を採用している。ここで、遅延変
更方式とは、データベースに対する変更が生じても処理
が一段落するまではデータベースに更新結果を書き込ま
ないでジャーナルファイル等の一次ファイルに保留して
おき、適当なタイミングで一次ファイルの内容を一括し
てデータベースに書き込むものである。なお、このよう
に一次ファイルの内容をデータベースに反映することは
静止点の確立と呼ばれている。しかして、この方式によ
れば、デッドロック等が発生した場合に一次ファイルの
内容を単に捨て去ることにより、正常であることが確認
されている前回の静止点の状態まで容易に復旧すること
ができる利点がある。
ところで、従来は上記の静止点の確立の処理(静止点確
立処理)を行わせる指令、およびデッドロック等が発生
したときの復旧の処理(リカバリ処理)を行わせる指令
は利用者プログラムで行っており、利用者プログラムの
機能の一部としてそれらのプログラミングも同時に行っ
ていた。
〔発明が解決しようとする課題〕
上述したように従来のデータベースシステムは、デッド
ロック等が発生しても全ての処理が無駄になるわけでは
なく、前回の静止点まで後戻りするだけで済むため、充
分有効なものであったが、利用者プログラムのプログラ
ムロジックとしては本来必要とされない静止点確立処理
やリカバリ処理の指令を行うプログラムを構成しなけれ
ばならないため、プログラミングが繁雑となる欠点があ
った。
また、従来のデータベースシステムでリカバリできるの
はジャーナルファイル等の1次ファイルを備えたデーダ
ベースのみであり、メモリ,レポートファイル,ジャー
ナル無し順編成ファイル等のリカバリはデータベースシ
ステムに対するリカバリ処理の指令では不可能であっ
た。そのため、これらのリカバリを行うためには、利用
者プログラムでそれらの内容を予め退避させ、デッドロ
ック等が発生した後に回復を行う複雑な処理機能を作成
しなければならず、利用者プログラムの開発が一層困難
となる欠点があった。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、利用者プログラムでデッドロック等
の対策を全く意識する必要がないと共に、メモリ,レポ
ートファイル,ジャーナル無し順編成ファイル等につい
ても同様にリカバリを行うことのできるデータベースの
デッドロック処理方式を提供することにある。
〔課題を解決するための手段〕
本発明は上記の目的を達成するため、遅延更新方式を採
用したデータベースシステムにおけるデッドロック処理
方式において、 コンパイラに設けられた実行プログラムモニタ呼出し手
段埋込み手段によりオブジェクトプログラム中の入力ト
ランザクションファイル入力ステップに埋め込まれた実
行プログラムモニタ呼出し手段と、 前記オブジェクトプログラムの実行時に前記実行プログ
ラムモニタ呼出し手段により呼出され、バッファロック
リスト量およびジャーナルファイル残余量に基づいて静
止点確立の必要性を判断し、必要と判断したときにデー
タベースの静止点確立処理の要求をデータベースモニタ
に対して行うデータベース静止点自動確立手段と、 前記静止点確立処理と同時にメモリ,レポートファイ
ル,ジャーナル無し順編成のファイル等の内容を退避エ
リアに退避させると共に、デッドロック発生時に前記実
行プログラムモニタ呼出し手段により呼出され、前記デ
ータベースのロールバックの要求を前記データベースモ
ニタに対して行うと共に、メモリ,レポートファイル,
ジャーナル無し順編成ファイル等の内容を退避エリアの
内容に基づいて復旧させるリカバリ手段とを備えるよう
にしている。
〔作用〕
本発明のデータベースのデッドロック処理方式にあって
は、コンパイラに設けられた実行プログラムモニタ呼出
し手段埋込み手段によりオブジェクトプログラム中の入
力トランザクションファイル入力ステップに埋め込まれ
た実行プログラムモニタ呼出し手段が、このオブジェク
トプログラムの実行時に実行プログラムモニタのデータ
ベース静止点自動確立手段を呼出し、呼出されたデータ
ベース静止点自動確立手段はバッファロックリスト量お
よびジャーナルファイル残余量に基づいて静止点確立の
必要性を判断し、必要と判断したときにデータベースの
静止点確立処理の要求をデータベースモニタに対して行
い、この静止点確立処理と同時に実行プログラムモニタ
のリカバリ手段がメモリ,レポートファイル,ジャーナ
ル無し順編成ファイル等の内容を退避エリアに退避させ
る。また、デッドロック発生時に前記実行プログラムモ
ニタ呼出し手段が前記リカバリ手段を再び呼出し、デー
タベースモニタに対してデータベースのロールバックの
要求を行うと共に、メモリ,レポートファイル,ジャー
ナル無し順編成ファイル等の内容を退避エリアの内容に
基づいて復旧させる。
〔実施例〕
以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明のデータベースのデッドロック処理方式
を適用したデータベースシステムの一実施例を示す構成
図である。第1図において、本実施例は、データベース
16,メモリ(図示せず),レポートファイル14,ジャーナ
ル無し順編成ファイル15等を実行の過程で使用するソー
スプログラム1と、ソースプログラム1を入力してオブ
ジェクトプログラム4を出力するコンパイラ2と、オブ
ジェクトプログラム4の実行にあたって処理を監視・制
御する実行プログラムモニタ8と、実行プログラムモニ
タ8が使用する退避エリア7と、データベース16に関す
る処理を監視・制御するデータベースモニタ13とから構
成されている。なお、ジャーナルファイル17は遅延更新
を実行するためにデータベース16に対する静止点以降の
更新結果を保持する一次ファイルである。
一方、本発明の特徴点として、コンパイラ2には実行プ
ログラムモニタ呼出し手段埋込み手段3が、オブジェク
トプログラム4にはソースプログラム1に対応するオブ
ジェクトプログラム本体5の他に実行プログラムモニタ
呼出し手段6が、実行プログラムモニタ8にはリカバリ
手段を構成するジャーナル無し順編成ファイル自動ロー
ルバック手段9,レポートファイル自動ロールバック手段
10,メモリ自動退避/回復手段11およびデータベース静
止点自動確立手段12がそれぞれ設けられている。なお、
各手段の機能は次の通りである。
実行プログラムモニタ呼出し手段埋込み手段3;ソースプ
ログラム1をコンパイルしてオブジェクトプログラム4
を生成する際に、実行プログラムモニタ呼出し手段6を
オブジェクトプログラム4中に埋め込む機能。
実行プログラムモニタ呼出し手段6;オブジェクトプログ
ラム4の実行時に実行プログラムモニタ8のデータベー
ス静止点自動確立手段12を静止点確立処理のために適宜
呼出すと共に、デッドロック発生時に実行プログラムモ
ニタ8のジャーナル無し順編成ファイル自動ロールバッ
ク手段9,レポートファイル自動ロールバック手段10,メ
モリ自動退避/回復手段11を含むリカバリ手段をリカバ
リ処理のために呼出す機能。
データベース静止点自動確立手段12;オブジェクトプロ
グラム4の実行時に実行プログラムモニタ呼出し手段6
により呼出された場合、バッファロックリスト量(デー
タベース16中の各バッファに対するロック状態を示すバ
ッファリストの量)およびジャーナルファイル残余量
(ジャーナルファイル17の残余量)等により静止点確立
の必要性を判断し、必要ならば静止点確立処理の要求を
データベースモニタ13に対して行う機能。
ジャーナル無し順編成ファイル自動ロールバック手段9;
データベース静止点自動確立手段12の静止点確立処理と
同時にジャーナル無し順編成ファイル15の内容(ファイ
ル位置指示子)を退避エリア7に退避させると共に、デ
ッドロック発生時に実行プログラムモニタ呼出し手段6
により呼出された場合、ジャーナル無し順編成ファイル
15の内容を退避エリア7の内容に基づいて復旧させる機
能。
レポートファイル自動ロールバック手段10;データベー
ス静止点自動確立手段12の静止点確立処理と同時レポー
トファイル14の内容(ファイル位置指示子)を退避エリ
ア7に退避させると共に、デッドロック発生時に実行プ
ログラムモニタ呼出し手段6により呼出された場合、レ
ポートファイル14の内容を退避エリア7の内容に基づい
て復旧させる機能。
メモリ自動退避/回復手段11;データベース静止点自動
確立手段12の静止点確立処理と同時にメモリの内容を退
避エリア7に退避させると共に、デッドロック発生時に
実行プログラムモニタ呼出し手段6により呼出された場
合、メモリの内容を退避エリア7の内容に基づいて復旧
させる機能。
次に上記の実施例の動作について説明する。
先ず、コンパイラ2は入力したソースプログラム1から
オブジェクトプログラム4を生成する際に、実行プログ
ラムモニタ呼出し手段埋込み手段3により、オブジェク
トプログラム4中に、ソースプログラム1をコード化し
たオブジェクト本体5の他に実行プログラムモニタ呼出
し手段6を埋め込む。
第2図はオブジェクトプログラム4のオブジェクト本体
5の例を示したものであり、以下、第1図および第2図
に沿ってオブジェクトプログラム4の実行時の動作を説
明する。なお、この利用者プログラムは、入力トランザ
クションファイル18を入力とし、必要に応じてマスタフ
ァイルであるデータベース16(ジャーナルファイル17)
を更新し、結果として出力トランザクションファイルと
してのジャーナル無し順編成ファイル15に出力すると共
に、レポートファイル14を介して出力帳票19を出力する
プログラムの例である。
実行が開始されると、初期処理(ステップ51)の後、入
力ファイルの読込み(ステップ52)が行われる毎に実行
プログラムモニタ呼出し手段6により実行プログラムモ
ニタ8のデータベース静止点自動確立手段12が呼出され
る。呼出されたデータベース静止点自動確立手段12はバ
ッファロックリスト量およびジャーナルファイル残余量
等により静止点確立の必要性を判断し、必要ならば静止
点確立処理の要求をデータベースモニタ13に対して行
う。すなわち、バッファロックリスト量はデータベース
16のアクセス状況を示す尺度となり、一方、ジャーナル
ファイル残余量が少なくなった場合にはオーバーフロー
の可能性が発生するため早急に静止点確立が必要である
ことから、両者を総合的に判断することにより、現時点
における静止点確立の必要性を判断できる。また、静止
点確立処理が行われる場合は、これと同時に、実行プロ
グラムモニタ8のジャーナル無し順編成ファイル自動ロ
ールバック手段9,レポートファイル自動ロールバック手
段10,メモリ自動退避/回復手段11がそれぞれジャーナ
ル無し順編成ファイル15,レポートファイル14,メモリの
内容を退避エリア7に退避させ、これらについても静止
点を確立する。
そして、静止点確立処理の終了後、あるいは静止点確立
処理の必要がないと判定された場合は特に処理を行うこ
となく次のステップに移行し、該当するトランザクショ
ン処理(ステップ54,…,55)を実行する。なお、ステッ
プ53で入力終了と判断された場合にはステップ56に移行
して終了処理を行う。
しかして、ステップ54のトランザクション処理でデータ
ベース16に対する更新を行い、その後のステップ55のト
ランザクション処理でデータベース16に対して更新要求
を行った際にデッドロックが発生したとすると、実行プ
ログラムモニタ呼出し手段6により実行プログラムモニ
タ8が呼出され、データベース16はデータベースモニタ
13によってロールバックされ、ジャーナル無し順編成フ
ァイル15はジャーナル無し順編成ファイルの自動ロール
バック手段9により退避エリア7の内容に基づいてロー
ルバックされ、レポートファイル14はレポートファイル
自動ロールバック手段10により退避エリア7の内容に基
づいてロールバックされ、メモリはメモリ自動退避/回
復手段11により退避エリア7の内容に基づいて回復され
る。
これらの処理によりデータベースシステムはステップ52
以前の状態に戻され、再度処理をやり直すことにより、
あたかもデッドロックが発生しなかったように処理が続
行できる。
〔発明の効果〕
以上説明したように本発明のデータベースのデッドロッ
ク処理方式にあっては、コンパイラの実行プログラムモ
ニタ呼出し手段埋込み手段によりオブジェクトプログラ
ム中の入力トランザクションファイル入力ステップに埋
め込まれた実行プログラムモニタ呼出し手段が、そのオ
ブジェクトプログラム実行中の入力トランザクションフ
ァイル入力ステップでデータベース静止点自動確立手段
を呼出し、データベース静止点自動確立手段は、バッフ
ァロックリスト量およびジャーナルファイル残余量に基
づいて静止点確立の必要性を判断し、必要と判断したと
きにデータベースの静止点確立処理の要求をデータベー
スモニタに対して行う。これにより静止点確立処理が行
われると同時にリカバリ手段によってメモリ,レポート
ファイル,ジャーナル無し順編成ファイル等の内容が退
避エリアに退避される。そして、リカバリ手段がデッド
ロック発生時に呼出されると、データベースのロールバ
ックの要求をデータベースモニタに対して行うと共にメ
モリ,レポートファイル,ジャーナル無し順編成ファイ
ル等の内容を退避エリアの内容に基づいて復旧する。こ
のため、利用者プログラム(ソースプログラム)では全
くデッドロック等に対する処理を意識する必要がなくな
り、プログラミングが非常に容易となる効果がある。
また、従来のデータベースシステムではリカバリが行え
なかったメモリ,レポートファイル,ジャーナル無し順
編成ファイル等についてもデータベースと同様にリカバ
リが可能となるため、利用者プログラムで複雑な処理を
行わなくても、静止点における処理状態を再現できる効
果がある。
【図面の簡単な説明】
第1図は本発明のデータベースのデッドロック処理方式
を適用したデータベースシステムの一実施例を示す構成
図および、 第2図はその動作説明図である。 図において、 1……ソースプログラム 2……コンパイラ 3……実行プログラムモニタ呼出し手段埋込み手段 4……オブジェクトプログラム 5……オブジェクト本体 6……実行プログラムモニタ呼出し手段 7……退避エリア 8……実行プログラムモニタ 9……ジャーナル無し順編成ファイル自動ロールバック
手段 10……レポートファイル自動ロールバック手段 11……メモリ自動退避/回復手段 12……データベース静止点自動確立手段 13……データベースモニタ 14……レポートファイル 15……ジャーナル無し順編成ファイル 16……データベース 17……ジャーナルファイル 18……入力トランザクションファイル 19……出力帳票

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】遅延更新方式を採用したデータベースシス
    テムにおけるデッドロック処理方式において、 コンパイラに設けられた実行プログラムモニタ呼出し手
    段埋込み手段によりオブジェクトプログラム中の入力ト
    ランザクションファイル入力ステップに埋め込まれた実
    行プログラムモニタ呼出し手段と、 前記オブジェクトプログラムの実行時に前記実行プログ
    ラムモニタ呼出し手段により呼出され、バッファロック
    リスト量およびジャーナルファイル残余量に基づいて静
    止点確立の必要性を判断し、必要と判断したときにデー
    タベースの静止点確立処理の要求をデータベースモニタ
    に対して行うデータベース静止点自動確立手段と、 前記静止点確立処理と同時にメモリ,レポートファイ
    ル,ジャーナル無し順編成ファイル等の内容を退避エリ
    アに退避させると共に、デッドロック発生時に前記実行
    プログラムモニタ呼出し手段により呼出され、前記デー
    タベースのロールバックの要求を前記データベースモニ
    タに対して行うと共に、メモリ,レポートファイル,ジ
    ャーナル無し順編成ファイル等の内容を退避エリアの内
    容に基づいて復旧させるリカバリ手段とを備えたことを
    特徴とするデータベースのデッドロック処理方式。
JP63331977A 1988-12-29 1988-12-29 データベースのデッドロック処理方式 Expired - Lifetime JPH07101399B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63331977A JPH07101399B2 (ja) 1988-12-29 1988-12-29 データベースのデッドロック処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63331977A JPH07101399B2 (ja) 1988-12-29 1988-12-29 データベースのデッドロック処理方式

Publications (2)

Publication Number Publication Date
JPH02178855A JPH02178855A (ja) 1990-07-11
JPH07101399B2 true JPH07101399B2 (ja) 1995-11-01

Family

ID=18249765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63331977A Expired - Lifetime JPH07101399B2 (ja) 1988-12-29 1988-12-29 データベースのデッドロック処理方式

Country Status (1)

Country Link
JP (1) JPH07101399B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213150A (ja) * 1990-12-06 1992-08-04 Nec Corp 利用者プログラムのリラン処理方式
JP2797749B2 (ja) * 1991-03-25 1998-09-17 日本電気株式会社 ファイル破壊事前チェック機構
JP3018549B2 (ja) * 1991-03-25 2000-03-13 日本電気株式会社 ファイル破壊防止機構
US11349702B2 (en) 2016-07-21 2022-05-31 Nec Corporation Communication apparatus, system, rollback method, and non-transitory medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
竹下亨著「電子計算機最新プログラミング〈総合決定版〉5版〈1968−2−10〉日本経営出版会PP.383−384「V.3.7チェックポイント/リスタート」

Also Published As

Publication number Publication date
JPH02178855A (ja) 1990-07-11

Similar Documents

Publication Publication Date Title
CA1273434A (en) Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log
US5065311A (en) Distributed data base system of composite subsystem type, and method fault recovery for the system
JP3020833B2 (ja) チェックポイント取得システム
EP0762302B1 (en) Single transaction technique for a journaling file system of a computer operating system
US5712971A (en) Methods and systems for reconstructing the state of a computation
EP0880096A1 (en) File backup system
JP3052908B2 (ja) トランザクションプログラム並列実行方法およびトランザクションプログラム並列実行方式
JP6313907B2 (ja) 計算の非決定性の下でのリカバリ及び耐障害
JPH10289217A (ja) ログ・ストリーム管理システム
JPH02178855A (ja) データベースのデッドロック処理方式
KR100365891B1 (ko) 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법
JP3107094B2 (ja) 共用バッファのロック期間短縮処理方法及び装置
JPH0827753B2 (ja) オンラインシステムのチェックポイントダンプ取得方法
JPH01180651A (ja) レポートファイル出力のコミット同期制御方式
JPH0433127A (ja) チェックポイント制御方式
JP2623968B2 (ja) ジャーナルレスファイルのコミット同期制御方式
JPH0324648A (ja) ファイル同時アクセス制御方式
JPH0991183A (ja) データベースリカバリ装置
JPH0827751B2 (ja) トランザクション資源動的更新方式
JP2569063B2 (ja) 複合サブシステム形オンラインシステムの障害回復方法
JPH07311712A (ja) 障害復旧方法
JPH0833859B2 (ja) 複合サブシステム形オンラインシステム
JPH04105159A (ja) 業務代行方式
JP2609625B2 (ja) 複合サブシステム型分散データベースシステムの障害回復方法
JPS6354638A (ja) デツドロツク解除方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081101

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081101

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091101

Year of fee payment: 14

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091101

Year of fee payment: 14