JPH07175700A - データベース管理方式 - Google Patents

データベース管理方式

Info

Publication number
JPH07175700A
JPH07175700A JP5320461A JP32046193A JPH07175700A JP H07175700 A JPH07175700 A JP H07175700A JP 5320461 A JP5320461 A JP 5320461A JP 32046193 A JP32046193 A JP 32046193A JP H07175700 A JPH07175700 A JP H07175700A
Authority
JP
Japan
Prior art keywords
page
page table
physical
management
current 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.)
Withdrawn
Application number
JP5320461A
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 JP5320461A priority Critical patent/JPH07175700A/ja
Priority to US08/355,530 priority patent/US5724581A/en
Publication of JPH07175700A publication Critical patent/JPH07175700A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

(57)【要約】 (修正有) 【目的】 トランザクション実行中におけるチェックポ
イントの取得及び該障害復旧処理を高速に行えるように
する。 【構成】 データベースの各論理ページに対応する物理
ページをシャドウページ方式により管理するページテー
ブルを構成するカレント版論理ページブロック304
と、該ブロック内のページテーブルを管理する管理ブロ
ック302を設ける。そして、チェックポイント時に
は、管理ブロック302についてはシャドウページを削
除した内容を2次記憶40上の論理ページ管理ブロック
402内にバックアップし、論理ページブロック304
についてはそのままの内容を2次記憶40上の論理ペー
ジブロック404内にバックアップする。また、トラン
ザクション完了時にログを2次記憶40上のシステムロ
グファイル412に記録する。そして、システム障害発
生時には、該ブロック402,404及びファイル41
2の内容に基づき、データベースを障害発生前の状態に
復旧させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データベースを管理す
るデータベース管理方式に係り、特にチェックポイント
(Checkpoint) の取得及びそれを利用して該データベー
スの障害復旧を行うデータベース管理方式に関する。
【0002】
【従来の技術】近年、情報化の重要性が認識されるにつ
れ、データベースの重要性が増してきている。特に、最
近、他メーカの機種同士を組み合わせてローカル・エリ
ア・ネットワーク(LAN)やワイド・エリア・ネット
ワーク(WAN)等のコンピュータネットワークを構成
する、いわゆるオープンシステムの構築が盛んになって
いるが、このオープンシステムにおいても、データベー
スが必須要素となっている。
【0003】データベースシステムにおいては、信頼性
が重んじられ、このため電源断等のシステム障害(Syst
em Failure) やトランザクション障害(Transaction Fia
lure) などの種々の障害が発生しても、データベースの
論理的一貫性を保つことが要求される。
【0004】このような、データベースシステムの信頼
性制御方式として、シャドウページ方式が知られてい
る。これは、トランザクションがデータベースを更新す
る際、更新結果を更新前の情報の格納場所とは異なる新
しい場所に格納する方式である。
【0005】データベースは、その論理的構成において
複数の固定長のページ(論理ページ)から構築されてお
り、各論理ページのデータは実際には物理的な記憶媒体
上の該論理ページと同一サイズの一般にブロックまたは
スロットと呼ばれる物理ページに格納される。このた
め、論理ページと物理ページの対応関係(マッピング情
報)を有するページテーブル(ページマッピングテーブ
ル)が設けられる。
【0006】シャドウページ方式においては、上述した
ように、各トランザクションにおいてデータベースの更
新が行われる毎に、最新のデータが格納されているペー
ジ(カレントページ)と更新前のデータが格納されてい
るページ(シャドウページ)が生成される。このため、
上記ページテーブルもカレント版とバックアップ版の2
つが作成される。そして、これらについても、不揮発性
の2次記憶媒体上に格納される。通常、これらのページ
テーブルも、複数のブロックに分割されて、2次記憶上
に格納される。尚、このブロックは、主記憶と該2次記
憶との間のデータ転送単位である。
【0007】図17は、このような従来のシャドウペー
ジ方式を説明する模式図である。この図に示す例は、あ
るトランザクションが論理ページnを更新する場合の例
である。このトランザクションの実行開始前の状態で
は、カレント版ページテーブルの論理ページnのエント
リ位置のポインタPc とバックアップ版ページテーブル
の論理ページnのエントリ位置のポインタPB は、共に
物理ページiを指している(同図(a) 参照)。
【0008】次に、上記トランザクションの実行が開始
され、論理ページnの更新が開始されると、不図示のデ
ータ格納用2次記憶から論理ページnに対応する新たな
物理ページとして未使用の物理ページjが獲得され、こ
の物理ページjに更新後の内容が書き込まれる。このた
め、カレント版ページテーブルにおいて論理ページnに
対応するカレントページポインタPC は物理ページjを
指す値に変更される。また、このときバックアップペー
ジポインタPB の指す物理ページiはシャドウページと
なる(同図(b) 参照)。
【0009】そして、このトランザクションが正常終了
し、物理ページjに最新データが反映されると、バック
アップ版ページテーブルの論理ページnに対応するバッ
クアップページポインタPB に上記カレントページポイ
ンタPC の値がコピーされ、両ポインタPB ,PC は共
に物理ページjを指すようになる。これにより、上記シ
ャドウページすなわち物理ページiは削除される。
【0010】このように、シャドウページ方式において
は、ページテーブルをカレント版とバックアップ版の2
つ持ち、トランザクションによって論理ページnが更新
されている間、更新前の内容がシャドウページ(物理ペ
ージi)によって保存される。また、このシャドウペー
ジを指すポインタもバックアップ版ページテーブルに保
持されているため、トランザクション障害が発生して
も、バックアップ版ページテーブルの内容をカレント版
ページテーブルにコピーすることによりシャドウページ
を最新の物理ページとして扱い、該トランザクションを
無効すとることができ、データベースの論理的一貫性を
保つことができる。
【0011】しかしながら、トランザクション毎に2次
記憶上のページテーブルを更新するとオーバーヘッドが
大きくなってシステムの性能が低下するため、現在で
は、カレント版ページテーブルは主記憶上に置き、チェ
ックポイント時に2次記憶上に設けたバックアップ版ペ
ージテーブルにカレント版ページテーブルの内容を反映
させる手法が採用されている。尚、この場合、障害復旧
(recovery) のためにデータベースの更新履歴情報も2
次記憶上に作成した履歴ファイル(ログファイル)に取
得するようにしている。
【0012】以前は、2次記憶上にデータベースのバッ
クアップ複写をとり、このバックアップ複写からログ
(上記データベース更新履歴情報に該当するもので、デ
ータベースに対しトランザクションにより加えられた操
作演算の履歴)を用いて再実行を行うのが、データベー
ス復旧の一般的な方法であった。しかしながら、バック
アップ複写をとる操作はアクセス速度の遅い2次記憶へ
のデータ書き込みを伴うものであるため時間がかかり、
上記ログ量も多くなるため再実行に要する時間も長くな
るという問題点があった。
【0013】上記チェックポイント(checkpoint) は、
この復旧時間をなるべく短縮するために考え出された手
法である。トランザクションによる更新演算は、直接2
次記憶に対してではなく、主記憶内のバッファに対して
行われる。このため、該バッファ内の更新内容を2次記
憶上のデータベースに反映させる必要がある。チェック
ポイントは、主記憶内のバッファに格納されている論理
ページの内容と2次記憶内に格納されている論理ページ
の内容とを同一にする時点として定義されている。
【0014】このチェックポイントは、一般にDBMS
(データベース管理システム:DataBase Management Sy
stem) により、周期的または一定時刻にとられるように
なっている。チェックポイント時点では、不揮発性記憶
媒体である2次記憶に最新のデータベースの内容が記憶
されるので、復旧作業はチェックポイントを基準にして
行えばよく、障害復旧に要する時間が短縮される。
【0015】
【発明が解決しようとする課題】上記チェックポイント
取得を行うデータベースシステムにおいて、障害復旧に
要する時間は、一般に最新のチェックポイントから障害
発生までに履歴ファイルに書き込まれたログの量に比例
する関係にある。
【0016】ところが、従来のチェックポイント取得方
式では、一般にトランザクションがひとつも実行されて
いないときにチェックポイントを取得するようにしてい
た(トランザクション指向チェックポイント)。これ
は、トランザクションの実行中においては、一般にデー
タベースの論理一貫性は保たれていないので、トランザ
クション実行中にチェックポイントを取ると、復旧作業
は複雑なものとなるからである。尚、トランザクション
は実行状態であってもよいが、データベースの操作演算
が実行されていないときにチェックポイントを取る演算
指向チェックポイント取得方式もあるが、この場合には
現在実行中の演算の完了を待ち、新規の演算の実行は停
止される。そして、該現在実行中の演算が完了した時点
でトランザクションを待ち状態(wait状態)にしてチェ
ックポイントを取る(演算指向チェックポイント)。
【0017】上記従来のトランザクション指向チェック
ポイントでは、トランザクションが1つも実行されてい
ないときにしか、チェックポイントを取ることができ
ず、チェックポイントの取得時間帯が限定されていた。
このため、チェックポイントの取得間隔が長くなって、
その間のログの量が多くなると、障害復旧に要する時間
が長くなるという問題があった。また、この場合、チェ
ックポイント取得のために実質的にデータベースシステ
ムの運用が一時的に停止した状態になるので、システム
の処理効率が低下するという問題もあった。
【0018】また、上記従来の演算指向チェックポイン
トの場合でも、チェックポイント時には演算は実行中で
あってはならず、カレントページの更新は完了している
必要があった。そして、主記憶上のカレント版ページテ
ーブルの内容を2次記憶上のバックアップ版ページテー
ブルに反映させ、チェックポイント時に実行中であった
トランザクションについては、該チェックポイント以降
に取得されたログを用いて該トランザクションを有効化
するようにしていた。この場合、ページ数が多いと上記
カレント版ページテーブルのバックアップに時間がかか
るため、チェックポイント処理を高速化できないという
問題点があった。
【0019】本発明の課題は、トランザクションが実行
中であっても、チェックポイントを高速処理できるよう
にすることである。また、該チェックポイントを利用す
ることによりシステム障害発生時の、復旧処理を高速に
行えるようにすることである。
【0020】
【課題を解決するための手段】図1は、本発明の原理を
説明する図である。本発明は、データが論理的な領域で
ある複数の論理ページに分割されて格納されるデータペ
ージの管理方式を前提とする。
【0021】そして、請求項1記載の発明は、以下の各
手段を有する。データベース記憶手段1は、2次記憶上
に設けられ、該データベースの実体のデータを該論理ペ
ージに1対1に対応す物理ページに分割して記憶する。
【0022】カレント版ページテーブル2は、それらの
全てまたは大部分が主記憶上に設けられ、上記各論理ペ
ージについて、それらの最新の更新データが格納されて
いる最新物理ページと該更新前のデータが格納されてい
るシャドウ物理ページの上記データページ記憶手段内で
の位置情報を管理する。
【0023】カレント版ページテーブル管理テーブル3
は、それらの全てまたは大部分が主記憶上に設けられ、
チェックポイント時にバックアップがとれらた該カレン
ト版ページテーブルをシャドウページテーブル、該チェ
ックポイント後に更新された該カレント版ページテーブ
ルを最新ページテーブルとして管理する。
【0024】バックアップ版ページテーブル4は、2次
記憶上に設けられ、チェックポイント時点での上記カレ
ント版ページテーブル2の内容を記憶する。バックアッ
プ版ページテーブル管理テーブル5は、2次記憶上に設
けら、データベース復旧時に用いられる、上記各論理ペ
ージについて、それらの回復すべきデータが格納されて
いる前記2次記憶上の物理ページの位置情報が設定され
ているページテーブルの内容を記憶する。
【0025】空き物理ページ管理手段6は、好ましくは
主記憶上に設けられ、該2次記憶上の未使用の物理ペー
ジを管理する。第1の更新手段7は、トランザクション
の実行によりある論理ページのデータ更新が行われる
際、まず、前記カレント版ページテーブル管理テーブル
3をアクセスし、該論理ページに対応する物理ページの
位置情報を有するページテーブルに対してシャドウペー
ジテーブルが存在しない場合には、該空き物理ページ管
理手段6の管理情報を参照して、現時点で未使用の物理
ページを獲得し、該物理ページにそれまでの最新ページ
テーブルの内容をコピーして、これを上記論理ページ用
の最新ページテーブルとして、またそれまでの最新ペー
ジテーブルをシャドウページテーブルとして前記カレン
ト版ページテーブル管理テーブル3に登録すると共に、
上記新たに獲得した物理ページを前記空き物理ページ管
理手段6に使用中として設定し、次に該カレント版ペー
ジテーブル管理テーブル3の管理情報に基づきカレント
版ページテーブル2内の上記論理ページに対応する物理
ページの位置情報を調べ、該位置情報により上記論理ペ
ージに対応するシャドウ物理ページが存在しない場合に
は、前記空き物理ページ管理手段6の管理情報を参照し
て、前記データベース記憶手段1から現時点で未使用の
物理ページを獲得し、該物理ページを上記論理ページの
最新物理ページとして上記カレント版ページテーブル2
に登録する。
【0026】第2の更新手段8は、該第1の更新手段7
によって更新された後のカレント版ページテーブル2を
参照して、該カレント版ページテーブル2に登録されて
いる上記データ更新すべき論理ページに対応する最新物
理ページに該論理ページの更新後の内容を書き出し、そ
の後該カレント版ページテーブル2の上記論理ページに
対応するシャドウページを指す位置情報を上記最新物理
ページを指すように変更する。
【0027】第3の更新手段9は、前記空き物理ページ
管理手段6に該シャドウページを未使用として設定す
る。チェックポイント処理手段10は、前記主記憶上の
カレント版ページテーブル管理テーブル3の内容を現在
の最新ページテーブルのみを有効とするように変更し、
この変更後の内容を前記2次記憶上のバックアップ版ペ
ージテーブル管理テーブル5に反映させると共に、前記
主記憶上のカレント版ページテーブル2の内容を、前記
2次記憶上のバックアップ版ページテーブル4に反映さ
せる。
【0028】また、例えば、請求項14記載のように、
さらに、前記カレント版ページテーブル管理テーブル3
において削除したシャドウページテーブルを構成してい
た全ての物理ページについて、前記空きページ管理手段
6内において未使用として管理されるようにその管理情
報を変更させるようにしてもよい。
【0029】上記第1の更新手段7、第2の更新手段
8、第3の更新手段9、及びチェックポイント処理手段
10は、例えばホストコンピュータまたはクライアント
/サーバシステムにおけるサーバ上で稼働するDBMS
(データベース管理システム)またはTPモニタ(Tran
saction Processing Monitor) などのミドルウェアによ
って実現される。
【0030】前記カレント版ページテーブル管理テーブ
ル3は、例えば、請求項2記載のように、シャドウペー
ジテーブルを指す第1ポインタと、最新ページテーブル
を指す第2のポインタを備えるような構成にしてもよ
い。
【0031】また、このような構成において、例えば、
請求項3記載のように、前記シャドウページテーブルと
前記最新ページテーブルは、複数の物理ページから成
り、前記第1のポインタと前記第2のポインタは当該物
理ページを指すような構成にしてもよい。
【0032】また、該構成において、前記カレント版ペ
ージテーブル管理テーブル3は、前記第1のポインタと
前記第2のポインタを、それぞれ個別のテーブルにより
管理するような構成にしてもよい。
【0033】また、前記カレント版ページテーブル2
は、例えば、請求項5記載のように、各論理ページにつ
いて、シャドウ物理ページを指す第1のポインタと最新
物理ページを指す第2のポインタを有するような構成に
してもよい。
【0034】さらに、該構成において、前記カレント版
ページテーブル2は、前記第1のポインタと前記第2の
ポインタを、それぞれ個別のテーブルにより管理するよ
うな構成にしてもよい。
【0035】また、さらには、請求項7記載のように、
前記カレント版ページテーブル2の各論理ページに対し
て、前記2次記憶上に予め2つの物理ページを割り付け
ておき、該2つの物理ページを2つのグループに分け、
前記カレント版ページテーブル管理テーブル3は、上記
カレント版ページテーブルの各論理ページに対応する2
つの物理ページのそれぞれに固定的に割り当てられた2
つのフラグを有し、該2つのフラグはそれぞれ対応する
物理ページが、現在、シャドウページテーブルまたは最
新ページテーブルのいずれに属するかを示す値に設定さ
れるような構成にしてもよい。
【0036】さらに、例えば、請求項8記載のように、
前記バックアップ版ページテーブル管理テーブル5を、
前記2次記憶上に2つ用意し、前記チェックポイント処
理手段10は、上記2つのページテーブル管理テーブル
に対して前記カレント版ページテーブル管理テーブル3
の内容を反映させるような構成にしてもよい。
【0037】また、このような構成にした場合、例え
ば、請求項10記載のように、前記2次記憶上に更新フ
ラグを設け、前記チェックポイント処理手段10は、後
で書き込みを行うページテーブル管理テーブルに対して
前記反映処理を行っている間、前記更新フラグをセット
し、該反映処理終了後、前記更新フラグをリセットさせ
るような構成にしてもよい。
【0038】また、請求項10記載のように、前記バッ
クアップ版ページテーブル管理テーブル5を、前記2次
記憶上に2つ用意し、前記チェックポイント処理手段1
0は、前記カレント版ページテーブル管理テーブル3の
内容を反映させるバックアップ版ページテーブル管理テ
ーブル5としてそれら2つのページテーブル管理テーブ
ルを交互に使用するような構成にしてもよい。
【0039】また、例えば、請求項11記載のように、
前記バックアップ版ページテーブル4を、前記2次記憶
上に2つ用意し、前記チェックポイント処理手段10
は、上記2つのページテーブルに対して前記カレント版
ページテーブル2の内容を反映させるような構成にして
もよい。
【0040】また、この場合、例えば、請求項12記載
のように、前記2次記憶上に更新フラグを設け、前記チ
ェックポイント処理手段10は、後で書き込みを行うペ
ージテーブルに対して前記反映処理を行っている間、前
記更新フラグをセットし、該反映処理終了後、前記更新
フラグをリセットするような構成にしてもよい。
【0041】さらに、例えば、請求項13記載のよう
に、前記バックアップ版ページテーブルを、前記2次記
憶上に2つ用意し、前記チェックポイント処理手段10
は、前記カレント版ページテーブル2の内容を反映させ
るバックアップ版ページテーブル4としてそれら2つの
ページテーブルを交互に使用するような構成にしてもよ
い。
【0042】また、請求項15記載の発明は、上述した
請求項1記載の発明が有するデータベース記憶手段1、
カレント版ページテーブル2、カレント版ページテーブ
ル管理テーブル3、バックアップ版ページテーブル4、
バックアップページテーブル管理テーブル5、及びチェ
ックポイント処理手段10に加え、さらに以下の手段を
備える。
【0043】ログファイル11は、2次記憶上に設けら
れ、各トランザクションのログ情報が記録される。ログ
取得手段12は、各トランザクションの完了時に、該ト
ランザクションのログ情報を該ログファイル11に書き
込む。
【0044】該ログ取得手段12は、例えば、前記チェ
ックポイント処理手段10と同様に、ホストコンピュー
タやサーバ上で実行されるDBMSやTPモニタ等によ
って実現される。
【0045】このような構成において、前記ログファイ
ル11に格納される各トランザクションのログ情報は、
例えば、請求項16記載のように少なくとも、トランザ
クションの開始を示すフラグ、該トランザクションに一
意的に割り当てられる識別子、該トランザクションのデ
ータベース操作の履歴情報、及び該トランザクションの
終了を示すフラグを有するような構成にしてもよい。
【0046】そして、前記トランザクションのデータベ
ース操作の履歴情報は、例えば請求項15記載のよう
に、少なくともデータベース操作の種類を示す情報、該
データベース操作が行われた論理ページを示す情報、該
論理ページの更新前のデータが格納されている物理ペー
ジを示す情報、及び該論理ページの更新後のデータが格
納されている物理ページを示す情報から成る1組の情報
が、該トランザクションで実行された全てデータベース
の更新に係わる操作について時系列に記録された形式に
してもよい。
【0047】また、さらに、請求項18記載の発明は、
上記請求項15記載の発明が有するデータベース記憶手
段1、カレント版ページテーブル2、カレント版ページ
テーブル管理テーブル3、バックアップ版ページテーブ
ル4、バックアップ版ページテーブル管理テーブル5、
チェックポイント処理手段10、ログファイル11、及
びログ取得手段12に加え、さらに以下の各手段を有す
る。
【0048】第1の制御手段21は、システム障害が発
生したとき、前記2次記憶からバックアップ版ページテ
ーブル管理テーブル5を読み出し、該バックアップ版ペ
ージテーブル管理テーブル5の内容をカレント版ページ
テーブル管理テーブル3に反映させる。
【0049】第2の制御手段22は、該システム障害が
発生したとき、前記2次記憶からバックアップ版ページ
テーブル4を読み出し、該バックアップ版ページテーブ
ル4の内容を、対応する物理ページがシャドウ物理ペー
ジと最新物理の両方を指している論理ページの位置情報
については、これを該シャドウ物理ページのみを指すよ
うに変更し、この変更により得られたページテーブルの
内容を前記カレント版ページテーブル2に反映させる。
【0050】第3の制御手段23は、上記第1の制御手
段21によって作成されたカレント版ページテーブル管
理テーブル3と、該第の2制御手段22によって作成さ
れたカレント版ページテーブル2と、前記ログファイル
11に格納されているログ情報とを基に、チェックポイ
ント時に実行中であり、かつ、上記システム障害発生前
に完了していたトランザクション及び該チェックポイン
ト以後に実行され、かつ、上記システム障害発生前に完
了していたトランザクションを再実行させて、それらの
トランザクションが完了した状態に前記データベース記
憶手段1内のデータベースを復旧させる。
【0051】上記第1の制御手段21、第2の制御手段
22、及び第3の制御手段23も、例えば前記DBMS
やTPモニタをホストコンピュータやサーバ上で稼働さ
せることにより実現される。
【0052】
【作用】請求項1乃至14記載の発明においては、デー
タベース記憶手段1上に構築されるデータベースにおい
て、最新のデータベースがカレント版ページテーブル管
理テーブル3とカレント版ページテーブル2とによって
管理される。
【0053】カレント版ページテーブルは、シャドウペ
ージ方式によってデータベースを構築する全ての論理ペ
ージをシャドウページ方式により管理する。すなわち、
ある論理ページの更新処理中においては該論理ページの
シャドウページと最新物理ページの位置情報を管理し、
該最新物理ページへの上記論理ページの更新後の内容の
書き込みが終了すると、該シャドウページは上記最新物
理ページの位置情報を示すように変更される。
【0054】尚、上記シャドウページと上記最新物理ペ
ージは、いずれもデータベース記憶手段1上に作成され
る。上記論理ページのデータ更新は、第2の更新手段8
がカレント版ページテーブル2を参照するこにより行わ
れる。すなわち、第2の更新手段8は、該カレント版ペ
ージテーブル2を参照して、上記論理ページに対応する
最新物理ページの位置情報を獲得し、該最新物理ページ
に該論理ページの更新後の内容を書き込む。また、第2
の更新手段8は、上記カレント版ページテーブル2の上
記論理ページに対応すシャドウページの位置情報が上記
最新物理ページを指すように変更する処理も行う。
【0055】カレント版ページテーブル管理テーブル3
は、カレント版ページテーブル2をシャドウページ方式
により管理する。すなわち、カレント版ページテーブル
2は、データベース上の各論理ページについて、それに
対応するシャドウページと最新物理ページの位置情報を
きおするページテーブルとして、シャドウのページテー
ブルと最新のページテーブルの2つを、あるチェックポ
イントとそれぞれに続くチェックポイントの期間中併せ
持つ。そして、この期間中、カレント版ページテーブル
管理テーブル3は、上記2つのページテーブルを管理す
る。
【0056】カレント版ページテーブル2におけるシャ
ドウページテーブルの削除はチェックポイント処理手段
10によってなされる。すなわち、チェックポイント処
理手段10は、自らがチェックポイント処理を行う際、
カレント版ページテーブル管理テーブル3の管理情報の
内容を変更し、該管理情報がカレント版ページテーブル
2内の最新ページテーブルのみを指すようにして、シャ
ドウページテーブルを削除させる。
【0057】一方、上記シャドウページテーブルの作成
は、第1の更新手段7によってなされる。すなわち、第
1の更新手段7は、トランザクションの実行によりある
論理ページのデータ更新が行われる際、まず、前記カレ
ント版ページテーブル管理テーブル3をアクセスし、該
論理ページに対応する物理ページの位置情報を有するペ
ージテーブルに対してシャドウページテーブルが存在し
ない場合には、該空き物理ページ管理手段6の管理情報
を参照して、現時点で未使用の物理ページを獲得し、該
物理ページにそれまでの最新ページテーブルの内容をコ
ピーして、これを、上記論理ページ用の最新ページテー
ブルとして、またそれまでの最新ページテーブルをシャ
ドウページテーブルとして前記カレント版ページテーブ
ル管理テーブル3に登録する。
【0058】また、カレント版ページテーブル2におけ
る各論理ページに対応するシャドウ物理ページの生成も
第1の更新手段7によってなされる。すなわち、該第1
の更新手段7は、上記処理に続いて、上記新たに獲得し
た物理ページを前記空き物理ページ管理手段6に使用中
として設定した後、該カレント版ページテーブル管理テ
ーブル3の管理情報に基づきカレント版ページテーブル
2内の上記論理ページに対応する物理ページの位置情報
を調べ、該位置情報により上記論理ページに対応するシ
ャドウ物理ページが存在しない場合には、前記空き物理
ページ管理手段6の管理情報を参照して、前記データベ
ース記憶手段1から現時点で未使用の物理ページを獲得
し、該物理ページを上記論理ページの最新物理ページと
して上記カレント版ページテーブル2に登録する。
【0059】このとき、第1の更新手段7は、それまで
最新物理ページ用の位置情報と共に、旧最新物理ページ
を指していたシャドウ物理ページ用の位置情報について
は変更しない。これにより、該シャドウ物理ページ用の
位置情報は、シャドウ物理ページを指すようになる。す
なわち、該旧物理ページがシャドウ物理ページとなる。
【0060】また、チェックポイントの取得は、チェッ
クポイント処理手段10によってなされる。すなわち、
チェックポイント処理手段10は、上述したようにカレ
ント版ページテーブル管理テーブル3の内容を変更した
後、この変更後の内容を前記2次記憶上のバックアップ
版ページテーブル管理テーブル5に反映させると共に、
前記主記憶上のカレント版ページテーブル2の内容を、
前記2次記憶上のバックアップ版ページテーブル4に反
映させる。
【0061】すなわち、このチェックポイント処理にお
いては、カレント版ページテーブル管理テーブル3の位
置情報のみを変更し、カレント版ページテーブル2の位
置情報は変更しない。そして、これにより、カレント版
ページテーブル管理テーブル3はカレント版ページテー
ブル2内の最新ページテーブルのみへの位置情報を有す
る。一方、カレント版ページテーブル2は、前回のチェ
ックポイント以後にデータの更新がなされた論理ページ
についてはシャドウ物理ページと最新物理ページの両方
への位置情報を有する。そして、この両テーブル2,3
の内容がそれぞれ2次記憶上のバックアップ版テーブル
4,5へ反映される。
【0062】このように、本発明においては、チェック
ポイント時においてシャドウページの削除は行わないの
で、その時点でのカレント版ページテーブル2の内容を
2次記憶上のバックアップ版ページテーブル4にバック
アップする。
【0063】したがって、チェックポイントの取得時
に、実行中のトランザクションがあってもよい。換言す
るならば、トランザクション実行中においてチェックポ
イントの取得が可能である。また、位置情報の変更は、
カレント版ページテーブル2に比べてその情報量が格段
に少ないカレント版ページテーブル管理テーブル3に対
して行えばよいので、チェックポイント処理を高速に行
うことができる。
【0064】また、カレント版ページテーブル管理テー
ブル3とカレント版ページテーブル2を請求項7記載の
ような構成とした場合、カレント版ページテーブル管理
テーブルのシャドウページテーブルと最新ページテーブ
ルを示す位置情報のビット量を各論理ページに対して1
ビット構成にすることも可能であり、チェックポイント
処理を著しく高速化できる。
【0065】次に、請求項15乃至17記載の発明にお
いては、上記作用に加え、ログ取得手段12が、各トラ
ンザクションの完了時に該トランザクションのログ情報
を2次記憶上に作成されたログファイル11に記録す
る。
【0066】これにより、後述するように、チェックポ
イント時に実行中であったトランザクションをシステム
障害発生時に再実行させることが可能になる。さらに、
請求項18記載の発明においては、上述した全ての作用
に加え、システム障害発生時に以下のような作用を行
う。
【0067】すなわち、システム障害が発生すると、第
1の制御手段21は、システム障害が発生したとき、前
記2次記憶からバックアップ版ページテーブル管理テー
ブル5を読み出し、該バックアップ版ページテーブル管
理テーブル5の内容をカレント版ページテーブル管理テ
ーブル3に反映させる。
【0068】続いて、第2の制御手段22は、前記2次
記憶からバックアップ版ページテーブル4を読み出し、
該バックアップ版ページテーブル4の内容を対応する物
理ページがシャドウ物理ページと最新物理の両方を指し
ている論理ページの位置情報については、これを該シャ
ドウ物理ページのみを指すように変更し、この変更によ
り得られたページテーブルの内容を前記カレント版ペー
ジテーブル2に反映させる。
【0069】さらに、続いて、第3の制御手段23は、
上記第1の制御手段21によって作成されたカレント版
ページテーブル管理テーブル3と、該第2の制御手段2
2によって作成されたカレント版ページテーブル2と、
前記ログファイル11に格納されているログ情報とを基
に、チェックポイント時に実行中であり、かつ、上記シ
ステム障害発生前に完了していたトランザクション及び
該チェックポイント以後に実行され、かつ、上記システ
ム障害発生前に完了していたトランザクションを再実行
させて、それらのトランザクションが完了した状態にデ
ータベース記憶手段1内のデータベースを復旧させる。
【0070】このように、この発明においては、バック
アップ版ページテーブル4において、ある論理ページに
対応する物理ページの位置情報としてシャドウ物理ペー
ジと最新物理ページの両方が存在する場合、該位置情報
をシャドウ物理ページの方に統一させる。このような論
理ページは、今までの説明から明らかなように、チェッ
クポイントに実行中であったトランザクションによって
該チェックポイント時までに更新が行われた論理ページ
である。したがって、上記処理によて、データベースの
状態は、いったん上記のようなトランザクションが実行
されなかった時点に戻る。そして、次に、該トランザク
ションの内、上記システム障害発生時以前に完了してい
たトランザクションについては、ログファイル11内に
記録されていた該トランザクションのログ情報を基に、
再実行(redo) が行われ、該トランザクションの実行結
果が反映されたデータベースが復旧される。また、該ト
ランザクション以後に実行され該システム障害発生時以
前に完了していたトランザクションについて、ログファ
イル11内に記録されたそられのログ情報を基に実行さ
れるので、データベースはシステム障害発生以前の状態
に回復させられる。また、上述したように、チェックポ
イントは、トランザクション実行中においても取得でき
るので、チェックポイント間隔を適切に設定することに
より、上記データベースの回復処理に使用されるログ量
を低減でき、該回復処理を高速に行うことが可能にな
る。
【0071】
【実施例】以下、図面を参照しながら本発明の実施例を
説明する。図2は、本発明の一実施例のデータベースシ
ステムのハードウェア構成図である。
【0072】同図において、CPU/メモリ30は、例
えばマイクロプロセッサ等から成る不図示のCPU(中
央演算処理装置)と該CPUと不図示のローカルバスに
より接続された主記憶等を含むアクセス速度が高速なR
AM(ランダム・アクセス・メモリ)等から成るメモリ
30a等が実装されたCPUボードである。
【0073】このCPU/メモリ30は、システムバス
等を介して磁気ディスクや光磁気ディスク等の大容量の
DASD(直接アクセス記憶装置)から成る2次記憶4
0に接続されている。
【0074】CPUは、メモリ30aの主記憶空間上に
ロードされたDBMS(データベース管理システム)等
の実行により、本システムにおけるデータベースの運用
・管理を行う。
【0075】また、メモリ30aには、カレント版の論
理ページ管理ブロック302、カレント版の論理ページ
ブロック304、物理ページ306、物理ページ空き管
理マップ308及びトランザクションログ格納域310
が設けられている。
【0076】ここで、図3を参照しながら、カレント版
論理ページ管理ブロック302、カレント版論理ページ
ブロック304、及び物理ページの内部形式並びにその
機能について説明する。
【0077】カレント版論理ページブロック(カレント
版ページテーブル)304は、データベースの論理空間
内での論理ページと2次記憶40上に構築されるデータ
ベースの物理空間内での物理ページとの対応関係の最新
情報をポインタにより記憶しているページテーブルであ
り、メモリ30a上において複数のページフレーム(ブ
ロック)3041から構築される。各ページフレーム3
041は、複数の論理ページについて、それら各論理ペ
ージに対応する新・旧2つの物理ページへのポインタを
備えている。旧ポインタは、当該論理ページに対応する
データ更新が正常に終了した最新の物理ページ(スロッ
ト)を指すポインタである。また、新ポインタは当該論
理ページが現在データ更新中であれば、その論理ページ
に対して新しく割り当てられた現在データ更新作業中の
物理ページを指し、一方当該論理ページが現在データ更
新中でなければ、その論理ページの最新のデータが格納
されている物理ページを指す。したがって、当該論理ペ
ージが現在データ更新中のときには、旧ポインタはシャ
ドウページを指すことになる。そして、該データ更新が
正常終了した時点で、新・旧のポインタは共に同一の最
新物理ページを指すように設定される。このポインタ
は、例えば2バイト長である。
【0078】尚、各ページフレーム3041は、2次記
憶40とのブロック転送単位に等しいデータ長に設定さ
れている。次に、カレント版論理ページ管理ブロック3
02(カレント版ページテーブル管理テーブル)の構成
を図4(a) に示す。
【0079】同図に示すように、このブロック302
は、本データベースにおける全ての論理ページ(0〜n
i−1;n,iは任意の自然数)について、上述した論
理ページブロック304内の対応するページフレーム3
041への新・旧2つのポインタを有している。
【0080】これは、本実施例の特徴であるが、ある論
理ページに対してデータ更新要求が発生すると、その都
度、その論理ページに対応する物理ページへのポインタ
情報が格納される新たなページフレーム3041が論理
ページブロック304上に確保される。そして、この新
ページフレーム3041を指すアドレス情報が新ページ
テーブルポインタにセットされる。この新ページテーブ
ルポインタの旧ページテーブルポインタへの反映は、後
述するようにチェックポイント時になされる。したがっ
て、連続する2つのチェックポイント間において、デー
タの更新があった論理ページ(実際には、同一のページ
フレーム3041に新・旧ポインタが格納されている他
の論理ページについてデータ更新があった場合において
も)の場合、論理ページ管理ブロック302内の当該新
・旧2つのページテーブルポインタは異なったものとな
る。そして、チェックポイント時においてこれら2つの
ポインタは一致させられる。これらのポインタは、例え
ば4バイト長である。
【0081】次に、カレント版物理ページ空き管理マッ
プ308の構成を図5に示す。このマップ308は、2
次記憶40上に配置された全ての物理ページについて、
現在、データ格納域として使用されているか否かの状況
を示す新・旧2つのフラグを有している。これらのフラ
グには、“空き”または“使用中”のいずれかを示す値
が設定される。すなわち、有効データが格納されていれ
ば“使用中”のフラグが未使用または無効データが格納
されていれば“空き”のフラグがセットされる。新フラ
グは、物理ページの最新の使用状況が反映されたものと
なっており、1つのトランザクションが終了するときに
新フラグの内容が旧フラグに反映される。すなわち、あ
るトランザクションが終了した時点で、新・旧2つのフ
ラグの内容は一致する。また、あるトランザクション実
行時において、ある論理ページに対応するデータ更新を
行う際、新たな物理ページを獲得する必要があるが、こ
れは新フラグを参照して行う。すなわち、新フラグと旧
フラグが共に“空き”に設定されている物理ページの中
から新たな物理ページを獲得する。すなわち、新フラグ
と旧フラグが共に“使用中”になっている場合、旧フラ
グはシャドウページを指すフラグとして機能する。
【0082】次に、トランザクションログ格納域310
の構成を図6に示す。この領域310には、各トランザ
クションで行われたデータベース更新操作に係わる情報
であるページ更新テーブル・ジャーナル3101が時系
列順に格納される。ページ更新テーブル・ジャーナル3
101は、同図に示すように「操作種別」、「論理ペー
ジ」、「旧物理ページ」、及び「新物理ページ」等の情
報を有する。上記各情報は以下に示すような意味を持っ
ている。
【0083】操作種別 ;トランザクションにおい
て、ある論理ページに対してなされた「更新」、「作
成」、「削除」等の各種データベース操作を示す。
【0084】論理ページ ;上記各種操作が行われた論
理ページを示す。 旧物理ページ;更新前の古いイメージが格納されている
物理ページを示す。 新物理ページ;更新後の新しいイメージが格納されてい
る物理ページを示す。
【0085】尚、1トランザクション内での上記ページ
更新テーブル・ジャーナル3101の履歴であるトラン
ザクションログはトランザクション中に主記憶上に存在
していればよく、主記憶の節約のために、通常は2次記
憶40上に格納するようにしてもよい。
【0086】また物理ページ格納域(データベースバッ
ファ)306は、各種データベース操作において、2次
記憶40から読み出される該操作対象の物理ページがロ
ードされる領域であり、この領域306においてデータ
の更新処理がなされる。この領域306には、予め定め
れらた所定量の物理ページを格納可能である。そして、
例えばLRU(Least Recentry Used)等のアルゴリズム
を用いて、2次記憶40との間でページイン/ページア
ウト等が行われる。
【0087】ところで、メモリ30aの記憶容量には限
りがあるため、システムによってはカレント版ページ管
理ブロック302、カレント版論理ページブロック30
4、及び物理ページの一部を2次記憶40との間でスワ
ップイン/スワップアウトする必要がある。
【0088】2次記憶40上には、上記図2に示すよう
に一般にスロットと呼ばれる固定長のブロックである物
理ページ4061が複数配置された物理ページブロック
(データベース記憶手段)406が設けられる。この物
理ページブロック406には、データベースの実データ
が格納される。
【0089】また、2次記憶40上には、論理ページ管
理ブロックと論理ページブロックの格納域がカレント版
とバックアップ版の2つ用意されている。これらは、同
図において論理ページ管理ブロック(バックアップ版ペ
ージテーブル管理テーブル)402、論理ページブロッ
ク(バックアップ版ページテーブル)404として示さ
れている。
【0090】カレント版論理ページ管理ブロック304
は、そのデータサイズは小さいので、処理の高速化のた
めに主記憶上に常駐させておく。そして、通常の処理中
には2次記憶40上に書き出す必要はない。しかしなが
ら、チェックポイント取得の際、カレント版論理ページ
管理ブロック304の内容をバックアップ版論理ページ
管理ブロック402Bにコピーする必要がある。このと
き、直接バックアップ版論理ページ管理ブロック402
Bに書き込まず、まずカレント版論理ページ管理ブロッ
ク402Cの方に書き込む。そして、この書き込みが終
了した後に、バックアップ版論理ページ管理ブロック4
02Bの方にも書き込みを行う。これは、チェックポイ
ント作業中に電源断によるシステム障害が発生した場
合、メモリ30a上のカレント版論理ページ管理ブロッ
ク304の内容が消失し、また2次記憶40上のバック
アップ版論理ページ管理ブロック402Bの内容が不完
全なものとなってしまうことを防止するためである。
【0091】また、同様の理由により、2次記憶40上
においては論理ページブロック404についても、バッ
クアップ版とカレント版の両方を持つ。そして、チェッ
クポイント時において、メモリ30a上にあるカレント
版論理ページブロック304の内容がバックアップ版論
理ページブロック404にコピーされる。尚、カレント
版論理ページブロック304のデータサイズが大きく、
その全てをメモリ30a上にロードすることができない
場合には、2次記憶40上のカレント版論理ページブロ
ック404をそのスワッピング(Swapping) 領域として
利用するようにしてもよい。
【0092】また、2次記憶40上には、障害復旧用の
ためのシステムログ情報が格納されるシステムログファ
イル412が作成される。このファイル412の内容を
図7に示す。
【0093】同図には、ある1つのトランザクションに
ついてのログ情報の形式が示されている。該ログ情報に
おいて、まず、トランザクションのログの開始を示すフ
ラグとトランザクションの識別子から成る情報4122
が格納される。次に、上述したメモリ30a上のトラン
ザクションログ格納域310に書き込まれる前述したト
ランザクションログ(図6参照)と同一の内容の情報
(トランザクションログ)4124が格納される。そし
て、最後に、トランザクションが正常終了したことを示
すトランザクションログ終了フラグ4126が格納され
る。システムログファイル412内においては、このよ
うな3種類の情報4122,4124,4126が、シ
ステム内で正常に実行終了した全てのトランザクション
個々について、システムログファイル412内にその完
了順に格納されていく。
【0094】次に、上記構成のシステム動作を説明す
る。まず、図8のフローチャートを参照しながら、シス
テム全体での処理について説明する。
【0095】前回のシステム終了時にチェックポイント
の取得が行われており、このチェックポイントが取られ
た状態(S1)から、システムが立ち上がる(S2)。
そして、ユーザが端末装置等から回線を介してログ・イ
ンを行うことにより、該ユーザはセッションを開始でき
るようになる(S2)。尚、本システムにおいては、複
数のユーザが同時にセッションを開設可能である。
【0096】そして、該セッションの開設を行ったユー
ザから、トランザクションの実行要求が送られてくる毎
に、DBMSは該トランザクションによって要求される
ページ操作処理をデータベースに施す(S4〜S5)。
【0097】該ページ操作処理S4中において、システ
ム障害が発生する場合がある。このため、DBMSは、
該システム障害の発生の有無に応じてトランザクション
をコミットするかまたはアボウトするかを判定する(S
6)。
【0098】そして、該システム障害が起こらず、該ト
ランザクションで実行中のプロセスからコミット命令が
発行されたとき、DBMSは該トランザクションをコミ
ット終了させるべきであると判別し(S6,YES)、
トランザクションコミット終了処理を行う(S6)。
【0099】このコミット終了処理S6においては、以
下のような処理を行う。 物理ページ格納域306に格納されているまだ2次
記憶40上の物理ページブロック406に書き出されて
いない更新された物理ページを、該物理ページ406に
書き出す。尚、この書き込みは、後述するように物理ペ
ージ格納域306があふれたりした場合や、チェックポ
イント時等に行うようにしてもよい。これにより、トラ
ンザクションのコミット処理の応答性が高まる。
【0100】該トランザクション内で更新した論理ペー
ジについて、メモリ30aのカレント版論理ページブロ
ック304内の対応する旧ポインタを新ポインタの内容
に合わせる。すなわち、旧ポインタをシャドウページか
ら最新データの格納された新物理ページを指すように変
更する。また、これにより旧ポインタの指していたシャ
ドウページが未使用となるように、物理ページ空き管理
マップ308を書き換える。 上記ページ操作処理S5中にトランザクションログ
格納域310上に書き出されていた当該トランザクショ
ンログ4124を、2次記憶40上のシステムログファ
イル412に出力する。このとき、図7に示すように上
記トランザクションログ4124の前後に、それぞれ、
トランザクションログ開始フラグ・トランザクション識
別子4122とトランザクションログ終了フラグ412
6を書き込む(システムログ出力)。そして、このシス
テムログのシステムログファイル412への書き込みが
終了した時点が、該トランザクションのコミットポイン
トとなる。
【0101】,の順に処理をした場合、トランザク
ションをコミットしていない状態で、未使用になるペー
ジがでてくるので、コミットする前に他のトランザクシ
ョンに使用される可能性がでてくる。この場合、順序と
して,の順で実行される必要がある。
【0102】一方、DBMSは上記ページ操作処理S5
の実行中においてシステム障害が発生したときは、上記
トランザクションをアボウト処理すべきと判別して(S
6,NO)、トランザクションアボウト終了処理S8を
行う。
【0103】このアボウト終了処理S8においては、上
記ページ操作処理S5でデータの更新がなされた論理ペ
ージについて、メモリ30a上のカレント版論理ページ
ブロック304内の対応する新ポインタの内容を旧ポイ
ンタに合わせる。これにより、ページ操作は無効とな
り、シャドウページが再び最新の物理ページとなる。ま
た、新ポインタが指していた物理ページが“未使用”と
なるように物理ページ空き管理マップ308を書き換え
る。
【0104】そして、上記ステップS7またはS8の処
理終了後、上記ステップS4〜S8の処理を続行すべき
か否かをユーザからログ・オフのコマンドが入力された
か否かにより判別し(S9)、該コマンドが入力されて
いなければ、再びステップS4に戻って、次のトランザ
クションの入力待ちとなる。
【0105】他方、ユーザからログ・オフのコマンドが
入力されると、該ユーザに対してセッションを終了させ
る所定の処理を行う(S10)。そして、システム管理
者により、システムを終了させる所定の操作が行われる
ことにより、システムは止められる。なお、このとき、
システムを停止する前にチェックポイントの取得を行う
(S11)。
【0106】次に、上記ページ操作処理S5の詳細を説
明する。この処理S5の主なものとしては、ページ参照
処理とページ更新処理がある。まず、図9のフローチャ
ートを参照しながらページ参照処理の動作を説明する。
【0107】アプリケーション・プログラムからある論
理ページのデータ参照要求があった場合、DBMSは、
まず、メモリ30a上のカレント版論理ページ管理ブロ
ック302の該論理ページに対応する新ページテーブル
ポインタを参照する(S21)。
【0108】そして、次に、まず、カレント版論理ペー
ジブロック304内の該新ページテーブルポインタの指
すページフレーム3041を参照する(S22)。この
ページフレーム3041内での上記指定論理ページに対
応する新ポインタから該論理ページに対応する物理ペー
ジを求める(S23)。
【0109】さらに、続いて、2次記憶40の物理ペー
ジブロック406から該物理ページを読み込み、これを
メモリ30a上の物理ページ格納域306へロードす
る。そして、この物理ページを上記アプリケーション・
プログラムへ返す(S24)。
【0110】このページ参照処理においては、指定され
た論理ページの内容の参照が行われるのであり、該論理
ページに対応する物理ページのデータ内容は変更されな
いのでカレント版論理ページ管理ブロック302とカレ
ント版論理ページブロック304のいずれにおいてもそ
の内容(全ての新・旧ポインタの値)は変化しない。
【0111】続いて、図10のフローチャートを参照し
ながら、ある論理ページのデータ更新を行うページ更新
処理の動作を詳細に説明する。この処理において、ま
ず、カレント版論理ページ管理ブロック302の指定論
理ページに対応する新・旧2つのページテーブルポイン
タを比較・参照し(S31)、それら2つのポインタが
同一か否か判別する(S32)。
【0112】そして、両ポインタが一致していれば(S
32,YES)、物理ページ空き管理マップ308を参
照し、“未使用”の物理ページの中から新たな物理ペー
ジを確保する。そして、この物理ページにカレント版論
理ページ管理ブロック302の新ポインタの指すカレン
ト版論理ページブロック304内のブロック(ページフ
レーム3041)を登録(コピー)する(S33)。
【0113】後述するように、カレント版論理ページ管
理ブロック302の全ての新・旧ポインタはチェックポ
イント取得時に同一の値にセットされる(新ポインタの
内容が旧ポインタにコピーされる)。したがって、上記
ステップS32において、上記両ポインタが一致してい
るということは、チェックポイント後に、まだその論理
ページ(正確には、対応する物理ページへの新・旧ポイ
ンタが同一のページフレーム3041に格納されている
論理ページ群内の全ての論理ページ)がまだ一度も更新
されていないことを意味する。本実施例においては、こ
のような場合、すなわちチェックポイント後の最初のペ
ージ更新要求発生をトリガとして、該指定論理ページに
対応する物理ページを管理する新・旧ポインタが設定さ
れる新たなページフレーム3041を作成する。そし
て、この時点で従来の当該ページフレーム3041はシ
ャドウページとして管理される。
【0114】そして、この新たなページフレーム304
1の該指定論理ページに対応する新・旧ポインタを比較
・参照する(S34)。一方、上記ステップS32で上
記新・旧ページテーブルポインタの2つの値が一致しな
ければ(S32,NO)、該新ページテーブルポインタ
の指すカレント版論理ページブロック304のページフ
レーム3041について、上記ステップS34の処理を
行う。
【0115】上記の説明から明らかなように、上記カレ
ント版論理ページ管理ブロック302内において、上記
新・旧2つのページテーブルポインタが一致していない
ということは、チェックポイント後に既に上記指定論理
ページ(正確には上記論理ページ群に属する少なくとも
1つの論理ページ)に対してデータの更新が行われたこ
とを意味する。したがって、この場合、上記指定論理ペ
ージに対応する新たなページフレーム3041(304
NEW)に対するシャドウページの役割を持つ旧ペ
ージフレーム3041(3041 OLD)が既に存在
している。このため、この場合には、上記ステップS3
3のシャドウページ作成処理は既に行われた後なので、
直ちにステップS34の処理に移行する。
【0116】上記ステップS34に続き、最新のページ
フレーム3041 NEW内の上記指定論理ページに対
応する新・旧2つのポインタが一致するか否か判別する
(S35)。
【0117】この判別は、以下の様な意味を持ってい
る。すなわち、上述したように、上記ステップS33に
おいて作成される最新のページフレーム3041 NE
Wの最初の内容はシャドウページである旧ページフレー
ム3041 OLDの内容と全く同一である(コピーで
ある)。したがって、本トランザクションにおいて上記
指定論理ページがまだ一度も更新されていない場合に
は、最新ページフレーム3041 NEW内におけるそ
の論理ページに対応する新・旧ポインタは一致したまま
となっている。本実施例においては、ページテーブルす
なわちカレント版論理ページブロック304内の各ペー
ジフレーム3041についてもシャドウページ方式によ
り管理する。このため、上記ステップS35において、
上記指定論理ページに対応する物理ページを指す新・旧
2つのポインタが一致していれば、該旧ポインタの指す
物理ページ(旧物理ページ)をシャドウページとするた
めに物理ページ空き管理マップ308を参照して2次記
憶40上の物理ページブロック406から“未使用”の
物理ページ(新物理ページ)を確保して、この新物理ペ
ージのアドレス情報を最新ページフレーム3041
EW内の当該新ポインタにセットする。また、このと
き、前述した図 に示す形式のトランザクションログ情
報を作成し、メモリ30a上のトランザクションログ格
納域310に書き込む(S36)。
【0118】上記ステップS35またはS36の終了
後、当該新ページフレーム3041 NEW内の当該新ポ
インタを参照し、該新ポインタの指す2次記憶40の物
理ページブロック406上の物理ページ(最新物理ペー
ジ)を求める(S37)。
【0119】そして、メモリ30a上の物理ページ格納
域306に2次記憶40上の上記最新物理ページを該物
理ページに更新後の内容を書き込む。また、物理ページ
格納域306内があふれてしまったり、それに格納され
ている更新物理ページの量がある程度にまでたまった時
は、更新物理ページを2次記憶40上の物理ページブロ
ック406に書き出す(S38)。
【0120】図11は、上記図10のフローチャートに
示すページ更新処理を説明する模式図である。同図は、
論理ページnのデータ更新が行われる場合の例を示して
いる。
【0121】チェックポイント状態においては、カレン
ト版論理ページ管理ブロック302内の論理ページn用
の新・旧ポインタが格納されたページフレーム3041
n を指す新・旧のページテーブルポインタ302
n は共に同一であり、該ページフレーム3041
n すなわち物理ページiを指している。また、該ページ
フレーム3041 n において、論理ページn用の新
・旧ポインタは共に物理ページmを指している(同図
(a) ,(b) 参照)。
【0122】そして、その後該論理ページnがあるトラ
ンザクションによって更新されると、論理ページn用の
新・旧ポインタを記憶する新たなページフレーム304
n (3041 n UPDATE)が未使用であ
った物理ページjに登録される。そして、この物理ペー
ジjが上記ポインタ302 n の新ポインタの方に設
定される。旧ポインタの方は変更されない(同図(d) ,
(e) 参照)。これにより、物理ページiはシャドウペー
ジテーブルとなる。すなわち、物理ページiに登録され
た論理ページn用の旧ページテーブルはシャドウページ
テーブル3041 n SHADOWとなる。そし
て、これ以降は、上記ポインタ302 n の新ポインタ
とリンクがとられた物理ページjに登録されたページフ
レーム3041 n CURRENTが、論理ページ
n用のページフレーム3041として機能する。
【0123】上記カレントのページフレーム3041
n CURRENTにおいて、論理ページn用の旧ポ
インタは、該論理ページがあるトランザクションにより
最初に更新された後は、同図において破線で示すように
更新前の物理ページmを指している。しかし、それ以後
複数のトランザクションにより更新される毎に、それま
で新ポインタの指していた物理ページが今度はシャドウ
ページとして管理されるようになるため、例えば同図
(e) ,(f) に示すように、複数のトランザクションによ
り論理ページnが更新されると論理ページnのシャドウ
ページ、最新物理ページのそれぞれを指すカレントペー
ジフレーム3041 n CURRENTの新・旧ポ
インタは、それぞれ物理ページn,pを指すようにな
る。
【0124】このように、本実施例の特徴は、実際のデ
ータが格納される物理ページのみならず、それらの物理
ページと当該論理ページとのマッピング情報を有するペ
ージテーブルである論理ページブロック304もシャド
ウページ方式により管理するところにある。このため
に、該論理ページ管理ブロック304を管理する上位要
素として論理ページ管理ブロック302を設けている。
そして、論理ページのアクセスは、まず、この論理ペー
ジ管理ブロック302に対して行われる。
【0125】尚、特にフローチャートは示していない
が、論理ページの新規作成や、論理ページの削除が行わ
れた場合にも、上記更新の場合と同様な操作がメモリ3
0a上のカレント版論理ページ管理ブロック302、カ
レント版論理ページブロック304、及び物理ページ格
納域306上等で行われ、それらのトランザクションロ
グ情報がトランザクション格納域310に書き込まれ
る。
【0126】次に、本実施例におけるチェックポイント
時のデータベースに係わる動作を図12のフローチャー
トを参照しながら説明する。このチェックポイント処理
は、トランザクション実行中でかつある論理ページを更
新中であるときにも実行可能である。すなわち、システ
ム運用中において、随時、いつでもチェックポイントを
取ることが可能である。
【0127】この処理において、まず、メモリ30a上
にあるカレント版論理ページブロック304の内容を前
述したような方法により、2次記憶40上のバックアッ
プ版論理ページブロック404Bにコピーする(S4
1)。
【0128】次に、メモリ30a上のカレント版論理ペ
ージ管理ブロック302の全ての旧ポインタの内容を新
ポインタの内容に一致させる処理を行い、該処理が全て
終了したならば、前述した方法により、このカレント版
論理ページ管理ブロック302の内容を2次記憶40上
のバックアップ版論理ページ管理ブロック402Bに反
映させる処理を行う。すなわち、この処理中に、システ
ム障害が発生しても障害復旧が可能となるように、ま
ず、カレント版の論理ページ管理ブロック402Cの方
にコピーした後、次にバックアップ版論理ページ管理ブ
ロック402Bにコピーする(S42)。
【0129】尚、上記ステップS41及びS42の処理
において、2次記憶40上の論理ページ管理ブロック4
02及び論理ページ管理ブロック404に対するカレン
ト版の内容のコピーは、更新のあったブロック(ページ
フレーム)についてのみ行うようにしてない。この場
合、各ブロック毎にチェックポイント後に更新が行われ
たか否かを示す更新フラグを設けるようにすればよい。
これにより、更新量を削減でき、チェックポイントの処
理時間を短縮できる。
【0130】上述したように、上記のチェックポイント
処理は、任意のトランザクションが実行中においても行
われる。したがって、チェックポイント時にまだコミッ
トがなされていないトランザクションがあった場合、該
トランザクションによって更新されている論理ページに
ついては、カレント版論理ページブロック304内の該
論理ページに対応する物理ページを指す当該新・旧ポイ
ンタは互いに別の物理ページを指している。すなわち、
前記図11(e) ,(f) に示すように旧ポインタはシャド
ウページ、新ポインタは最新物理ページを指している。
【0131】すなわち、チェックポイント時点において
は、例えば、図13に示すように複数のトランザクショ
ンTR1 ,TR2 ,TR3 ,TR4 が、まだ実行中の場
合がある。尚、同図においてtは時間軸を示し、該時間
軸tに対し垂直な破線で表現された横線5001がチェ
ックポイントを示している。
【0132】本実施例においては、チェックポイント5
001の時点で既に完了しているトランザクションTR
10,TR11等のトランザクションについては、従来と同
様にそのページ更新操作は有効とされる。したがって、
これらについては、次のチェックポイントまでにシステ
ム障害が発生しても何らの復旧作業も行う必要はない。
したがって、これらのトランザクションについては、シ
ステムログファイル412内に記録されたトランザクシ
ョンログ情報は不要となる。また、これは本実施例の特
徴であるが、次のチェックポイントまでの間にシステム
障害が発生した場合であっても、該システム障害発生前
に完了していたチェックポイント5001時点で実行中
であったトランザクションTR1 〜TR4 については、
システムログファイル412内に記録されたトランザク
ションログ情報を基に再実行を行い、その全ての処理を
有効にさせる。
【0133】これは、図14のフローチャートに示すリ
カバリ処理により実現される。次に、図14のフローチ
ャートを参照して、システム障害が発生した時にデータ
ベースを回復させるために行われる上記リカバリ処理の
動作を説明する。
【0134】この処理において、まず、2次記憶40上
の予め定められた位置に設けられたフラグを参照して、
リカバリ用の論理ページ管理ブロック402として、バ
ックアップ版402Bまたはカレント版402Cのいず
れを使用すべきかを判断する。上記フラグは、チェック
ポイント時にメモリ30a上のカレント版論理ページ管
理ブロック302の内容を上記バックアップ版論理ペー
ジ管理ブロック402に書き込みを行っている間立てら
れる。そして、その書き込み終了後、該フラグをリセッ
トする。
【0135】上述したように、カレント版論理ページ管
理ブロック302のコピーは、カレント版402C,バ
ックアップ版402Bの順に行われる。したがって、該
フラグが立っていなければ、バックアップ版論理ページ
管理ブロック402Bへの書き込みは正常終了している
ので、この管理ブロック402Bの方を選択する。一
方、該フラグが立っていれば、該バックアップ版402
Bへの書き出し中にシステムダウンが発生し、該バック
アップ版402Bの内容は破壊されている可能性がある
ので、カレント版論理ページ管理ブロック402Cの方
を選択する。そして、選択した論理ページ管理ブロック
の内容をメモリ30a上のカレント版論理ページ管理ブ
ロック304にコピーする(S51)。
【0136】これにより、メモリ30a上のカレント版
論理ページ管理ブロック304の内容はチェックポイン
ト時の状態に戻る。次に、2次記憶40上のバックアッ
プ版論理ページブロック404Bの内容全体を、メモリ
30a上のカレント版論理ページブロック304にコピ
ーし、該ブロック304の状態もチェックポイント時点
に戻す。これにより、メモリ30a上のカレント版論理
ページ管理ブロック302とカレント版論理ページブロ
ック304の双方がチェックポイント時点の状態に戻
り、両ブロック302,304間に正しくリンクが取ら
れる。続いて、該カレント版論理ページブロック304
内の全てのページマッピングテーブル3041について
新・旧のポインタが同一の物理ページを指しているか調
べ、違っていれば新ポインタの内容を旧ポインタの内容
に合わせる(以上、S52)。
【0137】尚、このチェックポイント時に、メモリ3
0aの物理ページ格納域306内に、まだ2次記憶40
上に書き出されていない更新物理ページが残っていない
か調べ、あればそれらを物理ページブロック406に書
き出すようにしてもよい。
【0138】これにより、図13に示すトランザクショ
ンTR1 ,TR2 ,TR3 ,TR4のようにチェックポ
イント5001の時点で実行中であったトランザクショ
ンは実行がなかったものとみなされる。このため、デー
タベースは、同図において、実線5003の前に完了し
たトランザクションまでの結果を反映したものとされ
る。また、上記チェックポイント処理により、同図の実
線5003より以前に完了しているトランザクションの
ログは不要となるので、システムログファイル412内
のそれらのログについては上記チェックポイント処理時
に無効化してもよい。
【0139】次に、2次記憶40上のシステムログファ
イル412に格納されているトランザクションログの情
報を基に、同図の実線5003以降に実行されたトラン
ザクションの内、システム障害発生以前に完了していた
全てのトランザクションについては再実行(redo)を行
い、これらのトランザクションによるデータベース操作
を有効なものとする(S53)。
【0140】ここで、上記リカバリ処理によるデータベ
ースの復旧動作を、図15を参照しながらより詳細に説
明する。同図において、破線601はチェックポイン
ト、破線605はシステム障害発生時点を示す。また、
TR11〜TR14、TR21〜TR24、TR31〜TR34、及
びTR41はトランザクションを示している。同図に示す
これらのトランザクションは、そのリカバリ操作の処理
内容により、次の5つのタイプI〜Vに分類される。 1)タイプIのトランザクション トランザクションTR11,TR31のように、チェックポ
イント601以前に完了していたトランザクション。
尚、トランザクションの完了は、システムログファイル
412内に当該トランザクションログ終了フラグが取得
されているか否かにより判断する。 2)タイプIIのトランザクション トランザクションTR21,TR32のように、チェックポ
イント601時点で実行状態にあり、かつシステム障害
発生時点605前に完了していたトランザクション。 3)タイプIII のトランザクション トランザクションTR12,TR13,TR22,TR23,T
33のように、チェックポイント601以後に実行さ
れ、かつシステム障害発生時点605前に完了していた
トランザクション。 4)タイプIVのトランザクション トランザクションTR14,TR24,TR34のように、チ
ェックポイント601以後に実行され、かつシステム障
害発生時点605で実行状態にあったトランザクショ
ン。 5)タイプVのトランザクション トランザクションTR41のようにチェックポイント60
1時点で実行状態にあり、かつシステム障害発生時点6
05でも実行状態にあったトランザクション。
【0141】次に、上記5つのタイプI〜Vのトランザ
クションの個々に対する障害復旧処理につてい述べる。 タイプIのトランザクション(TR11,TR31)に
よる処理は有効であり、チェックポイント601時に、
その処理結果は2次記憶40上のデータベースに反映さ
れている。したがって、何らの処理も行う必要はない。 タイプIIのトランザクション(TR21)について
は、前記図14のフローチャートのステップS51及び
ステップS52の処理により、一度不実行(undo)の状
態(図15の実線603の時点)に戻す。次に、システ
ムログファイル412から該トランザクションのトラン
ザクションログ情報4124を読み出し、それを基に再
実行(redo) を行う。これにより、タイプIIのトランザ
クションによる処理が有効となり、その結果がデータベ
ースに反映される。
【0142】尚、当該トランザクション情報4124の
検索は、システムログファイル412内から該当するト
ランザクションログ開始フラグ・トランザクション識別
子4122を見つけ出すことによって行う。 タイプIII のトランザクション(TR12,TR13
TR22,TR23,TR33)については、一度不実行(un
do) の状態に戻す(これは、上記ステップS51及びS
52の処理により、データベースの状態が図15の実線
602の時点まで戻ることに対応している)。次に、シ
ステムログファイル412から当該トランザクションロ
グ情報を読み出して、これを基に再実行を行う。これに
より、これらのトランザクションの処理は有効化され
る。 タイプIVのトランザクション(TR14,TR23,T
34)のトランザクションとタイプVのトランザクショ
ン(TR41)は実行中にシステム障害が発生したので、
コミット処理は行われておらず、その処理結果は2次記
憶40上のデータベースに反映されていない。したがっ
て、何らの処理も行わない。尚、これらのトランザクシ
ョンについては、システムログファイル412内にトラ
ンザクションログ終了フラグ4126が取得されていな
いので、該フラグ4126の有無により実行中にシステ
ム障害が発生したか否かを判断できる。
【0143】このように、本実施例においては、論理ペ
ージを物理ページに変換する機構であるページテーブル
である論理ページブロック304についても、論理ペー
ジ管理ブロック302を用いてシャドウページ方式によ
り管理するので、複数のトランザクションが実行中であ
るときにもチェックポイントを取得することができる。
また、この場合、旧ポインタを新ポインタに合わせる操
作は、ポインタ総数が論理ページブロック304(従来
のページテーブルに対応)に比べて著しく小さい論理ペ
ージ管理ブロック302に対してのみ行えばよいので、
チェックポイント処理を高速に行うことができる。
【0144】そして、システム障害発生時には、2次記
憶40上にバックアップされていた論理ぺージブロック
404内の新・旧ポインタを操作して、上記チェックポ
イント時において実行中であったトランザクションによ
ってデータ更新操作がなされていた物理ページを無効と
し、該ブロック404内の旧ポインタが指す物理ページ
(シャドウページ)を一時的に最新物理ページとする。
そして、システムログファイル412内に取得されてい
た該トランザクションのトランザクションログ情報41
24を用いて該一時的な最新物理ページに対し該トラン
ザクションの全てのデータベース操作を再実行させ、該
トランザクションを完了させる。したがって、本実施例
のチェックポイント取得方式によれば、複数のトランザ
クションが実行中のときでもチェックポイントを取得で
き、かつシステム障害が発生してもそれらのトランザク
ションが該障害発生時に既に完了していれば、それらの
トランザクションを有効なものとすることができる。こ
のため、システム障害発生時でのチェックポイント時か
らのログ量を少なくすることが可能となり、データベー
スの復旧処理時間を短くすることができる。
【0145】次に、論理ページ管理ブロック(302,
402)と論理ページブロック(304,404)の他
の構成例を図16に示す。この例では、まず、論理ペー
ジブロック(304,404)の各論理ページに対し
て、予め固定的に2つの物理ページ(ページフレーム3
041)を割り付けておく、そして、これらの物理ペー
ジ3041を各エントリ毎にグループ0、グループ1の
2つのグループに分けておく。すなわち、この場合、論
理ページブロック304は連続する物理ページ領域上に
配置される。このとき、論理ページ管理ブロック302
の新・旧ポインタは、対応するエントリのグループ0ま
たはグループ1の物理ページのいずれかを指すようにす
る。このため、この新・旧ポインタは1ビットで実現で
きる。尚、この場合、新・旧ポインタはフラグとして機
能する。
【0146】このような構成とした場合、シャドウペー
ジの取得/解放が1ビット操作で済むため、チェックポ
イント時及びチェックポイント後のページフレーム30
41におけるシャドウページの取得/解放を高速に行
え、チェックポイントの処理時間を短縮化できるという
利点がある。
【0147】また、論理ページ管理ブロック302と論
理ページブロック304の構成としては、上記以外に
も、論理ページと物理ページとの対応情報を記憶するデ
ィレクトリの形式をとってもよい。また、新ポインタと
旧ポインタをそれぞれ別々のページテーブルで管理する
ようにしてもよい。
【0148】尚、上記実施例では、2次記憶40上にお
いて、論理ページ管理ブロック402と論理ページブロ
ック404を二重化するようにしているが、特に二重化
しなくてもよい。また、2つのブロックを共にバックア
ップ用に共用するのではなく、バックアップ版として使
用するブロックを交互に使い分けるようにしてもよい。
また、2次記憶40として、フラッシュメモリやRAM
ディスク等のような不揮発性の半導体メモリを用いるよ
うにしてもよい。この場合、磁気ディスクや光磁気ディ
スクよりもアクセス速度が高速になるので、例えばクラ
イアント/サーバシステムなどで複数のクライアントを
サポートするOLTP(オンライン・トランザクション
処理;Online Transaction processing)の多いデータベ
ースに好適である。
【0149】
【発明の効果】以上、説明したように、請求項1乃至1
4記載の発明によれば、トランザクション実行中におい
てもチェックポイントを取得でき、しかも該処理を高速
に行うことができる。
【0150】また、請求項15乃至17記載の発明によ
れば、該チェックポイント時に実行中で、かつ、システ
ム障害発生以前に完了していたトランザクション及び該
チェックポイント以後に実行され、かつ、該システム障
害発生時点前に完了していたトランザクションを、該シ
ステム障害発生後に再実行させるために必要なログ情報
が得られる。
【0151】さらに、請求項18記載の発明によれば、
システム障害が発生した場合、該システム障害発生前の
状態にデータベースを復旧させる処理を高速に行うこと
ができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の一実施例のシステム構成を示すブロッ
ク図である。
【図3】論理ページ管理ブロック、論理ページブロッ
ク、及び物理ページブロックの構成並びにそれらのリン
ク関係を説明する図である。
【図4】論理ページ管理ブロックと論理ページブロック
の具体的な構成例を説明する図である。
【図5】物理ページ空き管理マップの構成を説明する図
である。
【図6】トランザクションログの内容を説明する図であ
る。
【図7】システムログファイル内に記録されるログの形
式を説明する図である。
【図8】システム全体の動作を説明するフローチャート
である。
【図9】ページ参照処理を説明するフローチャートであ
る。
【図10】ページ更新処理を説明するフローチャートで
ある。
【図11】ページ更新処理を説明する模式図である。
【図12】チェックポイント処理を説明するフローチャ
ートである。
【図13】チェックポイント処理を説明する図である。
【図14】リカバリ処理を説明するフローチャートであ
る。
【図15】リカバリ処理を詳細に説明する図である。
【図16】論理ページ管理ブロックと論理ページブロッ
クの他の構成例を説明する図である。
【図17】従来のシャドウページ方式を説明する図であ
る。
【符号の説明】
1 データベース記憶手段 2 カレント版ページテーブル 3 カレント版ページテーブル管理テーブル 4 バックアップ版ページテーブル 5 バックアップ版ページテーブル管理テーブル 6 空き物理ページ管理手段 7 第1の更新手段 8 第2の更新手段 9 第3の更新手段 10 チェックポイント処理手段 11 ログファイル 12 ログ取得手段 21 第1の制御手段 22 第2の制御手段 23 第3の制御手段

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 データが論理的な領域である複数の論理
    ページに分割されて格納されるデータベースの管理方式
    において、 該データベースの実体のデータを該論理ページに1対1
    に対応する物理ページに分割して記憶する2次記憶上の
    データベース記憶手段(1)と、 上記各論理ページについて、それらの最新の更新データ
    が格納されている最新物理ページと該更新前のデータが
    格納されているシャドウ物理ページの上記データベース
    記憶手段内での位置情報を管理するカレント版ページテ
    ーブル(2)と、 チェックポイント時にバックアップがとられた該カレン
    ト版ページテーブルをシャドウページテーブル、該チェ
    ックポイント後に更新された該カレント版ページテーブ
    ルを最新ページテーブルとして管理するカレント版ペー
    ジテーブル管理テーブル(3)と、 チェックポイント時点での上記カレント版ページテーブ
    ル(2)の内容を記憶する2次記憶上のバックアップ版
    ページテーブル(4)と、 データベース復旧時に用いられる、上記各論理ページに
    ついて、それらの回復すべきデータが格納されている前
    記2次記憶上の物理ページの位置情報が設定されている
    ページテーブルの内容を記憶する2次記憶上のバックア
    ップ版ページテーブル管理テーブル(5)と、 該2次記憶上の未使用の物理ページを管理する空き物理
    ページ管理手段(6)と、 トランザクションの実行によりある論理ページのデータ
    更新が行われる際、まず、前記カレント版ページテーブ
    ル管理テーブル(3)をアクセスし、該論理ページに対
    応する物理ページの位置情報を有するページテーブルを
    に対してシャドウページテーブルが存在しない場合に
    は、該空き物理ページ管理手段(6)の管理情報を参照
    して、現時点で未使用の物理ページを獲得し、該物理ペ
    ージにそれまでの最新ページテーブルの内容をコピーし
    て、これを上記論理ページ用の最新ページテーブルとし
    て、またそれまでの最新ページテーブルをシャドウペー
    ジテーブルとして前記カレント版ページテーブル管理テ
    ーブル(3)に登録すると共に、上記新たに獲得した物
    理ページを前記空き物理ページ管理手段(6)に使用中
    として設定し、次に該カレント版ページテーブル管理テ
    ーブル(3)の管理情報に基づきカレント版ページテー
    ブル(2)内の上記論理ページに対応する物理ページの
    位置情報を調べ、該位置情報により上記論理ページに対
    応するシャドウ物理ページが存在しない場合には、前記
    空き物理ページ管理手段(6)の管理情報を参照して、
    前記データベース記憶手段(1)から現時点で未使用の
    物理ページを獲得し、該物理ページを上記論理ページの
    最新物理ページとして上記カレント版ページテーブル
    (2)に登録する第1の更新手段(7)と、 該第1の更新手段(7)によって更新された後のカレン
    ト版ページテーブル(2)を参照して、該カレント版ペ
    ージテーブル(2)に登録されている上記データ更新す
    べき論理ページに対応する最新物理ページに該論理ペー
    ジの更新後の内容を書き出し、その後該カレント版ペー
    ジテーブル(2)の上記論理ページに対応するシャドウ
    ページを指す位置情報を上記最新物理ページを指すよう
    に変更する第2の更新手段(8)と、 前記空き物理ページ管理手段(6)に該シャドウページ
    を未使用として設定する第3の更新手段(9)と、 前記主記憶上のカレント版ページテーブル管理テーブル
    (3)の内容を現在の最新ページテーブルのみを有効と
    するように変更し、この変更後の内容を前記2次記憶上
    のバックアップ版ページテーブル管理テーブル(5)に
    反映させると共に、前記主記憶上のカレント版ページテ
    ーブル(2)の内容を、前記2次記憶上のバックアップ
    版ページテーブル(4)に反映させるチェックポイント
    処理手段(10)と、 を有することを特徴とするデータベース管理方式。
  2. 【請求項2】 前記カレント版ページテーブル管理テー
    ブル(3)は、 シャドウページテーブルを指す第1のポインタと、 最新ページテーブルを指す第2のポインタを、 備えることを特徴とする請求項1記載のデータベース管
    理方式。
  3. 【請求項3】 前記シャドウページテーブルと前記最新
    ページテーブルは、複数の物理ページから成り、前記第
    1のポインタと前記第2のポインタは当該物理ページを
    指すことを特徴とする請求項2記載のデータベース管理
    方式。
  4. 【請求項4】 前記カレント版ページテーブル管理テー
    ブル(3)は、前記第1のポインタと前記第2のポイン
    タを、それぞれ個別のテーブルにより管理することを特
    徴とする請求項3記載のデータベース管理方式。
  5. 【請求項5】 前記カレント版ページテーブル(2)
    は、各論理ページについて、シャドウ物理ページを指す
    第1のポインタと最新物理ページを指す第2のポインタ
    を有することを特徴とする請求項1記載のデータベース
    管理方式。
  6. 【請求項6】 前記カレント版ページテーブル(2)
    は、前記第1のポインタと前記第2のポインタを、それ
    ぞれ個別のテーブルにより管理することを特徴とする請
    求項5記載のデータベース管理方式。
  7. 【請求項7】 前記カレント版ページテーブル(2)の
    各論理ページに対して、前記2次記憶上に予め2つの物
    理ページを割り付けておき、該2つの物理ページを2つ
    のグループに分け、 前記カレント版ページテーブル管理テーブル(3)は、
    上記カレント版ページテーブルの各論理ページに対応す
    る2つの物理ページのそれぞれに固定的に割り当てられ
    た2つのフラグを有し、該2つのフラグはそれぞれ対応
    する物理ページが、現在、シャドウページテーブルまた
    は最新ページテーブルのいずれに属するかを示す値に設
    定される、 ことを特徴とする請求項1記載のデータベース管理方
    式。
  8. 【請求項8】 前記バックアップ版ページテーブル管理
    テーブル(5)は、前記2次記憶上に2つ用意され、 前記チェックポイント処理手段(10)は、上記2つの
    ページテーブル管理テーブルに対して前記カレント版ペ
    ージテーブル管理テーブル(3)の内容を反映させる、 ことを特徴とする請求項1記載のデータベース管理方
    式。
  9. 【請求項9】 前記2次記憶上に更新フラグを設け、 前記チェックポイント処理手段(10)は、後で書き込
    みを行うページテーブル管理テーブルに対して前記反映
    処理を行っている間、前記更新フラグをセットし、該反
    映処理終了後、前記更新フラグをリセットさせる、 ことを特徴とする請求項8記載のデータベース管理方
    式。
  10. 【請求項10】 前記バックアップ版ページテーブル管
    理テーブル(5)は、前記2次記憶上に2つ用意され、 前記チェックポイント処理手段(10)は、前記カレン
    ト版ページテーブル管理テーブル(3)の内容を反映さ
    せるバックアップ版ページテーブル管理テーブル(5)
    としてそれら2つのページテーブル管理テーブルを交互
    に使用する、 ことを特徴とする請求項1記載のデータベース管理方
    式。
  11. 【請求項11】 前記バックアップ版ページテーブル
    (4)は、前記2次記憶上に2つ用意され、 前記チェックポイント処理手段(10)は、上記2つの
    ページテーブルに対して前記カレント版ページテーブル
    (2)の内容を反映させる、 ことを特徴とする請求項1記載のデータベース管理方
    式。
  12. 【請求項12】 前記2次記憶上に更新フラグを設け、 前記チェックポイント処理手段(10)は、後で書き込
    みを行うページテーブルに対して前記反映処理を行って
    いる間前記更新フラグをセットし、該反映処理終了後、
    前記更新フラグをリセットさせる、 ことを特徴とする請求項11記載のデータベース管理方
    式。
  13. 【請求項13】 前記バックアップ版ページテーブル管
    理テーブル(5)は、 前記2次記憶上に2つ用意され、 前記チェックポイント処理手段(10)は、前記カレン
    ト版ページテーブル(2)の内容を反映させるバックア
    ップ版ページテーブル管理テーブル(5)としてそれら
    2つのページテーブルを交互に使用する、 ことを特徴とする請求項1記載のデータベース管理方
    式。
  14. 【請求項14】 前記チェックポイント処理手段(1
    0)は、前記カレント版ページテーブル管理テーブル
    (3)において削除したシャドウページテーブルを構成
    していた全ての物理ページについて、前記空き物理ペー
    ジ管理手段(6)内において未使用として管理されるよ
    うにその管理情報を変更させる、 ことを特徴とする請求項1記載のデータベース管理方
    式。
  15. 【請求項15】 各トランザクションのログ情報が記録
    される2次記憶上のログファイル(11)と、 各トランザクションの完了時に、該トランザクションの
    ログ情報を該ログファイル(11)に書き込むログ取得
    手段(12)を、 さらに有することを特徴とする請求項1,2,3,4,
    5,6,7,8,9,10,11,12,13または1
    4記載のデータベース管理方式。
  16. 【請求項16】 前記ログファイル(11)に格納され
    る各トランザクションのログ情報は、少なくともトラン
    ザクションの開始を示すフラグ、該トランザクションに
    一意的に割り当てられる識別子、該トランザクションの
    データベース操作の履歴情報、及び該トランザクション
    の終了を示すフラグを有する、 ことを特徴とする請求項15記載のデータベース管理方
    式。
  17. 【請求項17】 前記トランザクションのデータベース
    操作の履歴情報は、少なくともデータベース操作の種類
    を示す情報、該データベース操作が行われた論理ページ
    を示す情報、該論理ページの更新前のデータが格納され
    ている物理ページを示す情報、及び該論理ページの更新
    後のデータが格納されている物理ページを示す情報から
    成る1組の情報が、該トランザクションで実行された全
    てのデータベースの更新に係わる操作について時系列に
    記録されたものである、 ことを特徴とする請求項16記載のデータベース管理方
    式。
  18. 【請求項18】 システム障害が発生たとき、前記2次
    記憶からバックアップ版ページテーブル管理テーブル
    (5)を読み出し、該バックアップ版ページテーブル管
    理テーブル(5)の内容をカレント版ページテーブル管
    理テーブル(3)に反映させる第1の制御手段(21)
    と、 該システム障害が発生したとき、前記2次記憶からバッ
    クアップ版ページテーブル(4)を読み出し、該バック
    アップ版ページテーブル(4)の内容を、対応する物理
    ページがシャドウ物理ページと最新物理の両方を指して
    いる論理ページの位置情報については、これを該シャド
    ウ物理ページのみを指すように変更し、この変更により
    得られたページテーブルの内容を前記カレント版ページ
    テーブル(2)に反映させる第2の制御手段(22)
    と、 上記第1の制御手段(21)によって作成されたカレン
    ト版ページテーブル管理テーブル(3)と、該第2の制
    御手段(22)によって作成されたカレント版ページテ
    ーブル(2)と、前記ログファイル(11)に格納され
    ているログ情報とを基に、チェックポイント時に実行中
    でありかつ上記システム障害発生前に完了していたトラ
    ンザクション及び該チェックポイント以後に実行され、
    かつ、上記システム障害発生前に完了していたトランザ
    クションを再実行させて、それらのトランザクションが
    完了した状態に前記データベース記憶手段(1)内のデ
    ータベースを復旧させる第3の制御手段(23)と、 をさらに有することを特徴とする請求項15,16また
    は17記載のデータベース管理方式。
JP5320461A 1993-12-20 1993-12-20 データベース管理方式 Withdrawn JPH07175700A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5320461A JPH07175700A (ja) 1993-12-20 1993-12-20 データベース管理方式
US08/355,530 US5724581A (en) 1993-12-20 1994-12-14 Data base management system for recovering from an abnormal condition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5320461A JPH07175700A (ja) 1993-12-20 1993-12-20 データベース管理方式

Publications (1)

Publication Number Publication Date
JPH07175700A true JPH07175700A (ja) 1995-07-14

Family

ID=18121715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5320461A Withdrawn JPH07175700A (ja) 1993-12-20 1993-12-20 データベース管理方式

Country Status (2)

Country Link
US (1) US5724581A (ja)
JP (1) JPH07175700A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057031A (ja) * 1998-08-05 2000-02-25 Nippon Telegr & Teleph Corp <Ntt> データベースバックアップ処理方法
JP2000222140A (ja) * 1999-01-28 2000-08-11 Seiko Epson Corp プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体
JP2001195362A (ja) * 2000-01-06 2001-07-19 Nippon Telegr & Teleph Corp <Ntt> トランザクション処理装置と方法およびトランザクション処理機能付きicカード
JP2002149454A (ja) * 2000-08-30 2002-05-24 Internatl Business Mach Corp <Ibm> 論理ディスク上でのトランザクション・サポート
JP2006184979A (ja) * 2004-12-24 2006-07-13 Fujitsu Ltd ファイル情報の書き込み処理方法およびプログラム
WO2009069436A1 (ja) * 2007-11-28 2009-06-04 Kyoto Software Research, Inc. データ格納システムおよびデータ格納プログラム

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1011878A (ja) * 1996-06-28 1998-01-16 Toshiba Corp ディスク装置及び同装置におけるモニター値保存制御方法
US6088693A (en) * 1996-12-06 2000-07-11 International Business Machines Corporation Data management system for file and database management
US5996088A (en) * 1997-01-22 1999-11-30 Oracle Corporation High-speed database checkpointing through sequential I/O to disk
US5875291A (en) * 1997-04-11 1999-02-23 Tandem Computers Incorporated Method and apparatus for checking transactions in a computer system
US5907678A (en) * 1997-05-07 1999-05-25 International Business Machines Corporation Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request
US6061714A (en) * 1997-05-07 2000-05-09 International Business Machines Corporation Persistent cache synchronization and start up system
US6298401B1 (en) 1997-08-11 2001-10-02 Seagate Technology Llc Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media
WO1999009479A1 (en) * 1997-08-15 1999-02-25 Seagate Technology, Inc. Redundancy implementation on object oriented data storage device
CN1158604C (zh) 1997-08-28 2004-07-21 西加特技术有限责任公司 盘片驱动器以及将信息存储在驱动器盘片上的方法
JPH11134235A (ja) * 1997-10-31 1999-05-21 Hitachi Ltd 外部記憶装置故障時の回復支援方法
US6216175B1 (en) 1998-06-08 2001-04-10 Microsoft Corporation Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations
US6279041B1 (en) 1998-11-13 2001-08-21 International Business Machines Corporation Methods, systems and computer program products for differencing data communications using a message queue
FI991336A (fi) * 1999-06-10 2000-12-11 Nokia Networks Oy Menetelmä levyvarmennetun tietokannan elvyttämiseksi
US6622263B1 (en) * 1999-06-30 2003-09-16 Jack Justin Stiffler Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance
US6317755B1 (en) * 1999-07-26 2001-11-13 Motorola, Inc. Method and apparatus for data backup and restoration in a portable data device
US7010590B1 (en) * 1999-09-15 2006-03-07 Datawire Communications Networks, Inc. System and method for secure transactions over a network
US6594780B1 (en) 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
US6859805B1 (en) 1999-11-29 2005-02-22 Actuate Corporation Method and apparatus for generating page-level security in a computer generated report
US6772156B1 (en) * 1999-11-29 2004-08-03 Actuate Corporation Method and apparatus for creating and displaying a table of content for a computer-generated report having page-level security
US7051173B2 (en) * 2000-02-04 2006-05-23 Fujitsu Limited Backup system and method thereof in disk shared file system
CA2302981C (en) * 2000-03-29 2004-06-01 Ibm Canada Limited-Ibm Canada Limitee Online database table reorganization
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US7730213B2 (en) * 2000-12-18 2010-06-01 Oracle America, Inc. Object-based storage device with improved reliability and fast crash recovery
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US7065672B2 (en) * 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
KR20030056540A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법
KR20030063620A (ko) * 2002-01-23 2003-07-31 주식회사 파이널데이터 손상된 데이터베이스 데이터 복구 방법 및 이를 저장한컴퓨터가 판독 가능한 기록 매체
US7707184B1 (en) * 2002-10-09 2010-04-27 Netapp, Inc. System and method for snapshot full backup and hard recovery of a database
US7370271B2 (en) * 2002-10-30 2008-05-06 Actuate Corporation Methods and apparatus for generating a spreadsheet report template
US7007043B2 (en) * 2002-12-23 2006-02-28 Storage Technology Corporation Storage backup system that creates mountable representations of past contents of storage volumes
US7007044B1 (en) * 2002-12-26 2006-02-28 Storage Technology Corporation Storage backup system for backing up data written to a primary storage device to multiple virtual mirrors using a reconciliation process that reflects the changing state of the primary storage device over time
JP3974538B2 (ja) 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
US20040187108A1 (en) * 2003-02-21 2004-09-23 Knowles W. Jeffrey Method of scheduling and event processing in computer operating system
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
US7389308B2 (en) * 2003-05-30 2008-06-17 Microsoft Corporation Shadow paging
US7000145B2 (en) * 2003-06-18 2006-02-14 International Business Machines Corporation Method, system, and program for reverse restore of an incremental virtual copy
US6983352B2 (en) * 2003-06-19 2006-01-03 International Business Machines Corporation System and method for point in time backups
US7457829B2 (en) * 2003-06-23 2008-11-25 Microsoft Corporation Resynchronization of multiple copies of a database after a divergence in transaction history
US7240065B2 (en) * 2004-05-27 2007-07-03 Oracle International Corporation Providing mappings between logical time values and real time values
US7251660B2 (en) 2004-06-10 2007-07-31 Oracle International Corporation Providing mappings between logical time values and real time values in a multinode system
US7925658B2 (en) * 2004-09-17 2011-04-12 Actuate Corporation Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
US20060085381A1 (en) * 2004-10-20 2006-04-20 Epic Systems Corporation Remote deployment access system and method
US7496787B2 (en) * 2004-12-27 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US7870480B1 (en) 2005-03-14 2011-01-11 Actuate Corporation Methods and apparatus for storing and retrieving annotations accessible by a plurality of reports
US20060222125A1 (en) * 2005-03-31 2006-10-05 Edwards John W Jr Systems and methods for maintaining synchronicity during signal transmission
US20060222126A1 (en) * 2005-03-31 2006-10-05 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining synchronicity during signal transmission
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US7299337B2 (en) * 2005-05-12 2007-11-20 Traut Eric P Enhanced shadow page table algorithms
US20070011499A1 (en) * 2005-06-07 2007-01-11 Stratus Technologies Bermuda Ltd. Methods for ensuring safe component removal
US20070028144A1 (en) * 2005-07-29 2007-02-01 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US20070038891A1 (en) * 2005-08-12 2007-02-15 Stratus Technologies Bermuda Ltd. Hardware checkpointing system
US7552147B2 (en) * 2005-09-02 2009-06-23 International Business Machines Corporation System and method for minimizing data outage time and data loss while handling errors detected during recovery
US20070130231A1 (en) * 2005-12-06 2007-06-07 Brown Douglas P Closed-loop supportability architecture
KR100781515B1 (ko) * 2006-01-10 2007-12-03 삼성전자주식회사 트랜잭션 처리를 위한 로그 정보 관리 시스템 및 방법
JP4877921B2 (ja) * 2006-01-25 2012-02-15 株式会社日立製作所 ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法
US20070300013A1 (en) * 2006-06-21 2007-12-27 Manabu Kitamura Storage system having transaction monitoring capability
US20080065667A1 (en) * 2006-09-11 2008-03-13 Hopkins Donald F Transaction oriented resilient file system
US7814360B2 (en) * 2007-01-25 2010-10-12 Oralce International Corporation Synchronizing cluster time to a master node with a faster clock
KR101473344B1 (ko) * 2007-08-24 2014-12-17 삼성전자 주식회사 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법
US8108356B2 (en) * 2007-12-24 2012-01-31 Korea Advanced Institute Of Science And Technology Method for recovering data in a storage system
US8169856B2 (en) * 2008-10-24 2012-05-01 Oracle International Corporation Time synchronization in cluster systems
CN103907099B (zh) * 2011-11-02 2016-10-05 华为技术有限公司 高速缓存一致性计算机系统中未缓存的短地址转换表
WO2013101142A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Low latency cluster computing
US9251002B2 (en) 2013-01-15 2016-02-02 Stratus Technologies Bermuda Ltd. System and method for writing checkpointing data
EP3090336A1 (en) 2013-12-30 2016-11-09 Paul A. Leveille Checkpointing systems and methods of using data forwarding
ES2652262T3 (es) 2013-12-30 2018-02-01 Stratus Technologies Bermuda Ltd. Método de retardar puntos de comprobación inspeccionando paquetes de red
JP6518672B2 (ja) 2013-12-30 2019-05-22 ストラタス・テクノロジーズ・バミューダ・リミテッド 動的チェックポインティングシステムおよび方法
CN105843551B (zh) * 2015-01-29 2020-09-15 爱思开海力士有限公司 高性能和大容量储存重复删除中的数据完整性和损耗电阻
US9904607B2 (en) * 2015-11-13 2018-02-27 International Business Machines Corporation Logical to physical table restoration from stored journal entries
US11481362B2 (en) * 2017-11-13 2022-10-25 Cisco Technology, Inc. Using persistent memory to enable restartability of bulk load transactions in cloud databases

Family Cites Families (14)

* 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 障害回復方式
US4459658A (en) * 1982-02-26 1984-07-10 Bell Telephone Laboratories Incorporated Technique for enabling operation of a computer system with a consistent state of a linked list data structure after a main memory failure
US4507751A (en) * 1982-06-21 1985-03-26 International Business Machines Corporation Method and apparatus for logging journal data using a log write ahead data set
JPS62121555A (ja) * 1985-11-22 1987-06-02 Hitachi Ltd 履歴情報の管理方式
US5043871A (en) * 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery
JPH0816881B2 (ja) * 1986-04-18 1996-02-21 株式会社日立製作所 データベース更新方法
US5265245A (en) * 1989-04-17 1993-11-23 International Business Machines Corporation High concurrency in use manager
JPH0540682A (ja) * 1990-06-08 1993-02-19 Internatl Business Mach Corp <Ibm> アトミシテイを有する記憶装置の高可用性耐故障再配置
JPH04209044A (ja) * 1990-12-03 1992-07-30 Nec Corp データベース制御方式
JPH04305741A (ja) * 1991-04-02 1992-10-28 Nec Corp データベース入出力制御方式
DE69119222T2 (de) * 1991-06-04 1996-11-21 Ibm Datensicherung und Beseitigung in einem Datenverarbeitungssystem
JP2758311B2 (ja) * 1992-05-28 1998-05-28 富士通株式会社 複合システムにおけるログファイル制御方式
US5455594A (en) * 1992-07-16 1995-10-03 Conductus, Inc. Internal thermal isolation layer for array antenna
US5455944A (en) * 1993-03-16 1995-10-03 International Business Machines Corporation Method for managing logging and locking of page free space information in a transaction processing system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057031A (ja) * 1998-08-05 2000-02-25 Nippon Telegr & Teleph Corp <Ntt> データベースバックアップ処理方法
JP2000222140A (ja) * 1999-01-28 2000-08-11 Seiko Epson Corp プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体
JP2001195362A (ja) * 2000-01-06 2001-07-19 Nippon Telegr & Teleph Corp <Ntt> トランザクション処理装置と方法およびトランザクション処理機能付きicカード
JP2002149454A (ja) * 2000-08-30 2002-05-24 Internatl Business Mach Corp <Ibm> 論理ディスク上でのトランザクション・サポート
JP2006184979A (ja) * 2004-12-24 2006-07-13 Fujitsu Ltd ファイル情報の書き込み処理方法およびプログラム
WO2009069436A1 (ja) * 2007-11-28 2009-06-04 Kyoto Software Research, Inc. データ格納システムおよびデータ格納プログラム
KR100921876B1 (ko) * 2007-11-28 2009-10-13 가부시키가이샤 교토 소프트웨어 리서치 데이터 격납 시스템 및 데이터 격납 프로그램
US8055853B2 (en) 2007-11-28 2011-11-08 Kyoto Software Research, Inc. Data storage system and data storage program for atomic transactions

Also Published As

Publication number Publication date
US5724581A (en) 1998-03-03

Similar Documents

Publication Publication Date Title
JPH07175700A (ja) データベース管理方式
US5778388A (en) Method of processing a synchronization point in a database management system to assure a database version using update logs from accumulated transactions
JP3763992B2 (ja) データ処理装置及び記録媒体
US5745753A (en) Remote duplicate database facility with database replication support for online DDL operations
US7107294B2 (en) Method and apparatus for interrupting updates to a database to provide read-only access
US6678809B1 (en) Write-ahead log in directory management for concurrent I/O access for block storage
US5201044A (en) Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
US7117229B2 (en) Method and system for online reorganization of databases
US6898688B2 (en) Data management appliance
US7349927B2 (en) Transactional file system for realizing atomic update of plural files by transactions
US7266669B2 (en) File system with file management function and file management method
US7996363B2 (en) Real-time apply mechanism in standby database environments
US6584477B1 (en) High speed system and method for replicating a large database at a remote location
US6839819B2 (en) Data management appliance
US20060224639A1 (en) Backup system, program and backup method
EP0943997A2 (en) System and method for providing hot spare redundancy and recovery for a very large database management system
JPH06332778A (ja) トランザクション管理方法
JP2001511552A (ja) データ・ベースに関する方法
EP0724223B1 (en) Remote duplicate database facility with database replication support for online line DDL operations
JP2004062759A (ja) データベースログの管理方法、その装置およびそのプログラム
EP4002148A1 (en) Cloud-native object storage for page-based relational database
US11593352B2 (en) Cloud-native object storage for page-based relational database
JPH0816881B2 (ja) データベース更新方法
Rastogi et al. Distributed multi-level recovery in main-memory databases
JP2000163294A (ja) データベース管理方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306