JPH11327991A - ホットスペアシステムおよびデ―タベ―ス管理システム - Google Patents

ホットスペアシステムおよびデ―タベ―ス管理システム

Info

Publication number
JPH11327991A
JPH11327991A JP11078188A JP7818899A JPH11327991A JP H11327991 A JPH11327991 A JP H11327991A JP 11078188 A JP11078188 A JP 11078188A JP 7818899 A JP7818899 A JP 7818899A JP H11327991 A JPH11327991 A JP H11327991A
Authority
JP
Japan
Prior art keywords
database
primary
log
computer
transaction
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
JP11078188A
Other languages
English (en)
Inventor
Rajeev Rastogi
ラストジー ラジーフ
Abraham Silberschatz
シルバーシャッツ アブラハム
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21938855&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH11327991(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JPH11327991A publication Critical patent/JPH11327991A/ja
Pending 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【課題】 非常に大きなデータベース管理システムにホ
ットスペア冗長性および回復を提供する。 【解決手段】 プライマリコンピュータ上のプライマリ
データベースにおいて、プライマリコンピュータとセカ
ンダリデータベースを有するセカンダリコンピュータは
接続可能であり、プライマリコンピュータのホットスペ
アとしてセカンダリコンピュータを動作することを可能
にするようなデータベース管理システムを提供する。プ
ライマリデータベースに対応づけられ、トランザクショ
ンのログレコードを維持するトランザクションロガーを
具備し、プライマリデータベースにおけるデータの一貫
性(整合性)を保つ。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムに関し、特に、非常に大きなデータベース管理シス
テムにホットスペア冗長性および回復を提供するシステ
ムおよび方法に関する。
【0002】
【従来の技術】データベースは、有用に統合されたデー
タの集合であり、ソフトウェアアプリケーション(情報
管理システムなど)には基本的なものである。データベ
ースには対応するデータベースマネージャー(DBM)
がある。これはソフトウェアベースであり、(通常ソフ
トウェアアプリケーションのために)データベース上の
所定のタスクを実行し、その所定のタスクはデータベー
スの利用目的やDBMの洗練性によって大きく変わる。
【0003】データベースは伝統的に、非揮発性(ディ
スク)メモリに記憶されていて、データベースやソフト
ウェアアプリケーションは(少なくとも部分的に)、揮
発性(メイン)メモリに配置させられている。DBMは
関係するデータを処理し動作する方法によって区別され
ている。例えば、特定のDBMは一時に1つのデータフ
ァイルしか操作せず(フラットファイルDBM)、他の
DBMは一時に複数のデータファイルを処理し、いくつ
かの異なるデータファイルからのデータを関連づける
(リレーショナルDBM)。
【0004】基本的なDBM動作には、データを記憶す
ること、データの取り出しを可能とするインデックスを
作ること、異なるファイル(リレーショナルDBM)か
らデータをリンクすることなどを含む。DBMが実行
し、最も重要な(従って最も洗練された)動作のうちの
2つとして、データ保全性(data integrity)およびデ
ータベース回復(database recovery)がある。
【0005】データ保全性は、非常に簡単に説明する
と、別のソフトウェアアプリケーションが特定のデータ
ファイルの内容に頼っている間はその特定のソフトウェ
アアプリケーションがその特定のデータファイルを変更
することができなくすることを確実にする。これに対し
データベース回復は、データベースのデータの一部ない
し全てが壊れた場合にそのデータベースを再構築するこ
とを伴う。データが壊れるのは、電源不良、プログラム
動作不良などによって起こり、DBMは記憶されたデー
タが少なくとも部分的に損失ないし壊れたことを疑う。
【0006】今日の多くのソフトウェアアプリケーショ
ンは、数ミリ秒ないし数十ミリ秒のオーダーのレスポン
スタイムでデータにアクセスするような高性能を必要と
される。伝統的な非揮発性(ディスク)メモリDBMは
このような必要条件を満たすことができていない。これ
は、非揮発性メモリの特性によりデータアクセスに遅れ
が発生してしまうからである。
【0007】性能を上げるため、データベース全体を揮
発性(メイン)メモリに直接マッピングする方法があ
る。仮想メモリポインタによって直接に、あるいは位置
独立データベースオフセット(これはメモリアドレスへ
速く変換する)を介して間接的にデータはアクセスされ
る。メインメモリデータベースを用いるデータアクセス
はディスクベースのストレージマネージャよりもかなり
速い。通常の処理において他のページに空きを作るため
にページをディスクに書き込まなくてもよいからであ
る。
【0008】
【発明が解決しようとする課題】しかし、もしメインメ
モリデータベースの一部ないし全てが壊れると、非常に
危険であり、非揮発性(ディスク)メモリデータベース
とは対照的に、全体のデータベースを回復する必要が発
生する。回復アプローチとして、何らかの方法でデータ
ベースを変更したトランザクションの進行を追跡するの
に用いるUndo(アンドゥー:やりなおしのための取り消
し)ログレコードを用いる方法がある。伝統的な回復方
式は、ライトアヘッドロッキング(WAL:write-ahea
d logging)を用いる。これは、ページの更新のUndoロ
グ全てをそのページがディスクにフラッシュされる前に
ディスクにフラッシュする。正確さ、WAL特性、そし
て回復方法を確実にするため、ページをディスクにコピ
ーする間にページ(あるいは何らかのシステムログ上
に)上にラッチを設ける。従って、ディスクメモリ処理
を再び導入することは、このようなラッチングは非揮発
性メモリへのアクセスをかなり増やし、プログラムを複
雑にし、通常の処理の邪魔をするためコストが高くなっ
てしまう。
【0009】
【課題を解決するための手段】上述の課題を解決するた
め、本発明は、プライマリコンピュータ上のプライマリ
データベースにおいて、プライマリコンピュータとセカ
ンダリデータベースを有するセカンダリコンピュータは
接続可能であり、プライマリコンピュータのホットスペ
アとしてセカンダリコンピュータを動作することを可能
にするようなデータベース管理システムを提供する。一
実施例において、本システムは、プライマリデータベー
スに対応づけられ、トランザクションのログレコードを
維持するトランザクションロガーを具備し、プライマリ
データベースにおけるデータの一貫性(整合性)を保
つ。本システムはさらに、プライマリデータベースに対
応づけられ、セカンダリコンピュータにログレコードの
少なくとも一部を送るトランザクションプロセッサを具
備する。ログの一部の伝送により、セカンダリコンピュ
ータはセカンダリデータベースに対しログレコードの少
なくとも一部に関わることができ、少なくとも部分的な
データ冗長性を提供する。本発明はまた、プライマリお
よびセカンダリデータベースに対応づけられ、プライマ
リおよびセカンダリコンピュータの状態を指定しプライ
マリおよびセカンダリデータベースの相対的な同期を示
すパラメータをさらに具備する。これらのパラメータは
(もしあれば)データベースの置き換え、システム故障
(failure)の場合の回復を助けることができる。
【0010】従って、本発明は、プライマリおよびセカ
ンダリ(ホットスペア)データベースを同期するような
データベースログを用いる概念を導入する。ログのメカ
ニズムは、ログに含まれる送られたトランザクションが
プライマリおよびセカンダリデータベース両方に供給さ
れることを確実にする。
【0011】
【発明の実施の形態】図1において、本発明の原理に従
うホットスペアサポートを備えるシステム100を示し
てある。ホットスペアは、プライマリシステム110と
並列に動作するセカンダリシステム120である。プラ
イマリシステム110とセカンダリシステム120両方
は別々であり独立なマシンである。プライマリシステム
110とセカンダリシステム120のそれぞれは自分の
CPU111、121、ランダムアクセスメモリ(RA
M)112、122、ディスクストレージ113、12
3を有する。しかしいずれのシステムも他のシステムの
RAMないしディスクストレージに直接アクセスしてい
るものはない。プライマリおよびセカンダリシステムは
LAN、WANなどのネットワーク130を介して接続
されている。
【0012】図1において、プライマリシステム110
はトランザクションのログレコードを保持するトランザ
クションロガーを備え、プライマリデータベース内のデ
ータの一貫性を保つ。トランザクションロガーは、CP
U111が実行可能なプロセス、専用ハードウェアおよ
び/またはソフトウェアとすることができる。プライマ
リシステム110は、セカンダリシステムへとログレコ
ードの少なくとも一部を送るトランザクションプロセッ
サ、ないしコンピュータ120を備える。トランザクシ
ョンプロセッサは、CPU111が実行可能なプロセ
ス、専用ハードウェアおよび/またはソフトウェアとす
ることができる。ログの一部の送信により、セカンダリ
システム120がログレコードの少なくとも一部をセカ
ンダリデータベースへと関連させることができ、少なく
とも部分的なデータ冗長性を提供することができる。
【0013】セカンダリシステム120は、プライマリ
システム110からセカンダリシステム120へとネッ
トワーク130を通って通信するログレコードなどによ
ってプライマリシステム110と同期する。従ってセカ
ンダリシステム120は、もしプライマリシステム11
0が故障ないし切断(故障の一種)された場合に直ちに
処理を置き換わることができる(プライマリデータベー
スモードにおける機能を自動的に再指定される)。従っ
て、ホットスペアを利用できることにより、システム全
体の可用性を改善させ、ダウン時間を減らすことができ
る。ホットスペアなしでは、プライマリシステム110
が回復してないしオンラインに戻る(故障を解決する)
までは処理がサスペンドしてしまう。
【0014】基本的な考えは、セカンダリシステム12
0をプライマリシステム110と継続的な同期状態に維
持することである。プライマリシステム110とセカン
ダリシステム120はシステムログを保持して確実に同
期させる。一実施例では、永続性データ(persistent da
ta)への更新全てはシステムログ内のログレコードによ
り記録される。プライマリシステム110のディスクに
システムログをフラッシュするたびに、システムログは
セカンダリシステム120と通信する。次にセカンダリ
システム120は、自分のバージョンのデータベースに
ログレコードを適用する。一実施例では、各ログに対し
てセカンダリシステム120が行う動作は、システム故
障からの回復時にログレコードを適用した場合の動作と
同一に行われる。参考のため、システム故障後の回復の
詳細は、米国特許出願"System and Method for Restori
ng a Multiple Checkpointed Database in View of los
sof Volatile Memory"、"System and Method for Resto
ring a Distributed Checkpointed Database"(ともに
1996年12月16日出願、Lucent Technologies In
c.譲受人、発明者:Bohannon他)、に記載されている。
【0015】本発明の原理に従って、コミット(commit)
処理を2つの例示的な方法のうちの1つの方法でプライ
マリシステム110にて取扱うことができる。それらを
「1セーフ」、「2セーフ」のアプローチと呼ぶ。1セ
ーフアプローチを用いると、プライマリシステム110
はセカンダリシステム120からそのセカンダリシステ
ム120がそのサイトにてトランザクションをコミット
(委任)したことの確認を待たずにトランザクションを
ローカルにコミットする。結果として、セカンダリシス
テム120ではなくプライマリシステム110にてトラ
ンザクションがコミットされることが発生する。従っ
て、セカンダリシステム120がプライマリシステム1
10から奪うことが必要となると、特定のコミットされ
たトランザクションをロールバックする必要が発生す
る。2セーフアプローチを用いると、プライマリシステ
ム110はセカンダリシステム120からそれがトラン
ザクションをコミットしたことの確認を受け取った後に
のみローカルにトランザクションをコミットする。結果
として、プライマリシステム110ではなくセカンダリ
システム120にて特定のトランザクションをコミット
することが発生する。従って、プライマリシステム11
0にてアボートされうる特定のトランザクションであっ
ても、セカンダリシステム120にてコミットされう
る。
【0016】1セーフアプローチを用いるとシステムユ
ーザは、システムがコミットしているトランザクション
が後でロールバックされるような状況を経験することが
できることを専門家は認識できるであろう。結果とし
て、1セーフアプローチでは「耐久性(durability)」特
性を満足できない。しかし2セーフアプローチでは、耐
久性特性を常に満足させる。なぜなら、システムはトラ
ンザクションがプライマリシステム110とセカンダリ
システム120の両方でコミットされるまでコミットさ
れた指示情報を戻さないからである。しかし、2セーフ
アプローチでは、オーバーヘッドが大きくなってしま
う。なぜなら、ユーザへのコミットに対する応答は、コ
ミットレコードがプライマリシステム110とセカンダ
リシステム120の両方でステーブルストレージにヒッ
トするまで遅延してしまうからである。
【0017】トランザクションがプライマリシステム1
10またはセカンダリシステム120の一方だけでコミ
ットされ他方ではコミットされないという現象は、1セ
ーフおよび2セーフアプローチを用いる2つの方式で示
したようにプライマリシステム110とセカンダリシス
テム120の両方を同期状態に保持するのにいくつかの
重大な問題を発生させてしまう。1セーフアプローチを
用いる第1の方式では、プライマリシステム110はト
ランザクションTをコミットされ、セカンダリシステム
120がログレコードを受け取る前に故障する。結果と
して、セカンダリシステム120はトランザクションT
がコミットされることなしに任される。CPU111は
復帰すると(故障を直すと)、セカンダリデータベース
モードで機能するように自動的にされ、2システムとし
てアタッチするように試みる。そして、2つのシステム
の間を同期状態を保持するためにTの影響をUndoする必
要が発生する。2セーフアプローチを用いる第2方式で
は、トランザクションTは、プライマリシステム110
ではなくセカンダリシステム120にて、そして、Tを
プライマリシステム110にてコミットすることができ
る前にプライマリシステム110とセカンダリシステム
120の両方の故障をコミットされる。この状況におい
て、プライマリシステム110とセカンダリシステム1
20の両方が復帰するとき、Tの影響はセカンダリシス
テム120のログから消されることに留意することが重
要である。
【0018】以下の説明において、(1)セカンダリシ
ステムのプライマリシステムへのアタッチ、(2)プラ
イマリシステムから任されるセカンダリシステム、
(3)システム故障からのプライマリシステムとセカン
ダリシステムの回復、に対するプロトコルを説明する。
ここで説明するプロトコルは非常に汎用的であり、プラ
イマリシステムがセカンダリシステムとして回復するこ
と、あるいはその反対を回復することを可能にする。従
って、もしプライマリシステムがプライマリシステムと
セカンダリシステムとの両方の故障によって可用(avail
able)でなければ、セカンダリシステムはプライマリシ
ステムとして回復することができ、プライマリシステム
は、可用となれば、セカンダリシステムとして回復する
ことができる。以下で説明するプロトコルが受ける唯一
の制約は、ユーザは両方のシステムを同じプライマリモ
ードまたはセカンダリモードでスタートオフしないよう
に注意しなければならないということである。例えば、
もしシステムがプライマリモードですでに動作していれ
ば、他方のシステムをもプライマリモードでスタートア
ップしてはならないということである。
【0019】一実施例では、state、sec_syncd、eol_be
fore_syncという3つの変数が両方のシステムに永続的
に記憶される。state変数はシステムの最も現在(curren
t)の状態を記憶する。システムの状態は、「プライマ
リ」、「セカンダリ」または「空」のいずれかとなりう
る。sec_syncd変数はセカンダリシステム120がプラ
イマリシステム110と同期しているかどうかを追跡す
るのに用いる。sec_syncd変数はもしセカンダリシステ
ム120がプライマリシステム110といまだ同期して
いなければ「0」であり、同期していれば「1」であ
る。eol_before_sync変数は、プライマリシステム11
0における「ステーブルログ」の終端を追跡するのに用
いる。ステーブルログの終端は、プライマリシステム1
10が制御をコミットされた最も早い時間に対応し、そ
の時間の後ではセカンダリシステム120はプライマリ
システム110と同期していないこととなる。sec_sync
d変数は、システムの状態が「プライマリ」であるとき
にのみ意味があり、eol_before_sync変数はsec_syncが
「0」でありシステムの状態が「プライマリ」であると
きにのみ意味がある。
【0020】一実施例において、もしプライマリシステ
ム110が故障しセカンダリシステム120が故障を検
出すると、セカンダリシステム120は回復処理の最終
段階の時に通常行う動作を単に行う。例えば、アクティ
ブトランザクションのロールバック、コミットされたト
ランザクションに対するコミット後動作の実行である。
次に、セカンダリシステム120は自身をプライマリシ
ステムとして登録する。これは、セカンダリシステム1
20のstate変数を「プライマリ」、sec_syncdを
「0」、eol_before_syncをテイクオーバーする前にプ
ライマリシステム110から受け取った(ステーブルロ
グ内の)最後のログレコードの終端の位置に、自動的に
変えることにより行う。代わりに、変数を自動的に書き
込む代わりに、(1)eol_before_sync、(2)sec_syn
cd、(3)stateの順番で書き込めばいいようにしても
よい。そしてセカンダリシステム120は通常の処理を
始める。
【0021】システムのスタートアップでは、オプショ
ン的なパラメータを用いて、システムが初期に「プライ
マリ」または「セカンダリ」のいずれかで構成すべきか
を指定することができる。パラメータが指定されていな
い場合は、システムが最後に故障したモードと同じモー
ドとすることができる。この最後の状態は、システムに
永続的に記憶された状態変数から得ることができる。関
連する実施例において、「空」状態のシステムは、プラ
イマリシステムとしてスタートアップすることができな
い。セカンダリシステムとしてのみスタートアップする
ことができる。
【0022】システムがプライマリモードでスタートア
ップすると、以下の条件のいずれかが真であるかを判断
する。 (1)システムのstateは「セカンダリ」か?すなわ
ち、システムは最後にセカンダリモードであったか? (2)システムのstateは「プライマリ」でありsec_syn
cdは「1」か? もし上記条件のいずれかが真であれば、stateは「プラ
イマリ」、sec_syncdは「0」、eol_before_syncはシス
テムがデータベースを回復する前のサイトにおけるステ
ーブルログの終端の位置、に永続的かつ自動的にセット
される。上の更新はサイトにおけるデータベースが回復
した後に行う。
【0023】システムプライマリシステム110、セカ
ンダリシステム120のいずれかがプライマリシステム
またはセカンダリシステムとして構成するかもしれない
ので、それらシステムをそれぞれs1、s2として表す。
もしs2をセカンダリモード、stateを「空」でスタート
アップすれば、下で説明するようにシステムs2は単に
「再初期化(reinitialize)」される。そうでない場合
は、システムはプライマリシステム(例えば、システム
1)へ接続してmin_eoliを得る。min_eoliは以下のよ
うに定義される。 (1)もしstateが「プライマリ」、sec_syncdi
「0」であれば、min_eoliはeol_before_synciであり、
(2)そうでない場合、min_eoliは単に、eoli(すなわ
ち、サイトiにおけるステーブルログの終端)である。
ここで、下付表現は変数を収容するサイトを表す。次に
システムs2はtrunc_eolをmin(min_eol1, min_eol2)に
セットし、そのステーブルログをプライマリシステムの
ステーブルログと同期させる。
【0024】システムs2のステーブルログをプライマ
リのステーブルログと同期させるには、以下の操作を行
う。 (1)もしtrunc_eolがs2のeolよりも小さくtrunc_eol
の後のステーブルログの部分を切り捨てる(truncate)こ
とができなければ、s2の状態変数は「空」に変えら
れ、下で説明するようにs2は「再初期化」される。tru
nc_eolの後のログの前記部分は、もしアクティブトラン
ザクションテーブル(ATT:下で説明する)がチェッ
クポイントされた後で記録されたeolがtrunc_eol以下で
あれば、s2にて削除/切り捨てられる。もしtrunc_eol
の後のログの前記部分を削除できると判断すれば、s2
はそのログを切り捨てtrunc_eolをs1(プライマリシス
テム)へと送る。 (2)次に、プライマリシステムは、そのサイトでtrun
c_eolの後のログの部分が切り捨てられていないかを検
査する。もし切り捨てられていれば、プライマリシステ
ムはログレコードをtrunc_eolからセカンダリシステム
2へと前方に単に送り始める。またプライマリシステ
ムはsec_syncdを「1」に永続的にセットする。すると
セカンダリシステムは、trunc_eolまでそのステーブル
ログにおけるログレコードを適用(apply)することによ
りデータベースを回復し、プライマリシステムから受け
取るログレコードを適用し始める。またセカンダリシス
テムはそのstateを「セカンダリ」として永続的に留め
る。 (3)しかしもしプライマリシステムs1におけるtrunc
_eolの後の特定のログレコードが切り捨てられていれ
ば、セカンダリシステムはそのstateを「空」にセット
した後に再初期化される。セカンダリシステムを再初期
化するには、プライマリシステムはデータベース全体、
そしてstart_eolの後のログレコードのみ(アーカイブ
から回復するのに最小限必要なログスタートポイントで
ある)をセカンダリシステムへ送る。これは従来のアー
カイブ操作で行える。セカンダリシステムはそのデータ
ベース全体(ATTを含む)をアーカイブから回復さ
せ、プライマリシステムにより送られたログレコードを
適用し始める。ログレコードはstart_eolから始まるよ
うにセカンダリシステムのステーブルログへとアペンド
(追加)される。ATTとともに記憶されたstart_eol
とeolの間の全てのログレコードがセカンダリシステム
のステーブルストレージに転送されると、セカンダリシ
ステムにて再初期化が完成する。再初期化が完成する
と、セカンダリシステムはそのstateを「セカンダリ」
へとセットし、プライマリシステムはsec_syncdを
「1」にセットする。
【0025】上の記載から、システム実行時の全ての時
点で成立するいくつかの単純な観測をすることができ
る。 (1)2つのシステムの少なくとも1つではstateが
「プライマリ」である。 (2)両方のシステムにおいてstateが「プライマリ」
であってsec_syncdが「1」であることはまったくな
い。 (3)いずれのシステムもstateが「空」でなければ、
両方のシステムにおけるログの部分はmin(min_eol1, mi
n_eol2)までは同一である。
【0026】2セーフアプローチでは、コミットされた
トランザクションのいずれもロールバックせずにすむた
めに満たさなければならない条件は以下である。 (1)2つのシステムのうちstateが「プライマリ」でs
ec_syncdが「0」であるシステムは常にプライマリモー
ドでスタートアップしたシステムである。 (2)2つのシステムのうちstateが「プライマリ」でs
ec_syncdが「1」であるシステムは、他方のシステムの
stateが「セカンダリ」であるかあるいは他方のシステ
ムのstateが「プライマリ」ではなくsec_syncdが「0」
であるかのいずれかである場合に限って、プライマリモ
ードでスタートアップすることができる。
【0027】上の条件は、stateが「プライマリ」であ
りsec_syncdが「0」である2つのサイトが存在しない
ということを確実にする。
【0028】完全さを求めるため、下にマルチレベル回
復のコンセプトとシングルサイトメインメモリ回復方式
の説明をする。下で説明する中央化方式は上記米国特許
出願"System and Method for Restoring a Distributed
Checkpointed Database"で示した方式の概要となる。
この方式はまた、ダーティーページのみを記したマルチ
レベル回復およびファジーチェックポイント方法を記載
している。
【0029】このマルチレベル回復方式を用いると、デ
ータはいくつかの「領域」へと論理的に組織される。1
つの領域は1つの要素からなったり、1つのオブジェク
トであったり、あるいはリストやツリーのような任意の
データ構造であってもよい。各領域は、排他モード
(X)および共有モード(S)となる関連づけられた1
つのロックを有する。これは「領域ロック」と呼び、領
域へのアクセスや更新をガードする。
【0030】マルチレベル回復は、操作のセマンテック
に基づく増強した整合性(concurrency)の回復サポート
を提供する。マルチレベル回復は、強い共有/排他領域
ロックがある場合のより弱い「操作」ロックの利用を可
能にする。領域ロックの一般的な例として、インデック
ス管理がある。ここではトランザクションコミットまで
物理的ロックを保持すると、許容できない程度の低いレ
ベルの整合性となってしまう。もしUndoロギングを物理
的にした場合(例えば、インデックスへとキーを挿入す
るためにどのバイトが変更されたかを正確に記録するこ
と)、トランザクション管理システムは、物理的Undo記
述トランザクションコミットまで有効であることを確実
にしなければならない。それら記述は特定の位置におけ
る特定の更新に関するので、このことは典型的には、イ
ンデックスへの整合性アクセスに対する考慮に加えて、
更新されたインデックスノード上の領域ロックが正確な
回復を確実にするために保持されることを示唆する。
【0031】マルチレベル回復アプローチは、低レベル
物理的Undoログレコードを、操作レベルにおけるUndo記
述を含むより高いレベルの論理的Undoログレコードへと
置き換える。従って、挿入操作では、物理的Undoレコー
ドは、挿入されたキーは削除されなければならないこと
を示す論理的Undoレコードで置き換える。この置き換え
を行うと、領域ロックは解放され、制約がより弱い操作
のロックのみが残る。例えば、挿入に関わる特定のノー
ド上の領域ロックが解放され、キーをアクセスや削除か
ら防ぐ新しく挿入されたキー上の操作ロックを保持され
る。
【0032】図2は、回復に用いるデータ構造のアーキ
テクチャーである。データベース210は、固定サイズ
のページのシーケンスでよく、各プロセスのアドレスス
ペースへとマッピングされ、2つのチェックポイントイ
メージCkpt_A、Ckpt_Bをディスク202上に配置してメ
インメモリ201内に配置される。ディスク202には
またcur_ckpt、データベースのために最も最近の有効チ
ェックポイントイメージへとポイントする「アンカー(a
nchor)」、ディスク202にステーブルシステムログ部
分205を有しメインメモリ201にテール220を有
するRedo(リドゥー:繰り返し)情報を含む単一のシス
テムログを記憶する。変数end_of_stable_log230
は、システムログ内にポインタを記憶し、そのポインタ
の前の全てのレコードがステーブルシステムログ205
へとフラッシュされるようにされる。
【0033】単一のATT240はアクティブトランザ
クションに対してUndoログ255とRedoログ250を記
憶する。ダーティーページテーブル(dpt)260
は、メインメモリ201に保持され、最後のチェックポ
イントから更新されたページを記録する。Undoログを有
するATTおよびdptもまた、各チェックポイントと
ともに記憶される。チェックポイントにおけるdpt
は、ckpt_dptと呼ぶ。
【0034】このモデルにおける「トランザクション」
は、一連の操作からなる。各操作にはレベルLiが関連
づけられているとする。レベルLiにおける操作は、レ
ベルL i-1の一連の操作からなることができる。レベル
nのトランザクションは、レベルLn-1の操作を呼び出
す。領域への物理的な更新は、レベルL0の操作であ
る。各トランザクションは「コミット前」(例えば、コ
ミットレコードがメモリ内のシステムログに入って連続
的順序でポイントを設定するとき)と「コミット後」
(例えば、コミットレコードがステーブルログをヒット
したとき)とで区別することができる。コミット前ポイ
ントのみが意味あるような操作に対しても同じ用語定義
を用いることができるが、この場合はまた「操作コミッ
ト」とも呼ばれる。
【0035】各トランザクションは、操作が実行する前
に「操作」ロックを獲得し(このロックはアクティブト
ランザクションが保持する他の操作ロックの代わりとな
る場合に操作に対して認められる)、L0操作は領域ロ
ックを獲得しなければならない。L1操作がプレコミッ
ト(前コミット)すると領域上のロックは解放される。
しかしレベルLiの操作ロックは、トランザクションな
いし含まれる操作(レベルLi+1)がプレコミットする
まで保持される。従って、トランザクションが獲得する
ロック全ては、そのトランザクションがプレコミットす
ると解放される。
【0036】回復アルゴリズムは、各トランザクション
に対してメインメモリ201内に別々のUndoログ255
およびRedoログ250を保持する。一実施例において、
ATT240におけるトランザクションに対するエント
リーから外れるリンクされたリストとして記憶される。
各更新(領域の一部への)は、トランザクションのUndo
およびRedoログへとそれぞれアペンドされたUndoおよび
Redoログレコードを生成する。トランザクション操作が
プレコミットすると、そのRedoログ内のトランザクショ
ンに対する全てのRedoログレコードは、システムログに
アペンドされ、操作の論理的Undo記述は、システムログ
内の操作コミットログレコード内に含まれる。従って、
論理的Undo記述子を例外として、Redoレコードのみが通
常処理時にシステムログに書き込まれる。
【0037】また、操作がプレコミットすると、そのサ
ブ操作/更新に対するUndoログレコードはトランザクシ
ョンのUndoログから削除され、操作のUndo記述を含む論
理的Undoログレコードはアペンドされる。プレコミット
したトランザクションのメモリ内Undoログは、再び必要
とされないので削除される。操作/トランザクションに
よって獲得したロックはその操作/トランザクションが
プレコミットすると解放される。
【0038】トランザクションがコミットするとシステ
ムログはディスクにフラッシュされる。ディスクに書き
込まれる各Redoログレコードにより更新されるページ
は、フラッシュプロシージャーによりダーティーページ
テーブル260内にダーティーとしてマークされる。こ
の回復方式において、更新動作はページにラッチを獲得
しない。代わりに、領域ロックにより、各更新がお互い
干渉しないことが確実になる。領域サイズが変化する場
合は、ストレージ配置構造上の特定の付加的な領域ロッ
クを獲得する必要がある。例えば、ページベースのシス
テムでは、もし更新によって1つの要素の大きさが変化
すると、その要素に対する領域ロックに加えて、ページ
上のストレージ配置構造上のXモード領域ロックを得な
ければならない。また、ページラッチングにおいて通常
行われない動作(例えば、ページにダーティービットを
セットすること)は、Redoログ250に書き込まれたロ
グレコードに基づいてここで行われる。Redoログ250
は単一の統一資源として用い、回復システムとのアプリ
ケーションのやりとりを調整する。
【0039】メインメモリデータベースにおける用語定
義と同様に、「チェックポイント」は、ディスク202
上に記憶されるメインメモリ201のコピーを意味し、
「チェックポイントする」とは、チェックポイントを作
る動作を表す。
【0040】多くの伝統的な回復方式は、ライトアヘッ
ドロギング(WAL:write-ahead logging)を用いる。
ここではページの更新に対する全てのUndoログは、その
ページがディスクにフラッシュされる前にディスクにフ
ラッシュされる。このWALの特性を保証するため、ペ
ージをディスクにコピーするときにページ上の(あるい
はシステムログ上の)ラッチを保持する。本発明におい
ては、更新中のページに対してラッチを排除している。
なぜならラッチングは、メインメモリにおけるアクセス
コストを相当に増やしてしまうからである。またラッチ
ングは通常の処理と干渉してしまい、さらに、プログラ
ミングの複雑さを相当に増やしてしまう。結果として、
WALのポリシーは貫徹することはできなくなる。なぜ
ならページが書き込まれたにもかかわらずページが更新
されてしまうからである。
【0041】正確さのため、WALを用いない場合、デ
ータベースイメージの2つのコピーがディスク上に記憶
され、交互のチェックポイントが交互のコピーにダーテ
ィーページを書き込む。この戦略は「ピンポンチェック
ポインティング」と呼ばれ、作られるチェックポイント
が一時的に不整合状態であることを許容する。すなわ
ち、対応するUndoレコードが書き込まれることなしに更
新が書き込まれうる。
【0042】ピンポンチェックポインティングのために
ディスク上にメインメモリデータベースの2つのコピー
を保持することがそれほどは大きなスペース上の問題が
ないことを認識できるであろう。なぜなら、メインメモ
リーのコストよりもディスクスペースのコストの方がか
なり安いからである。しかし下で説明するように入出力
の問題が発生する。なぜなら、ページに1つの更新しか
ない場合であってもダーティーページを両方のチェック
ポイントに書き込まなければならないからである。しか
しこの問題はホットページにとっては微々たるもので通
常のメインメモリデータベースアプリケーションでは入
出力コストよりも利益の方が大きくなる。
【0043】ダーディーデータのいずれをもディスクに
書き込む前に、ステーブルログの現在の終端を変数end_
of_stable_log(これはチェックポイントとともに記憶
される)に設定する。これは、このチェックポイントを
用いて故障から回復する場合に、システムログをスキャ
ンする開始点となる。次に、(メモリ内)Ckpt_dptの内
容をdptのものにセットし、dptはゼロにされる。end_of
_stable_logの設定およびdptのゼロ化は、フラッシュに
関して自動的に行われる。書き込まれるページは、最後
に完了したチェックポイントのckpt_dptにおけるダーテ
ィー、現在の(メモリ内)ckpt_dptにおけるダーティ
ー、あるいは上記両方におけるダーティー、のいずれか
のページである。言い換えると、現在のチェックポイン
トイメージが最後に書き込まれてから変更されたページ
全て、すなわち、1つを除いて最後であるチェックポイ
ント以降にダーティー化されたページが書き込まれる。
このことは、現在のチェックポイントのend_of_stable_
logに先行するログレコードに記述された更新が現在の
チェックポイントにおけるデータベースイメージへと達
成されることを確実にするために必要である。
【0044】チェックポイントは、ラッチをいずれも獲
得することなしに、従って、通常の動作と干渉すること
なしにダーティーページを書き込む。この「ファジー」
チェックポインティングは、物理的Redoログレコードが
全ての更新により生成されるので可能となる。これらは
リスタート回復時に用いられ、これらの影響はべき等(i
dempotent)的である。チェックポイントイメージに影響
を与えたコミットされていない更新のいずれに対して
も、データベースイメージが書き込まれた後にUndoログ
レコードがディスクに書き込まれる。これは、データを
チェックポイントした後にATTをチェックポイントす
ることにより行われる。ATTのチェックポイントは、
Undoログレコードを他のstate情報とともに書き込む。
【0045】チェックポインティングの終端において、
cur_ckcpが新しいチェックポイントをポイントするよう
にすることにより、チェックポイントの完了(および整
合性)を宣言する前にログフラッシュを行わなければな
らない。これは、トランザクション/操作のプレコミッ
トでUndoログが削除されるためで、これはATTのチェ
ックポイントの前に起こりうる。もしチェックポイント
が完了しログフラッシュの前にシステムが故障すると、
チェックポイントはUndo情報を持たない非コミット更新
を含みうる。ログフラッシュにより、トランザクション
/操作がコミットされることを確実にし、更新がUndoさ
れなければならないということはなくなる。(ただし、
Undo情報がログに存在するような補償操作のような場合
を除く。)
【0046】トランザクションがアボートとなると(実
行が成功裏に完了しない場合)、そのトランザクション
のUndoログにおけるログレコードが記述する更新/操作
は、終端からUndoログを順次横断することによりUndoさ
れる。トランザクションアボートは、全てのUndoレコー
ドを逆順でそのトランザクションの一部であるかのよう
に実行することにより行われる。
【0047】「履歴の繰り返し(repeating history)」
の原理に従って、新しい物理的Redoログレコードが、ア
ボート時に遭遇した各物理的Undoレコードに対して作ら
れる。同様に、遭遇した各論理的Undoレコードに対し
て、新しい「補償」ないし「プロキシ(代理)」操作を
Undo記述に基づいて実行する。操作により行われる更新
に対するログレコードは、通常の処理時のログレコード
と同様に生成される。また、プロキシ操作を補償する場
合、そのUndoログレコード全てはUndoされた操作に対す
る論理的Undoレコードとともに削除される。プロキシ操
作に対するコミットレコードは、「補償ログレコード
(CLR:compensation log record)」という用語によ
って表される目的を果たす。例えば、リスタート回復時
にコミットレコードに遭遇した場合、Undoされた操作に
対する論理的UndoログレコードはトランザクションのUn
doログから削除され、従って、その操作を再びUndoされ
ることから防ぐ。
【0048】最後に、回復について説明する。リスター
ト回復においては、ATTとトランザクションUndoログ
を最も最近のチェックポイントにて記憶されているもの
で初期化した後、データベースがロードされdptはゼ
ロ化される。チェックポイント操作の一部として、ディ
スク上のシステムログの終端がデータベースイメージが
チェックポイントされる前に留められ、チェックポイン
トが終わるとこのチェックポイントに対して「回復開始
点」となる。この点に先行するログレコードにより記述
される全ての更新は、チェックポイントされたデータベ
ースイメージに反映されることが確実である。従って、
リスタート回復時には、データベースの最後に完了した
チェックポイントに対する回復開始点に続くRedoログレ
コードのみが、dptにおける適切なページが各ログレ
コードに対してダーティーにセットされて、適用され
る。Redoログレコードの適用時において、ATTのチェ
ックポイントされたイメージをそれが適用されたログと
整合性を保つように必要な動作が行われる。例えば、操
作コミットログレコードに遭遇した場合、操作に対する
トランザクションのUndoログにおけるより低いレベルの
ログレコードがより高いレベルのUndo記述により置き換
えられる。
【0049】全てのRedoログレコードを適用すると、ア
クティブトランザクションがロールバックされる。これ
を行うため、トランザクションが直接呼び出した、ある
いは完了していない操作が直接呼び出した、完了した操
作全てはロールバックされなければならない。異なるト
ランザクションの操作がロールバックされる順序は非常
に重要であり、レベルLiのUndoは整合性のあるデータ
構造を見るようにする。まず、ロールバックされるべき
0の全てのトランザクションはロールバックされ、そ
の後に、レベルL1の全ての操作、そして、L2等々と続
く。
【0050】Redoログにおいて特定のコミットされない
更新が存在すると、チェックポイント時にUndoログレコ
ードは記録されないこともある。これは、例えば、操作
が実行されチェックポイントの後にコミットした場合で
あって含まれるトランザクションがコミットされていな
い場合などに起こりうる。しかしこれは問題ではない。
なぜなら、操作のUndo記述はシステムログ上の順方向渡
し時の操作コミットログレコードにおける回復時に早く
見つかるからである。システムログにコミットログレコ
ードが見つからない操作が行う更新に対するRedoログレ
コードのいずれも無視される。なぜなら、これらレコー
ドは、フラッシュ時の故障によるものに違いなく、シス
テムログの終端にあるからである。
【図面の簡単な説明】
【図1】本発明の原理に従い、ホットスペアサポートを
備えるシステムのブロック図。
【図2】回復のために用いるデータ構造のアーキテクチ
ャー。
【符号の説明】
100 ホットスペアシステム 110 プライマリシステム 111、121 CPU 112、122 RAM 120 セカンダリシステム 130 ネットワーク 201 メインメモリ 202 ディスク 205 ステーブルシステムログ 210 データベース 220 システムログのテール部 230 end_of_stable_log 240 アクティブトランザクションテーブル(AT
T) 250 Redoログ 255 Undoログ 260 ダーティーページテーブル
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A. (72)発明者 アブラハム シルバーシャッツ アメリカ合衆国,07059 ニュージャージ ー,ウォーレン,ウルフ ヒル ドライブ 48

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 プライマリコンピュータのホットスペア
    としてセカンダリコンピュータを動作させるホットスペ
    アシステムであって、 プライマリコンピュータは、プライマリデータベースを
    有し、セカンダリデータベースを有するセカンダリコン
    ピュータと接続することができ、 (A)プライマリデータベースと関連づけられ、プライ
    マリデータベース内の永続性データに関わるトランザク
    ションのログレコードを保持するトランザクションロガ
    ーと、 (B)プライマリデータベースと関連づけられ、2コン
    ピュータへログレコードの少なくとも一部を送り、セカ
    ンダリデータベースにログレコードのその少なくとも一
    部をコミットさせることをセカンダリコンピュータに可
    能にさせるトランザクションプロセッサとからなること
    を特徴とするホットスペアシステム。
  2. 【請求項2】 トランザクションプロセッサは、ログレ
    コードの全てをセカンダリコンピュータへ送り、セカン
    ダリコンピュータがセカンダリデータベースへそのログ
    レコードの全てをコミットさせ、セカンダリデータベー
    スにプライマリデータベースをミラーリングさせること
    を特徴とする請求項1記載のホットスペアシステム。
  3. 【請求項3】 トランザクションプロセッサは、ログレ
    コードの一部を、それをセカンダリコンピュータがコミ
    ットしたことの確認をすることを待たずにコミットする
    ことを特徴とする請求項1記載のホットスペアシステ
    ム。
  4. 【請求項4】 トランザクションプロセッサは、ログレ
    コードの一部を、それをセカンダリコンピュータがコミ
    ットしたことの確認をすることを待ってコミットするこ
    とを特徴とする請求項1記載のホットスペアシステム。
  5. 【請求項5】 プライマリデータベースの故障の際に、
    セカンダリデータベースは、プライマリデータベースモ
    ードで機能するように自動的にされることを特徴とする
    請求項1記載のホットスペアシステム。
  6. 【請求項6】 前記故障の解決の際に、プライマリデー
    タベースは、セカンダリデータベースモードで機能する
    ように自動的にされることを特徴とする請求項5記載の
    ホットスペアシステム。
  7. 【請求項7】 トランザクションロガーは、プライマリ
    ステーブルログにログレコードを保持し、セカンダリコ
    ンピュータは、プライマリステーブルログと同期するこ
    とができることを特徴とする請求項1記載のホットスペ
    アシステム。
  8. 【請求項8】 プライマリコンピュータとセカンダリコ
    ンピュータとをコンピュータネットワークが接続するこ
    とを特徴とする請求項1記載のホットスペアシステム。
  9. 【請求項9】 プライマリコンピュータのホットスペア
    としてセカンダリコンピュータを動作させるホットスペ
    ア方法であって、 プライマリコンピュータは、プライマリデータベースを
    有し、セカンダリデータベースを有するセカンダリコン
    ピュータと接続することができ、 (A)永続性データに関わるトランザクションのログレ
    コードをプライマリデータベースに保持するステップ
    と、 (B)ログレコードの少なくとも一部をセカンダリコン
    ピュータへと送り、セカンダリデータベースにログレコ
    ードのその少なくとも一部をコミットさせることをセカ
    ンダリコンピュータに可能にさせるステップと、 (C)プライマリコンピュータとセカンダリコンピュー
    タの状態をプライマリデータベースとセカンダリデータ
    ベースに関連づけられた第1パラメータとするステップ
    とからなることを特徴とするホットスペア方法。
  10. 【請求項10】 ステップ(B)は、ログレコードの全
    てをセカンダリコンピュータへ送り、セカンダリコンピ
    ュータがセカンダリデータベースへそのログレコードの
    全てをコミットさせ、セカンダリデータベースにプライ
    マリデータベースをミラーリングさせるステップからな
    ることを特徴とする請求項9記載の方法。
  11. 【請求項11】 ログレコードの一部を、それをセカン
    ダリコンピュータがコミットしたことの確認をすること
    を待たずにコミットするステップをさらに有することを
    特徴とする請求項9記載の方法。
  12. 【請求項12】 ログレコードの一部を、それをセカン
    ダリコンピュータがコミットしたことの確認をすること
    を待ってコミットするステップをさらに有することを特
    徴とする請求項9記載の方法。
  13. 【請求項13】 プライマリデータベースの故障の際
    に、セカンダリデータベースがプライマリデータベース
    モードで機能するように自動的にすることを特徴とする
    請求項9記載の方法。
  14. 【請求項14】 前記故障の解決の際に、プライマリデ
    ータベースがセカンダリデータベースモードで機能する
    ように自動的にすることを特徴とする請求項13記載の
    方法。
  15. 【請求項15】 トランザクションロガーは、プライマ
    リステーブルログにログレコードを保持し、セカンダリ
    コンピュータは、プライマリステーブルログと同期する
    ことができることを特徴とする請求項9記載の方法。
  16. 【請求項16】 ステップ(B)は、プライマリコンピ
    ュータとセカンダリコンピュータとを接続するコンピュ
    ータネットワークにて行うことを特徴とする請求項9記
    載の方法。
  17. 【請求項17】 (A)プライマリコンピュータにある
    プライマリデータベースと、 (B)プライマリコンピュータに接続するセカンダリコ
    ンピュータにあるセカンダリデータベースと、 (C)(a)プライマリデータベースと関連づけられ、
    プライマリデータベース内の永続性データに関わるトラ
    ンザクションのログレコードを保持するトランザクショ
    ンロガーと、 (b)プライマリデータベースと関連づけられ、2コン
    ピュータへログレコードを送り、セカンダリデータベー
    スにログレコードをコミットさせることをセカンダリコ
    ンピュータに可能にさせるトランザクションプロセッサ
    とを有する、セカンダリデータベースにプライマリデー
    タベースをミラーリングさせるシステムからなることを
    特徴とするデータベース管理システム。
  18. 【請求項18】 トランザクションプロセッサは、ログ
    レコードの一部を、それをセカンダリコンピュータがコ
    ミットしたことの確認をすることを待たずにコミットす
    ることを特徴とする請求項17記載のデータベース管理
    システム。
  19. 【請求項19】 トランザクションプロセッサは、ログ
    レコードの一部を、それをセカンダリコンピュータがコ
    ミットしたことの確認をすることを待ってコミットする
    ことを特徴とする請求項17記載のデータベース管理シ
    ステム。
  20. 【請求項20】 プライマリデータベースの故障の際
    に、セカンダリデータベースは、プライマリデータベー
    スモードで機能するように自動的にされることを特徴と
    する請求項17記載のデータベース管理システム。
  21. 【請求項21】 前記故障の解決の際に、プライマリデ
    ータベースは、セカンダリデータベースモードで機能す
    るように自動的にされることを特徴とする請求項20記
    載のデータベース管理システム。
  22. 【請求項22】 トランザクションロガーは、プライマ
    リステーブルログにログレコードを保持し、セカンダリ
    コンピュータは、プライマリステーブルログと同期する
    ことができることを特徴とする請求項17記載のデータ
    ベース管理システム。
  23. 【請求項23】 プライマリコンピュータとセカンダリ
    コンピュータとをコンピュータネットワークが接続する
    ことを特徴とする請求項17記載のデータベース管理シ
    ステム。
JP11078188A 1998-03-20 1999-03-23 ホットスペアシステムおよびデ―タベ―ス管理システム Pending JPH11327991A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/045,601 US6205449B1 (en) 1998-03-20 1998-03-20 System and method for providing hot spare redundancy and recovery for a very large database management system
US09/045601 1998-03-20

Publications (1)

Publication Number Publication Date
JPH11327991A true JPH11327991A (ja) 1999-11-30

Family

ID=21938855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11078188A Pending JPH11327991A (ja) 1998-03-20 1999-03-23 ホットスペアシステムおよびデ―タベ―ス管理システム

Country Status (4)

Country Link
US (1) US6205449B1 (ja)
EP (1) EP0943997A3 (ja)
JP (1) JPH11327991A (ja)
CA (1) CA2263034A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004097648A1 (ja) * 2003-04-25 2004-11-11 Fujitsu Limited データベース制御方法
JP2005222110A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd ストレージサブシステム
JP2006004147A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法
JP2010061674A (ja) * 2002-11-27 2010-03-18 Sap Ag データウェアハウスリフレッシュ時のデータ損失を防止する方法
JP2012505461A (ja) * 2009-02-23 2012-03-01 株式会社日立製作所 ストレージシステムおよびその制御方法

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629263B1 (en) * 1998-11-10 2003-09-30 Hewlett-Packard Company Fault tolerant network element for a common channel signaling (CCS) system
US10191922B2 (en) 1998-11-24 2019-01-29 Oracle International Corporation Determining live migration speed based on workload and performance characteristics
US9239763B2 (en) 2012-09-28 2016-01-19 Oracle International Corporation Container database
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
DE19952312A1 (de) * 1999-10-29 2001-05-03 Siemens Ag Verfahren zum Betreiben eines Zweitrechners, Vermittlungseinrichtungen für den ausfallsicheren Betrieb und zugehöriges Programm
US6721901B1 (en) * 2000-02-28 2004-04-13 International Business Machines Corporation Method and system for recovering mirrored logical data volumes within a data processing system
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US7219260B1 (en) * 2000-05-26 2007-05-15 Emc Corporation Fault tolerant system shared system resource with state machine logging
US6883170B1 (en) * 2000-08-30 2005-04-19 Aspect Communication Corporation Method and system to maintain a hierarchy of instantiated application objects and to enable recovery from an applications failure
GB2367644B8 (en) * 2000-09-18 2005-10-18 Oracle Corp Uk Ltd Transaction reconstruction
US7164676B1 (en) * 2001-03-21 2007-01-16 Cisco Technology, Inc. Method and apparatus for a combined bulk and transactional database synchronous scheme
US7464113B1 (en) * 2001-05-10 2008-12-09 Oracle International Corporations Disaster recovery with bounded data loss
JP4076326B2 (ja) * 2001-05-25 2008-04-16 富士通株式会社 バックアップシステム、データベース装置、データベース装置のバックアップ方法、データベース管理プログラム、バックアップ装置、バックアップ方法および、バックアッププログラム
US6823349B1 (en) * 2001-09-21 2004-11-23 Emc Corporation Method and system for establishing, maintaining, and using a persistent fracture log
US6980988B1 (en) * 2001-10-01 2005-12-27 Oracle International Corporation Method of applying changes to a standby database system
US8738568B2 (en) 2011-05-05 2014-05-27 Oracle International Corporation User-defined parallelization in transactional replication of in-memory database
US7406486B1 (en) 2002-04-10 2008-07-29 Oracle International Corporation Transforming transactions to increase parallelism when replicating
US7694085B2 (en) 2002-06-14 2010-04-06 Nokia Corporation Warming large dynamic data in redundant functional unit
DE60227199D1 (de) * 2002-06-14 2008-07-31 Nokia Corp Aufwärmen grosser dynamischer daten in einer redundanten funktionalen einheit
US6976038B2 (en) * 2002-10-17 2005-12-13 International Business Machines Corporation Method and apparatus for real time creation and modification of a change log for multi-server synchronization
CA2422176C (en) * 2003-03-14 2009-07-21 Ibm Canada Limited - Ibm Canada Limitee Method and apparatus for interrupting updates to a database to provide read-only access
US7113953B2 (en) * 2003-06-30 2006-09-26 International Business Machines Corporation System and method for efficiently writing data from an in-memory database to a disk database
US20060047855A1 (en) 2004-05-13 2006-03-02 Microsoft Corporation Efficient chunking algorithm
US7865470B2 (en) * 2004-09-09 2011-01-04 Microsoft Corporation Method, system, and apparatus for translating logical information representative of physical data in a data protection system
US8145601B2 (en) 2004-09-09 2012-03-27 Microsoft Corporation Method, system, and apparatus for providing resilient data transfer in a data protection system
US7567974B2 (en) 2004-09-09 2009-07-28 Microsoft Corporation Method, system, and apparatus for configuring a data protection system
US20060059209A1 (en) * 2004-09-14 2006-03-16 Lashley Scott D Crash recovery by logging extra data
US7613787B2 (en) 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
US7546585B2 (en) * 2005-01-24 2009-06-09 International Business Machines Corporation Method, system and computer program product for testing computer programs
US20060218435A1 (en) * 2005-03-24 2006-09-28 Microsoft Corporation Method and system for a consumer oriented backup
US7636741B2 (en) 2005-08-15 2009-12-22 Microsoft Corporation Online page restore from a database mirror
US7904747B2 (en) * 2006-01-17 2011-03-08 International Business Machines Corporation Restoring data to a distributed storage node
JP4927408B2 (ja) * 2006-01-25 2012-05-09 株式会社日立製作所 記憶システム及びそのデータ復元方法
US20070234342A1 (en) * 2006-01-25 2007-10-04 Flynn John T Jr System and method for relocating running applications to topologically remotely located computing systems
US7613749B2 (en) 2006-04-12 2009-11-03 International Business Machines Corporation System and method for application fault tolerance and recovery using topologically remotely located computing devices
WO2007136325A1 (en) * 2006-05-18 2007-11-29 Astrazeneca Ab 1- [ (4- [benzoyl (methyl) amino] -3- (phenyl) butyl] azetidine derivatives for the treatment of gastrointestinal disorders 2
US8149133B2 (en) * 2006-10-20 2012-04-03 Hydril Usa Manufacturing Llc MUX BOP database mirroring
US7890457B2 (en) * 2006-10-20 2011-02-15 Oracle International Corporation Transactionally consistent database workload replay
US7594138B2 (en) 2007-01-31 2009-09-22 International Business Machines Corporation System and method of error recovery for backup applications
US8768890B2 (en) * 2007-03-14 2014-07-01 Microsoft Corporation Delaying database writes for database consistency
US9594794B2 (en) * 2007-10-19 2017-03-14 Oracle International Corporation Restoring records using a change transaction log
US9594784B2 (en) * 2007-10-19 2017-03-14 Oracle International Corporation Push-model based index deletion
US8682859B2 (en) * 2007-10-19 2014-03-25 Oracle International Corporation Transferring records between tables using a change transaction log
US9418154B2 (en) * 2007-10-19 2016-08-16 Oracle International Corporation Push-model based index updating
US20090193265A1 (en) * 2008-01-25 2009-07-30 Sony Ericsson Mobile Communications Ab Fast database integrity protection apparatus and method
US8086705B2 (en) * 2008-10-16 2011-12-27 International Business Machines Corporation Peer-to-peer module configuration redundancy and recovery management
US10915549B2 (en) 2012-09-28 2021-02-09 Oracle International Corporation Techniques for keeping a copy of a pluggable database up to date with its source pluggable database in read-write mode
US9396220B2 (en) * 2014-03-10 2016-07-19 Oracle International Corporation Instantaneous unplug of pluggable database from one container database and plug into another container database
US10635674B2 (en) 2012-09-28 2020-04-28 Oracle International Corporation Migrating a pluggable database between database server instances with minimal impact to performance
CN103049351B (zh) * 2012-12-13 2016-06-08 曙光信息产业(北京)有限公司 多元数据服务器的日志处理方法和装置
CN103048920B (zh) * 2012-12-31 2015-07-01 广东申菱空调设备有限公司 一种用于集装箱冷水机组的双机热备冗余控制方法及系统
US10182128B1 (en) * 2013-02-07 2019-01-15 Amazon Technologies, Inc. Optimization of production systems
DE102013101863A1 (de) * 2013-02-26 2014-08-28 Fujitsu Technology Solutions Intellectual Property Gmbh Hochverfügbares Hauptspeicher-Datenbanksystem, Arbeitsverfahren und deren Verwendungen
US11030055B2 (en) * 2013-03-15 2021-06-08 Amazon Technologies, Inc. Fast crash recovery for distributed database systems
US9519528B2 (en) 2013-04-19 2016-12-13 National Ict Australia Limited Checking undoability of an API-controlled computing system
US9830372B2 (en) 2013-07-24 2017-11-28 Oracle International Corporation Scalable coordination aware static partitioning for database replication
US9836388B1 (en) 2013-09-26 2017-12-05 Amazon Technologies, Inc. Software testing environment that includes a duplicating proxy service
US9747356B2 (en) 2014-01-23 2017-08-29 Oracle International Corporation Eager replication of uncommitted transactions
US10389697B1 (en) 2014-08-27 2019-08-20 Amazon Technologies, Inc. Software container activation and throttling
US10599630B2 (en) * 2015-05-29 2020-03-24 Oracle International Corporation Elimination of log file synchronization delay at transaction commit time
US11068437B2 (en) 2015-10-23 2021-07-20 Oracle Interntional Corporation Periodic snapshots of a pluggable database in a container database
US10579478B2 (en) 2015-10-23 2020-03-03 Oracle International Corporation Pluggable database archive
US10635658B2 (en) 2015-10-23 2020-04-28 Oracle International Corporation Asynchronous shared application upgrade
US10572551B2 (en) 2015-10-23 2020-02-25 Oracle International Corporation Application containers in container databases
US10789131B2 (en) 2015-10-23 2020-09-29 Oracle International Corporation Transportable backups for pluggable database relocation
US10803078B2 (en) 2015-10-23 2020-10-13 Oracle International Corporation Ability to group multiple container databases as a single container database cluster
CN108431804B (zh) 2015-10-23 2022-01-14 甲骨文国际公司 将多个容器数据库分组为单个容器数据库集群的能力
US10360269B2 (en) 2015-10-23 2019-07-23 Oracle International Corporation Proxy databases
US10606578B2 (en) 2015-10-23 2020-03-31 Oracle International Corporation Provisioning of pluggable databases using a central repository
US10795881B2 (en) 2015-12-18 2020-10-06 Sap Se Table replication in a database environment
US10235440B2 (en) * 2015-12-21 2019-03-19 Sap Se Decentralized transaction commit protocol
US10572510B2 (en) 2015-12-21 2020-02-25 Sap Se Distributed database transaction protocol
US10977227B2 (en) 2017-06-06 2021-04-13 Sap Se Dynamic snapshot isolation protocol selection
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US20210216502A1 (en) * 2020-01-09 2021-07-15 Salesforce.Com, Inc. System and method for synchronizing delete operations between primary and secondary databases
US11500733B2 (en) 2021-03-19 2022-11-15 International Business Machines Corporation Volatile database caching in a database accelerator
JP2024512335A (ja) * 2021-03-19 2024-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース・アクセラレータにおける複製データ変更の非同期的永続性
US11797570B2 (en) 2021-03-19 2023-10-24 International Business Machines Corporation Asynchronous persistency of replicated data changes in a database accelerator

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03122729A (ja) * 1989-09-25 1991-05-24 Internatl Business Mach Corp <Ibm> データベース更新システム及び方法
JPH06214853A (ja) * 1992-12-02 1994-08-05 Internatl Business Mach Corp <Ibm> データベースのバックアップおよび復元の方法およびシステム
JPH07295871A (ja) * 1994-04-15 1995-11-10 Internatl Business Mach Corp <Ibm> データベース・アクセス効率の向上方法及びシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155678A (en) * 1985-10-29 1992-10-13 International Business Machines Corporation Data availability in restartable data base system
US5257367A (en) * 1987-06-02 1993-10-26 Cab-Tek, Inc. Data storage system with asynchronous host operating system communication link
WO1989008883A1 (en) * 1988-03-14 1989-09-21 Unisys Corporation Record lock processor for multiprocessing data system
US5212789A (en) * 1989-10-12 1993-05-18 Bell Communications Research, Inc. Method and apparatus for updating application databases used in a distributed transaction processing environment
GB9116268D0 (en) * 1991-07-27 1991-09-11 Int Computers Ltd Data processing system
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
US5555404A (en) * 1992-03-17 1996-09-10 Telenor As Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas
US5504879A (en) * 1992-07-16 1996-04-02 International Business Machines Corporation Resolution of relationship source and target in a versioned database management system
US5933839A (en) * 1993-07-23 1999-08-03 Kabushiki Kaisha Toshiba Distributed file system for renewing data with high integrity
FI98595C (fi) * 1994-07-12 1997-07-10 Nokia Telecommunications Oy Menetelmä varaprosessin lämmittämiseksi kahdennetussa reaaliaikaisessa järjestelmässä, erityisesti puhelinkeskuksessa
US5651133A (en) * 1995-02-01 1997-07-22 Hewlett-Packard Company Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system
US5720027A (en) * 1996-05-21 1998-02-17 Storage Computer Corporation Redundant disc computer having targeted data broadcast
US5924094A (en) * 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
US5991804A (en) * 1997-06-20 1999-11-23 Microsoft Corporation Continuous media file server for cold restriping following capacity change by repositioning data blocks in the multiple data servers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03122729A (ja) * 1989-09-25 1991-05-24 Internatl Business Mach Corp <Ibm> データベース更新システム及び方法
JPH06214853A (ja) * 1992-12-02 1994-08-05 Internatl Business Mach Corp <Ibm> データベースのバックアップおよび復元の方法およびシステム
JPH07295871A (ja) * 1994-04-15 1995-11-10 Internatl Business Mach Corp <Ibm> データベース・アクセス効率の向上方法及びシステム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061674A (ja) * 2002-11-27 2010-03-18 Sap Ag データウェアハウスリフレッシュ時のデータ損失を防止する方法
WO2004097648A1 (ja) * 2003-04-25 2004-11-11 Fujitsu Limited データベース制御方法
JP2005222110A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd ストレージサブシステム
JP4551096B2 (ja) * 2004-02-03 2010-09-22 株式会社日立製作所 ストレージサブシステム
JP2006004147A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法
JP2012505461A (ja) * 2009-02-23 2012-03-01 株式会社日立製作所 ストレージシステムおよびその制御方法
US8478727B2 (en) 2009-02-23 2013-07-02 Hitachi, Ltd. Storage system and control method for the same

Also Published As

Publication number Publication date
CA2263034A1 (en) 1999-09-20
US6205449B1 (en) 2001-03-20
EP0943997A3 (en) 2001-06-13
EP0943997A2 (en) 1999-09-22

Similar Documents

Publication Publication Date Title
JPH11327991A (ja) ホットスペアシステムおよびデ―タベ―ス管理システム
US7543181B2 (en) Recovery from failures within data processing systems
JP2505112B2 (ja) トランザクション管理方法
US7107294B2 (en) Method and apparatus for interrupting updates to a database to provide read-only access
US7779295B1 (en) Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints
US6061769A (en) Data set backup in a shared environment
JP4049293B2 (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
US20040215998A1 (en) Recovery from failures within data processing systems
JP2708386B2 (ja) 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置
JP4219589B2 (ja) トランザクショナルファイルシステム
US6078999A (en) Recovering from a failure using a transaction table in connection with shadow copy transaction processing
US7464125B1 (en) Checking the validity of blocks and backup duplicates of blocks during block reads
US7499954B2 (en) Consistent reintegration of a failed primary instance
US6185699B1 (en) Method and apparatus providing system availability during DBMS restart recovery
US6065018A (en) Synchronizing recovery log having time stamp to a remote site for disaster recovery of a primary database having related hierarchial and relational databases
US8099627B1 (en) Persistent images of distributed shared memory segments and in-memory checkpoints
JPH06318165A (ja) 故障後の再起動中でのトランザクション適応システムにおいてデータを利用可能にする方法
US20030120669A1 (en) Duplex structure of main-memory DBMS using log information in diskless environment and method for controlling consistency of data of main-memory DBMS
JPH0683682A (ja) アンドゥーログ使用の最大利用のための方法及び装置
WO2015104835A1 (ja) データベースシステムの制御方法及びデータベースシステム
JP2003223350A (ja) データベースシステム
KR100365891B1 (ko) 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법
JP3290182B2 (ja) 共用環境におけるデータ・セットのバックアップ方法及び装置
JPH08286964A (ja) 分散トランザクション処理方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040720