JPH0926906A - メモリデータベースの回復方法 - Google Patents

メモリデータベースの回復方法

Info

Publication number
JPH0926906A
JPH0926906A JP7172649A JP17264995A JPH0926906A JP H0926906 A JPH0926906 A JP H0926906A JP 7172649 A JP7172649 A JP 7172649A JP 17264995 A JP17264995 A JP 17264995A JP H0926906 A JPH0926906 A JP H0926906A
Authority
JP
Japan
Prior art keywords
file
journal
database
memory database
memory
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
JP7172649A
Other languages
English (en)
Inventor
Tsutomu Miyako
勉 宮古
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi 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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP7172649A priority Critical patent/JPH0926906A/ja
Publication of JPH0926906A publication Critical patent/JPH0926906A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 オープン時に外部記憶装置から主記憶装置上
に読み込まれ、主記憶装置上に常駐するメモリデータベ
ースについて、メモリデータベースをオンライン稼働途
中でオープンするときのメモリデータベースのジャーナ
ル取得を抑止し、途中オープン時間を短縮する。 【構成】 メモリデータベース21を途中オープンする
とき、オンラインデータベース管理システム20はメモ
リデータベース格納ファイル5をメモリデータベース2
1として主記憶上に展開するとともにメモリデータベー
ス21の展開が完了したことを示すジャーナルをジャー
ナルファイル7上に取得する。メモリデータベース21
の回復時にジャーナルファイル7上でメモリデータベー
ス展開完了ジャーナルを検出したとき、メモリデータベ
ース格納ファイル5をメモリデータベース回復のベース
とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、オープン時に外部記憶
装置から主記憶装置上に読み込まれ、揮発性を有する主
記憶装置上に常駐するメモリデータベースに係わり、特
にデータ処理装置の障害時にメモリデータベースを回復
する方法に関する。
【0002】
【従来の技術】従来の外部記憶装置に格納されていたデ
ータベースを揮発性を有する主記憶装置上に読み込み、
主記憶装置上に常駐するデータベースを以後メモリデー
タベースと呼び、外部記憶装置に格納されて主記憶装置
上に常駐しないデータベースをデータベース又はデータ
ベースファイルと呼ぶ。メモリデータベースは、オンラ
イン開始時に外部のデータベース格納ファイル内のすべ
てのデータベースレコードが主記憶上に展開され、オン
ライン開始完了直前に展開されたメモリデータベースの
内容がチェックポイントダンプファイルに格納される。
オンライン稼動中にメモリデータベースの内容を全面的
に再編成する場合は、途中クローズコマンド等の投入に
よりメモリデータベースをデータベース格納ファイルに
書き込み、バッチジョブでこのデータベースを再編成す
る。その後、途中オープンコマンド等の投入によりデー
タベース格納ファイル内のデータベースレコードを主記
憶上に展開すると共にジャーナルファイル装置内にメモ
リデータベースの更新履歴として大量のジャーナルを取
得する。その後、該当するメモリデータベースを管理す
るデータベース管理テーブル内の回復対象領域にデータ
ベースのオープン状態ステータスをセットし、回復対象
領域の更新履歴としてジャーナルを取得し、メモリデー
タベースのオープン処理を終了する。その後、オンライ
ントランザクションにおいてメモリデータベース内のデ
ータベースレコードに対する更新が発生した場合は、メ
モリデータベースの更新履歴であるメモリファイルジャ
ーナルを取得してからメモリデータベースを更新する。
オンラインダウン後の再開始処理では、オンラインダウ
ン直前の有効なチェックポイントダンプファイル内に格
納したメモリデータベース情報を元に回復した後、上記
メモリデータベースのオープン処理で取得した大量のメ
モリファイルジャーナルを読み込み、ダウン直前の状態
に回復する。
【0003】
【発明が解決しようとする課題】上記従来技術では、メ
モリデータベースの途中オープン時にすべてのデータベ
ースレコードについてメモリファイルジャーナルを取得
するため、メモリデータベースのレコード件数が多い場
合、大量のメモリファイルジャーナルを取得することに
なり、ジャーナルファイルの記憶容量が増大し、メモリ
ファイルジャーナルを取得するために時間を要するとい
う問題があった。
【0004】本発明は、メモリデータベースの途中オー
プン時にメモリファイルジャーナルの取得を抑止し、ジ
ャーナルファイル装置の記憶容量の削減を図るとともに
メモリデータベースの途中オープン時間を短縮すること
を目的とする。
【0005】
【課題を解決するための手段】本発明のメモリデータベ
ースの回復方法は、メモリデータベースがオープンされ
るときメモリデータベース格納ファイルを主記憶上に展
開するとともにメモリデータベースの展開が完了したこ
とを示すジャーナルをジャーナルファイル上に格納し、
メモリデータベース上のデータベースレコードが更新さ
れたとき更新履歴をジャーナルファイル上に格納し、周
期的にメモリデータベースの内容をチェックポイントダ
ンプファイルに格納する。データ処理装置に障害が生じ
メモリデータベースを回復するときには、チェックポイ
ントダンプファイルからメモリデータベースの内容を読
み込んで回復し、ジャーナルファイルからデータベース
レコードの更新履歴を読み込んでチェックポイントダン
プ以後のメモリデータベースの更新を回復する。ジャー
ナルファイル上のジャーナルを順方向に読み込んでいく
過程でこのチェックポイントダンプ以後にジャーナルフ
ァイル上にメモリデータベース展開完了ジャーナルが格
納されていれば、メモリデータベース格納ファイルを主
記憶上に展開し、メモリデータベースの途中オープン時
のメモリデータベースの内容を回復する。
【0006】
【作用】メモリデータベースの全データベースレコード
はチェックポイントダンプファイルにダンプされるが、
ジャーナルファイル上には格納されず、その代わりにジ
ャーナルファイル上にメモリデータベース展開完了ジャ
ーナルが残される。従ってメモリデータベースの回復過
程において、ジャーナルファイル上のジャーナルを順方
向に読み込み、メモリデータベースの更新を回復してい
く途中で、メモリデータベース展開完了ジャーナルが検
出されるまでは最新のチェックポイントダンプファイル
がメモリデータベース回復のベースとなる。メモリデー
タベース展開完了ジャーナルが検出されたとき、メモリ
データベース格納ファイル中の全データベースレコード
がメモリデータベース回復のベースとなる。オンライン
稼動中にメモリデータベースの内容を全面的に再編成す
る場合には、途中クローズコマンド等を投入することに
よってメモリデータベースをデータベース格納ファイル
に書き込んだ後、バッチジョブでデータベースを再編成
する。その後、途中オープンコマンド等を投入すること
によってデータベース格納ファイルを主記憶上に展開す
る。この展開が完了したとき取得するのがメモリデータ
ベース展開完了ジャーナルである。
【0007】
【実施例】以下、本発明の一実施例について図面を用い
て詳細に説明する。
【0008】図1は、本発明が適用されるコンピュータ
システムを示すブロック図である。図1はデータ処理装
置1上で動作するオンラインデータベース管理システム
20がメモリデータベース21及びデータベースファイ
ル6をアクセスする例を示している。メモリデータベー
ス21はデータ処理装置1の主記憶装置上に常駐するデ
ータベース、データベースファイル6は外部記憶装置上
に格納されるデータベースファイルである。データ処理
装置1には通信制御装置2が接続されており、その通信
制御装置2にはモデム3を介して端末装置4が接続され
ている。またデータ処理装置2にはデータベースファイ
ル6の他にメモリデータベース格納ファイル5、ジャー
ナルファイル7及びチェックポイントダンプファイル8
1〜83が接続されている。メモリデータベース格納フ
ァイル5はメモリデータベース21の内容を格納するフ
ァイル、ジャーナルファイル7はメモリデータベース2
1の更新履歴やトランザクションの終了履歴等を格納す
るファイルである。回復対象テーブル22はメモリデー
タベース21のステータスを格納するテーブルであり、
データ処理装置1の主記憶装置上に常駐する。チェック
ポイントダンプファイル81〜83は周期的にメモリデ
ータベース21の内容及び回復対象テーブル22の内容
を格納するファイルであり、チェックポイントダンプフ
ァイル81から始まり、82、83、81(オーバレ
イ)、82(オーバレイ)、・・・のように順にこれら
の情報のチェックポイントダンプを採取するために使用
される。メモリデータベース格納ファイル5、ジャーナ
ルファイル7及びチェックポイントダンプファイル81
〜83は外部記憶装置上に格納されるファイルである。
なお本実施例では主記憶装置は揮発性の記憶装置、外部
記憶装置は不揮発性の記憶装置とする。
【0009】データ処理装置1は通信制御装置2、モデ
ム3を経由して端末装置4からのメッセージを受信した
り、端末装置4にメッセージを送信したりする。オンラ
インデータベース管理システム20は、オペレーティン
グシステム10を介してメモリデータベース格納ファイ
ル5からデータベースレコードを読み込み、メモリデー
タベース21としてデータ処理装置1の主記憶装置上に
展開する。業務処理プログラム30からの要求に従って
オンラインデータベース管理システム20はメモリデー
タベース21にアクセスする。業務プログラム30から
データベースファイル6に対する要求があったとき、オ
ンラインデータベース管理システム20はオペレーティ
ングシステム10を介してデータベースファイル6にア
クセスする。オンラインデータベース管理システム20
は、トランザクションと呼ぶ単位で処理を行う。トラン
ザクションには最初に起動されたトランザクションを1
とするトランザクション番号が付加される。オンライン
データベース管理システム20は、メモリデータベース
21の更新履歴としてのメモリファイルジャーナル(M
J)、データベースファイル6の更新履歴としてのファ
イルジャーナル(FJ)、業務履歴としてのユーザ任意
ジャーナル、トランザクションの終了履歴としてのトラ
ンザクション終了ジャーナル(PJ)及びオンライン稼
動時に途中からオープンするメモリデータベース21の
途中オープン履歴としてのメモリデータベース展開完了
ジャーナル(MOJ)等をジャーナルファイル7に格納
する。またオンラインデータベース管理システム20
は、一定量のジャーナル取得毎にメモリデータベース2
1の内容及び回復対象テーブル22の内容をチェックポ
イントダンプファイル81〜83に格納する。
【0010】図2は、オンラインデータベース管理シス
テム20がアクセスする本発明に関連するテーブルの構
成を示す図である。システム管理テーブル100はメモ
リデータベース管理テーブル110の集まりの先頭アド
レス及び回復対象テーブル22の集まりの先頭アドレス
を格納する。メモリデータベース管理テーブル110は
メモリデータベース21のデータベース名称、対応する
回復対象テーブル22の先頭アドレス、データベースレ
コードのサイズ、データベースレコードの数及びメモリ
データベース21の先頭アドレスを格納する。回復対象
テーブル22はメモリデータベース21のデータベース
名称、メモリデータベース格納ファイル5のファイル名
称及びメモリデータベース21を展開(オープン)した
か又はメモリデータベース21をメモリデータベース格
納ファイル5に格納(クローズ)したかを示すステータ
スを格納する。メモリデータベース21にはメモリデー
タベースの先頭データベースレコードを1とするレコー
ド通番とデータベースレコードが格納される。
【0011】図3は、メモリデータベース21の更新履
歴であるメモリファイルジャーナル(MJ)の構成であ
り、MJはメモリファイルジャーナルであることを示す
ジャーナル識別子、当該ジャーナルを取得したトランザ
クションのトランザクション番号、当該トランザクショ
ンのジャーナル取得通番、メモリデータベース21のデ
ータベース名称、アクセスしたデータベースレコードの
レコード通番及びアクセスしたデータベースレコードの
更新前情報及びアクセスしたデータベースレコードの更
新後情報で構成される。なお回復対象テーブル22につ
いてもMJとしてこの形式のジャーナルを取得する。レ
コード通番は回復対象テーブル22を特定する通番であ
り、更新前後のレコードは回復対象テーブル22の全体
である。図4は、メモリデータベース21をオンライン
稼働中にオープンした履歴であるメモリデータベース展
開完了ジャーナル(MOJ)の構成であり、MOJはメ
モリデータベース展開ジャーナルであることを示すジャ
ーナル識別子、当該ジャーナルを取得したトランザクシ
ョンのトランザクション番号、当該トランザクションの
ジャーナル取得通番、メモリデータベース21のデータ
ベース名称及びメモリデータベース格納ファイル5のフ
ァイル名称で構成される。
【0012】図5は、オンラインデータベース管理シス
テム20の動作例を時系列で表わした図である。横軸は
時間の経過を示し、時刻t1にオンラインを開始し、メ
モリデータベース格納ファイル5からデータベースレコ
ードをメモリデータベース21に展開する。時刻t2の
オンラインイニシャライズの完了ではメモリデータベー
ス21及び回復対象テーブル22をチェックポイントダ
ンプファイル81に格納する。時刻t3ではメモリデー
タベース21およびデータベースファイル6をアクセス
するトランザクションが実行され、メモリデータベース
21の更新履歴がメモリファイルジャーナル(MJ)と
してジャーナルファイル7に格納され、データベースフ
ァイル6の更新履歴がファイルジャーナル(FJ)とし
てジャーナルファイル7に格納される。時刻t4では一
定量のジャーナルを取得したため、メモリデータベース
21及び回復対象テーブル22をチェックポイントダン
プファイル82に格納する。時刻t5ではメモリデータ
ベース21の途中クローズが実行され、回復対象テーブ
ル22のステータスを更新し、メモリデータベース21
の内容をメモリデータベース格納ファイル5に格納す
る。メモリデータベース格納ファイル5はオフラインで
再編成される。時刻t6ではメモリデータベース21の
途中オープンが実行され、メモリデータベース格納ファ
イル5のデータベースレコードをメモリデータベース2
1として主記憶上に展開し、チェックポイントダンプフ
ァイルの取得要求を行い、回復対象テーブル22のステ
ータスを更新し、更新履歴をメモリデータベース展開完
了ジャーナル(MOJ)としてジャーナルファイル7に
格納する。時刻t7ではメモリデータベース21をアク
セスするトランザクションが実行され、メモリデータベ
ース21の更新履歴がメモリファイルジャーナル(M
J)としてジャーナルファイル7に格納され、データベ
ースファイル6の更新履歴がファイルジャーナル(F
J)としてジャーナルファイル7上に格納される。時刻
t8では時刻t6のメモリデータベース21の途中オー
プン時のチェックポイントダンプファイルの取得要求に
より、メモリデータベース21及び回復対象テーブル2
2をチェックポイントダンプファイル83に格納する。
【0013】図6は、図5で示した時刻t3から時刻t
8までのオンラインデータベース管理システム20の動
作をジャーナル701〜716、トランザクション90
1〜907及びチェックポイントダンプファイル82〜
83の内容について時系列で表わした図である。図6の
トランザクション901はメモリデータベース21をア
クセスし、メモリファイルジャーナルMJ1をジャーナ
ルファイル7の701ブロック目に格納し、トランザク
ション終了ジャーナルPJ1をジャーナルファイル7の
703ブロック目に格納し、トランザクションを終了す
る。トランザクション902はデータベースファイル6
をアクセスし、ファイルジャーナルFJ1をジャーナル
ファイル7の702ブロック目に格納し、トランザクシ
ョン終了ジャーナルPJ2をジャーナルファイル7の7
04ブロック目に格納し、トランザクションを終了す
る。トランザクション903はメモリデータベース21
をアクセスしメモリファイルジャーナルMJ2をジャー
ナルファイル7の705ブロック目に格納し、トランザ
クション終了ジャーナルPJ3をジャーナルファイル7
の706ブロック目に格納しトランザクションを終了す
る。また、トランザクション903のメモリファイルジ
ャーナルMJ2のジャーナルファイル7への取得でジャ
ーナルの取得件数が一定量に達したため、チェックポイ
ントダンプファイル82が取得される。チェックポイン
トダンプ82には、メモリデータベース21及びオンラ
インデータベース管理システム20の回復対象テーブル
22の他に、チェックポイントダンプ取得通番及びジャ
ーナルファイル7の次に取得するジャーナルファイルの
ブロック番号が格納される。チェックポイントダンプ取
得通番は、オンライン開始後2回目の取得であるため0
002が格納され、ジャーナルファイル7のブロック番
号は、チェックポイントダンプ取得時においてジャーナ
ルファイル7には705ブロックのジャーナルが格納さ
れているため706を格納する。トランザクション90
4はメモリデータベース21の途中クローズを行い、メ
モリデータベース21のデータベースレコードをメモリ
データベース格納ファイル5に格納し、メモリデータベ
ース21のステータス情報を格納した回復対象テーブル
22の更新履歴としてのメモリファイルジャーナルMJ
3をジャーナルファイル7の707ブロック目に格納
し、トランザクション終了ジャーナルPJ4をジャーナ
ル格納ファイル7の708ブロック目に格納しトランザ
クションを終了する。トランザクション905はメモリ
データベースの途中オープンを行い、メモリデータベー
ス格納ファイル5のデータベースレコードをメモリデー
タベース21上に展開し、メモリデータベース展開完了
ジャーナル(MOJ)をジャーナルファイル7の709
ブロック目に格納し、メモリデータベースのステータス
情報を格納した回復対象テーブル22の更新履歴として
のメモリファイルジャーナルMJ4をジャーナルファイ
ル7の710ブロック目に格納し、チェックポイントダ
ンプの取得要求を行い、トランザクション終了ジャーナ
ルPJ5をジャーナルファイル7の711ブロック目に
格納し、トランザクションを終了する。トランザクショ
ン906はデータベースファイル6をアクセスしファイ
ルジャーナルFJ2をジャーナルファイル7の712ブ
ロック目に格納し、トランザクション終了ジャーナルP
J6をジャーナルファイル7の714ブロック目に格納
しトランザクションを終了する。トランザクション90
7はメモリデータベース21をアクセスし、メモリファ
イルジャーナルMJ5をジャーナル格納ファイル7の7
13ブロック目に格納し、トランザクション終了ジャー
ナルPJ7をジャーナルファイル7の716ブロック目
に格納し、トランザクションを終了する。トランザクシ
ョン908はメモリデータベース21をアクセスし、メ
モリファイルジャーナルMJ6をジャーナルファイル7
の715ブロック目に格納し、トランザクションを継続
する。またトランザクション907のトランザクション
終了ジャーナルPJ7取得後にトランザクション905
が行ったチェックポイントダンプ取得要求が完了したた
めチェックポイントダンプファイル83が取得されてい
る。チェックポイントダンプ83にはメモリデータベー
ス21及び回復対象テーブル22の他に、チェックポイ
ントダンプ取得通番及び次に取得するジャーナルファイ
ル7のブロック番号が格納される。チェックポイントダ
ンプ取得通番は、オンライン開始後3回目の取得である
ため0003が格納され、ジャーナルファイル7のブロ
ック番号は、チェックポイントダンプ取得時においてジ
ャーナルファイル7には716ブロックのジャーナルが
格納されているため717を格納する。次にチェックポ
イントダンプファイル83の取得完了後でトランザクシ
ョン908が実行中にデータ処理装置1の障害によりオ
ンラインがダウンしたと仮定する。
【0014】図7は、メモリデータベースの展開(オー
プン)処理の処理手順を示すフローチャートである。時
刻t6においてメモリデータベース21の展開処理トラ
ンザクションが起動されると、まずメモリデータベース
格納ファイル5をオープンし(ステップ1001)、メ
モリデータベース格納ファイル5からデータベースレコ
ードを読み込む(ステップ1002)。次に読み込んだ
データベースレコードをメモリデータベース21に展開
(ステップ1003)し、全データベースレコードを読
み込んだか判定し(ステップ1004)、全データベー
スレコードをまだ読み込んでいない場合は、ステップ1
002からステップ1003の処理を繰り返す。全デー
タベースレコードを読み込んだ場合は(ステップ100
4YES)、メモリデータベース展開完了ジャーナル
(MOJ)を取得し(ステップ1005)、回復対象テ
ーブル22のステータスを展開(オープン)に更新し
(ステップ1006)、回復対象テーブル22の更新履
歴をメモリファイルジャーナル(MJ)としてジャーナ
ルファイル7に書き込み(ステップ1007)、チェッ
クポイントダンプファイルの取得要求を行い(ステップ
1008)、メモリデータベース21の展開処理を終了
する。
【0015】図8は、メモリデータベースの格納(クロ
ーズ)処理の処理手順を示すフローチャートである。時
刻t5においてメモリデータベース21の格納処理を行
うトランザクションが起動されると、まずメモリデータ
ベース21のデータベースレコードをメモリデータベー
ス格納ファイル5に格納し(ステップ1101)、メモ
リデータベース21の全データベースレコードを格納し
たか判定(ステップ1102)し、全データベースレコ
ードを格納していない場合はステップ1101とステッ
プ1102の処理を繰り返す。全データベースレコード
を格納した場合は、回復対象テーブル22のステータス
を格納(クローズ)に更新し(ステップ1103)、回
復対象テーブル22の更新履歴をメモリファイルジャー
ナル(MJ)としてジャーナルファイル7に書き込み
(ステップ1104)、メモリデータベース格納ファイ
ル5をクローズし(ステップ1105)、メモリデータ
ベース21の格納処理を終了する。
【0016】図9は、メモリデータベースのアクセス処
理の処理手順を示すフローチャートである。時刻t3及
び時刻t7においてメモリデータベース21のアクセス
処理トランザクションが起動されると、アクセスするデ
ータベースレコードのレコード通番、アクセスするレコ
ードの更新前レコードの内容及びアクセスするレコード
の更新後レコードの内容を基にメモリファイルジャーナ
ル(MJ)を作成しジャーナルファイル7に格納し(ス
テップ1201)、データベースレコードの内容を更新
後のレコードに変更し(ステップ1202)アクセス処
理を終了する。なお図9には示していないが、トランザ
クション終了時にはトランザクション終了ジャーナル
(PJ)を取得する。またデータベースファイル6を更
新した場合は、メモリデータベース21の更新と同様に
ファイルジャーナル(FJ)の取得とデータベースファ
イル6の更新が行われる。
【0017】図10a及び図10bは、オンラインダウ
ン後の再開始処理の処理手順を示すフローチャートであ
る。まずジャーナルファイル7をオンラインダウン時に
最後に取得したジャーナルからバックリードする(ステ
ップ1301)。図6の例ではジャーナルファイル7の
716ブロック目からバックリードする。次に読み込ん
だジャーナルが処理未完トランザクションのファイルジ
ャーナル、すなわちトランザクション終了ジャーナルが
検出されないトランザクションが取得したファイルジャ
ーナルか否かを判定し(ステップ1302)、処理未完
トランザクションのファイルジャーナルの場合は当該ジ
ャーナルの更新前レコードの内容でデータベースファイ
ル6のデータベースレコードを回復する(ステップ13
03)。読み込んだジャーナルが処理未完トランザクシ
ョンのファイルジャーナル以外の場合は(ステップ13
02NO)、ステップ1304に進む。処理未完トラン
ザクションのジャーナルが存在する間ステップ1301
からステップ1304の処理を繰り返す。なおトランザ
クション終了ジャーナルには実行中の他のトランザクシ
ョンのトランザクション番号を格納する。このため図6
の例ではPJ7を読み込んだ結果、オンラインダウン時
の処理未完トランザクションはトランザクション908
のみであることがわかり、トランザクション908で取
得したジャーナルはMJ6を読み込んだ結果、MJ6だ
けであることがわかり、ジャーナルファイル7は715
ブロックまでバックリードされる。なお処理未完のトラ
ンザクション908で取得したジャーナルはメモリファ
イルジャーナルMJ6のみであるため、データベースフ
ァイル6に対する回復処理は発生しない。次に回復処理
で使用するチェックポイントダンプファイルを決定する
(ステップ1305)。有効なチェックポイントダンプ
ファイルの決定は、ステップ1301からステップ13
04で行うジャーナルファイルのバックリード処理が完
了した時のジャーナルファイル7のブロック番号(ブロ
ック715)とチェックポイントダンプファイル内のジ
ャーナルファイル7のブロック番号とを比較し、チェッ
クポイントダンプファイル上のジャーナルブロック番号
が前者のブロック番号より大きいならばブロック番号が
より小さい値のチェックポイントダンプファイルを求
め、決定したチェックポイントダンプファイルによって
メモリデータベース21及び回復対象テーブル22を回
復する(ステップ1306)。図6の例では、オンライ
ンダウン直前に取得されたチェックポイントダンプファ
イルは、チェックポイントダンプファイル83でありチ
ェックポイントダンプファイル取得時に格納したジャー
ナルファイル7のブロック番号は716であるが、チェ
ックポイントダンプファイル83の取得時はまだトラン
ザクション908が実行中であることからチェックポイ
ントダンプファイル83が有効なチェックポイントダン
プファイルとはならない。従ってチェックポイントダン
プファイル83の前に取得したチェックポイントダンプ
ファイル82を有効なチェックポイントダンプファイル
としてこれからメモリデータベース21及び回復対象テ
ーブル22を回復する。次にチェックポイントダンプフ
ァイル82に格納したブロック番号からジャーナルファ
イル7の読みだし位置を決定し(ステップ1307)、
ジャーナルファイル7をフォワードリードする(ステッ
プ1308)。読み込んだジャーナルがメモリデータベ
ース展開完了ジャーナル(MOJ)かを判定し(ステッ
プ1309)、読み込んだジャーナルがメモリデータベ
ース展開完了ジャーナル(MOJ)の場合は、メモリデ
ータベース格納ファイル5からメモリデータベース21
を回復するためにメモリデータベース格納ファイル5を
オープンし(ステップ1310)、メモリデータベース
格納ファイル5からデータベースレコードを読み込み
(ステップ1311)、読み込んだデータベースレコー
ドをメモリデータベース21に展開し(ステップ131
2)、全データベースレコードを読み込んだか判定し
(ステップ1313)、全データベースレコードをまだ
読み込んでいない場合は、ステップ1311からステッ
プ1313の処理を繰り返す。読み込んだジャーナルが
メモリデータベース展開完了ジャーナル(MOJ)以外
の時は、メモリデータベース21のメモリファイルジャ
ーナル(MJ)か否かを判定し(ステップ1314)、
読み込んだジャーナルがメモリデータベース21のメモ
リファイルジャーナルの時は、当該ジャーナルを取得し
たトランザクションが処理完了か判定し(ステップ13
15)、処理完了トランザクションの場合は、メモリデ
ータベース21のデータベースレコード又は回復対象テ
ーブル22を回復する(ステップ1316)。読み込ん
だジャーナルがメモリデータベース21のメモリファイ
ルジャーナル(MJ)以外のジャーナルの場合は、ステ
ップ1317に進む。オンラインダウン直前までのジャ
ーナルをすべて読み込んだか否か判定し(ステップ13
17)、オンラインダウン直前までのジャーナルをすべ
て読み込んでいなければステップ1308からステップ
1316までの処理を繰り返す。オンラインダウン直前
までのジャーナルをすべて読み込んだ場合は、再開始時
の回復処理を終了する。図6の例ではチェックポイント
ダンプファイル82に格納されているジャーナルファイ
ル7のブロック番号である706がジャーナルファイル
のフォワードリード開始位置となり、ジャーナルファイ
ル7の706ブロック目のジャーナルはトランザクショ
ン処理完了ジャーナルであるためこのジャーナルをスキ
ップし、707ブロック目のジャーナルはトランザクシ
ョン処理完了時に取得したメモリファイルジャーナル
(MJ)でかつトランザクションが終了しているため、
回復対象テーブル22を回復する。708ブロック目の
ジャーナルはトランザクション処理完了ジャーナルであ
るため、何も行わない。709ブロック目のジャーナル
はメモリデータベース展開完了ジャーナル(MOJ)で
あるため、メモリデータベース格納ファイル5からメモ
リデータベース21を展開する。710ブロック目のジ
ャーナルはトランザクション処理完了時に取得したメモ
リファイルジャーナルでかつトランザクションが終了し
ているため回復対象テーブル22を回復する。711ブ
ロック目のジャーナルはトランザクション処理完了ジャ
ーナルであるため何も行わない。712ブロック目のジ
ャーナルはデータベースファイルジャーナル(FJ)で
あるため、何も行わない。713ブロック目のジャーナ
ルはトランザクションが終了しているメモリファイルジ
ャーナル(MJ)であるため、メモリデータベース21
に対する回復処理を行い、714ブロック目のジャーナ
ルはトランザクション処理完了ジャーナルであるため、
何も行わない。715ブロック目のジャーナルは処理未
完了トランザクションのメモリファイルジャーナルであ
るため、何も行わない。716ブロック目のジャーナル
はトランザクション処理完了ジャーナルであるため何も
行わず、オンラインダウン直前までの全てのジャーナル
を読み込んだため、再開始時の回復処理を終了して、オ
ンライントランザクション処理を開始する。
【0018】なお図6において、チェックポイントダン
プファイル83の取得時にトランザクション908が終
了している場合は、再開始時の再開始処理で使用する有
効なチェックポイントダンプファイルはチェックポイン
トダンプファイル83となり、再開始処理におけるジャ
ーナルファイル7のフォワードリード処理(ステップ1
308からステップ1316の処理)では、メモリデー
タベース展開完了ジャーナル(MOJ)を読み込まない
ため、メモリデータベース21の展開に対するメモリデ
ータベース21の回復は、チェックポイントダンプファ
イル83からの回復により完了する。
【0019】
【発明の効果】本発明によれば、オンライン稼働中に生
じるメモリデータベースの途中オープン処理時にメモリ
データベース全体のジャーナルを取得する必要がないの
で、ジャーナルファイルに必要な記憶容量を削減できる
とともに途中オープンに要する時間を短縮できる。
【図面の簡単な説明】
【図1】実施例のコンピュータシステムのブロック図で
ある。
【図2】オンラインデータベース管理システム20がア
クセスするテーブルの構成を示す図である。
【図3】メモリファイルジャーナル(MJ)のデータ形
式の例を示す図である。
【図4】メモリデータベース展開完了ジャーナル(MO
J)のデータ形式の例を示す図である。
【図5】実施例のオンラインデータベース管理システム
20の動作状況を時系列的に示す図である。
【図6】実施例のオンラインデータベース管理システム
20の動作状況についてジャーナル取得を中心に時系列
的に示す図である。
【図7】実施例のオープン処理の流れを示すフローチャ
ートである。
【図8】実施例のクローズ処理の流れを示すフローチャ
ートである。
【図9】実施例のアクセス処理の流れを示すフローチャ
ートである。
【図10a】実施例の回復処理の流れを示すフローチャ
ートである。
【図10b】実施例の回復処理の流れ(続き)を示すフ
ローチャートである。
【符号の説明】
5・・・メモリデータベース格納ファイル、7・・・ジ
ャーナルファイル、20・・・オンラインデータベース
管理システム、21・・・メモリデータベース、81〜
83・・・チェックポイントダンプファイル

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のデータベースレコードから構成され
    主記憶装置上に常駐するメモリデータベースについて、
    該データベースレコードが更新されたとき更新履歴をジ
    ャーナルファイル上に格納し、周期的に該メモリデータ
    ベースの内容をチェックポイントダンプファイルに格納
    し、該メモリデータベースを回復する際には、該チェッ
    クポイントダンプファイルから該メモリデータベースの
    内容を読み込んで回復し、該ジャーナルファイルから該
    更新履歴を読み込んでチェックポイントダンプ以後の該
    メモリデータベースの更新を回復するメモリデータベー
    スの回復方法において、 該メモリデータベースがオープンされるとき外部記憶装
    置上の該メモリデータベースを格納するメモリデータベ
    ース格納ファイルから該メモリデータベースの内容を主
    記憶装置上に展開するとともにメモリデータベースの展
    開が完了したことを示すジャーナルを該ジャーナルファ
    イル上に格納し、該メモリデータベースを回復する際に
    該チェックポイントダンプ以後にジャーナルファイルに
    メモリデータベース展開完了ジャーナルが格納されてい
    れば、該メモリデータベース格納ファイルから該メモリ
    データベースの内容を主記憶装置上に展開しメモリデー
    タベースの途中オープン時の該メモリデータベースの内
    容を回復することを特徴とするメモリデータベースの回
    復方法。
JP7172649A 1995-07-10 1995-07-10 メモリデータベースの回復方法 Pending JPH0926906A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7172649A JPH0926906A (ja) 1995-07-10 1995-07-10 メモリデータベースの回復方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7172649A JPH0926906A (ja) 1995-07-10 1995-07-10 メモリデータベースの回復方法

Publications (1)

Publication Number Publication Date
JPH0926906A true JPH0926906A (ja) 1997-01-28

Family

ID=15945810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7172649A Pending JPH0926906A (ja) 1995-07-10 1995-07-10 メモリデータベースの回復方法

Country Status (1)

Country Link
JP (1) JPH0926906A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039819A (ja) * 2008-08-06 2010-02-18 Hitachi Ltd データベース管理方法、データベース管理装置及びデータベース管理プログラム
US7836162B2 (en) 2006-05-23 2010-11-16 Nec Corporation Transaction processing system and transaction processing method
US8191066B2 (en) 2007-12-21 2012-05-29 Hitachi, Ltd. Continuously loading series of data whether data is requested or not, in response to end command unloading the data in descendent order of reference probability
CN104216802A (zh) * 2014-09-25 2014-12-17 北京金山安全软件有限公司 一种内存数据库恢复方法和设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836162B2 (en) 2006-05-23 2010-11-16 Nec Corporation Transaction processing system and transaction processing method
US8191066B2 (en) 2007-12-21 2012-05-29 Hitachi, Ltd. Continuously loading series of data whether data is requested or not, in response to end command unloading the data in descendent order of reference probability
JP2010039819A (ja) * 2008-08-06 2010-02-18 Hitachi Ltd データベース管理方法、データベース管理装置及びデータベース管理プログラム
JP4589427B2 (ja) * 2008-08-06 2010-12-01 株式会社日立製作所 データベース管理方法、データベース管理装置及びデータベース管理プログラム
US8161006B2 (en) 2008-08-06 2012-04-17 Hitachi, Ltd. Database management method, database management apparatus, and database management program
CN104216802A (zh) * 2014-09-25 2014-12-17 北京金山安全软件有限公司 一种内存数据库恢复方法和设备
CN104216802B (zh) * 2014-09-25 2017-05-10 北京金山安全软件有限公司 一种内存数据库恢复方法和设备

Similar Documents

Publication Publication Date Title
CN111506253B (zh) 一种分布式存储系统及其存储方法
JP3527765B2 (ja) プログラムキャッシュ装置
JPH07110784A (ja) 追加形式レコード格納方法及び装置
JPH0926906A (ja) メモリデータベースの回復方法
JP2008090378A (ja) ハイブリッドファイルシステム、オペレーティングシステム、キャッシュ制御方法および記録媒体
JP3082344B2 (ja) ディスクファイル制御装置およびアップデート方法
JP2828354B2 (ja) データベース管理装置
JP4351328B2 (ja) 情報処理装置及びシステム起動管理方法
JP2000163294A (ja) データベース管理方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
JP3037375B2 (ja) ファイル圧縮処理方法
JP3368378B2 (ja) 記憶内容の管理方法およびデータ処理装置
JPH0877050A (ja) データベース再構成装置及びデータベース再構成方法
CN114880277A (zh) 块设备快照方法、系统和存储介质
JP2526525B2 (ja) メモリ制御方式
JP2972439B2 (ja) ポータブル端末のバックアップ方式
JP3497053B2 (ja) オンラインデータベース管理システムにおける処理方法及びオンラインデータベース管理システム
CN116909490A (zh) 数据处理方法、装置、存储系统及计算机可读存储介质
JPH10143406A (ja) ファイル管理装置
JP3027782B2 (ja) データベース回復方式
JPH01140353A (ja) データベースのデータ保全方式
JP2004240802A (ja) データ処理システム及びデータ処理方法、並びにコンピュータ・プログラム
JPH0259838A (ja) ファイル復旧情報格納位置の最適化によるファイル復旧方式
CN118012669A (zh) 一种分布式文件系统的文件元数据恢复系统与方法
JP2008293108A (ja) ダンプデータ管理システム
JPH07219827A (ja) ジャーナルファイルの分割管理方式およびジャーナルフ ァイルの分割管理方法