JPH03147032A - データベース管理システム - Google Patents

データベース管理システム

Info

Publication number
JPH03147032A
JPH03147032A JP1283102A JP28310289A JPH03147032A JP H03147032 A JPH03147032 A JP H03147032A JP 1283102 A JP1283102 A JP 1283102A JP 28310289 A JP28310289 A JP 28310289A JP H03147032 A JPH03147032 A JP H03147032A
Authority
JP
Japan
Prior art keywords
record
database
update
backup
value
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
JP1283102A
Other languages
English (en)
Inventor
Suguru Kawakami
川上 英
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP1283102A priority Critical patent/JPH03147032A/ja
Publication of JPH03147032A publication Critical patent/JPH03147032A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、データベースの更新動作を停止させることな
く、データベースをバックアップするようにしたデータ
ベース管理システムに関する。
(従来の技術) データベース管理システムでは、データベースを格納し
ているディスク等の不揮発性記憶媒体(以下、2次記憶
媒体という。)に障害が発生した場合でも、データベー
スを現状の状態に回復しなければならない。そのため、
周期的にデータベースの全レコードを、データベースを
格納している2次記憶媒体と異なる2次記憶媒体にコピ
ーし、コピーをとった時点からデータベースに行なわれ
た更新操作のログを取得している。データベースのレコ
ードをコピーする作業をバックアップと呼び、コピーし
たデータをバックアップデ−夕と呼ぶ。
バックアップデータとログからデータベースを回復する
ためには、データベースが正しい状態にある時に、バッ
クアップを行ない、その時点からのログを取得しなけれ
ばならない。
データベースは、データベースに対する仕事の論理的な
単位であるトランザクション(Tr)の終了した時に正
しい状態になる。トランザクション実行中は、データベ
ースは過渡的な状態であり、正しい状態とはいえない。
しかし、データベース管理システムは、データベースの
効率的アクセスのために、第2図に示す如く複数のトラ
ンザクションが同時に平行的動作をし、データベースを
検索/更新している。従って、データベースをアクセス
する業務プログラムの実行中にデータベースが正しい状
態になることは、はとんどない。
このため、従来、データベースをバックアップする時は
、データベースをアクセスする業務を停止して行なって
いた。
(発明が解決しようとする課題) しかしながら、従来方式では、データベース全体をバッ
クアップするには、かなりの時間がかかり、この間更新
を伴うトランザクションを実行できないという問題があ
った。特に、24時間停止することなく運用するオンラ
イン処理システムでは、オンライン業務実行中にバック
アップデータな取得することが望まれる。
本発明の目的は、このような従来の問題を解決し、デー
タベースのバックアップ作業中でもデータベースを更新
できるようにしたデータベース管理システムを提供する
ことにある。
(課題を解決するための手段) 本発明は、2次記憶装置に格納したデータベースのレコ
ードの更新前イメージを保存し、トランザクション障害
回復を行なうデータベース管理システムにおいて、前記
2次記憶装置に格納したデータベースのレコードを更新
するとき、レコードに更新トランザクション番号を記録
し、バックアップ中のレコード更新では、更新要求のト
ランザクション番号がレコードに記録したトランザクシ
ョン番号と異なるとき、レコードの更新前値を更新前値
格納領域とバックアップデータ保存領域に保存した後、
該レコードを更新するデータベース更新制御部と、前記
2次記憶装置に格納したレコードをバックアップすると
きには、レコードに記録した更新トランザクション番号
によってレコードの現在値、更新前値、バックアップ値
の内いずれをバックアップするかを選択するデータベー
スバックアップ制御部とを備えてなるものである。
(作用) 従って、データベース更新制御部は、2次記憶装置に格
納したデータベースのレコードを更新するとき、レコー
ドに更新トランザクション番号を記録する。バックアッ
プ中のレコード更新では、データベース更新制御部は、
更新要求のトランザクション番号がレコードに記録した
トランザクション番号と異なるとき、レコードの更新前
値を更新前値格納領域とバックアップデータ保存領域に
保存した後、該レコードを更新する。更新要求のトラン
ザクション番号はレコードの更新値とともにレコード記
録される。
よって、更新業務を停止することなくバックアップ作業
をすることができる。
また、データベースバックアップ制御部は、レコードを
バックアップするとき、レコードに記録された更新トラ
ンザクション番号によってレコードの現在値、更新前値
、バックアップ値の内、いずれをバックアップするかを
、バックアップ取得開始時点で、トランザクションの完
了、未完了により選択する。データベースを格納した媒
体に障害が発生した場合、バックアップデータを用いて
データベースを回復させることができる。
(実施例) 次に本発明の実施例について図面を用いて説明する。
第1図は、本発明のデータベース管理システムの一実施
例を示すブロック図である。
同図において、1はデータベース管理システムであって
、このデータベース管理システム1は、トランザクショ
ン(Tr)番号割当テーブル2とバックアップ中表示フ
ラグ3とバックアップ開始時完了トランザクション(T
r)4とデータベース更新制御部5とデータベースバッ
クアップ制御部6とデータベース回復制御部7と要求受
は付は部14とトランザクション(Tr)制御部15を
有している。ここに、Tr番号割当テーブル2は、各ト
ランザクションに対し唯一識別するトランザクション番
号(Tr番号)を夫々割当て、そのTr番号の最大値(
Tr番号は順番に割当てるので、最後に割当てられたT
r番号の値をいう。)を格納しているものである。バッ
クアップ中表示フラグ3は、バックアップ作業中か否か
を示すものである。バックアップ開始時完了Trリスト
(CTRL) 4は、バックアップを開始した時点で完
了していたトランザクションを識別するためのものであ
る。バックアップ開始時点で完了していたトランザクシ
ョンは、例えば、バックアップ開始時のトランザクショ
ン番号の最後の値(Tr番号は順番に割当てるので、最
後に割当てられたTr番号の値をいう。)と未完了のT
r番号の値とから求まる。また、データベース更新制御
部5は、データベースのレコードの更新を制御するもの
である。また、データベースバックアップ制御部6は、
データベース9のレコードのコピーを他の2次記憶装置
8bに格納するものである。また、データベース回復制
御部7は、バ・ンクアップデータとログから、データベ
ースを回復させるものである。また、要求受は付は部1
4は、データベース管理システムlを利用する外部の要
求元からの要求を受は付けるものである。また、Tr制
御部15は、トランザクションの完了を制御したり、ト
ランザクションに唯一のTr番号を該トランザクション
に割当て、かつTrの状態を管理したりするものである
また、8aは、データベース9を格納するディスク等の
不揮発性記憶媒体を用いた2次記憶装置、8bはデータ
ベース9のバックアップデータ11とデータベース9に
対する更新のログデータ13を格納するディスク等の不
揮発性記憶媒体を用いた2次記憶装置である。1oはデ
ータベース表10′の集まりである。12は、データベ
ース表10′の集まり10のバックアップデータである
第3図は、データベース表10′の内部構成図である。
同図において、データベース表10’はレコード31の
集まりである。このレコード31は、レコードを唯一識
別するレコード識別子32と、このレコードを最後に更
新したトランザクション番号(これを更新Tr番号とい
う。)33と、レコード本体(レコード内容)34から
なる。ここで、レコード内容34は、例えばユーザデー
タなどとして利用される。
第4図は、データベース表の格納形式を示す図である。
41a、41bは、レコードを格納するページを指すポ
インタを格納するページである。
これらの、レコードを格納するページを指すポインタは
、レコードを格納するページの増減に応じて増減する。
42a、42bは、レコードの現在値を格納するページ
を指すポインタである。
43a、43bは、レコードの更新前値を格納するペー
ジを指すポインタである。44a、44bは、レコード
のバックアップ値を格納するページを指すポインタであ
る。45a、45bは、レコードの現在値を格納するペ
ージである。このページに格納される値が、レコードの
最新の値である。46a、46bは、レコードの更新前
値を格納するページである。このページに格納される値
は、トランザクションのアボート時に、レコードをトラ
ンザクション開始時の状態に戻すために使用される。4
7a、47bは、レコードのバックアップ値を格納する
ページである。このページは、オンライン中にバックア
ップを取得するために使用する。
このように、レコードの値は、3つのバージョンがデー
タベース9上に格納されることになる。
次に本発明の実施例の動作について以下、場合を分けて
説明する。
先ず、データベース9のレコードを更新する前に、外部
の要求元からトランザクション開始の要求が、データベ
ース管理システム1の要求受は付は部14に送られてく
ると、要求受は付は部14は、トランザクション(T 
r )制御部15にその要求を渡す。Tr制御部15は
、Tr番号割当テーブル2の内容に1を加え、これをト
ランザクションを唯一識別できるTr番号とし、そのT
r番号を要求受は付は部14を介して外部の要求元に応
答する。
(イ)通常の更新 外部の要求元は、Tr番号を取得した後は、データベー
ス管理システム1への要求には、該Tr番号を必ず付加
する。
バックアップ中表示フラグが”偽”で、バックアップ作
業中でない状態の時に、外部の要求元からのトランザク
ションがデータベースの更新要求をした場合、要求受は
付は部14は、その要求をデータベース更新制御部5に
渡す。データベース更新制御部5は、第5図(a)に示
す手順によって、データベースを更新し、ログを書込む
例えば、更新するレコードの現在の値が第4図に示すレ
コードの現在値ページ45aに格納されていて、この現
在値ページから更新するレコードを読出し、そのレコー
ドの更新Tr番号が、更新要求をしたTr番号と異なる
場合(第5図(a)のステップSL、S2)、レコード
の現在値ページ45a上のレコードの値を、第4図の更
新前ページ46aの対応する部分に書込んだ後、レコー
ドの現在値ベージ45a上のレコードを更新する、即ち
レコードの現在値ページにレコードの更新値と更新を要
求したTrの番号を書込む(第5図(a)のステップS
3.S4)、更に、データベース表識別子とレコード識
別子と更新を要求したTr番号と更新後のレコード本体
の値をログに書込む(第5図(a)のステップS5)。
なお、ステップS2において、レコードの更新Tr番号
と更新要求をしたTr番号とが等しいときは、ステップ
S4へ移行する。
(ロ)バックアップデータ取得 外部の要求元からデータベースのバックアップの要求が
要求受は付は部14に供給された場合、要求受は付は部
14はその要求をデータベースバックアップ制御部6は
、第5図(b)に示す手順に従ってデータベース9をバ
ックアップする。
第5図(b)のバックアップデータ取得手順について説
明する。
データベースバックアップ制御部6は、バックアップ中
表示フラグ3を“真”にする(ステップ511)。次に
、データベースバックアップ制御部6は、完了している
TrをCTRL 4に書込み(ステップ512)、バッ
クアップ作業の開始とCTRL4の内容をログに書込む
(ステップ513)。
データベースバックアップ制御部6は、全データペース
表をバックアップしたか否かをチエツクし、全データペ
ース表をバックアップしていない場合には、次のデータ
ベース表のバックアップを開始する(ステップS14,
515)。そして全レコードをバックアップした場合に
は、ステップS16からステップS14へ移行する。デ
ータベースバックアップ制御部6は、全レコードをバッ
クアップしていない場合、次のレコードのバックアップ
を開始する(ステップ816゜517)、次にデータベ
ースバックアップ制御部6は、現在値ページからレコー
ドを読出し、そのレコードの更新Tr番号がCTRL4
に含まれるか否かをチエツクし、CTRL4に含まれな
い場合は、レコードの更新前値ページからレコードをM
 出し、そのレコードの更新Tr番号がCTRL4に含
まれるか否かをチエツクする(ステップS18〜521
) データベースバックアップ制御部6は、そのレコー
ドの更新Tr番号がCTRL4に含まれていない場合は
、レコードのバックアップ値ページからレコードを読出
し、そのレコードをデータベース表のバックアップに書
込む(ステップS21〜523)。この後、ステップS
23からステップS14へ移行する。また、ステップS
19において、当該レコードの更新Tr番号がCTRL
4に含まれる場合やステップS21において当該レコー
ドの更新Tr番号がCTRL4に含まれる場合は、夫々
ステップS19.S21からステッブS23へと移行す
る。
以上のような動作を繰返して全データペース表をバック
アップした場合にはステップS14からステップS24
へ移行し、バックアップ作業の完了をログに書込む。そ
して、データベースバックアップ制御部6はバックアッ
プ中表示フラグ3を“偽”にする。
なお、ステップS12において、データベースバックア
ップ制御部6は、完了しているTrをCTRL4に書込
んでいるが、この場合、完了しているTrは、バックア
ップ取得開始(T back)時点のTr番号割当テー
ブルに格納されたTr番号の最後の値とバックアップ取
得開始時点の未完了なTr番号とから求まるので、完了
しているTrの代わりに、バックアップ取得開始時点の
、Tr番号の最後の値と未完了なTr番号とをCTRL
4に書込んでもよい。
また、例えば、第6図(a)のT back時点tlに
てバックアップが要求されたとする。このT back
時点t、においては、トランザクション(Tr、)1.
  トランザクション(Tr、)2は既に完了している
が、Tr、2.Tr、4は未完了の状態にある。しかし
、本発明では、第6図(b)で示す状態のデータベース
が、バックアップされる。
即ち、データベースの各レコード毎に見れば、T ba
ck時点t、にて完了しているT「、1とTr、3の更
新後で、T back時に完了していないTr、2とT
r、4の更新前の値が、バックアップされる。
(ハ)バックアップ作業中の更新 バックアップ中表示フラグが“真”で、バックアップ作
業中状態の時に、外部の要求元からのトランザクション
がデータベースの更新要求をした場合、データベース更
新制御部5は、第5図(C)に示す手順に従って、デー
タベースを更新し、ログを書込む。
第5図(c)のバックアップ作業中の更新手順について
説明する。
先ず、データベース更新制御部5は、レコードの現在値
ページから更新するレコードを読出し、そのレコードの
更新Tr番号がCTRL4に含まれるか否かチエツクし
、CTRL4に含まれない場合、そのレコードをレコー
ドのバックアップ値ページに書込む(ステップ326〜
828) なお、ステップS27でレコードの更新Tr
番号がCTRL4に含まれるとき、ステップS29へ移
行する。次に、データベース更新制御部5は、前記レコ
ードの更新Tr番号が、更新要求した番号と等しいとき
は、ステップS31へ移行し、更新要求した番号と等し
くないときは、レコードをレコードの更新前値ページに
書込む(ステップS29゜530)。次に、データベー
ス更新制御部5は、レコードの更新値と更新を要求した
Trの番号を、現在値ページに書込み(ステップ531
)、更にデータベース表識別子とレコード識別子と更新
を要求したTrの番号と更新後のレコード本体の値をロ
グに書込む(ステップ532)ことで、バックアップ作
業中の更新を終了する。
例えば、第4図を用いていえば、更新するレコードの現
在の値がレコードの現在値ページ45aに格納されてい
て、このレコードの更新Tr番号が、バックアップ取得
開始時に完了しておらず、かつ更新要求をしたTrと異
なる場合、前記レコードの現在値ページ45a上のレコ
ードの値を、レコードのバックアップ値ベージ47aの
対応する部分とレコードの更新前ページ46aの対応す
る部分に書込んだ後、レコードの現在の値45a上のレ
コードを更新する(第5図(C)のステップ326〜5
31)。
(ニ)データベース回復 データベースを格納する媒体に障害が発生すると、第5
図(d)に示す手順に従って、前記(ロ)で取得したバ
ックアップデータ11を2次記憶装置8bから2次記憶
装置8aのデータベース9にコピーすることにより、デ
ータベース9をT back時点まで回復しくステップ
533)、このデータベース9とT back時点で未
完了だったTrの更新ログにより、データベース9を更
新し、ログが取得されて最後のトランザクション実行状
態までデータベースを回復する(ステップ534)。
以上の説明から判かるように、本発明ではバックアップ
中は、レコードを更新するとき、更新要求をしたトラン
ザクション番号をレコードに更新値と共に記録し、更新
前のレコードの値をレコードのバックアップ値ページに
保存するようにしたので、更新業務を停止することなく
、バックアップ作業をすることができる。
本発明は本実施例に限定されることなく、本発明の要旨
を逸脱しない範囲で種々の応用及び変形が考えられる。
(発明の効果) 上述したように本発明を用いれば、バックアップ中のレ
コードの更新に当たり、更新要求のトランザクション番
号がレコードに記録したトランザクション番号と異なる
とき、レコードの更新前値を更新前値格納領域とバック
アップデータ保存領域に保存した後、該レコードを更新
するので、更新業務を停止することなくバックアップ作
業を行なうことができる。また、本発明によれば、デー
タベースを格納した媒体に障害が発生した場合、バック
アップデータを用いてデータベースを回復させることが
できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
データベース内でのトランザクションの動作状況を示す
図、第3図はデータベース表10’の内部構成図、第4
図はデータベース表10′の格納形式の説明図、第5図
は第1図の動作フローチャート、第6図はデータベース
の状態を示す説明図である。 1・・・データベース管理システム、 2・・・Tr番号割当テーブル、 4・・・バックアップ開始時完了リスト(CTRL)、
5・・・データベース更新制御部、 6・・・データベースバックアップ制御部、7・・・デ
ータベース回復制御部、 8a、8b・・・2次記憶装置、9・・・データベース
、10′・・・データベース表、 11・・・バックアップデータ、 12′・・・データベース表のバックアップデータ。 データベース表1o′の格納形式の説明国策  4  
図 通常の更新手順のフローチャート 第  5  図(a) バックアップ作業中の更新手順フローチ?−)第 15
 図(c) データベース回復手履フローチ↑−ト 第5図(d)

Claims (1)

  1. 【特許請求の範囲】 2次記憶装置に格納したデータベースのレコードの更新
    前イメージを保存し、トランザクション障害回復を行な
    うデータベース管理システムにおいて、 前記2次記憶装置に格納したデータベースのレコードを
    更新するとき、レコードに更新トランザクション番号を
    記録し、バックアップ中のレコード更新では、更新要求
    のトランザクション番号がレコードに記録したトランザ
    クション番号と異なるとき、レコードの更新前値を更新
    前値格納領域とバックアップデータ保存領域に保存した
    後、該レコードを更新するデータベース更新制御部と、
    前記2次記憶装置に格納したレコードをバックアップす
    るときには、レコードに記録した更新トランザクション
    番号によってレコードの現在値、更新前値、バックアッ
    プ値の内いずれをバックアップするかを選択するデータ
    ベースバックアップ制御部とを備えたことを特徴とする
    データベース管理システム。
JP1283102A 1989-11-01 1989-11-01 データベース管理システム Pending JPH03147032A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1283102A JPH03147032A (ja) 1989-11-01 1989-11-01 データベース管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1283102A JPH03147032A (ja) 1989-11-01 1989-11-01 データベース管理システム

Publications (1)

Publication Number Publication Date
JPH03147032A true JPH03147032A (ja) 1991-06-24

Family

ID=17661246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1283102A Pending JPH03147032A (ja) 1989-11-01 1989-11-01 データベース管理システム

Country Status (1)

Country Link
JP (1) JPH03147032A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110018408A1 (en) * 2008-03-19 2011-01-27 Cheon-Soo Cho Washing machine

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110018408A1 (en) * 2008-03-19 2011-01-27 Cheon-Soo Cho Washing machine
US8459754B2 (en) * 2008-03-19 2013-06-11 Lg Electronics Inc. Washing machine

Similar Documents

Publication Publication Date Title
US6959369B1 (en) Method, system, and program for data backup
JP2531894B2 (ja) デ―タ処理装置
CA2933790C (en) Apparatus and method for creating a real time database replica
US9092379B2 (en) Method and apparatus for backup and recovery using storage based journaling
US8868507B2 (en) Method and apparatus for data recovery using storage based journaling
US7444485B1 (en) Method and apparatus for duplicating computer backup data
US6061769A (en) Data set backup in a shared environment
EP0351387B1 (en) Minimizing locking and reading in a segmented storage space
EP1461700B1 (en) Appliance for management of data replication
US7472139B2 (en) Database recovery method applying update journal and database log
US7412460B2 (en) DBMS backup without suspending updates and corresponding recovery using separately stored log and data files
US5991772A (en) Method and apparatus for restoring a portion of a database
US6745304B2 (en) Method and device for storing computer data with back-up operations
US20050273474A1 (en) Method and system for data processing with data replication for the same
JPH0683687A (ja) データ処理システム及びその方法
JP2002149454A (ja) 論理ディスク上でのトランザクション・サポート
EP0295424A2 (en) Method for managing subpage concurrency control and partial transaction rollback in a transaction-oriented system of the write-ahead logging type
US7194486B2 (en) Method and system for data processing with data replication for the same
US7523204B2 (en) Coordinated quiesce of a distributed file system
JP3991760B2 (ja) データベース管理方法および装置およびその処理プログラム
JPH03147032A (ja) データベース管理システム
US20060026459A1 (en) Method and apparatus for storing data
JP3290182B2 (ja) 共用環境におけるデータ・セットのバックアップ方法及び装置
JPH0287242A (ja) データベースの退避回復方式
JP2610972B2 (ja) データベースのデータ保全方式