JPH11259350A - デッドロックを事前検知可能なデータベース管理システム - Google Patents

デッドロックを事前検知可能なデータベース管理システム

Info

Publication number
JPH11259350A
JPH11259350A JP10056776A JP5677698A JPH11259350A JP H11259350 A JPH11259350 A JP H11259350A JP 10056776 A JP10056776 A JP 10056776A JP 5677698 A JP5677698 A JP 5677698A JP H11259350 A JPH11259350 A JP H11259350A
Authority
JP
Japan
Prior art keywords
processing
target resource
processing target
locked
session
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
JP10056776A
Other languages
English (en)
Inventor
Atsurou Ogawa
斡朗 小川
Yusuke Tamura
雄介 田村
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.)
KOKUSAI ZUNOU SANGYO KK
Original Assignee
KOKUSAI ZUNOU SANGYO KK
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 KOKUSAI ZUNOU SANGYO KK filed Critical KOKUSAI ZUNOU SANGYO KK
Priority to JP10056776A priority Critical patent/JPH11259350A/ja
Publication of JPH11259350A publication Critical patent/JPH11259350A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 デッドロックを事前に検知することのできる
データベース管理システムを提供する。 【解決手段】 処理セッションAにより、ある処理対象
リソースをロックしようとする前に、その処理対象リソ
ースをロックできない原因となる処理セッションを検索
する。原因となる処理セッションは、セッションB、C
およびDであると検索される。処理セッションDは他の
処理セッションのロック解除を待つウェイト処理中であ
り、その原因となる処理セッションが処理セッションA
であると検索される。したがって、処理セッションAが
その処理対象リソースのロック解除を待つウェイト状態
に入ると、処理セッションAが処理セッションDのロッ
ク解除を待ち、処理セッションDが処理セッションAの
ロック解除を待つデッドロックになるということを事前
に判定することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータを利用
したデータベース管理システムに関するものであり、特
にデッドロックを事前に検知することができるものに関
する。
【0002】
【従来の技術】一般にコンピュータのデータベースプロ
グラムでは、複数の処理セッションが確立され、各処理
セッションにおける処理を併行して実行するときに、デ
ータベース内の同じ処理対象リソースに異なる処理セッ
ションから同時にアクセスできないように処理対象リソ
ースをロックすることが行われている。例えば、処理セ
ッションS1が処理対象リソースr1をロックしてから
処理対象リソースr2をロックし、処理セッションS2
がr2をロックしてからr1をロックする場合を考え
る。処理セッションS1と処理セッションS2が併行し
て実行されているとき、処理セッションS1では処理セ
ッションS2がr2のロックを解除するまではr1のロ
ックを解除することができず、処理セッションS2では
処理セッションS1がr1のロックを解除するまではr
2のロックを解除することができないというように、互
いのロック解除を待ち合っている状態から永久に抜け出
すことができない、いわゆるデッドロックの状態となる
ことがある。デッドロックの状態になると、全ての処理
セッションで処理が停止してしまう。従来は、デッドロ
ックの状態にあるか否かを定期的に判定し、デッドロッ
クの状態にあると判断されたときに、デッドロックの原
因となる処理セッションが実行中のトランザクションの
いくつかをキャンセルすることにより、デッドロックを
解消していた。
【0003】
【発明が解決しょうとする課題】しかしながら、上記の
ような従来のデッドロック解消法では、複数の処理セッ
ションでトランザクションが実行され、デッドロックの
状態に入ってから、最低1つのトランザクションをキャ
ンセルする必要があるため、使用者が一度実行を指示し
たトランザクションがキャンセルされることがあるとい
う問題があった。
【0004】本発明の目的は、デッドロックを事前に検
知することのできるデータベース管理システムおよびデ
ータベースプログラムを記録したコンピュータ読み取り
可能な記録媒体を提供することにある。
【0005】
【課題を解決するための手段】本発明の請求項1記載の
データベース管理システムまたは請求項5記載のデータ
ベースプログラムを記録したコンピュータ読み取り可能
な記録媒体によれば、ある処理セッションがすでにロッ
クされた処理対象リソースのロック解除を待つ前に、該
ロック解除を待つことによりデッドロックに入るか否か
を判定する。デッドロックに入ると判定した場合には、
その処理セッションに含まれるトランザクションの現デ
ータ処理指令が再実行されるため、デッドロックに入る
のを防ぐことができる。
【0006】本発明の請求項2記載のデータベース管理
システムまたは請求項6記載のデータベースプログラム
を記録したコンピュータ読み取り可能な記録媒体によれ
ば、処理対象リソースがロックされているか否かの情報
と、該処理対象リソースをロックしている処理セッショ
ンの情報と、該処理対象リソースより下位でロックされ
ている処理対象リソースをロックしている処理セッショ
ンの情報とを含むエントリーを、上位処理対象リソース
のエントリーから下位処理対象リソースのエントリーへ
ツリー状に生成する。ロック解除を待つときに、ロック
解除を待つ処理セッションと処理対象リソースとの情報
を含むウェイト管理情報をウェイト管理情報記憶領域に
記憶する。ロックしようとする処理対象リソースの上位
のエントリーに含まれるロックしている処理セッション
の情報と、該ロックしようとする処理対象リソースのエ
ントリーに含まれる下位でロックされている処理対象リ
ソースをロックしている処理セッションの情報とを検索
することにより、該ロックしようとする処理対象リソー
スをロックできない原因となる処理セッションを検索す
る。処理対象リソースをロックできない原因となる処理
セッションの情報を含むウェイト管理情報が前記ウェイ
ト管理情報記憶領域に存在する場合、該ウェイト管理情
報内の処理対象リソースの情報に対応するエントリーに
含まれる情報により、処理対象リソースをロックできな
い原因となる処理セッションを検索する。このようにし
て検索された原因となる処理セッションの少なくとも1
つが、ロックしようとする処理セッションと同一のとき
には、その処理セッションがロック解除を待つことによ
りデッドロックに入ると判定することができる。
【0007】本発明の請求項3記載のデータベース管理
システムまたは請求項7記載のデータベースプログラム
を記録したコンピュータ読み取り可能な記録媒体によれ
ば、原因となる処理セッションを検索する階層の数を設
定する手段を備える。より確実にデッドロックを防ぐた
めに検索する階層の数を多く設定し、速度を向上させる
ために検索する階層の数を少なく設定することができ
る。
【0008】本発明の請求項4記載のデータベース管理
システムまたは請求項8記載のデータベースプログラム
を記録したコンピュータ読み取り可能な記録媒体によれ
ば、データ処理指令の再実行が所定回数繰り返される
と、そのデータ処理指令を含むトランザクションをキャ
ンセルするため、そのトランザクションを含む処理セッ
ションにおいて長時間にわたって処理が停止するのを防
ぐことができる。
【0009】
【発明の実施の形態】以下、本発明の実施例を図面に基
づいて詳細に説明する。本実施例のデータベース管理シ
ステム(DBMS:DataBase Management System)は、
中央処理装置(CPU)、主記憶装置(RAM)、補助
記憶装置、入力装置(キーボード、マウス等)、出力装
置(モニタ、プリンタ等)を備えたコンピュータにおい
て、ハードディスクのような不揮発性の記憶装置に記憶
されたデータベースと、コンピュータプログラムとによ
り構成される。このコンピュータプログラムは、フロッ
ピーディスク(FD)、CD−ROM、光磁気ディスク
(MO)などのコンピュータ読み取り可能な記憶媒体に
記録して提供され、コンピュータのハードディスクなど
にインストールされ、RAM上に読み込まれて実行され
る。また、インターネットのようなネットワーク上で提
供することも可能であり、プログラムが、実行されるコ
ンピュータ本体と離れた場所に記録されている場合もあ
る。
【0010】図2は、本発明の実施例によるデータベー
ス管理システムによるデータベース10の構造を示す模
式図である。データベース10は、通常コンピュータの
ハードディスクに記憶されている。データベース10内
には、図2に示すように複数のテーブル11が含まれて
いる。本実施例では、テーブル11は固定長のデータ構
造であるページ12に区切られている。ページ12内に
はデータベース10のレコードとなる複数の行13が含
まれている。行13の中には、データベース10のフィ
ールドの内容となる図示しない複数の列が含まれる。
【0011】これらのテーブル11、ページ12、行1
3、列などをデータベース10の処理対象リソースと呼
ぶ。ある処理対象リソースを含む処理対象リソースをそ
の処理対象リソースの上位処理対象リソース呼び、ある
処理対象リソースに含まれる処理対象リソースをその処
理対象リソースの下位処理対象リソースと呼ぶ。したが
って、図3に示すように、行13は列14の上位処理対
象リソース、ページ12は行13の上位処理対象リソー
ス、テーブル11はページ12の上位処理対象リソース
である。
【0012】本実施例のデータベース管理システムは、
クライアント/サーバシステムにより構成され、サーバ
のデータベース10にクライアントがログインしてから
ログオフするまでが1つの処理セッションである。デー
タベース10の使用者はクライアントとなるコンピュー
タの入力装置を操作して、サーバのデータベース10に
ついて参照や更新を行う。1つの処理セッションは1つ
または複数のトランザクションからなり、一時点では最
大1個のトランザクションを実行できる。トタンザクシ
ョンはコミット(commit)またはアボート(abort )可
能な最小の論理的実行単位である。また、1つのトラン
ザクションは1つあるいは複数SQL(Structured Que
ry Language )等のデータ処理指令から構成される。1
つのデータベース10に対して複数の処理セッションが
トランザクションを併行して実行可能である。
【0013】銀行の現金自動支払機を例にとると、朝に
起動してから夕方に終了するまでが1つの処理セッショ
ンであり、使用者の入金、振り込みなどの操作が1つの
トランザクションに対応する。例えば、ある口座から別
の口座への振り込みの場合、一方の口座の金額を減少さ
せる処理と、他方の口座の金額を増加させる処理を行う
必要があるが、この両方の処理が実行されるか(コミッ
ト)、またはどちらも実行されないか(アボート)でな
くてはならない。
【0014】複数の利用者による処理セッションがデー
タベース10の同一処理対象リソースに対して演算を行
うと、データベースの整合性がとれなくなる場合がある
ため、各処理セッションが処理対象リソースを利用する
ときに、その処理対象リソースが他の処理セッションに
利用されないようにSQLの中で処理対象リソースをロ
ックする演算を行う場合がある。
【0015】上位処理対象リソースがロックされた状態
のとき、下位処理対象リソースをロックすることはでき
ない。但し、上位処理対象リソースをロックする処理セ
ッションと下位処理対象リソースをロックする処理セッ
ションが同一の場合はロック可能である。また、下位処
理対象リソースがロックされた状態のとき、上位処理対
象リソースをロックすることはできない。但し、下位処
理対象リソースが全て同一の処理セッションにロックさ
れ、且つその処理セッションが上位でロックしようとし
ている処理セッションと同一の場合は、ロック可能であ
る。
【0016】トランザクションがコミットまたはアボー
トした場合には、そのトランザクションの中でロックさ
れた処理対象リソースは全てロック解除される。ロック
の対象となっている処理対象リソースの管理は、ロック
対象となる処理対象リソースに対応するエントリーをコ
ンピュータのRAM上に作成することにより行う。エン
トリーは図4に示すように、上位処理対象リソースに対
応するエントリーから下位処理対象リソースに対応する
エントリーへ分岐してツリー状の構造となる。テーブル
に対応するエントリーのさらに上位に、それを管理する
ルートが常に存在している。ルート以外のエントリー
は、処理対象リソースのロックおよびロック解除によ
り、動的に生成、消滅する。以下、上位処理対象リソー
スに対応するエントリーを上位エントリー、下位処理対
象リソースに対応するエントリーを下位エントリーと呼
ぶ。
【0017】図5はエントリーの構造を示す図である。
各エントリーにはロック情報、セッションID、下位処
理対象リソースロック情報リスト、下位エントリーへの
ポインタリストが含まれる。ロック情報には、その処理
対象リソースがロックされているか否かが、ON/OF
Fの情報として格納されている。セッションIDには、
その処理対象リソースをロックしている処理セッション
がどの処理セッションであるかを示すID番号が格納さ
れる。下位処理対象リソース情報リストには、自身より
も下位でロックされている処理対象リソースの数がその
処理対象リソースをロックしている処理セッションごと
に記録されている。下位エントリーへのポインタリスト
には、下位エントリーが記録されている位置を示すポイ
ンタを下位の処理対象リソースIDごとに記録してい
る。
【0018】エントリーは、処理対象リソースをロック
する時に、ルートから下位の該当エントリーに向かって
検索し、該当エントリーやその上位エントリーが存在し
ない場合に生成する。すでにエントリーが存在する場合
には新たに生成はしない。また、処理対象リソースのロ
ック解除時には、該当エントリーから上位に向かって検
索し、ロック情報がOFFでかつ下位処理対象リソース
ロック情報のリスト数が0のエントリーを削除する。
【0019】例えば、セッションIDが3、テーブルI
Dが5のテーブルのページ番号10をロックしようとす
る場合、エントリーは図6に示すように生成される。本
実施例では、上位エントリー内にある下位エントリーへ
のポインタにより、ツリー構造を形成しているが、ツリ
ー管理領域を別に設けることにより、エントリーのツリ
ー構造を形成することも可能である。
【0020】あるセッションIDをもつ処理セッション
によってある処理対象リソースをロックしようとすると
き、下記の、、の場合にはウェイト処理を行う。 処理対象リソースをロックしようとするときに、既に
該当処理対象リソースが他の処理セッションによってロ
ックされている場合。図7のAは、処理セッション3に
よりロックされている処理対象リソースを処理セッショ
ン5がロックしようとしている状態を示す。
【0021】該当処理対象リソースより上位で既に他
の処理セッションのよってロックされている場合。図7
の(B)は、処理セッション3によりロックされている
処理対象リソースの下位処理対象リソースを処理セッシ
ョン1がロックしようとしている状態を示す。 該当処理対象リソースより下位で既に他の処理セッシ
ョンによってロックされている処理対象リソースが一つ
でも存在する場合。図7の(C)は、処理セッション3
によりロックされている処理対象リソースと処理セッシ
ョン2によりロックされている処理対象リソースとの共
通の上位処理対象リソースを処理セッション2によりロ
ックしようとしている状態を示す。
【0022】処理対象リソースがロックされているか否
かはその処理対象リソースに対応するエントリーを調べ
ることにより知ることができる。ウェイト処理では、ロ
ックしようとするセッションIDとロックしようとする
処理対象リソースの情報を含むウェイト管理情報が、R
AM上に設けられた先入れ先出しのウェイト管理情報記
憶領域であるウェイトキューに記憶され、その処理セッ
ションでは、他の処理対象リソースに関する次の演算が
実行される。あるセッションIDを含むウェイト管理情
報がウェイトキューに存在している間は、その処理セッ
ションで実行中のトランザクションはコミットすること
ができない。
【0023】ある処理対象リソースのロックが解除され
た場合、その処理対象リソースのロックが原因でウェイ
ト処理に入っていた処理セッションは、ロックが可能と
なり、その処理対象リソースを使用して演算が実行され
る。例えば、処理セッションAが処理セッションBによ
るロックが原因でウェイト処理に入っているときに、処
理セッションBが処理セッションAによるロックが原因
でウェイト処理に入ると、互いにロック解除を待ち合
う、デッドロックの状態になる場合がある。
【0024】デッドロックを防ぐため、ウェイトキュー
にウェイト管理情報を記憶する前に、下記のようにデッ
ドロックの事前検知を行う。 処理対象リソースがロックできない原因となっている
処理セッションを検索する。その中にロックしようとす
る処理セッションと同一の処理セッションが存在する場
合は、デッドロックであると判定する。
【0025】検索された原因となる処理セッションの
うち、検索済でないものについて、その処理セッション
がウェイト中であれば、から繰り返す。1度検索した
処理セッションは検索する必要はない。また、設定され
た検索する階層の深さを超えた場合は、検索済として扱
うことにより、デッドロック検知に必要な所要時間を短
縮することもできる。
【0026】図1はデッドロックを事前に検知する方法
を説明するための模式図である。例えば処理セッション
Aで、ある処理対象リソースをロックしようとすると
き、その処理対象リソースに対応するエントリーに含ま
れる情報を検索することにより、その処理対象リソース
をロックできない原因となる処理セッションを検索する
ことができる。ロックできない原因となる処理セッショ
ンが存在しない場合は、処理セッションAはその処理対
象リソースをロックすることができる。図1では、処理
セッションAは、処理セッションB、CおよびDが原因
となってロックできないことを示す。ここで、処理セッ
ションBはウェイト中であるため、ウェイトキューの中
の処理セッションBに対応するウェイト管理情報を検索
することにより、原因となる処理セッションBがロック
しようとする処理対象リソースの情報を検索することが
でき、その処理対象リソースに対応するエントリーに含
まれる情報を検索することにより、その原因となる処理
セッションを検索することができる。図1では、処理セ
ッションBがウェイト処理をする原因となる処理セッシ
ョンはE、FおよびCである。
【0027】以下、同様に原因となる処理セッションが
検索される。図1において、*Cについては、処理セッ
ションBがウェイト処理をする原因となる処理セッショ
ンとしてすでに検索済である場合は、再び検索する必要
はない。本実施例では、処理セッションDがウェイト処
理をする原因となる処理セッションとして処理セッショ
ンAが存在することが検索されるため、デッドロックに
入ると判定される。
【0028】デッドロックに入ると判定されなかった場
合は、ウェイトキューにウェイト管理情報が記憶され、
ウェイト処理が実行される。デッドロックに入ると判定
された場合は、ロックしようとする演算を含むSQLに
おいて実行された演算結果を全て実行前のものに戻し、
そのSQLを再実行する。再実行すると、他の処理セッ
ションによりいくつかの処理対象リソースに対するロッ
クが解除されている場合があり、デッドロックにならな
いと判定されるようになった場合には、ロックを待つウ
ェイト処理が実行される。また、ウェイト処理をする必
要がない場合には、ロックを行う。
【0029】上記の再実行が所定の回数に達すると、そ
のSQLを含むトランザクションによる演算結果を全て
実行前のものに戻し、キャンセルする。この再実行の回
数は変更することが可能であり、再実行の回数を多くす
ることにより、トランザクションのキャンセルを防ぐよ
うにすることができる。また、再実行の回数を少なくす
ることにより、データベース管理システムにかかる負荷
を低減し、処理速度を向上させることができる。
【図面の簡単な説明】
【図1】本発明実施例のデータベース管理システムによ
りデッドロックを事前に検知する手順を説明するブロッ
ク図である。
【図2】本発明実施例のデータベース管理システムによ
るデータベースの構造を示す模式図である。
【図3】本発明実施例による上位処理対象リソースと下
位処理対象リソースの関係を示す模式図である。
【図4】本発明実施例による上位エントリーと下位エン
トリーの関係を示す模式図である。
【図5】本発明実施例によるエントリーの構造を示す模
式図である。
【図6】本発明実施例により生成されるエントリーの一
例の構造を示す模式図である。
【図7】本発明実施例により処理対象リソースをロック
するときにウェイトとなる状態を示す模式図である。
【符号の説明】
10 データベース 11 テーブル 12 ページ 13 行 14 列

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 一時点では最大1個のトランザクション
    を実行できる処理セッションを複数確立することが可能
    なクライアント/サーバシステムにおいて、各処理セッ
    ションに含まれるトランザクションを併行して実行可能
    なデータベース管理システムであって、 各処理セッションで処理対象リソースを使用して演算を
    実行する前に前記処理対象リソースをロックし、他の処
    理セッションが前記処理対象リソース、前記処理対象リ
    ソースの上位処理対象リソースおよび下位処理対象リソ
    ースをロックできなくする手段と、 ロックされた処理対象リソース、該処理対象リソースの
    上位処理対象リソースまたは下位処理対象リソースをロ
    ックしようとする他の処理セッションが前記ロックされ
    た処理対象リソースのロック解除を待つ手段と、 前記他の処理セッションが前記ロックされた処理対象リ
    ソースのロック解除を待つ前に、該ロック解除を待つこ
    とによりデッドロックに入るか否かを判定する事前デッ
    ドロック判定手段と、 前記事前デッドロック判定手段がデッドロックに入ると
    判定した場合に、前記他の処理セッションに含まれるト
    ランザクションの現データ処理指令を再実行する手段
    と、を備えることを特徴とするデッドロックを事前検知
    可能なデータベース管理システム。
  2. 【請求項2】 前記事前デッドロック判定手段は、 処理対象リソースがロックされているか否かの情報と、
    該処理対象リソースをロックしている処理セッションの
    情報と、該処理対象リソースより下位でロックされてい
    る処理対象リソースをロックしている処理セッションの
    情報とを含むエントリーを、上位処理対象リソースのエ
    ントリーから下位処理対象リソースのエントリーへツリ
    ー状に生成する手段と、 ロック解除を待つときに、ロック解除を待つ処理セッシ
    ョンと処理対象リソースとの情報を含むウェイト管理情
    報をウェイト管理情報記憶領域に記憶する手段と、 ロックしようとする処理対象リソースの上位のエントリ
    ーに含まれるロックしている処理セッションの情報と、
    該ロックしようとする処理対象リソースのエントリーに
    含まれる下位でロックされている処理対象リソースをロ
    ックしている処理セッションの情報とを検索することに
    より、該ロックしようとする処理対象リソースをロック
    できない原因となる処理セッションを検索する手段と、 処理対象リソースをロックできない原因となる処理セッ
    ションの情報を含むウェイト管理情報が前記ウェイト管
    理情報記憶領域に存在する場合、該ウェイト管理情報内
    の処理対象リソースの情報に対応するエントリーに含ま
    れる情報により、処理対象リソースをロックできない原
    因となる処理セッションを検索する手段と、 検索された原因となる処理セッションの少なくとも1つ
    が、前記ロックしようとする処理セッションと同一のと
    きデッドロックに入ると判定する手段とを備えることを
    特徴とする請求項1に記載のデッドロックを事前検知可
    能なデータベース管理システム。
  3. 【請求項3】 前記原因となる処理セッションを検索す
    る階層の数を設定する手段を備えることを特徴とする請
    求項2に記載のデッドロックを事前検知可能なデータベ
    ース管理システム。
  4. 【請求項4】 前記データ処理指令の再実行が所定回数
    繰り返されると、前記データ処理指令を含むトランザク
    ションをキャンセルする手段を備えることを特徴とする
    請求項1〜3のいずれか一項に記載のデッドロックを事
    前検知可能なデータベース管理システム。
  5. 【請求項5】 一時点では最大1個のトランザクション
    を実行できる処理セッションを複数確立させることが可
    能なクライアント/サーバシステムにおいて、各処理セ
    ッションに含まれるトランザクションを併行して実行可
    能なデータベースプログラムであって、 各処理セッションで処理対象リソースを使用して演算を
    実行する前に前記処理対象リソースをロックし、他の処
    理セッションが前記処理対象リソース、前記処理対象リ
    ソースの上位処理対象リソースおよび下位処理対象リソ
    ースをロックできなくする手順と、 ロックされた処理対象リソース、該処理対象リソースの
    上位処理対象リソースまたは下位処理対象リソースをロ
    ックしようとする他の処理セッションが前記ロックされ
    た処理対象リソースのロック解除を待つ手順と、 前記他の処理セッションが前記ロックされた処理対象リ
    ソースのロック解除を待つ前に、該ロック解除を待つこ
    とによりデッドロックに入るか否かを判定する手順と、 デッドロックに入ると判定された場合に、前記他の処理
    セッションに含まれるトランザクションの現データ処理
    指令を再実行する手順と、を含むことを特徴とするデー
    タベースプログラムを記録したコンピュータ読み取り可
    能な記録媒体。
  6. 【請求項6】 前記デッドロックに入るか否かを判定す
    る手順は、 処理対象リソースがロックされているか否かの情報と、
    該処理対象リソースをロックしている処理セッションの
    情報と、該処理対象リソースより下位でロックされてい
    る処理対象リソースをロックしている処理セッションの
    情報とを含むエントリーを、上位処理対象リソースのエ
    ントリーから下位処理対象リソースのエントリーへツリ
    ー状に生成する手順と、 ロック解除を待つときに、ロック解除を待つ処理セッシ
    ョンと処理対象リソースとの情報を含むウェイト管理情
    報をウェイト管理情報記憶領域に記憶する手順と、 ロックしようとする処理対象リソースの上位のエントリ
    ーに含まれるロックしている処理セッションの情報と、
    該ロックしようとする処理対象リソースのエントリーに
    含まれる下位でロックされている処理対象リソースをロ
    ックしている処理セッションの情報とを検索することに
    より、該ロックしようとする処理対象リソースをロック
    できない原因となる処理セッションを検索する手順と、 処理対象リソースをロックできない原因となる処理セッ
    ションの情報を含むウェイト管理情報が前記ウェイト管
    理情報記憶領域に存在する場合、該ウェイト管理情報内
    の処理対象リソースの情報に対応するエントリーに含ま
    れる情報により、処理対象リソースをロックできない原
    因となる処理セッションを検索する手順と、を含むこと
    を特徴とする請求項5に記載のデータベースプログラム
    を記録したコンピュータ読み取り可能な記録媒体。
  7. 【請求項7】 前記原因となる処理セッションを検索す
    る階層の数を設定する手順を含むことを特徴とする請求
    項6に記載のデータベースプログラムを記録したコンピ
    ュータ読み取り可能な記録媒体。
  8. 【請求項8】 前記データ処理指令の再実行が所定回数
    繰り返されると、前記データ処理指令を含むトランザク
    ションをキャンセルする手順を含むことを特徴とする請
    求項5〜7のいずれか一項に記載データベースプログラ
    ムを記録したコンピュータ読み取り可能な記録媒体。
JP10056776A 1998-03-09 1998-03-09 デッドロックを事前検知可能なデータベース管理システム Pending JPH11259350A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10056776A JPH11259350A (ja) 1998-03-09 1998-03-09 デッドロックを事前検知可能なデータベース管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10056776A JPH11259350A (ja) 1998-03-09 1998-03-09 デッドロックを事前検知可能なデータベース管理システム

Publications (1)

Publication Number Publication Date
JPH11259350A true JPH11259350A (ja) 1999-09-24

Family

ID=13036858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10056776A Pending JPH11259350A (ja) 1998-03-09 1998-03-09 デッドロックを事前検知可能なデータベース管理システム

Country Status (1)

Country Link
JP (1) JPH11259350A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006525573A (ja) * 2003-05-01 2006-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーション ロックおよびトランザクションの管理
US7519965B2 (en) * 2003-10-17 2009-04-14 Fujitsu Limited Computer-readable medium recorded with a deadlock pre-detection program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006525573A (ja) * 2003-05-01 2006-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーション ロックおよびトランザクションの管理
US7519965B2 (en) * 2003-10-17 2009-04-14 Fujitsu Limited Computer-readable medium recorded with a deadlock pre-detection program

Similar Documents

Publication Publication Date Title
CN107977376B (zh) 分布式数据库系统及事务处理方法
Kim et al. Ermia: Fast memory-optimized database system for heterogeneous workloads
Tu et al. Speedy transactions in multicore in-memory databases
JP2505040B2 (ja) 索引木への並列アクセスのためのデ―タ・アクセス方法およびデ―タ処理システム
Wu et al. Transaction healing: Scaling optimistic concurrency control on multicores
KR101099199B1 (ko) 데이터베이스 복구 중의 스냅샷 질의를 위한 시스템 및 방법
US7490084B2 (en) Deferred incorporation of updates for spatial indexes
US6606626B1 (en) Database system with lock manager enhancement for improving concurrency
US6363387B1 (en) Database system providing methodology for enhancing concurrency using row update bit and deferred locking
US5748952A (en) System and method for avoiding complete index tree traversals in sequential and almost sequential index probes
US20060294058A1 (en) System and method for an asynchronous queue in a database management system
US7526469B2 (en) Method and system of database management with shared area
US20130339312A1 (en) Inter-Query Parallelization of Constraint Checking
US20080270407A1 (en) System for ensuring referential integrity in highly concurrent database environments
Chen et al. Plor: General transactions with predictable, low tail latency
Guo et al. Adaptive optimistic concurrency control for heterogeneous workloads
Mehrotra et al. Ensuring transaction atomicity in multidatabase systems
Lomet et al. Locking key ranges with unbundled transaction services
Lomet Simple, robust and highly concurrent B-trees with node deletion
US7058952B1 (en) Technique for determining an optimal number of tasks in a parallel database loading system with memory constraints
Stone Database applications of the fetch-and-add instruction
US5752026A (en) Early commit locking computer database protocol
JPH11259350A (ja) デッドロックを事前検知可能なデータベース管理システム
Lee et al. Parallel replication across formats for scaling out mixed OLTP/OLAP workloads in main-memory databases
Wu et al. Divergence control algorithms for epsilon serializability