JP2003223350A - データベースシステム - Google Patents
データベースシステムInfo
- Publication number
- JP2003223350A JP2003223350A JP2002020182A JP2002020182A JP2003223350A JP 2003223350 A JP2003223350 A JP 2003223350A JP 2002020182 A JP2002020182 A JP 2002020182A JP 2002020182 A JP2002020182 A JP 2002020182A JP 2003223350 A JP2003223350 A JP 2003223350A
- Authority
- JP
- Japan
- Prior art keywords
- version
- page
- database system
- checkpoint
- processing
- 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
Links
- 238000000034 method Methods 0.000 claims description 63
- 238000011084 recovery Methods 0.000 claims description 44
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000011010 flushing procedure Methods 0.000 description 3
- 208000027418 Wounds and injury Diseases 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 208000014674 injury Diseases 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 本発明は、短時間に、かつ少ない操作量でベ
ースページ領域及びバージョンマップ領域の回復を実行
できるデータベースシステムを提供することを目的とす
る。 【解決手段】 本発明のデータベースシステムによれ
ば、古いバージョンが記憶されているベースページ領域
にページの最新の情報を記憶する方式を採用したマルチ
バージョン方式のトランザクション同時実行制御を行
い、複写先更新方式によって新しいバージョンを生成す
る。そして、ページの識別子と当該ページの最新のバー
ジョンの格納位置を示唆するバージョンマップ情報を更
新時に複写し、障害回復時に複写内容を書き戻す。
ースページ領域及びバージョンマップ領域の回復を実行
できるデータベースシステムを提供することを目的とす
る。 【解決手段】 本発明のデータベースシステムによれ
ば、古いバージョンが記憶されているベースページ領域
にページの最新の情報を記憶する方式を採用したマルチ
バージョン方式のトランザクション同時実行制御を行
い、複写先更新方式によって新しいバージョンを生成す
る。そして、ページの識別子と当該ページの最新のバー
ジョンの格納位置を示唆するバージョンマップ情報を更
新時に複写し、障害回復時に複写内容を書き戻す。
Description
【0001】
【発明の属する技術分野】本発明はデータベースシステ
ムに関し、詳細にはデータベースシステム上で発生する
トランザクション障害等の障害から復旧する方法に関す
る。
ムに関し、詳細にはデータベースシステム上で発生する
トランザクション障害等の障害から復旧する方法に関す
る。
【0002】
【従来の技術】従来から、複数のトランザクションの実
行の直列化可能性を保証し、その結果、操作対象のデー
タベースの一貫性を保証するための、トランザクション
の同時実行制御の方法として、ロック方式、時刻印方
式、マルチバージョン方式などが知られている。このう
ち、マルチバージョン方式でにおける書き込み操作は、
操作対象を複製して、新しいバージョンを生成し、新し
いバージョンを操作することでなされる。また、読み出
し操作は、操作対象に対する複数のバージョンの内の一
つに対してバージョンを生成したときの時刻を表す値を
使う方法などによって、直列化可能性を保証するように
選択することでなされる。
行の直列化可能性を保証し、その結果、操作対象のデー
タベースの一貫性を保証するための、トランザクション
の同時実行制御の方法として、ロック方式、時刻印方
式、マルチバージョン方式などが知られている。このう
ち、マルチバージョン方式でにおける書き込み操作は、
操作対象を複製して、新しいバージョンを生成し、新し
いバージョンを操作することでなされる。また、読み出
し操作は、操作対象に対する複数のバージョンの内の一
つに対してバージョンを生成したときの時刻を表す値を
使う方法などによって、直列化可能性を保証するように
選択することでなされる。
【0003】トランザクション同時実行制御にどの方式
を使うかに関わらず、一般的にトランザクションのある
操作内容を取り消したり、再実行するための情報とし
て、トランザクションの操作ごとに、その操作を取り消
すための情報と、再実行するための情報を組にして、記
憶することが行われてきた。この記憶内容のことをログ
と呼ぶ。
を使うかに関わらず、一般的にトランザクションのある
操作内容を取り消したり、再実行するための情報とし
て、トランザクションの操作ごとに、その操作を取り消
すための情報と、再実行するための情報を組にして、記
憶することが行われてきた。この記憶内容のことをログ
と呼ぶ。
【0004】記憶する情報の種類によって、ログは以下
のように分類される。論理ログ(logical log)は、どの
ような操作を行ったか、その操作を取り消すためにはど
のような操作を行うかを記録する。例えば、「表Aの行
識別子が10の行を削除」と「表Aに行識別子が10
で、列の値としてa,b,cを持つ行を挿入」を組にし
て記録する。
のように分類される。論理ログ(logical log)は、どの
ような操作を行ったか、その操作を取り消すためにはど
のような操作を行うかを記録する。例えば、「表Aの行
識別子が10の行を削除」と「表Aに行識別子が10
で、列の値としてa,b,cを持つ行を挿入」を組にし
て記録する。
【0005】物理ログ(physical log)は、ファイル中の
ページに対する更新前と更新後のイメージを記録する。
論理ログと比較して、記録する情報量は膨大になるが、
操作の実行、再実行は単にページの操作になるため、単
純である。
ページに対する更新前と更新後のイメージを記録する。
論理ログと比較して、記録する情報量は膨大になるが、
操作の実行、再実行は単にページの操作になるため、単
純である。
【0006】論理・物理の折衷ログ(physiological lo
g)は、表や索引を構成するレコードファイルやB木ファ
イルなど、論理的なファイルに対して、どのような操作
を行ったか、その操作を取り消すためにどのような操作
を行うかを記録する。必要に応じて、ページに対する操
作の内容を記録する。記録する情報量は、論理ログと物
理ログの中間になる。論理ログと比較して、ページに対
してログに記録された操作を適用すべきかを判断しやす
い。
g)は、表や索引を構成するレコードファイルやB木ファ
イルなど、論理的なファイルに対して、どのような操作
を行ったか、その操作を取り消すためにどのような操作
を行うかを記録する。必要に応じて、ページに対する操
作の内容を記録する。記録する情報量は、論理ログと物
理ログの中間になる。論理ログと比較して、ページに対
してログに記録された操作を適用すべきかを判断しやす
い。
【0007】また、データベースシステムにおける障害
からの復旧は、ある時点で確保されている一貫性のある
データベースから、これらのログにより、その時点以降
の操作を再実行(以下REDOと称す)、または取り消す
(以下UNDOと称す)することにより行う。
からの復旧は、ある時点で確保されている一貫性のある
データベースから、これらのログにより、その時点以降
の操作を再実行(以下REDOと称す)、または取り消す
(以下UNDOと称す)することにより行う。
【0008】ここで、データベースシステムにおける障
害は、トランザクション障害、システム障害及び媒体障
害の3種類に分類できる。各々の障害について説明する
と、トランザクション障害とは、トランザクションが異
常終了することである。原因には、利用者からの明示的
なアボートやデッドロックを回避するためのデータベー
ス管理システムによる強制終了などがある。また、シス
テム障害とは、システムを構成するハードウェアの不具
合からシステムが停止し、メモリなどの揮発性媒体上の
内容を消失することである。原因には、停電やデータベ
ース管理システムの不具合などがある。そして、媒体障
害とは、データベースを格納するディスクなどの不揮発
性媒体において障害が発生し、内容を消失することであ
る。原因には、ディスククラッシュ、オペレーティング
システムのデータ書き出しルーチンの不具合などがあ
る。
害は、トランザクション障害、システム障害及び媒体障
害の3種類に分類できる。各々の障害について説明する
と、トランザクション障害とは、トランザクションが異
常終了することである。原因には、利用者からの明示的
なアボートやデッドロックを回避するためのデータベー
ス管理システムによる強制終了などがある。また、シス
テム障害とは、システムを構成するハードウェアの不具
合からシステムが停止し、メモリなどの揮発性媒体上の
内容を消失することである。原因には、停電やデータベ
ース管理システムの不具合などがある。そして、媒体障
害とは、データベースを格納するディスクなどの不揮発
性媒体において障害が発生し、内容を消失することであ
る。原因には、ディスククラッシュ、オペレーティング
システムのデータ書き出しルーチンの不具合などがあ
る。
【0009】また、上記トランザクション障害から復旧
するとき、そのトランザクションにおける最後の操作の
終了時点で、データベースの一貫性は保証されているの
で、トランザクションを開始してから障害が発生する直
前まで行われた操作を、ログを読み出しながらUNDO
して、復旧する。また、上記媒体障害に対してトランザ
クションの耐久性を保証するには、データベースやログ
を別の媒体に複製する、つまり、データベースのバック
アップを前もって取っておく必要がある。更に、媒体障
害から復旧するには、先ずバックアップした一貫性のあ
るデータベースを戻してから、バックアップしてから障
害が発生する直前まで行われた操作を、ログを読み出し
ながらREDO−UNDOして、復旧する。ログの記録
は、WAL(Write Ahead Logging)プロトコルに従う必要が
ある。すなわち、データベースに対する更新操作のバッ
ファリング内容をディスクへ書き込むときは、必ず、そ
の操作のログはディスクに書き込まれていなければなら
ない。また、システム障害も同様に回復可能であるが、
システムの運用中にチェックポイント処理を行うことに
より、復旧時間を短縮することができる。
するとき、そのトランザクションにおける最後の操作の
終了時点で、データベースの一貫性は保証されているの
で、トランザクションを開始してから障害が発生する直
前まで行われた操作を、ログを読み出しながらUNDO
して、復旧する。また、上記媒体障害に対してトランザ
クションの耐久性を保証するには、データベースやログ
を別の媒体に複製する、つまり、データベースのバック
アップを前もって取っておく必要がある。更に、媒体障
害から復旧するには、先ずバックアップした一貫性のあ
るデータベースを戻してから、バックアップしてから障
害が発生する直前まで行われた操作を、ログを読み出し
ながらREDO−UNDOして、復旧する。ログの記録
は、WAL(Write Ahead Logging)プロトコルに従う必要が
ある。すなわち、データベースに対する更新操作のバッ
ファリング内容をディスクへ書き込むときは、必ず、そ
の操作のログはディスクに書き込まれていなければなら
ない。また、システム障害も同様に回復可能であるが、
システムの運用中にチェックポイント処理を行うことに
より、復旧時間を短縮することができる。
【0010】以下、ログとして物理ログ及び論理ログを
使うデータベースシステムについて説明する。チェック
ポイント処理を以下の手順1〜4で行う。 1.トランザクションの実行、及び新たなトランザクシ
ョンの受付を一時停止する。 2.バッファリングされているデータベースの更新内容
のうち、まだディスクに書き出されていないものを全て
書き出すことにより、データベースを構成するファイル
の一貫性をこの時点で保証する。 3.あるトランザクションがチェックポイント処理後に
最初にページを更新するごとに、その更新前のページイ
メージを物理ログへ記録する。この物理ログへの記録内
容を破棄する。 4.トランザクションの実行、及び新たなトランザクシ
ョンの受付を再開する。 以上のチェックポイント処理中には、書き出す必要のあ
るバッファリングされているデータベースの更新内容を
全てディスクへ書き出さなければならないので、場合に
よってはかなり長時間、トランザクションの実行及び受
付を停止しなければならない。
使うデータベースシステムについて説明する。チェック
ポイント処理を以下の手順1〜4で行う。 1.トランザクションの実行、及び新たなトランザクシ
ョンの受付を一時停止する。 2.バッファリングされているデータベースの更新内容
のうち、まだディスクに書き出されていないものを全て
書き出すことにより、データベースを構成するファイル
の一貫性をこの時点で保証する。 3.あるトランザクションがチェックポイント処理後に
最初にページを更新するごとに、その更新前のページイ
メージを物理ログへ記録する。この物理ログへの記録内
容を破棄する。 4.トランザクションの実行、及び新たなトランザクシ
ョンの受付を再開する。 以上のチェックポイント処理中には、書き出す必要のあ
るバッファリングされているデータベースの更新内容を
全てディスクへ書き出さなければならないので、場合に
よってはかなり長時間、トランザクションの実行及び受
付を停止しなければならない。
【0011】この時間を短縮するために、以下のような
ファジーチェックポイント処理が提案されている。 1.トランザクションの実行、及び新たなトランザクシ
ョンの受付を一時停止する。 2.バッファリングされているデータベースの更新内容
で、まだディスクに書き出されていないもののうち、直
前のファジーチェックポイント処理時のときも書き出さ
れていなかったものを全て書き出す。 3.バッファリングされているデータベースの更新内容
で、まだディスクに書き出されていないものを、覚えて
おく。これは、次のファジーチェックポイント処理の上
記2.で使用する。 4.物理ログから2つ前のファジーチェックポイント処
理が終了してから、直前のファジーチェックポイント処
理を開始するまでに記録した内容を全て破棄する。 5.トランザクションの実行、及び新たなトランザクシ
ョンの受付を再開する。 ファジーチェックポイントでは、書き出す必要のあるバ
ッファリングされているデータベースの更新内容のう
ち、直前のファジーチェックポイントでも書き出されて
いなかったもののみ、ディスクに書き出すので、普通の
チェックポイント処理に比べて、処理時間が短縮される
可能性が高い。
ファジーチェックポイント処理が提案されている。 1.トランザクションの実行、及び新たなトランザクシ
ョンの受付を一時停止する。 2.バッファリングされているデータベースの更新内容
で、まだディスクに書き出されていないもののうち、直
前のファジーチェックポイント処理時のときも書き出さ
れていなかったものを全て書き出す。 3.バッファリングされているデータベースの更新内容
で、まだディスクに書き出されていないものを、覚えて
おく。これは、次のファジーチェックポイント処理の上
記2.で使用する。 4.物理ログから2つ前のファジーチェックポイント処
理が終了してから、直前のファジーチェックポイント処
理を開始するまでに記録した内容を全て破棄する。 5.トランザクションの実行、及び新たなトランザクシ
ョンの受付を再開する。 ファジーチェックポイントでは、書き出す必要のあるバ
ッファリングされているデータベースの更新内容のう
ち、直前のファジーチェックポイントでも書き出されて
いなかったもののみ、ディスクに書き出すので、普通の
チェックポイント処理に比べて、処理時間が短縮される
可能性が高い。
【0012】普通のチェックポイント処理を行っている
場合、システム障害からの回復は、以下のようにして行
う。 1.直前のチェックポイント処理後に更新されたページ
に対して、物理ログに記録されている更新前のページイ
メージを書き戻すことにより、チェックポイント処理終
了時のデータベースの状態に戻す。 2.直前のチェックポイント処理時に実行されていたト
ランザクションのチェックポイント処理後の操作は論理
ログを読み出しながら再実行される。 3.障害発生時に終了していないトランザクションは論
理ログを読み出しながら取り消される。
場合、システム障害からの回復は、以下のようにして行
う。 1.直前のチェックポイント処理後に更新されたページ
に対して、物理ログに記録されている更新前のページイ
メージを書き戻すことにより、チェックポイント処理終
了時のデータベースの状態に戻す。 2.直前のチェックポイント処理時に実行されていたト
ランザクションのチェックポイント処理後の操作は論理
ログを読み出しながら再実行される。 3.障害発生時に終了していないトランザクションは論
理ログを読み出しながら取り消される。
【0013】このようにファジーチェックポイント処理
を行っている場合、2つ前のチェックポイント処理の開
始する前までに更新されたデータベースの内容は確実に
ディスクに書き出されているが、それ以降の内容は保証
されない。そのため、普通のチェックポイント処理の場
合は最初に直前のチェックポイント処理終了直後の状態
に戻すが、ファジーチェックポイント処理の場合は2つ
前のチェックポイント処理終了直後の状態に戻す。チェ
ックポイント処理は、データベースのバックアップと比
較して短時間に行えるので、システムの運用中にかなり
の頻度で定期的に行うことができる。そのため、バック
アップ内容からの回復処理と比較して、REDO−UN
DOする操作の量が少なくなるので、回復時間が短くな
る。
を行っている場合、2つ前のチェックポイント処理の開
始する前までに更新されたデータベースの内容は確実に
ディスクに書き出されているが、それ以降の内容は保証
されない。そのため、普通のチェックポイント処理の場
合は最初に直前のチェックポイント処理終了直後の状態
に戻すが、ファジーチェックポイント処理の場合は2つ
前のチェックポイント処理終了直後の状態に戻す。チェ
ックポイント処理は、データベースのバックアップと比
較して短時間に行えるので、システムの運用中にかなり
の頻度で定期的に行うことができる。そのため、バック
アップ内容からの回復処理と比較して、REDO−UN
DOする操作の量が少なくなるので、回復時間が短くな
る。
【0014】また、マルチバージョン方式のトランザク
ション同時実行制御を行うデータベースシステムにおけ
るデータベースシステムを介さないファイルバックアッ
プ手段による方法が提案されている。この方法では、バ
ージョンページ領域中の更新前のバージョンを物理ログ
として使用することにしているため、障害が発生する
と、普通のチェックポイント処理を行っていれば、最後
のチェックポイント処理終了時へ、ファジーチェックポ
イント処理を行っていれば、2つ前のチェックポイント
処理終了時へ、それぞれバージョンページ領域を回復す
ることができる。
ション同時実行制御を行うデータベースシステムにおけ
るデータベースシステムを介さないファイルバックアッ
プ手段による方法が提案されている。この方法では、バ
ージョンページ領域中の更新前のバージョンを物理ログ
として使用することにしているため、障害が発生する
と、普通のチェックポイント処理を行っていれば、最後
のチェックポイント処理終了時へ、ファジーチェックポ
イント処理を行っていれば、2つ前のチェックポイント
処理終了時へ、それぞれバージョンページ領域を回復す
ることができる。
【0015】
【発明が解決しようとする課題】しかしながら、上記従
来例には、ベースページ領域やバージョンマップ領域に
ついては回復する手段が用意されていない。
来例には、ベースページ領域やバージョンマップ領域に
ついては回復する手段が用意されていない。
【0016】本発明はこの問題点を解決するためのもの
であり、短時間に、かつ少ない操作量でベースページ領
域及びバージョンマップ領域の回復を実行できるデータ
ベースシステムを提供することを目的とする。
であり、短時間に、かつ少ない操作量でベースページ領
域及びバージョンマップ領域の回復を実行できるデータ
ベースシステムを提供することを目的とする。
【0017】
【課題を解決するための手段】前記問題点を解決するた
めに、本発明によれば、古いバージョンが記憶されてい
るベースページ領域にページの最新の情報を記憶する方
式を採用したマルチバージョン方式のトランザクション
同時実行制御を行うデータベースシステムで、複写先更
新方式によって新しいバージョンを生成するデータベー
スシステムにおいて、複数のトランザクションが最新の
バージョンを更新しながら、データベースを構成するフ
ァイルに直接アクセスしてデータベースをバックアップ
することを可能にする。また、システム障害からの回復
処理では普通のチェックポイント処理を行っていれば、
または障害発生時の直前のチェックポイント終了時ファ
ジーチェックポイント処理を行っていれば、そして障害
発生時の2つ前のチェックポイント終了時媒体障害から
の回復処理ではバックアップ内容をディスクへ書き戻せ
ば、後はシステム障害と同様に、または普通のチェック
ポイント処理を行っていれば、バックアップ開始時の直
前のチェックポイント終了時ファジーチェックポイント
処理を行っていれば、バックアップ開始時の2つ前のチ
ェックポイント終了時のデータベースへ、最新バージョ
ンを選択するための管理情報を回復するための少しの更
新操作だけで短時間で戻すことを可能にする。
めに、本発明によれば、古いバージョンが記憶されてい
るベースページ領域にページの最新の情報を記憶する方
式を採用したマルチバージョン方式のトランザクション
同時実行制御を行うデータベースシステムで、複写先更
新方式によって新しいバージョンを生成するデータベー
スシステムにおいて、複数のトランザクションが最新の
バージョンを更新しながら、データベースを構成するフ
ァイルに直接アクセスしてデータベースをバックアップ
することを可能にする。また、システム障害からの回復
処理では普通のチェックポイント処理を行っていれば、
または障害発生時の直前のチェックポイント終了時ファ
ジーチェックポイント処理を行っていれば、そして障害
発生時の2つ前のチェックポイント終了時媒体障害から
の回復処理ではバックアップ内容をディスクへ書き戻せ
ば、後はシステム障害と同様に、または普通のチェック
ポイント処理を行っていれば、バックアップ開始時の直
前のチェックポイント終了時ファジーチェックポイント
処理を行っていれば、バックアップ開始時の2つ前のチ
ェックポイント終了時のデータベースへ、最新バージョ
ンを選択するための管理情報を回復するための少しの更
新操作だけで短時間で戻すことを可能にする。
【0018】また、トランザクションを参照操作のみを
行う読取専用トランザクションと、更新操作も行う更新
トランザクションに分類したとき、本発明の回復処理で
は、システム障害または障害発生時媒体障害では、バッ
クアップ開始時の直前または2つ前のチェックポイント
終了時の状態にデータベースを戻してから、論理ログの
内容を読み出しながらトランザクションの再実行と取り
消しを行うが、この再実行と取り消しの間、利用者から
の読取専用トランザクションの実行を可能にする。
行う読取専用トランザクションと、更新操作も行う更新
トランザクションに分類したとき、本発明の回復処理で
は、システム障害または障害発生時媒体障害では、バッ
クアップ開始時の直前または2つ前のチェックポイント
終了時の状態にデータベースを戻してから、論理ログの
内容を読み出しながらトランザクションの再実行と取り
消しを行うが、この再実行と取り消しの間、利用者から
の読取専用トランザクションの実行を可能にする。
【0019】その結果、参照のみを行う利用者に対して
は、システム障害が発生しても、サービスの提供を回復
処理のためにほとんど停止しなくてもよく、媒体傷害の
原因であるディスククラッシュが起きても、バックアッ
プ内容をディスクへ書き戻せば、システム障害時と同様
にほとんど時間をかけずにサービスの提供を開始でき
る。
は、システム障害が発生しても、サービスの提供を回復
処理のためにほとんど停止しなくてもよく、媒体傷害の
原因であるディスククラッシュが起きても、バックアッ
プ内容をディスクへ書き戻せば、システム障害時と同様
にほとんど時間をかけずにサービスの提供を開始でき
る。
【0020】また、システムを構成するディスクを多重
化(ミラーリング)するだけで、媒体障害が発生しても、
システム障害の場合と同様の効果を得ることができる。
化(ミラーリング)するだけで、媒体障害が発生しても、
システム障害の場合と同様の効果を得ることができる。
【0021】
【発明の実施の形態】本発明のデータベースシステムに
よれば、古いバージョンが記憶されているベースページ
領域にページの最新の情報を記憶する方式を採用したマ
ルチバージョン方式のトランザクション同時実行制御を
行い、複写先更新方式によって新しいバージョンを生成
する。そして、ページの識別子と当該ページの最新のバ
ージョンの格納位置を示唆するバージョンマップ情報を
更新時に複写し、障害回復時に複写内容を書き戻す。
よれば、古いバージョンが記憶されているベースページ
領域にページの最新の情報を記憶する方式を採用したマ
ルチバージョン方式のトランザクション同時実行制御を
行い、複写先更新方式によって新しいバージョンを生成
する。そして、ページの識別子と当該ページの最新のバ
ージョンの格納位置を示唆するバージョンマップ情報を
更新時に複写し、障害回復時に複写内容を書き戻す。
【0022】
【実施例】図1は本発明のデータベースシステムのシス
テム全体のハードウェア構成を示すブロック図である。
同図において、本発明のデータベースシステムは、主
に、サーバ100と1つ又は複数の端末装置200−1
〜200−nとを通信ネットワーク300を介して接続
されて構築されているシステムである。ここで、サーバ
100は、メモリ101、CPU102及びハードディ
スク103を有し、ソフトウェアによるプログラムが実
行可能である。また、このサーバ100は、端末装置2
00−1〜200−nから入力された問合せ要求に応じ
た問合せ処理を行い、その結果を端末装置200−1〜
200−nに返すためのコンピュータであり、端末装置
200−1〜200−nからのバックアップ対象である
ファイルの取得要求に応じて、ファイルの内容を端末に
返したり、端末装置200−1〜200−nからのバッ
クアップ対象のあるファイルのテープへの書き込み要求
に応じて、ファイルの内容をテープドライブ104へ書
き込んだりするために利用するコンピュータでもある。
また、ハードディスク103は、媒体障害に備えるため
にミラーリングするための技術、例えばRAIDによっ
てデータベースファイルを記録する場合もある。更に、
端末装置200−1〜200−nは、メモリ201−1
〜201−n、CPU202−1〜202−n、ハード
ディスク203−1〜203−nを有し、システムの利
用者がサーバで実行されている、後述する図2の点線で
囲んだ、任意のデータベースシステムへの問合せ要求を
入力したり、問合せの結果を出力したりするために利用
するコンピュータである。また、端末装置200−1〜
200−nは、サーバ100のハードディスク103に
記録されているデータベースファイルを問合せて、その
内容をテープドライブ240−1〜240−nへ書き込
んだりするために利用するコンピュータでもある。一般
に、端末装置200−1〜200−nには、問合せ要求
を入力するためのキーボード230−1〜230−n及
びマウス220−1〜220−nなどのポインティング
デバイスや、問合せ結果を表示するためのディスプレイ
210−1〜210−nがそれぞれ装備される。端末装
置200−1〜200−nでは、図2のファイルバック
アップ手段11、バックアップ開始・終了指示手段13
及び問合せ入出力手段14がプログラムとして実行され
る。テープドライブ240−1〜240−nにはバック
アップファイルを記録できる。なお、通信ネットワーク
300は、サーバ100と端末装置200−1〜200
−nをつなぐ伝送路である。一般に、ケーブルで実現さ
れ、通信プロトコルにはTCP/IPが使われる。ただ
し、サーバ100と端末装置200−1〜200−nと
の通信プロトコルが一致すれば、ケーブルを使用しない
無線LANや放送波を使ったネットワークでも構わな
い。
テム全体のハードウェア構成を示すブロック図である。
同図において、本発明のデータベースシステムは、主
に、サーバ100と1つ又は複数の端末装置200−1
〜200−nとを通信ネットワーク300を介して接続
されて構築されているシステムである。ここで、サーバ
100は、メモリ101、CPU102及びハードディ
スク103を有し、ソフトウェアによるプログラムが実
行可能である。また、このサーバ100は、端末装置2
00−1〜200−nから入力された問合せ要求に応じ
た問合せ処理を行い、その結果を端末装置200−1〜
200−nに返すためのコンピュータであり、端末装置
200−1〜200−nからのバックアップ対象である
ファイルの取得要求に応じて、ファイルの内容を端末に
返したり、端末装置200−1〜200−nからのバッ
クアップ対象のあるファイルのテープへの書き込み要求
に応じて、ファイルの内容をテープドライブ104へ書
き込んだりするために利用するコンピュータでもある。
また、ハードディスク103は、媒体障害に備えるため
にミラーリングするための技術、例えばRAIDによっ
てデータベースファイルを記録する場合もある。更に、
端末装置200−1〜200−nは、メモリ201−1
〜201−n、CPU202−1〜202−n、ハード
ディスク203−1〜203−nを有し、システムの利
用者がサーバで実行されている、後述する図2の点線で
囲んだ、任意のデータベースシステムへの問合せ要求を
入力したり、問合せの結果を出力したりするために利用
するコンピュータである。また、端末装置200−1〜
200−nは、サーバ100のハードディスク103に
記録されているデータベースファイルを問合せて、その
内容をテープドライブ240−1〜240−nへ書き込
んだりするために利用するコンピュータでもある。一般
に、端末装置200−1〜200−nには、問合せ要求
を入力するためのキーボード230−1〜230−n及
びマウス220−1〜220−nなどのポインティング
デバイスや、問合せ結果を表示するためのディスプレイ
210−1〜210−nがそれぞれ装備される。端末装
置200−1〜200−nでは、図2のファイルバック
アップ手段11、バックアップ開始・終了指示手段13
及び問合せ入出力手段14がプログラムとして実行され
る。テープドライブ240−1〜240−nにはバック
アップファイルを記録できる。なお、通信ネットワーク
300は、サーバ100と端末装置200−1〜200
−nをつなぐ伝送路である。一般に、ケーブルで実現さ
れ、通信プロトコルにはTCP/IPが使われる。ただ
し、サーバ100と端末装置200−1〜200−nと
の通信プロトコルが一致すれば、ケーブルを使用しない
無線LANや放送波を使ったネットワークでも構わな
い。
【0023】図2は本発明のデータベースシステムのソ
フトウェアの構成図である。同図において、本発明のデ
ータベースシステムは、ファイルバックアップ手段1
1、バックアップ開始・終了指示手段12、問合せ入出
力手段13、障害回復開始手段14、問合せ実行手段1
5、トランザクション制御手段16、チェックポイント
制御手段17、障害回復手段18、データベースファイ
ルアクセス手段19、タイムスタンプ生成手段20、ロ
グファイルアクセス手段21、データベースファイル2
2、ログファイル23及びバックアップファイル24を
含んで構成されている。
フトウェアの構成図である。同図において、本発明のデ
ータベースシステムは、ファイルバックアップ手段1
1、バックアップ開始・終了指示手段12、問合せ入出
力手段13、障害回復開始手段14、問合せ実行手段1
5、トランザクション制御手段16、チェックポイント
制御手段17、障害回復手段18、データベースファイ
ルアクセス手段19、タイムスタンプ生成手段20、ロ
グファイルアクセス手段21、データベースファイル2
2、ログファイル23及びバックアップファイル24を
含んで構成されている。
【0024】また、ファイルバックアップ手段11は、
データベースを構成するファイルを、データベースシス
テムを介さずに直接アクセスし、そのバックアップを取
る。バックアップ開始・終了指示手段12は、バックア
ップの開始または終了をデータベース管理システムに対
して指示する。問合せ入出力手段13は、問合せ要求を
受付、その結果を出力する。障害回復開始手段14は、
障害回復の開始をデータベースシステムに対して指示す
る。問合せ実行手段15は、問合せ入出力手段13から
の問合せを、後述するデータベースファイルアクセス手
段19を使って実行し、その結果を返す。また、バック
アップ開始・終了指示手段12からの指示を実行する。
また、問合せの内容に応じた論理ログを、後述するログ
ファイルアクセス手段21を使って記録する。トランザ
クション制御手段16は、問合せ入出力手段13からの
要求に応じて、トランザクションを開始、終了する。障
害回復手段18によって障害回復中か、障害回復中であ
れば、どのような回復処理中かを判断し、その結果に応
じて、読取専用トランザクションや更新トランザクショ
ンの開始を禁止する。アボートするトランザクションに
ついては、そのトランザクションが行った全ての操作
を、ログファイルアクセス手段を使って取り消す。ま
た、マルチバージョン方式によりトランザクションの同
時実行制御を行う。チェックポイント制御手段17は、
一定時間ごとやある条件を満たしたときに、普通のチェ
ックポイント処理またはファジーチェックポイント処理
を行う。チェックポイント処理の終了時に、後述するタ
イムスタンプ生成手段20を使って新たなタイムスタン
プを求め、記憶し、ログファイルアクセス手段21を使
って論理ログとしても記録する。データベースファイル
アクセス手段19からの要求に応じ、直前や2つ前のチ
ェックポイント処理の終了時点のタイムスタンプとし
て、この記憶している値を返す。障害回復手段18は、
本手段を実装するプログラムの開始時、または障害回復
開始手段14からの要求に応じて、障害回復を開始す
る。必要に応じて障害発生時までに実行されたトランザ
クションを、ログファイルアクセス手段21を使ってR
EDO、UNDOする。
データベースを構成するファイルを、データベースシス
テムを介さずに直接アクセスし、そのバックアップを取
る。バックアップ開始・終了指示手段12は、バックア
ップの開始または終了をデータベース管理システムに対
して指示する。問合せ入出力手段13は、問合せ要求を
受付、その結果を出力する。障害回復開始手段14は、
障害回復の開始をデータベースシステムに対して指示す
る。問合せ実行手段15は、問合せ入出力手段13から
の問合せを、後述するデータベースファイルアクセス手
段19を使って実行し、その結果を返す。また、バック
アップ開始・終了指示手段12からの指示を実行する。
また、問合せの内容に応じた論理ログを、後述するログ
ファイルアクセス手段21を使って記録する。トランザ
クション制御手段16は、問合せ入出力手段13からの
要求に応じて、トランザクションを開始、終了する。障
害回復手段18によって障害回復中か、障害回復中であ
れば、どのような回復処理中かを判断し、その結果に応
じて、読取専用トランザクションや更新トランザクショ
ンの開始を禁止する。アボートするトランザクションに
ついては、そのトランザクションが行った全ての操作
を、ログファイルアクセス手段を使って取り消す。ま
た、マルチバージョン方式によりトランザクションの同
時実行制御を行う。チェックポイント制御手段17は、
一定時間ごとやある条件を満たしたときに、普通のチェ
ックポイント処理またはファジーチェックポイント処理
を行う。チェックポイント処理の終了時に、後述するタ
イムスタンプ生成手段20を使って新たなタイムスタン
プを求め、記憶し、ログファイルアクセス手段21を使
って論理ログとしても記録する。データベースファイル
アクセス手段19からの要求に応じ、直前や2つ前のチ
ェックポイント処理の終了時点のタイムスタンプとし
て、この記憶している値を返す。障害回復手段18は、
本手段を実装するプログラムの開始時、または障害回復
開始手段14からの要求に応じて、障害回復を開始す
る。必要に応じて障害発生時までに実行されたトランザ
クションを、ログファイルアクセス手段21を使ってR
EDO、UNDOする。
【0025】次に、データベースファイルアクセス手段
19は、データベースを構成するファイルを操作するた
めのインタフェースを提供し、ディスクへの入出力をバ
ッファリングする。バッファリングされた内容のディス
クへの書き出しは、WALプロトコルに従うように、ログ
ファイルアクセス手段21と協調して行われる。また、
トランザクション制御手段16によるマルチバージョン
方式でのトランザクションの同時実行制御を可能にする
ために、データベースのバージョンの生成、破棄や同期
を行う。そして、タイムスタンプ生成手段20は、チェ
ックポイント制御手段17やデータベースファイルアク
セス手段19からの要求に応じて、後述するバージョン
マップ領域中の多重化されたブロックの選択に使用する
タイムスタンプを生成し、永続化する。また、障害回復
時に指定された値にタイムスタンプを初期化する。
19は、データベースを構成するファイルを操作するた
めのインタフェースを提供し、ディスクへの入出力をバ
ッファリングする。バッファリングされた内容のディス
クへの書き出しは、WALプロトコルに従うように、ログ
ファイルアクセス手段21と協調して行われる。また、
トランザクション制御手段16によるマルチバージョン
方式でのトランザクションの同時実行制御を可能にする
ために、データベースのバージョンの生成、破棄や同期
を行う。そして、タイムスタンプ生成手段20は、チェ
ックポイント制御手段17やデータベースファイルアク
セス手段19からの要求に応じて、後述するバージョン
マップ領域中の多重化されたブロックの選択に使用する
タイムスタンプを生成し、永続化する。また、障害回復
時に指定された値にタイムスタンプを初期化する。
【0026】データベースファイル22は、データベー
ス中のデータオブジェクトごとに複数のバージョンを記
憶する。記憶するバージョンは、あるチェックポイント
処理の終了時に回復するための物理ログとしても使用す
る。21ログファイルアクセス手段ログファイルを操作
するためのインタフェースを提供し、ディスクへの入出
力をバッファリングする。ログファイル23は、トラン
ザクションで行われた操作を再実行及び取り消すために
必要な情報である論理ログを記憶する。トランザクショ
ンの開始、終了や、チェックポイント処理の実施したこ
とも記憶する。
ス中のデータオブジェクトごとに複数のバージョンを記
憶する。記憶するバージョンは、あるチェックポイント
処理の終了時に回復するための物理ログとしても使用す
る。21ログファイルアクセス手段ログファイルを操作
するためのインタフェースを提供し、ディスクへの入出
力をバッファリングする。ログファイル23は、トラン
ザクションで行われた操作を再実行及び取り消すために
必要な情報である論理ログを記憶する。トランザクショ
ンの開始、終了や、チェックポイント処理の実施したこ
とも記憶する。
【0027】以下の説明では、マルチバージョン同時実
行制御方式におけるバージョンの最小構成単位を、デー
タベースを構成するファイル中のページとする。
行制御方式におけるバージョンの最小構成単位を、デー
タベースを構成するファイル中のページとする。
【0028】もし、バージョンの最小構成単位がページ
でなくても、それがファイル以下のなんらかの単位であ
れば、以下の記述中のページをそれで置き換えることに
より対応できる。また、ディスクへの入出力の単位をブ
ロックと呼ぶ。
でなくても、それがファイル以下のなんらかの単位であ
れば、以下の記述中のページをそれで置き換えることに
より対応できる。また、ディスクへの入出力の単位をブ
ロックと呼ぶ。
【0029】本発明では、複写先更新方式によって新し
いバージョンを生成する。つまり、あるページの最新の
バージョンの更新するときに、必要があれば、それを複
写して、複写元をひとつ古いバージョンに、複写先を新
たな最新のバージョンにしてから、複写先を更新する。
いバージョンを生成する。つまり、あるページの最新の
バージョンの更新するときに、必要があれば、それを複
写して、複写元をひとつ古いバージョンに、複写先を新
たな最新のバージョンにしてから、複写先を更新する。
【0030】図3及び図5に示すように、データベース
は、以下の領域から構成されるとみなす。それぞれの領
域は、複数のファイルから構成される。ベースページ領
域31には、あるページの最も古いバージョンが記憶さ
れる。この領域は、データベースファイルに存在する。
また、バージョンページ領域32には、あるページのバ
ージョンのうち、最も古いもの以外が全て記憶される。
この領域は、データベースファイルに存在する。更に、
バージョンマップ領域33には、ページごとに、ページ
の識別子と、そのページの最新のバージョンの格納位置
を記憶する。あるバージョンの格納位置は、例えばバー
ジョンを記憶するデータベースファイルの識別子または
パス名と、バージョンを記憶する領域のデータベースフ
ァイルの先頭からのオフセットの組で表現できる。この
領域は、データベースファイルに存在する。また、同期
ログ領域34には、後述する同期処理時に、上書き前の
ベースページ領域の内容が記憶される。この領域は、デ
ータベースファイルに存在する。更に、論理ログ領域に
は、データベースに対する操作を取り消したり、再実行
するための情報である論理ログを記録する。論理ログに
は記録した順序をあらわす情報も記録するので、記録し
た順や逆順に論理ログを読み出すことができる。この領
域は、ログファイルに存在する。
は、以下の領域から構成されるとみなす。それぞれの領
域は、複数のファイルから構成される。ベースページ領
域31には、あるページの最も古いバージョンが記憶さ
れる。この領域は、データベースファイルに存在する。
また、バージョンページ領域32には、あるページのバ
ージョンのうち、最も古いもの以外が全て記憶される。
この領域は、データベースファイルに存在する。更に、
バージョンマップ領域33には、ページごとに、ページ
の識別子と、そのページの最新のバージョンの格納位置
を記憶する。あるバージョンの格納位置は、例えばバー
ジョンを記憶するデータベースファイルの識別子または
パス名と、バージョンを記憶する領域のデータベースフ
ァイルの先頭からのオフセットの組で表現できる。この
領域は、データベースファイルに存在する。また、同期
ログ領域34には、後述する同期処理時に、上書き前の
ベースページ領域の内容が記憶される。この領域は、デ
ータベースファイルに存在する。更に、論理ログ領域に
は、データベースに対する操作を取り消したり、再実行
するための情報である論理ログを記録する。論理ログに
は記録した順序をあらわす情報も記録するので、記録し
た順や逆順に論理ログを読み出すことができる。この領
域は、ログファイルに存在する。
【0031】バージョンページ領域中のバージョンごと
に、以下の情報が記録される。ひとつ前のバージョンの
格納位置とは、自分自身を生成するときに元となったバ
ージョンの格納位置である。使用するマルチバージョン
同時実行制御方式が必要とする情報があれば、記憶す
る。例えば、あるトランザクションが参照すべきバージ
ョンを選択するためのそのバージョンを生成したときの
時刻を表す値などがある。バージョンデータとは、ある
時点におけるデータベース中のデータオブジェクトその
ものの全体または一部である。あるトランザクションが
あるページの最新のバージョンを更新するとき、以下の
条件のいずれかを満たせば、その最新のバージョンをバ
ージョンページ領域に複写して、新しいバージョンを生
成する。
に、以下の情報が記録される。ひとつ前のバージョンの
格納位置とは、自分自身を生成するときに元となったバ
ージョンの格納位置である。使用するマルチバージョン
同時実行制御方式が必要とする情報があれば、記憶す
る。例えば、あるトランザクションが参照すべきバージ
ョンを選択するためのそのバージョンを生成したときの
時刻を表す値などがある。バージョンデータとは、ある
時点におけるデータベース中のデータオブジェクトその
ものの全体または一部である。あるトランザクションが
あるページの最新のバージョンを更新するとき、以下の
条件のいずれかを満たせば、その最新のバージョンをバ
ージョンページ領域に複写して、新しいバージョンを生
成する。
【0032】1.生成されてから、このバージョンは一
度も更新されていない。 2.現在実行中のトランザクションのうち、このバージ
ョンを更新したものは存在しない。 3.このバージョンについて、直前のチェックポイント
処理が終了してから、初めての更新になる。例えば、図
3で、ページ3への書き込み操作は、ベースページ領域
31のファイル格納位置cにある最新のバージョンをバ
ージョンページ領域32のファイル格納位置yへ複製
し、yを操作する。その結果、ページ3のバージョンは
2つになり、ファイル格納位置yのバージョンには、直
前のバージョンのファイル格納位置cが記録され、バー
ジョンマップ領域33には、ページ3の新しい最新のバ
ージョンのファイル格納位置であるyが記録される。も
し、条件3.を満たして新たなバージョンが生成された
とき、複写元のバージョンは、あるページをあるチェッ
クポイント時点の状態に回復するための物理ログとし
て、使用できる。複写元のバージョンを記憶する複数の
ブロックをフラッシュ後、複写元のバージョンを物理ロ
グとして使用する間は、それらのブロックを更新しては
ならない。バージョンマップ領域33には、バージョン
マップ情報と呼ばれる、ページごとのその識別子とその
最新のバージョンにおける格納位置の組が、存在するペ
ージの分、複数のブロックに記憶される。
度も更新されていない。 2.現在実行中のトランザクションのうち、このバージ
ョンを更新したものは存在しない。 3.このバージョンについて、直前のチェックポイント
処理が終了してから、初めての更新になる。例えば、図
3で、ページ3への書き込み操作は、ベースページ領域
31のファイル格納位置cにある最新のバージョンをバ
ージョンページ領域32のファイル格納位置yへ複製
し、yを操作する。その結果、ページ3のバージョンは
2つになり、ファイル格納位置yのバージョンには、直
前のバージョンのファイル格納位置cが記録され、バー
ジョンマップ領域33には、ページ3の新しい最新のバ
ージョンのファイル格納位置であるyが記録される。も
し、条件3.を満たして新たなバージョンが生成された
とき、複写元のバージョンは、あるページをあるチェッ
クポイント時点の状態に回復するための物理ログとし
て、使用できる。複写元のバージョンを記憶する複数の
ブロックをフラッシュ後、複写元のバージョンを物理ロ
グとして使用する間は、それらのブロックを更新しては
ならない。バージョンマップ領域33には、バージョン
マップ情報と呼ばれる、ページごとのその識別子とその
最新のバージョンにおける格納位置の組が、存在するペ
ージの分、複数のブロックに記憶される。
【0033】以下の説明では、ひとつにブロックに、こ
の組を複数個、単純に直列に並べて記憶するが、あるペ
ージの最新のバージョンにおける格納位置を高速に取得
するために、B木などの探索木やハッシュ表を構築する
ための情報を付加して記憶してもよい。図2のデータベ
ースファイルアクセス手段19は、バージョンマップ情
報を格納するブロックをフラッシュするとき、図2のタ
イムスタンプ生成手段20にタイムスタンプの生成を要
求し、後述する方法で生成されたタイムスタンプをブロ
ックに記憶してから、フラッシュを行う。バージョンマ
ップ情報を格納するブロックの内容は、その更新時に以
下の手順で複数のブロックに複写することにより、ブロ
ックを直前、または2つ前のチェックポイント時点の状
態に回復可能にする。
の組を複数個、単純に直列に並べて記憶するが、あるペ
ージの最新のバージョンにおける格納位置を高速に取得
するために、B木などの探索木やハッシュ表を構築する
ための情報を付加して記憶してもよい。図2のデータベ
ースファイルアクセス手段19は、バージョンマップ情
報を格納するブロックをフラッシュするとき、図2のタ
イムスタンプ生成手段20にタイムスタンプの生成を要
求し、後述する方法で生成されたタイムスタンプをブロ
ックに記憶してから、フラッシュを行う。バージョンマ
ップ情報を格納するブロックの内容は、その更新時に以
下の手順で複数のブロックに複写することにより、ブロ
ックを直前、または2つ前のチェックポイント時点の状
態に回復可能にする。
【0034】1.図4のように、ブロックの内容は、普
通のチェックポイント処理時には最高1つ、ファジーチ
ェックポイント処理時には最高2つの他のブロックに複
写される。まず、自分自身と複写が存在するブロックを
全て読み出す。 2.読み出したブロックのうち、記憶されているタイム
スタンプを使って、一番最近に更新されたものを求め
る。 3.一番最近に更新されたブロックが、直前のチェック
ポイント以後に更新されたものか調べる。直前のチェッ
クポイント以後に更新されたものであれば、それを実際
は更新する。 4.直前のチェックポイント以後に更新されたものでな
ければ、一番最近に更新されたブロックの内容を一番昔
に更新されたブロックへ複写し、複写先を実際は更新す
る。
通のチェックポイント処理時には最高1つ、ファジーチ
ェックポイント処理時には最高2つの他のブロックに複
写される。まず、自分自身と複写が存在するブロックを
全て読み出す。 2.読み出したブロックのうち、記憶されているタイム
スタンプを使って、一番最近に更新されたものを求め
る。 3.一番最近に更新されたブロックが、直前のチェック
ポイント以後に更新されたものか調べる。直前のチェッ
クポイント以後に更新されたものであれば、それを実際
は更新する。 4.直前のチェックポイント以後に更新されたものでな
ければ、一番最近に更新されたブロックの内容を一番昔
に更新されたブロックへ複写し、複写先を実際は更新す
る。
【0035】図4ではバージョンマップ情報を格納する
ブロックを参照するとき、自分自身と複写が存在するブ
ロックのうち、一番最近に更新されたブロックを実際は
参照する。論理ログ領域には、データベースに対する操
作の取り消し、再実行に関する情報のほかに、以下の操
作を行ったことをバックアップと復旧のために論理ログ
として記録する。
ブロックを参照するとき、自分自身と複写が存在するブ
ロックのうち、一番最近に更新されたブロックを実際は
参照する。論理ログ領域には、データベースに対する操
作の取り消し、再実行に関する情報のほかに、以下の操
作を行ったことをバックアップと復旧のために論理ログ
として記録する。
【0036】チェックポイント処理の開始
チェックポイント処理の終了
バックアップの開始
バックアップの終了
同期の開始
同期の終了
【0037】このうち、同期とは、現在のトランザクシ
ョン、または将来開始されるトランザクションから参照
されることのないバージョンを、バージョンページ領域
から破棄し、あるページに関するバージョンページ領域
中の参照され得る最も古いバージョンを、そのページの
ベースページ領域中の参照されることのない最も古いバ
ージョンに上書きすることである。
ョン、または将来開始されるトランザクションから参照
されることのないバージョンを、バージョンページ領域
から破棄し、あるページに関するバージョンページ領域
中の参照され得る最も古いバージョンを、そのページの
ベースページ領域中の参照されることのない最も古いバ
ージョンに上書きすることである。
【0038】その結果、あるページのバージョンが1つ
になり、バージョンページ領域にそのページのバージョ
ンがひとつも格納されなくなれば、バージョンマップ領
域中のそのページの最新バージョンのファイル格納位置
は、ベースページ領域中の新たな格納位置に更新され
る。
になり、バージョンページ領域にそのページのバージョ
ンがひとつも格納されなくなれば、バージョンマップ領
域中のそのページの最新バージョンのファイル格納位置
は、ベースページ領域中の新たな格納位置に更新され
る。
【0039】例えば、図5で、ページ2には4つのバー
ジョンがあり、格納位置b、x、yのバージョンは参照
されることがないときに同期すると、参照され得る最も
古いバージョンである格納位置zのバージョンで、格納
位置bのバージョンを上書きし、格納位置x、y、zの
バージョンを破棄する。図5に示すように、同期ログ領
域34には、同期時にベースページ領域中のバージョン
を上書きする前に、そのバージョンを複写し、フラッシ
ュすることにより、後で上書きを取り消すことを可能に
する。複写先のバージョンを記憶する複数のブロックを
フラッシュ後、同期が終了するまでは、それらのブロッ
クを更新してはならない。同期が終了すると、同期ログ
領域に記録されている内容は、全て破棄される。例え
ば、図5で、ページ2の同期時に格納位置bのバージョ
ンを上書きする前に、同期ログ領域へ複写する。複写先
のバージョンには、複写元の格納位置bが記録される。
図2のタイムスタンプ生成手段20により生成されるタ
イムスタンプは、64ビット長の自然数で、上位32ビ
ットはシステムがインストールされてからタイムスタン
プ生成手段の実行が何度開始されたかを表し、下位32
ビットはタイムスタンプ生成手段の実行が開始されてか
らタイムスタンプの生成が何度要求されたかを表す。こ
の上位32ビットはデータベースファイルに記録され
る。タイムスタンプ生成手段20は、その実行の開始時
に以下の処理を行う。
ジョンがあり、格納位置b、x、yのバージョンは参照
されることがないときに同期すると、参照され得る最も
古いバージョンである格納位置zのバージョンで、格納
位置bのバージョンを上書きし、格納位置x、y、zの
バージョンを破棄する。図5に示すように、同期ログ領
域34には、同期時にベースページ領域中のバージョン
を上書きする前に、そのバージョンを複写し、フラッシ
ュすることにより、後で上書きを取り消すことを可能に
する。複写先のバージョンを記憶する複数のブロックを
フラッシュ後、同期が終了するまでは、それらのブロッ
クを更新してはならない。同期が終了すると、同期ログ
領域に記録されている内容は、全て破棄される。例え
ば、図5で、ページ2の同期時に格納位置bのバージョ
ンを上書きする前に、同期ログ領域へ複写する。複写先
のバージョンには、複写元の格納位置bが記録される。
図2のタイムスタンプ生成手段20により生成されるタ
イムスタンプは、64ビット長の自然数で、上位32ビ
ットはシステムがインストールされてからタイムスタン
プ生成手段の実行が何度開始されたかを表し、下位32
ビットはタイムスタンプ生成手段の実行が開始されてか
らタイムスタンプの生成が何度要求されたかを表す。こ
の上位32ビットはデータベースファイルに記録され
る。タイムスタンプ生成手段20は、その実行の開始時
に以下の処理を行う。
【0040】1.データベースファイルに記録されてい
るタイムスタンプ生成手段の実行開始回数を読み出し、
メモリ上に記憶する。 2.このメモリ上に記憶する値を1増やし、データベー
スファイルに書き戻し、データベースファイルをフラッ
シュする。 3.タイムスタンプの生成要求回数として、メモリ上の
記憶する値を0に初期化する。 ここで、図2のタイムスタンプ生成手段20は、タイム
スタンプの生成が要求されると、以下の処理を行い、タ
イムスタンプを生成する。 1.メモリ上に記憶するタイムスタンプの生成要求回数
を1増やす。 2.このメモリ上に記憶する値を下位32ビットにし、
上位32ビットをメモリ上に記憶するタイムスタンプ生
成手段の実行開始回数とする64ビット値を新しいタイ
ムスタンプとする。
るタイムスタンプ生成手段の実行開始回数を読み出し、
メモリ上に記憶する。 2.このメモリ上に記憶する値を1増やし、データベー
スファイルに書き戻し、データベースファイルをフラッ
シュする。 3.タイムスタンプの生成要求回数として、メモリ上の
記憶する値を0に初期化する。 ここで、図2のタイムスタンプ生成手段20は、タイム
スタンプの生成が要求されると、以下の処理を行い、タ
イムスタンプを生成する。 1.メモリ上に記憶するタイムスタンプの生成要求回数
を1増やす。 2.このメモリ上に記憶する値を下位32ビットにし、
上位32ビットをメモリ上に記憶するタイムスタンプ生
成手段の実行開始回数とする64ビット値を新しいタイ
ムスタンプとする。
【0041】この例では、タイムスタンプを64ビット
長の自然数とし、上位と下位の32ビットづつにそれぞ
れ前述の意味を与えたが、この構成に特に限定するわけ
でなく、必要に応じて変更してかまわない。また、使用
するマルチバージョン同時実行制御方式によっては、あ
るトランザクションが参照すべきバージョンを選択する
ための そのバージョンを生成したときの時刻を表す値
として、このタイムスタンプを使用してもよい。なお、
バックアップ方式は、従来のベースページ方式、論理ロ
グ方式、全ファイル方式を使用できる。
長の自然数とし、上位と下位の32ビットづつにそれぞ
れ前述の意味を与えたが、この構成に特に限定するわけ
でなく、必要に応じて変更してかまわない。また、使用
するマルチバージョン同時実行制御方式によっては、あ
るトランザクションが参照すべきバージョンを選択する
ための そのバージョンを生成したときの時刻を表す値
として、このタイムスタンプを使用してもよい。なお、
バックアップ方式は、従来のベースページ方式、論理ロ
グ方式、全ファイル方式を使用できる。
【0042】システム障害からの回復は、以下の手順で
行う。 1.図2のトランザクション制御手段16に対して、問
合せ実行手段15からのトランザクションの受付の禁止
を要求する。 2.チェックポイント制御手段16に対して、チェック
ポイント処理の禁止を要求する。 3.普通のチェックポイント処理を行っている場合、障
害発生時の直前のチェックポイント、ファジーチェック
ポイント処理を行っている場合、障害発生時の2つ前の
チェックポイントを表す論理ログを読み出し、チェック
ポイント処理終了時のタイムスタンプを得る。 4.タイムスタンプ生成手段20に対して、上記1.で
得られたタイムスタンプを最後に生成したタイムスタン
プにするように要求する。ここで、タイムスタンプ生成
手段20は、以下の処理を行う。 1.与えられたタイムスタンプの上位32ビットを、タ
イムスタンプ生成手段の実行開始回数として、メモリ上
に記憶する。 2.このメモリ上に記憶する値をデータベースファイル
に書き出し、データベースファイルをフラッシュする。 3.与えられたタイムスタンプの下位32ビットを、タ
イムスタンプの生成要求回数として、メモリ上に記憶す
る。 5.同期ログ領域に記録されているバージョンがあれ
ば、同期処理中にシステム障害が発生しているので、以
下の処理を行う。 1.同期ログ領域に記録されている全てのバージョンに
ついて、それぞれに記録されている格納位置から、ベー
スページ領域中のその複写元のバージョンを求め、書き
戻し、フラッシュする。 2.同期ログ領域に記録されている内容を全て破棄す
る。 6.バージョンマップ情報を格納するブロックのうち、
記憶されているタイムスタンプを使って、上記1.で得
られたタイムスタンプ以降に更新されたものを求め、全
て記憶されているタイムスタンプを0に更新する。ここ
までの処理の結果、普通のチェックポイント処理を行っ
ている場合、障害発生時の直前のチェックポイント終了
時、ファジーチェックポイント処理を行っている場合、
障害発生時の2つ前のチェックポイント終了時の状態に
データベースは回復される。 7.トランザクション制御手段16に対して、問合せ実
行手段15からの読取専用トランザクションの受付の解
禁を要求する。以降、利用者は読取専用トランザクショ
ンを実行できる。 8.普通のチェックポイント処理を行っている場合、障
害発生時の直前のチェックポイント終了時、ファジーチ
ェックポイント処理を行っている場合、障害発生時の2
つ前のチェックポイント終了時以降、障害発生時までに
実行された更新トランザクションを、論理ログを読み出
しながら、再実行する。 9.終了していない更新トランザクションがあれば、全
てロールバックする。ここまでの処理の結果、障害発生
直前の状態にデータベースは回復される。 10.トランザクション制御手段16に対して、問合せ
実行手段15からの更新トランザクションの受付の解禁
を要求する。以降、利用者は更新トランザクションを実
行できる。 11.チェックポイント制御手段17に対して、チェッ
クポイント処理の解禁を要求する。
行う。 1.図2のトランザクション制御手段16に対して、問
合せ実行手段15からのトランザクションの受付の禁止
を要求する。 2.チェックポイント制御手段16に対して、チェック
ポイント処理の禁止を要求する。 3.普通のチェックポイント処理を行っている場合、障
害発生時の直前のチェックポイント、ファジーチェック
ポイント処理を行っている場合、障害発生時の2つ前の
チェックポイントを表す論理ログを読み出し、チェック
ポイント処理終了時のタイムスタンプを得る。 4.タイムスタンプ生成手段20に対して、上記1.で
得られたタイムスタンプを最後に生成したタイムスタン
プにするように要求する。ここで、タイムスタンプ生成
手段20は、以下の処理を行う。 1.与えられたタイムスタンプの上位32ビットを、タ
イムスタンプ生成手段の実行開始回数として、メモリ上
に記憶する。 2.このメモリ上に記憶する値をデータベースファイル
に書き出し、データベースファイルをフラッシュする。 3.与えられたタイムスタンプの下位32ビットを、タ
イムスタンプの生成要求回数として、メモリ上に記憶す
る。 5.同期ログ領域に記録されているバージョンがあれ
ば、同期処理中にシステム障害が発生しているので、以
下の処理を行う。 1.同期ログ領域に記録されている全てのバージョンに
ついて、それぞれに記録されている格納位置から、ベー
スページ領域中のその複写元のバージョンを求め、書き
戻し、フラッシュする。 2.同期ログ領域に記録されている内容を全て破棄す
る。 6.バージョンマップ情報を格納するブロックのうち、
記憶されているタイムスタンプを使って、上記1.で得
られたタイムスタンプ以降に更新されたものを求め、全
て記憶されているタイムスタンプを0に更新する。ここ
までの処理の結果、普通のチェックポイント処理を行っ
ている場合、障害発生時の直前のチェックポイント終了
時、ファジーチェックポイント処理を行っている場合、
障害発生時の2つ前のチェックポイント終了時の状態に
データベースは回復される。 7.トランザクション制御手段16に対して、問合せ実
行手段15からの読取専用トランザクションの受付の解
禁を要求する。以降、利用者は読取専用トランザクショ
ンを実行できる。 8.普通のチェックポイント処理を行っている場合、障
害発生時の直前のチェックポイント終了時、ファジーチ
ェックポイント処理を行っている場合、障害発生時の2
つ前のチェックポイント終了時以降、障害発生時までに
実行された更新トランザクションを、論理ログを読み出
しながら、再実行する。 9.終了していない更新トランザクションがあれば、全
てロールバックする。ここまでの処理の結果、障害発生
直前の状態にデータベースは回復される。 10.トランザクション制御手段16に対して、問合せ
実行手段15からの更新トランザクションの受付の解禁
を要求する。以降、利用者は更新トランザクションを実
行できる。 11.チェックポイント制御手段17に対して、チェッ
クポイント処理の解禁を要求する。
【0043】次に、媒体障害からの全ファイル方式によ
るバックアップを使っての回復は、以下の手順で行う。 1.トランザクション制御手段16に対して、問合せ実
行手段15からのトランザクションの受付の禁止を要求
する。 2.チェックポイント制御手段17に対して、チェック
ポイント処理の禁止を要求する。 3.バックアップ内容をディスクへ書き戻す。 4.上記3.でディスクへ書き戻した内容をバックアッ
プしたときの開始を表す論理ログを読み出す。 5.上記4.で読み出した論理ログより前に記録された
ものから、普通のチェックポイント処理を行っている場
合、バックアップ開始時の直前のチェックポイント、フ
ァジーチェックポイント処理を行っている場合、バック
アップ開始時の2つ前のチェックポイントを表す論理ロ
グを読み出し、チェックポイント処理終了時のタイムス
タンプを得る。 6.タイムスタンプ生成手段20に対して、上記5.で
得られたタイムスタンプを最後に生成した タイムスタ
ンプにするように要求する。ここで、タイムスタンプ生
成手段20は、以下の処理を行う。 1.与えられたタイムスタンプの上位32ビットを、タ
イムスタンプ生成手段20の実行開始回数として、メモ
リ上に記憶する。 2.このメモリ上に記憶する値をデータベースファイル
に書き出し、データベースファイルをフラッシュする。 3.与えられたタイムスタンプの下位32ビットを、タ
イムスタンプの生成要求回数として、メモリ上に記憶す
る。 7.バージョンマップ情報を格納するブロックのうち、
記憶されているタイムスタンプを使って、上記5.で得
られたタイムスタンプ以降に更新されたものを求め、全
て記憶されているタイムスタンプを0に更新する。ここ
までの処理の結果、普通のチェックポイント処理を行っ
ている場合、バックアップ開始時の直前のチェックポイ
ント終了時、ファジーチェックポイント処理を行ってい
る場合、バックアップ開始時の2つ前のチェックポイン
ト終了時の状態にデータベースは回復される。 8.トランザクション制御手段16に対して、問合せ実
行手段15からの読取専用トランザクションの受付の解
禁を要求する。以降、利用者は読取専用トランザクショ
ンを実行できる。 9.普通のチェックポイント処理を行っている場合、バ
ックアップ開始時の直前のチェックポイント終了時、フ
ァジーチェックポイント処理を行っている場合、バック
アップ開始時の2つ前のチェックポイント終了時以降、
バックアップ開始時までに実行された更新トランザクシ
ョンを、論理ログを読み出しながら、再実行する。 10.終了していない更新トランザクションがあれば、
全てロールバックする。ここまでの処理の結果、バック
アップ開始直前の状態にデータベースは回復される。 11.トランザクション制御手段16に対して、問合せ
実行手段15からの更新トランザクションの受付の解禁
を要求する。以降、利用者は更新トランザクションを実
行できる。 12.チェックポイント制御手段17に対して、チェッ
クポイント処理の解禁を要求する。
るバックアップを使っての回復は、以下の手順で行う。 1.トランザクション制御手段16に対して、問合せ実
行手段15からのトランザクションの受付の禁止を要求
する。 2.チェックポイント制御手段17に対して、チェック
ポイント処理の禁止を要求する。 3.バックアップ内容をディスクへ書き戻す。 4.上記3.でディスクへ書き戻した内容をバックアッ
プしたときの開始を表す論理ログを読み出す。 5.上記4.で読み出した論理ログより前に記録された
ものから、普通のチェックポイント処理を行っている場
合、バックアップ開始時の直前のチェックポイント、フ
ァジーチェックポイント処理を行っている場合、バック
アップ開始時の2つ前のチェックポイントを表す論理ロ
グを読み出し、チェックポイント処理終了時のタイムス
タンプを得る。 6.タイムスタンプ生成手段20に対して、上記5.で
得られたタイムスタンプを最後に生成した タイムスタ
ンプにするように要求する。ここで、タイムスタンプ生
成手段20は、以下の処理を行う。 1.与えられたタイムスタンプの上位32ビットを、タ
イムスタンプ生成手段20の実行開始回数として、メモ
リ上に記憶する。 2.このメモリ上に記憶する値をデータベースファイル
に書き出し、データベースファイルをフラッシュする。 3.与えられたタイムスタンプの下位32ビットを、タ
イムスタンプの生成要求回数として、メモリ上に記憶す
る。 7.バージョンマップ情報を格納するブロックのうち、
記憶されているタイムスタンプを使って、上記5.で得
られたタイムスタンプ以降に更新されたものを求め、全
て記憶されているタイムスタンプを0に更新する。ここ
までの処理の結果、普通のチェックポイント処理を行っ
ている場合、バックアップ開始時の直前のチェックポイ
ント終了時、ファジーチェックポイント処理を行ってい
る場合、バックアップ開始時の2つ前のチェックポイン
ト終了時の状態にデータベースは回復される。 8.トランザクション制御手段16に対して、問合せ実
行手段15からの読取専用トランザクションの受付の解
禁を要求する。以降、利用者は読取専用トランザクショ
ンを実行できる。 9.普通のチェックポイント処理を行っている場合、バ
ックアップ開始時の直前のチェックポイント終了時、フ
ァジーチェックポイント処理を行っている場合、バック
アップ開始時の2つ前のチェックポイント終了時以降、
バックアップ開始時までに実行された更新トランザクシ
ョンを、論理ログを読み出しながら、再実行する。 10.終了していない更新トランザクションがあれば、
全てロールバックする。ここまでの処理の結果、バック
アップ開始直前の状態にデータベースは回復される。 11.トランザクション制御手段16に対して、問合せ
実行手段15からの更新トランザクションの受付の解禁
を要求する。以降、利用者は更新トランザクションを実
行できる。 12.チェックポイント制御手段17に対して、チェッ
クポイント処理の解禁を要求する。
【0044】次に、媒体障害からの論理ログ方式による
バックアップを使っての回復は、以下の手順で行う。 1.トランザクション制御手段16に対して、問合せ実
行手段15からのトランザクションの受付の禁止を要求
する。 2.チェックポイント制御手段17に対して、チェック
ポイント処理の禁止を要求する。 3.バックアップ内容をディスクへ書き戻す。ここまで
の処理の結果、バックアップ開始時の直前のバックアッ
プの開始または同期処理の後に実行されたほうの終了時
の状態にデータベースは回復される。 4.トランザクション制御手段16に対して、問合せ実
行手段15からの読取専用トランザクションの受付の解
禁を要求する。以降、利用者は読取専用トランザクショ
ンを実行できる。 5.上記3.でディスクへ書き戻した内容をバックアッ
プしたときの開始を表す論理ログを読み出す。 6.上記5.で読み出した論理ログより前に記録された
ものから、バックアップ開始時の直前のバックアップの
開始または同期処理を表す論理ログを読み出す。 7.バックアップ開始時の直前のバックアップの開始ま
たは同期処理の後実行されたほうの終了時以降、バック
アップ開始時までに実行された更新トランザクション
を、論理ログを読み出しながら、再実行する。 8.終了していない更新トランザクションがあれば、全
てロールバックする。ここまでの処理の結果、バックア
ップ開始直前の状態にデータベースは回復される。 9.トランザクション制御手段16に対して、問合せ実
行手段15からの更新トランザクションの受付の解禁を
要求する。以降、利用者は更新トランザクションを実行
できる。 10.チェックポイント制御手段17に対して、チェッ
クポイント処理の解禁を要求する。
バックアップを使っての回復は、以下の手順で行う。 1.トランザクション制御手段16に対して、問合せ実
行手段15からのトランザクションの受付の禁止を要求
する。 2.チェックポイント制御手段17に対して、チェック
ポイント処理の禁止を要求する。 3.バックアップ内容をディスクへ書き戻す。ここまで
の処理の結果、バックアップ開始時の直前のバックアッ
プの開始または同期処理の後に実行されたほうの終了時
の状態にデータベースは回復される。 4.トランザクション制御手段16に対して、問合せ実
行手段15からの読取専用トランザクションの受付の解
禁を要求する。以降、利用者は読取専用トランザクショ
ンを実行できる。 5.上記3.でディスクへ書き戻した内容をバックアッ
プしたときの開始を表す論理ログを読み出す。 6.上記5.で読み出した論理ログより前に記録された
ものから、バックアップ開始時の直前のバックアップの
開始または同期処理を表す論理ログを読み出す。 7.バックアップ開始時の直前のバックアップの開始ま
たは同期処理の後実行されたほうの終了時以降、バック
アップ開始時までに実行された更新トランザクション
を、論理ログを読み出しながら、再実行する。 8.終了していない更新トランザクションがあれば、全
てロールバックする。ここまでの処理の結果、バックア
ップ開始直前の状態にデータベースは回復される。 9.トランザクション制御手段16に対して、問合せ実
行手段15からの更新トランザクションの受付の解禁を
要求する。以降、利用者は更新トランザクションを実行
できる。 10.チェックポイント制御手段17に対して、チェッ
クポイント処理の解禁を要求する。
【0045】なお、本発明は上記実施例に限定されるも
のではなく、特許請求の範囲内の記載であれば多種の変
形や置換可能であることは言うまでもない。
のではなく、特許請求の範囲内の記載であれば多種の変
形や置換可能であることは言うまでもない。
【0046】
【発明の効果】以上説明したように、本発明によれば、
古いバージョンが記憶されているベースページ領域にペ
ージの最新の情報を記憶する方式を採用したマルチバー
ジョン方式のトランザクション同時実行制御を行うデー
タベースシステムで、複写先更新方式によって新しいバ
ージョンを生成するデータベースシステムにおいて、複
数のトランザクションが最新のバージョンを更新しなが
ら、データベースを構成するファイルに直接アクセスし
てデータベースをバックアップすることを可能にする。
また、システム障害からの回復処理では普通のチェック
ポイント処理を行っていれば、または障害発生時の直前
のチェックポイント終了時ファジーチェックポイント処
理を行っていれば、そして障害発生時の2つ前のチェッ
クポイント終了時媒体障害からの回復処理ではバックア
ップ内容をディスクへ書き戻せば、後はシステム障害と
同様に、または普通のチェックポイント処理を行ってい
れば、バックアップ開始時の直前のチェックポイント終
了時ファジーチェックポイント処理を行っていれば、バ
ックアップ開始時の2つ前のチェックポイント終了時の
データベースへ、最新バージョンを選択するための管理
情報を回復するための少しの更新操作だけで短時間で戻
すことを可能にする。
古いバージョンが記憶されているベースページ領域にペ
ージの最新の情報を記憶する方式を採用したマルチバー
ジョン方式のトランザクション同時実行制御を行うデー
タベースシステムで、複写先更新方式によって新しいバ
ージョンを生成するデータベースシステムにおいて、複
数のトランザクションが最新のバージョンを更新しなが
ら、データベースを構成するファイルに直接アクセスし
てデータベースをバックアップすることを可能にする。
また、システム障害からの回復処理では普通のチェック
ポイント処理を行っていれば、または障害発生時の直前
のチェックポイント終了時ファジーチェックポイント処
理を行っていれば、そして障害発生時の2つ前のチェッ
クポイント終了時媒体障害からの回復処理ではバックア
ップ内容をディスクへ書き戻せば、後はシステム障害と
同様に、または普通のチェックポイント処理を行ってい
れば、バックアップ開始時の直前のチェックポイント終
了時ファジーチェックポイント処理を行っていれば、バ
ックアップ開始時の2つ前のチェックポイント終了時の
データベースへ、最新バージョンを選択するための管理
情報を回復するための少しの更新操作だけで短時間で戻
すことを可能にする。
【0047】また、トランザクションを参照操作のみを
行う読取専用トランザクションと、更新操作も行う更新
トランザクションに分類したとき、本発明の回復処理で
は、システム障害または障害発生時媒体障害では、バッ
クアップ開始時の直前または2つ前のチェックポイント
終了時の状態にデータベースを戻してから、論理ログの
内容を読み出しながらトランザクションの再実行と取り
消しを行うが、この再実行と取り消しの間、利用者から
の読取専用トランザクションの実行を可能にする。
行う読取専用トランザクションと、更新操作も行う更新
トランザクションに分類したとき、本発明の回復処理で
は、システム障害または障害発生時媒体障害では、バッ
クアップ開始時の直前または2つ前のチェックポイント
終了時の状態にデータベースを戻してから、論理ログの
内容を読み出しながらトランザクションの再実行と取り
消しを行うが、この再実行と取り消しの間、利用者から
の読取専用トランザクションの実行を可能にする。
【0048】その結果、参照のみを行う利用者に対して
は、システム障害が発生しても、サービスの提供を回復
処理のためにほとんど停止しなくてもよく、媒体傷害の
原因であるディスククラッシュが起きても、バックアッ
プ内容をディスクへ書き戻せば、システム障害時と同様
にほとんど時間をかけずにサービスの提供を開始でき
る。
は、システム障害が発生しても、サービスの提供を回復
処理のためにほとんど停止しなくてもよく、媒体傷害の
原因であるディスククラッシュが起きても、バックアッ
プ内容をディスクへ書き戻せば、システム障害時と同様
にほとんど時間をかけずにサービスの提供を開始でき
る。
【0049】また、システムを構成するディスクを多重
化(ミラーリング)するだけで、媒体障害が発生しても、
システム障害の場合と同様の効果を得ることができる。
化(ミラーリング)するだけで、媒体障害が発生しても、
システム障害の場合と同様の効果を得ることができる。
【図1】本発明のデータベースシステムのシステム全体
のハードウェア構成を示すブロック図である。
のハードウェア構成を示すブロック図である。
【図2】本発明のデータベースシステムのソフトウェア
の構成図である。
の構成図である。
【図3】本発明のデータベースにおけるバージョン格納
位置を示す図である。
位置を示す図である。
【図4】ブロック内容を示す図である。
【図5】本発明のデータベースにおける別のバージョン
格納位置を示す図である。
格納位置を示す図である。
11;ファイルバックアップ手段、12;バックアップ
開始・終了指示手段、13;問合せ入出力手段、14;
障害回復開始手段、15;問合せ実行手段、16;トラ
ンザクション制御手段、17;チェックポイント制御手
段、18;障害回復手段、19;データベースファイル
アクセス手段、20;タイムスタンプ生成手段、21;
ログファイルアクセス手段、22;データベースファイ
ル、23;ログファイル、24;バックアップファイ
ル。
開始・終了指示手段、13;問合せ入出力手段、14;
障害回復開始手段、15;問合せ実行手段、16;トラ
ンザクション制御手段、17;チェックポイント制御手
段、18;障害回復手段、19;データベースファイル
アクセス手段、20;タイムスタンプ生成手段、21;
ログファイルアクセス手段、22;データベースファイ
ル、23;ログファイル、24;バックアップファイ
ル。
Claims (7)
- 【請求項1】 古いバージョンが記憶されているベース
ページ領域にページの最新の情報を記憶する方式を採用
したマルチバージョン方式のトランザクション同時実行
制御を行うデータベースシステムであって、複写先更新
方式によって新しいバージョンを生成するデータベース
システムにおいて、 ページの識別子と当該ページの最新のバージョンの格納
位置を示唆するバージョンマップ情報を更新時に複写
し、障害回復時に複写内容を書き戻すことを特徴とする
データベースシステム。 - 【請求項2】 古いバージョンが記憶されているベース
ページ領域にページの最新の情報を記憶する方式を採用
したマルチバージョン方式のトランザクション同時実行
制御を行うデータベースシステムであって、複写先更新
方式によって新しいバージョンを生成するデータベース
システムにおいて、 同期処理中に、前記ベースページ領域中のバージョンを
上書き前の記憶領域である同期ログ領域に複写し、同期
処理の終了時に前記同期ログ領域の記録内容を破棄し、
障害回復時に前記同期ログ領域の複写内容を前記ベース
ページ領域中の複写元のバージョンへ書き戻すことを特
徴とするデータベースシステム。 - 【請求項3】 古いバージョンが記憶されているベース
ページ領域にページの最新の情報を記憶する方式を採用
したマルチバージョン方式のトランザクション同時実行
制御を行うデータベースシステムであって、チェックポ
イント処理を行うデータベースシステムにおいて、 障害回復中に利用者からのトランザクションの実行を禁
止し、障害発生時の直前のチェックポイント時に回復し
た時点で、利用者からの読取専用トランザクションの実
行を解禁し、障害回復処理を継続することを特徴とする
データベースシステム。 - 【請求項4】 古いバージョンが記憶されているベース
ページ領域にページの最新の情報を記憶する方式を採用
したマルチバージョン方式のトランザクション同時実行
制御を行うデータベースシステムであって、ファジーチ
ェックポイント処理を行うデータベースシステムにおい
て、 障害回復中に利用者からのトランザクションの実行を禁
止し、障害発生時の2つ前のチェックポイント時に回復
した時点で、利用者からの読取専用トランザクションの
実行を解禁し、障害回復処理を継続することを特徴とす
るデータベースシステム。 - 【請求項5】 古いバージョンが記憶されているベース
ページ領域にページの最新の情報を記憶する方式を採用
したマルチバージョン方式のトランザクション同時実行
制御を行うデータベースシステムであって、チェックポ
イント処理を行い、全ファイル方式のバックアップが可
能なデータベースシステムにおいて、 障害回復中に利用者からのトランザクションの実行を禁
止し、バックアップ開始時の直前のチェックポイント時
に回復した時点で、利用者からの読取専用トランザクシ
ョンの実行を解禁し、障害回復処理を継続することを特
徴とするデータベースシステム。 - 【請求項6】 古いバージョンが記憶されているベース
ページ領域にページの最新の情報を記憶する方式を採用
したマルチバージョン方式のトランザクション同時実行
制御を行うデータベースシステムであって、ファジーチ
ェックポイント処理を行い、全ファイル方式のバックア
ップが可能なデータベースシステムにおいて、 障害回復中に利用者からのトランザクションの実行を禁
止し、バックアップ開始時の2つ前のチェックポイント
時に回復した時点で、利用者からの読取専用トランザク
ションの実行を解禁し、障害回復処理を継続することを
特徴とするデータベースシステム。 - 【請求項7】 古いバージョンが記憶されているベース
ページ領域にページの最新の情報を記憶する方式を採用
したマルチバージョン方式のトランザクション同時実行
制御を行うデータベースシステムであって、論理ログ方
式のバックアップが可能なデータベースシステムにおい
て、 障害回復中に利用者からのトランザクションの実行を禁
止し、バックアップ開始時の直前のバックアップの開始
又は同期処理の後に実行された更新トランザクションの
実行の終了時に回復した時点で、利用者からの読取専用
トランザクションの実行を解禁し、障害回復処理を継続
することを特徴とするデータベースシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002020182A JP2003223350A (ja) | 2002-01-29 | 2002-01-29 | データベースシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002020182A JP2003223350A (ja) | 2002-01-29 | 2002-01-29 | データベースシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003223350A true JP2003223350A (ja) | 2003-08-08 |
Family
ID=27743753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002020182A Pending JP2003223350A (ja) | 2002-01-29 | 2002-01-29 | データベースシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003223350A (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272648A (ja) * | 2006-03-31 | 2007-10-18 | Fujitsu Ltd | データベースシステム運用方法,データベースシステム,データベース装置及びバックアッププログラム |
JP2008530668A (ja) * | 2005-02-09 | 2008-08-07 | ドイチェ ポスト アーゲー | データベースのバックアップ方法 |
WO2011132357A1 (ja) * | 2010-04-22 | 2011-10-27 | 株式会社日立製作所 | データ処理方法、データ処理装置及びデータ処理プログラム |
KR20120104302A (ko) * | 2009-12-11 | 2012-09-20 | 마이크로소프트 코포레이션 | 순서 의존성 없는 일관성 |
JP2013528883A (ja) * | 2010-06-15 | 2013-07-11 | マイクロソフト コーポレーション | ファイルシステムのチェックポイント |
JP2013544418A (ja) * | 2010-12-21 | 2013-12-12 | アマゾン テクノロジーズ インコーポレイテッド | データセットを取り込むための手法 |
US8984233B2 (en) | 2010-06-17 | 2015-03-17 | Microsoft Corporation | Error detection for files |
US9189343B2 (en) | 2011-08-30 | 2015-11-17 | Amazon Technologies, Inc. | Frequent data set captures for volume forensics |
US9563487B2 (en) | 2011-08-11 | 2017-02-07 | Microsoft Technology Licensing, Llc. | Runtime system |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
US11372883B2 (en) | 2016-10-12 | 2022-06-28 | Fujitsu Limited | Apparatus for calculating size of processing unit, method for calculating size of processing unit, and non-transitory computer-readable storage medium for storing program |
CN115329391A (zh) * | 2022-10-18 | 2022-11-11 | 成都卫士通信息产业股份有限公司 | 一种文本数据库的防护方法、装置、设备及介质 |
CN118312501A (zh) * | 2024-06-06 | 2024-07-09 | 平凯星辰(北京)科技有限公司 | 数据库版本回退方法、装置、电子设备及存储介质 |
-
2002
- 2002-01-29 JP JP2002020182A patent/JP2003223350A/ja active Pending
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008530668A (ja) * | 2005-02-09 | 2008-08-07 | ドイチェ ポスト アーゲー | データベースのバックアップ方法 |
JP2007272648A (ja) * | 2006-03-31 | 2007-10-18 | Fujitsu Ltd | データベースシステム運用方法,データベースシステム,データベース装置及びバックアッププログラム |
US8996829B2 (en) | 2009-12-11 | 2015-03-31 | Microsoft Technology Licensing, Llc | Consistency without ordering dependency |
KR20120104302A (ko) * | 2009-12-11 | 2012-09-20 | 마이크로소프트 코포레이션 | 순서 의존성 없는 일관성 |
JP2013513862A (ja) * | 2009-12-11 | 2013-04-22 | マイクロソフト コーポレーション | 順序の依存関係を持たない整合性 |
KR101690824B1 (ko) | 2009-12-11 | 2017-01-09 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 순서 의존성 없는 일관성 |
US9430160B2 (en) | 2009-12-11 | 2016-08-30 | Microsoft Technology Licensing, Llc | Consistency without ordering dependency |
WO2011132357A1 (ja) * | 2010-04-22 | 2011-10-27 | 株式会社日立製作所 | データ処理方法、データ処理装置及びデータ処理プログラム |
JP5450803B2 (ja) * | 2010-04-22 | 2014-03-26 | 株式会社日立製作所 | データ処理方法、データ処理装置及びデータ処理プログラム |
JP2013528883A (ja) * | 2010-06-15 | 2013-07-11 | マイクロソフト コーポレーション | ファイルシステムのチェックポイント |
US8984233B2 (en) | 2010-06-17 | 2015-03-17 | Microsoft Corporation | Error detection for files |
US9448869B2 (en) | 2010-06-17 | 2016-09-20 | Microsoft Technology Licensing, Llc | Error detection for files |
US8943127B2 (en) | 2010-12-21 | 2015-01-27 | Amazon Technologies, Inc. | Techniques for capturing data sets |
JP2013544418A (ja) * | 2010-12-21 | 2013-12-12 | アマゾン テクノロジーズ インコーポレイテッド | データセットを取り込むための手法 |
US9563487B2 (en) | 2011-08-11 | 2017-02-07 | Microsoft Technology Licensing, Llc. | Runtime system |
US9189343B2 (en) | 2011-08-30 | 2015-11-17 | Amazon Technologies, Inc. | Frequent data set captures for volume forensics |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
US11372883B2 (en) | 2016-10-12 | 2022-06-28 | Fujitsu Limited | Apparatus for calculating size of processing unit, method for calculating size of processing unit, and non-transitory computer-readable storage medium for storing program |
CN115329391A (zh) * | 2022-10-18 | 2022-11-11 | 成都卫士通信息产业股份有限公司 | 一种文本数据库的防护方法、装置、设备及介质 |
CN115329391B (zh) * | 2022-10-18 | 2023-01-24 | 成都卫士通信息产业股份有限公司 | 一种文本数据库的防护方法、装置、设备及介质 |
CN118312501A (zh) * | 2024-06-06 | 2024-07-09 | 平凯星辰(北京)科技有限公司 | 数据库版本回退方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7613743B1 (en) | Methods and apparatuses for data protection | |
US6665815B1 (en) | Physical incremental backup using snapshots | |
US6205449B1 (en) | System and method for providing hot spare redundancy and recovery for a very large database management system | |
EP1470485B1 (en) | Method and system for providing image incremental and disaster recovery | |
US7107294B2 (en) | Method and apparatus for interrupting updates to a database to provide read-only access | |
US10430285B2 (en) | Backing up metadata | |
US7620660B2 (en) | Pre-image logging for database recovery | |
JP4638905B2 (ja) | データベースのデータ復旧システムおよびその方法 | |
JP2708386B2 (ja) | 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置 | |
JP4261800B2 (ja) | クライアントサーバー環境における差分バックアップシステムの管理方法 | |
US20050283504A1 (en) | Disaster recovery system suitable for database system | |
US20070180000A1 (en) | Storage apparatus and storage system | |
US20050015416A1 (en) | Method and apparatus for data recovery using storage based journaling | |
US20060235905A1 (en) | Method and system for preserving real-time access to a system in case of a disaster | |
US20010056438A1 (en) | Database system with backup and recovery mechanisms | |
JPH05108448A (ja) | データのバツクアツプ及び回復 | |
JP4575762B2 (ja) | データ処理方法および装置並びにストレージ装置およびその処理プログラム | |
JP2004514963A (ja) | 組込み型データ保護機能を備えるセルフアーカイビング・ログ構造ボリューム | |
JP2003223350A (ja) | データベースシステム | |
US20110282843A1 (en) | Method and system for data backup and replication | |
US7945538B2 (en) | Method and arrangements for node recovery | |
JP2003162438A (ja) | データベース管理システム | |
JP2002318717A (ja) | データベースシステム | |
Solé | Data management | |
JP4428887B2 (ja) | データベースシステム |