WO2004097648A1 - データベース制御方法 - Google Patents

データベース制御方法 Download PDF

Info

Publication number
WO2004097648A1
WO2004097648A1 PCT/JP2003/005381 JP0305381W WO2004097648A1 WO 2004097648 A1 WO2004097648 A1 WO 2004097648A1 JP 0305381 W JP0305381 W JP 0305381W WO 2004097648 A1 WO2004097648 A1 WO 2004097648A1
Authority
WO
WIPO (PCT)
Prior art keywords
database
update history
update
transaction
storage unit
Prior art date
Application number
PCT/JP2003/005381
Other languages
English (en)
French (fr)
Inventor
Kazuhiro Taniguchi
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2003/005381 priority Critical patent/WO2004097648A1/ja
Publication of WO2004097648A1 publication Critical patent/WO2004097648A1/ja

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring

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)

Abstract

複製元データベースの更新を複製先データベースに反映させるデータベース制御方法であって、データベースの更新により生成された更新履歴を取得するステップと、前記複製元データベースの更新履歴を復旧用として第1記憶部に記憶するステップと、前記複製元データベースの更新履歴を複製用として第2記憶部に記憶するために、更新履歴の書き込みを依頼するステップと、前記第2記憶部への更新履歴の書込完了を確認することなく、次のデータベースの更新を実行するステップとを実行する。

Description

明 細 書 データベース制御方法
技術分野
本発明は、 データベースを制御する技術に関する。 背景技術
近年、 災害に対する情報システムの備えが大きな課題として注目を浴 びている。 このような災害対策としては、 ビジネスの連続性を確保する ためデータベースのレプリケーションゃ、 システムの復旧のためデータ ベースのリカバリがある。
データベースを管理するデータベース 'マネージメント .システム(以 下、 D B M Sという) は、 トランザクション毎にレプリケーシヨンと リ 力バリの準備を実行する。 つまり、 トランザクション処理により生じる 更新履歴は、 ログとしてリカバリファイルと差分ログファイルに書き込 まれる。 トランザクションにおける口グ取得ィメージを図 1 0に示す。 図 1 0は、データベース更新における トランザクションで挿入、更新、 削除、 挿入が実行された例を示す。 この例では、 トランザクションによ る更新ログはリカパリ ログファイルと差分ログファイルにそれぞれ書 き込まれる。 リカバリファイルに記憶される更新ログは、 リカバリ ログ と呼ばれ、 データベースのリカバリ (復旧) 時に用いられる。 差分ログ ファイルに記憶される更新ログは、 差分ログと呼ばれ、 レプリケーショ ンシステムにおいてデータベースをレプリケート (複製) するときに用 レヽられる。
ところで、 データベースのレプリケーシヨ ンシステムにおいて、 レプ リケーション元データベースと レプリケーショ ン先データベースの内 容が物理的に等価でないものがある。 このようなシステムでは、 リカバ リ口グを用いてレプリケーションが実現できない。 そのため、 レプリケーシヨンログを差分ログファイルに取得する。 そ して、 このレプリケーションログを用いて主キーに対する更新操作をレ プリケーションする技術が提供されている。
また、 このような技術では、 レプリケーシヨン元データベースにおけ る更新処理 (トランザクション実行) 中にレプリケーシヨンログを差分 ログファイルに書き出す。
この場合、 口一ルノくックされたトランザクションのレプリケ——ンョン 口グも差分ログファイルに書き出されるおそれがある。 そのような場合 に備えて、 トランザクションの状態情報も差分ログファイルに書き出す 必要がある。
また、 レプリケーション先データベースでは、 このトランザクション の状態情報を検出した時点で、 該当する トランザクションのレプリケー シヨンログの扱いを決定する。 このレプリケーシヨンの扱いとは、 レプ リケーションログを破棄するか反映対象とするかを意味する。
D B M Sにおける トランザクションの状態は、 リカバリログファイル 上に書き出されたトランザクションの状態を示す情報 (以下、 トランザ クシヨン情報ともいう) が決定する。
そのために、 D B M Sは図 1 1に示す順でトランザクションの状態を 示す情報を処理する。 まず、 D B M Sは、 トランザクションの終了処理 において、 トランザクション情報を含むリ力バリログをファイルへ書き 出す (S1101)。
そして、 D B M Sはトランザクション情報として差分口グを差分口グ ファイルへ書き出す (S1102)。 D B M Sは、 トランザクション情報を差 分口グに書き出したことを確認した後次の処理に進む。
そして、 D B M Sはリカバリ口グファイルの該当トランザクションに 対する情報を破棄可能に設定する (S1103)。
ところで、 S 1 1 0 2に示す差分ログファイルへの情報の書き出しを 行う直前に D B M Sが異常終了 (システムクラッシュ) した場合には、 以下のような不具合が生じる。 つまり、 リカバリログファイルへの情報 取得の書き出しは終了したが、 差分ログファイルには、 トランザクショ ンの状態を示す情報が書き出されてない状態となる。
従来では、 この不具合に備えて、 システムクラッシュ時に処理を実行 中だがコミットしていないトランザクションは、 クラッシュリカバリ処 理により整合性を保証していた。 このクラッシュリカバリ処理は、 シス テムの再起動時に S 1 1 0 2から再度処理を繰り返す処理である。 つま り、 システムクラッシュによる差分口グの不足した情報をリカバリログ から補っていた。
また、 切り離された複数の端末機のデータベースの更新結果を矛盾な く同期する技術として、 マスタおょぴ複数のレプリ力で同一レコードが 更新された場合の順序性保証方法や多数のレプリ力が存在する場合の 同期情報 (差分データ) の管理方法が提案されている (例えば、 特許文 献 1参照)。
特許文献 1
特開平 1 1— 2 7 2 5 3 3号公報 発明の開示 ,
しかしながら、 上記従来技術では、 レプリケーシヨ ン元データベース において、 トランザクション処理は差分口グファイルへの情報取得を確 認する処理を実行していた。 そのため、 この確認を処理する時間がトラ ンザクシヨン全体の処理時間に影響を与えた。 つまり、 差分ログフアイ ルへの情報取得を確認するまで、 次の処理は実行できなかった。
そのため、 例えば既に稼働済みの顧客業務にデータベースのレブリケ ーションを追加するような場合では、 差分口グへの書き込みを確認する までトランザクション処理は完了しない。そのため、 1回の取引時間( 1 トランザクションの処理時間) は遅延する。 従って、 レプリケーシヨ ン を後から追加したシステムでは、 顧客業務がトランザクション処理の遅 延により影響を受ける場合があった。
本発明はこのような従来の技術の問題点に鑑みてなされたものであ る。 すなわち、 本発明の課題は、 レプリケーシヨン適用時における トラ ンザクションの処理時間の遅延を抑制することである。
本発明は前記課題を解決するために、 以下の手段を採用した。 すなわ ち、 本発明は、 データベースの更新により生成された更新履歴を取得す るステップと、 前記複製元データベースの更新履歴を復旧用として第 1 記憶部に記憶するステップと、 前記複製元データベースの更新履歴を複 製用として第 2記憶部に記憶するために、 更新履歴の書き込みを依頼す るステップと、 前記第 2記憶部への更新履歴の書込完了を確認すること なく、 次のデータベースの更新を実行するステップとを実行することを 特徴とする。
ここで、 復旧用の更新履歴としては、 例えばリカバリログがあり、 複 製用の更新履歴としては、 例えば差分ログがある。 また、 データベース の更新はトランザクシヨンとして実行してもよい。
このようなステップを実行することにより、 データベースのレプリケ ーシヨンの際、 更新トランザクション処理内において、 トランザクショ ンの状態を示す複製用更新履歴を記憶部へ書き出したことを確認しな レ、。 そのため、 データベースにレプリケーションを適用しても トランザ クションの処理時間の遅延を抑制できる。
また、 本発明は、 前記更新履歴の書込依頼とは非同期に、 前記複製元 データベースの更新履歴の書込完了を確認するステップを更に実行し もよい。 このステップは、 更新履歴の書込依頼とは別処理 (例えば、 別 タスク) において実行することができる。 ここで、 タスクとはコンビュ ータ内での仕事の最小単位を表わす概念をいう。
さらに、 本発明は、 前記書込完了を確認した後に第 1記憶部内の前記 更新履歴を破棄可能に設定するステップを更に実行してもよい。 すなわ ち、 複製用の更新履歴を第 2記憶部へ書き出したことを確認した後に、 第 1記憶部内の復旧用の更新履歴を破棄できる状態に設定する。
このようなステップを実行することにより、 複製用の更新履歴が第 2 記憶部へ書き出されるまで、 第 1記憶部内の前記更新履歴は破棄されな い。 そのため、 複製用の更新履歴が第 2記憶部へ書き込まれている途中 にシステムがダウンしたりしても、 復旧用の更新履歴が第 1記憶部に保 持されているので、 第 1記憶部と第 2記憶部との整合性を保証できる。 また、 本発明は、 コンピュータその他の装置、 機械等が上記いずれか の処理を実行する方法であってもよい。 また、 本発明は、 コンピュータ . その他の装置、 機械等に、 以上のいずれかの機能を実現させるプロダラ ムであってもよレ、。 また、 本発明は、 そのようなプログラムをコンビュ ータ等が読み取り可能な記録媒体に記録したものでもよい。 図面の簡単な説明
図 1は、 レプリケーシヨン処理のシステム構成図であり、
図 2は、 レプリケーション元データベースにおける トランザクシヨ ン 処理のフローを示す図であり、
図 3は、 差分ログのフィールドを示す図であり、
図 4は、 リカバリログのフィールドを示す図であり、
図 5は、 データベース更新の流れの例を示す図であり、
図 6は、 データベース更新による差分口グの取得について説明するた めの図であり、
図 7は、 データベース更新によるリカバリ口グの取得を説明するため の図であり、
図 8は、 トランザクション終了処理を示す図であり、
図 9は、 処理フローを示す図であり、
図 1 0は、 トランザクションにおけるログ取得を示すイメージ図であ 図 1 1は、 従来のトランザクションの終了処理を示す図である。 発明を実施するための最良の形態
以下、 本発明の好適な実施の形態に係るシステムを図 1から図 9の図 面に基づいて説明する。 くレプリケーション処理のシステム構成図 >
図 1を参照して、 本発明の前提となるレプリケーショ ン処理の流れを 説明する。 図 1は、 レプリケーシヨン処理のシステム構成図である。。
レプリケーションシステムは、 広域ネッ トワーク 1 0 3で接続された レプリケーシヨン元データベース 1 0 1 と レプリケーシヨン先データ ベース 1 0 2とを含む。 さらに、 レプリケーシヨ ン元データベース 1 0 1 と レプリケーシヨ ン先データベース 1 0 2は、 0:6領域1 0 6、 リカ ノ リ ログファイル 1 0 7、 差分口グファイル 1 0 8、 及ぴ複数のタスク 1 0 5を備える。
ここで、 リカバリログファイルは、 データベースの復旧に用いられる リカパリ 口グを記憶するためのファイルである。 差分ログファイルは、 レプリケーショ ン先データベースの更新に用いられる差分口グを記憶 するためのファイルである。
このレプリケーション元データベース 1 0 1は、 利用者プログラム 1 0 4に応じて D B領域 1 0 6上のデータを更新する。 そして、 レブリケ ーション元データベース 1 0 1は、 D B更新にともなう トランザクショ ン情報をリカバリ ログファイル 1 0 7へ書き出す。 ここでトランザクシ ョン情報とはデータベースを更新した際の更新履歴である。 ' そして、 レプリケーシヨン元データベース 1 0 1は、 トランザクショ ン情報を差分口グファイル 1 0 8へ書き出す。 差分ログファイル 1 0 8 に蓄積された差分ログは、 広域ネッ トワーク 1 0 3を介してレプリケー ション元データベース 1 0 1からレプリケーション先データベース 1 0 2に送信される。 レプリケーション先データベース 1 0 2は、 受信し た差分ログに基づいて更新内容を D B領域上のデータベースに反映す る。
く トランザクション終了処理のフロー〉
図 2を参照して、 レプリケーション元データベースにおける利用者プ ログラムに従ったトランザクション処理を説明する。 図 2は、 レプリケ ーション元データベースにおける利用者プログラムに応じた トランザ クション処理のフローを示す図である。
まず、 利用者プログラムからデータベースの結合が要求された場合、 レプリケーション元データベースはタスクの開始処理を実行する。 利用 者プロセスは、 指定されたデータベースへ接続し、 タスクの開始処理を 実行する。
そして、 利用者プログラムからデータベースの更新が要求された場合、 レプリケーション元データベース 1 0 1はデータベース更新処理を実 行する。 データベースの更新としては、 レコー ドの揷入、 更新、 削除な どがある。また、データベースの更新処理には、 リカパリ口グ書出依頼、 データベース更新依頼、 差分ログ書出依頼がある。
まず、 このタスクは、 リカバリログファイル 1 0 7にリカバリログを 書き出す。 このリカバリログには、 更新前ログと更新後ログとがある。 データベース領域 1 0 6の更新中にシステムダウンした場合、 この更 新前ログを用いてデータベース領域 1 0 6を復旧する。
また、 データベースの更新をコミットした直後にシステムダウンした 場合、 データベース領域 1 0 6へ書き出されてないデータが発生する。 このような場合、 更新後ログを用いてデータベース領域 1 0 6を復旧す る。
そして、 データベース更新処理を実行する。 また、 差分ログ書出依頼 は、 リカバリログファイル 1 0 7上の更新後ログに対応する差分ログを 差分ログファイル 1 0 8に書き出す。
利用者プログラムからトランザクションの終了が要求された場合、 レ プリケーション元データベース 1 0 1はトランザクション終了処理を 実行する。 つまり、 利用者プログラムからコミット (更新確定) が要求 されて、 トランザクションの終了処理が開始する。 トランザクションの 終了処理には、 リカバリファイルへトランザクション情報書出、 差分口 グファイルへトランザクション終了情報書出依頼がある。
本システムは、 このタスクでは、 差分ログが差分ファイルへ書き出さ れたか否かの確認処理は実行しない。 つまり、 図 1 1に示した従来の技 術では、 D B M Sは、 トランザクション情報を差分ログファイルに書き 出したことを確認した後、 次の処理に進む。 しかし、 本システムでは、 差分ログファイルに書き出したことを確認せずに、 次の処理に進む。 そのため、 本システムでは、 別タスク (図示せず) で差分ログが差分 ファイルへ書き出されたことを確認する。 また、 この別タスクでは、 差 分ファイルへの書き出しを確認した後、 リカパリログファイル上のリ力 バリ口グを破棄可能に設定する。
その後、 利用者プログラムからデータベースの結合が要求された場合、 レプリケーション元データベースはタスクの終了処理を実行する。
<更新ログ >
上述したように、 トランザクションの更新履歴である更新口グには、 物理ィメージであるリカバリ口グと論理ィメージである差分ログとが 存在する。
まず、 図 3を参照して差分ログについて説明する。 図 3は差分ログの フィールドを示す図である。 差分ログは、 レプリケーシヨ ン先データべ ースのレコードを主キーによって特定し、 更新種別に応じて更新前 ·後 データから S Q L文を生成し、 レプリケーション先データベースを更新 する。
この更新ログは、 レプリケーショ ン元とレプリケーショ ン先のデータ ベースの構成が一致しない (例えば、 レプリケーシヨ ン先データベース には元データベースの表の一部しか存在しない等) 場合でも利用可能で ある。
また、 この更新ログは、 テーブル名 3 0 1、 主キー 3 0 2、 更新種別 3 0 3、 トランザクション識別子 3 0 4、 及び更新後取得データ 3 0 5 からなる。
テーブル名 3 0 1には、 データを格納するテーブルを示す情報が記憶 される。 主キー 3 0 2にはテーブル内のレコードを特定するためのデー タが記憶される。
更新種別 3 0 3には、 挿入、 更新、 削除のいずれかの操作が実行され たかを示す情報が記憶される。 トランザクション識別子 3 0 4には、 ト ランザクションを示す固有なレコード識別子が記憶される。 更新後取得 データ 3 0 5には、 データベース更新後のデータが記憶される。
次に図 4を参照して、 リカパリログについて説明する。 図 4は、 リカ バリログのフィールドなどを示す図である。 リカバリログは、 基本的に データベースのリカバリ (復旧) に用いられるログである。 しかしなが ら、 リカバリログを用いてレプリケーションすることもできる
このリカバリ ログはレプリケーション元データベースの更新データ を物理位置によって表現する。 そのため、 リカパリログが利用可能なレ プリケーシヨンとしては、 レプリケーション元データベースとレプリケ ーション先データベースとが物理的に等価な場合のレプリケーション がある。
このリカバリ 口グは、 資源コード 4 0 1、 ページ番号 4 0 2、 ページ 内位置 4 0 3、 更新種別 4 0 4、 トランザクション識別子 4 0 5、 及び 更新後取得データ 4 0 6からなる。
資源コード 4 0 1、 ページ番号 4 0 2、 及ぴページ内位置 4 0 3は、 データベース上のデータの物理的な位置を示す。 資源コード 4 0 1には、 論理ディスクを特定する情報が記憶される。 ページ番号 4 0 2には、 論 理ディスク上のページ番号が記憶される。 ページ内位置 4 0 3には、 ぺ ージ内のデータの開始位置が記憶される。
更新種別 4 0 4には、 挿入、 更新、 削除のいずれかの操作が実行され たかを示す情報が記憶される。 トランザクション識別子 4 0 5には、 ト ランザクションを示す固有なレコード識別子が記憶される。 更新後取得 データ 4 0 6には、 データベース更新後のデータが記憶される。
リカパリ口グを用いて更新するレコードを特定する場合には、 リカバ リログとは別にディクショナリが必要となる。 このディクショナリ とは、 データベースのメタ情報を管理するシステムファイルである。 このメタ 情報としては、 ディスク領域やデータの開始位置などに関する情報があ る。 そして、 ディクショナリ上のメタ情報を参照して、 資源コード 4 0 1 からデータが格納されるディスク領域を特定し、 ページ番号 4 0 2から データが格納されるページを特定し、 ページ内位置 4 0 3から格納され たデータの開始位置を特定する。
<データベースの更新 >
図 5を参照して、 利用者操作に従ったデータベースの更新の流れを説 明する。 図 5は、 利用者が 1 トランザクションで挿入、 更新、 削除、 コ ミットを順番に操作した例を示す。 この処理は、 図 2に示すデータべ一 ス更新処理に対応する。 ここでの論理ディスク 0 1は、 図 2に示すデー タベース領域 1 0 6に対応する。 なお、 図 5に示す S 5 0 1カゝら S 5 0 3の処理は、 実際に論理ディスク上に書き込まれたことを表わすもので はない。 つまり、 実際のデータベース上への書き出しは、 S 5 0 1から S 5 0 3の過程で実行される場合もあり、 コミツト後に実行される場合 もある。 図 5はデータベースの更新の流れを説明するためのィメージ図 である。
こ.の例では利用者プログラムは、まず論理ディスク 0 1上に「テレビ」 の数量が 「 1 0 0 0」 台であることを示すレコード 「T V— 0 1」 を揷 入する(S501)。 次に利用者プログラムは、 論理ディスク 0 1上のレコー ド 「P C— 0 1」 のバソコンの数量を 「 3 0 0」 台に吏新する(S502)。 さらに利用者プログラムは、 論理ディスク 0 1上のエアコンのレコード 「A C— 0 3」 を削除する(S503)。 そして、 利用者プログラムは、 論理 ディスク 0 1上の更新内容を確定する(S504)。
ここで、 ディクショナリには、 メタ情報として、 論理ディスク 0 1に 対応する 「表 0 3」 とその資源コード 「 0 0 9 9」 が保持される。
次に、 図 6を参照して、 データベース更新による差分ログの取得につ いて説明する。 ここでは、 図 5に示したように、 利用者が 1 トランザク シヨンで挿入、 更新、 削除、 コミットを順番に操作した例における差分 ログの取得について説明する。 この処理は、 図 2に示す差分ログフアイ ルへのトランザクション終了情報書出依頼処理に対応する。 S 5 0 1では、 論理ディスク 0 1の挿入に伴って、 差分ログは主キー 3 0 2に 「T V— 0 1」、 更新種別 3 0 3に 「挿入」、 トランザクション 識別子 3 04に 「Τ 0 0 0 1」、 更新後取得データ 3 0 5に 「テレビ、 1 0 00台」 を更新履歴として記憶する。
S 5 0 2では、 論理ディスク 0 1の更新に伴って、 差分ログは主キー 3 0 2に 「 P C— 0 1」、 更新種別 3 0 3に 「更新」、 トランザクション 識別子 3 04に 「T 0 0 0 1」、 更新後取得データ 3 0 5に 「在庫数 3 0 0台」 を更新履歴として記憶する。
S 5 0 3では、 論理ディスク 0 1の削除に伴って、 差分ログは主キー 3 0 2に 「AC—0 3」、 更新種別 3 0 3に 「削除」、 トランザクシヨン 識別子 3 04に 「T 0 0 0 1」 を更新履歴として記憶する。
S 5 04では、 論理ディスク 0 1のコミットに伴って、 差分ログはト ランザクション処理 「Τ 0 0 0 1」 によるデータベース更新をコミッ ト したことを更新履歴として記憶する。
本システムでは、 差分ログファイル上の差分ログに更新履歴が書き出 されたことを確認しないため、 トランザクション終了情報であるコミッ トが書き出された場合には次のトランザクションの書出依頼を実行で さる。
次に、 図 7を参照して、 データベース更新によるリカバリログの取得 について説明する。 ここでは、 図 5に示したように、 利用者が 1 トラン ザクシヨンで揷入、 更新、 削除、 コミッ トを順番に操作した例における 差分ログの取得について説明する。 この処理は、 図 2に示すリカバリ口 グファイルへのトランザクション終了情報書出依頼処理に対応する。
S 5 0 1では、 論理ディスク 0 1の揷入に伴って、 リカバリ口グは資 源コード 40 1に 「 0 0 9 9」、 ページ番号 40 2に 「 1」、 ページ内番 号 4 0 3に 「 1 0 0」、 更新種別 4 04に 「揷入」、 トランザクション識 別子 4 0 5に 「Τ 0 0 0 1」、 更新前 ·後データ 40 6に 「Τ V— 0 1、 テレビ、 1 0 00台」 を更新履歴として記憶する。
S 5 0 2では、 論理ディスク 0 1の揷入に伴って、 リカバリ口グは資 源コード 4 0 1に 「0 0 9 9」、 ページ番号 4 0 1に 「 2」、 ページ内番 号 40 3に 「 1 5 0」、 更新種別 4 04に 「更新」、 トランザクション識 別子 40 5に 「T 0 0 0 1」、 更新前 ·後データ 4 0 6に 「オフセッ ト 3 0 0、 長さ 4、 値 3 00」 を更新履歴として記憶する。 ここで、 オフ セッ トはデータの開始位置、 長さはデータ長、 値は更新後のデータを示 す。
S 5 0 3では、 論理ディスク 0 1の挿入に伴って、 リ力バリ口グは資 源コード 4 0 1に 「0 0 9 9」、 ページ番号 4 0 2に 「 3」、 ページ内番 号 40 3に 「2 0 0」、 更新種別 404に 「削除」、 トランザクション識 別子 40 5に 「Τ 0 0 0 1」 を更新履歴として記憶する。
S 5 04では、 論理ディスク 0 1の挿入に伴って、 リカバリ口グはト ランザクション処理 「Τ 00 0 1」 によるデータベース更新をコミッ ト したことを更新履歴として記憶する。
< トランザクションの終了処理 >
図 8を参照して、 トランザクションの終了処理を説明する。 図 8は、 トランザクション終了処理を示す図である。
データベース .マネージメント . システム (DBMS) における トラ ンザクションの状態は、 リカパリログファイル 8 0 1内に書き出された トランザクションの状態を示す情報により決定される。
トランザクション処理は、 終了処理として、 トランザクション情報の リカバリログフアイへの書出と、 差分ログファイルへの書出依頼とを実 行する。 トランザクション処理は、 終了処理を実行するためにリカバリ ファイルの情報取得部 8 0 2と、 差分ファイルの情報取得部 8 0 3と、 情報書出依頼部 8 04とを備える。
まず、 トランザクション処理部は、 リカバリログファイル 8 0 1へト ランザクシヨン情報を書き出す (S801)。 この処理は図 2に示すトラン ザクション処理におけるリカパリ口グファイルへの書出依頼処理に対 応する。
そして、 トランザクション処理は、 差分ログファイル 8 0 6へトラン ザクシヨン情報を書き出す (S802)。 この処理は、 図 2に示す差分ログ ファイルへのトランザクション終了情報書出依頼処理に対応する。
この処理では、 差分口グファイルの情報取得部 8 0 3がトランザクシ ョンの状態を示す情報の書き出しを情報書出依頼部 8 0 4に依頼する。 そして、 別タスクの情報取得確認部 8 0 7は、 情報書出依頼部 8 0 4 が差分ログファイル 8 0 6へ書き出し処理を終了した時点で、 その書出 完了を確認するリカバリ ログファイル 8 0 1からのトランザクション に対する情報を破棄可能に設定する (S803)。つまり、本システムでは、 情報書出依頼部 8 0 4が差分ログファイルへの書き出しを終了した時 点で、 トランザクション処理とは非同期に実行される別タスクの情報確 認部がリカバリログファイル 8 0 1の情報を破棄可能に設定する。
この処理は、 レプリケ一ションデータベース間の整合性を保証する。 例えば、 リカバリファイル 8 0 1からの情報を破棄する処理が、 差分 ログへの情報を書き出す処理より先に実行される可能性がある。 このよ うな場合に、 システムがダウンすると、 リカバリファイルと差分ログと の整合性が維持できなくなる。 そこで、 S 5 0 7の処理で.、 差分ログフ アイルへの書き出しを終了した時点で、 リ力パリログファイル 8 0 1の 情報を破棄可能に設定する。 逆に、 リカバリログファイル 8 0 1の情報 は、 破棄可能に設定されない限り、 削除されない。 このような制御によ り、 レプリケーションデータベース間の整合性が保証できる。
<処理フロー >
図 9を参照して、 トランザクションの終了処理と別タスクの処理を説 明する。 図 9は、 処理フローを示す図である。
トランザクション処理は、 リカパリ口グファイルへトランザクシヨン 情報を取得する(S901)。 トランザクション処理は、 差分ログファイルへ 書き出すため、 メモリバッファへ転送する(S902)。 差分ログファイルへ 書き出すため、 別タスクへ処理を依頼する(S903)。 そして、 トランザク ション処理は処理を終了する。
一方、 別タスクは、 処理依頼を待つ状態である(S904)。 別タスクは、 書き出し対象のメモリバッファが存在するか否かを判断する(S905)。
S 9 0 5で、 書き出し対象となるメモリバッファが存在しない場合、 別タスクは、 処理を依頼待ち状態 (S904)に戻す。 一方、 S 9 0 5で、 書 き出し対象となるメモリバッファが存在する場合、 別タスクは、 差分口 グファイルのメモリバッファに トランザクショ ン情報を書き出す (S906)。 そして、 別タスクは、 メモリバッファ上にトランザクション終 了を示す情報が存在するかを判断する(S907)。
S 9 0 7で、 メモリバッファ上にトランザクション終了を示す情報が 存在しない場合、 別タスクは処理を依頼待ち状態 (S904)に戻す。 一方、 S 9 0 7で、 メモリバッファ上にトランザクション終了を示す情報が存 在する場合、 別タスクは、 リカバリログファイルのトランザクショ3ン情 報を破棄できることをトランザクション処理部に通知する(S908)。
<実施形態の効果 >
本実施の形態のシステムでは、 オンラインで処理される顧客業務にレ プリケーションを適用した場合、 差分ログへの書き込みを同一のタスク で確認しない。 つまり、 差分ログへの書き込みの書き込み確認を別タス クで処理するため、 顧客業務の処理時間についての影響は実質的に無視 できる。 すなわち、 本システムは差分ログへの書き込み完了を待つこと なく、 次のオンライン処理を実行できる。
また、 新規業務にレプリケーシヨンを適用する場合には、 レプリケー ションを考慮した業務設計が排除できるため、 利用者への設計負荷を軽 減できる。
さらに、 別タスクにおいて、 差分ログへの書き込み確認後に、 リカバ リファイルにおいて、 トランザクション終了情報を破棄可能に設定する。 このため、 上記のように書き込み確認をしない場合でも、 差分ログとリ 力バリログとでトランザクション終了に対する矛盾の発生を防止する。 <コンピュータに読み取り可能な記憶媒体 >
上記実施の形態のいずれかの処理をコンピュータに実行させるプロ グラムをコンピュータが読み取り可能な記憶媒体に記録することがで きる。 そして、 コンピュータに、 この記憶媒体のプログラムを読み込ま せて実行させることにより、 上記実施の形態に示したシステムを提供す ることができる。 - ここで、 コンピュータが読み取り可能な記憶媒体とは、 データやプロ グラム等の情報を電気的、 磁気的、 光学的、 機械的、 または化学的作用 によって蓄積し、 コンピュータから読み取ることができる記憶媒体をい う。 このよ うな記憶媒体のうちコンピュータから取り外し可能なものと しては、例えばフレキシブルディスク、光磁気デイスク、 C D— ROM, CD-R/W, DVD、 DAT, 8 MMテープ、 メモリカード等がある。 また、 コンピュータに固定された記録媒体として、 ハードディスクや ROM (リード ' オンリー ' メモリ) 等がある。
なお、 上記実施の形態は本発明の範囲をなんら限定するものではなく、 当業者が理解できる範囲において適宜、 各種の変形の態様があり得る。 産業上の利用可能性
本発明は、 レプリケーションを適用したデータベースにおいて利用で きる。

Claims

請求の範囲
1 . 複製元データベースの更新を複製先データベースに反映させるデ ータベース制御方法であって、
データベースの更新により生成された更新履歴を取得するステップ と、
前記複製元データベースの更新履歴を復旧用として第 1記憶部に記 憶するステップと、
前記複製元データベースの更新履歴を複製用として第 2記憶部に記 憶するために、 更新履歴の書き込みを依頼するステップと、
前記第 2記憶部への更新履歴の書込完了を確認することなく、 次のデ ータベースの更新を実行するステップとを実行するデータベース制御 方法。
2 . 前記更新履歴の書込依頼とは非同期に、 前記第 2記憶部への更新 履歴の書込完了を確認するステップを更に実行する請求項 1記載/)デ ータベース制御方法。
3 . 前記書込完了を確認した後に第 1記憶部内の前記復旧用の更新履 歴を破棄可能に設定するステップを更に実行する請求項 2記載のデー タベース制御方法。
4 . 複製元データベースの更新を複製先データベースに反映させる複 数データベース制御システムであって、
データベースの更新により生成された更新履歴を取得する手段と、 前記複製元データベースの更新履歴を復旧用として第 1記憶部に記 憶する手段と、
前記複製元データベースの更新履歴を複製用として第 2記憶部に記 憶するために、 更新履歴の書き込みを依頼する手段とを備え、
前記第 2記憶部への更新履歴の書込完了を確認することなく、 次のデ ータベースの更新を実行するデータベース制御システム。
5 . 前記更新履歴の書込依頼とは非同期に、 前記第 2記憶部への更新 履歴の書込完了を確認する手段を更に備える請求項 4に記載のデータ ベース制御システム。
6 . 前記更新履歴の書込完了後に第 1記憶部内の前記更新履歴を破棄 可能に設定する手段を更に備える請求項 5に記載のデータベース制御
7 . 複製元データベースの更新を複製先データベースに反映させるデ ータベースにおいてコンピュータにより実行させるプログラムであつ て、
データベースの更新により生成された更新履歴を取得するステップ と、
前記複製元データベースの更新履歴を復旧用として第 1記憶部に記 憶するステップと、
前記複製元データベースの更新履歴を複製用として第 2記憶部に記' 憶するために、 更新履歴の書き込みを依頼するステップと、
前記第 2記憶部への更新履歴の書込完了を確認することなく、 次のデ ータベースの更新を実行するステップとを実行させるプログラム。
8 . 前記更新履歴の書込依頼とは非同期に、 前記第 2記憶部への更新 履歴の書込完了を確認するステップを更に実行させる請求項 7記載の プログラム。
9 . 書込完了を確認した後に第 1記憶部内の前記更新履歴を破棄 可能に設定するステップを更に実行させる請求項 8記載のプログラム。
PCT/JP2003/005381 2003-04-25 2003-04-25 データベース制御方法 WO2004097648A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/005381 WO2004097648A1 (ja) 2003-04-25 2003-04-25 データベース制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/005381 WO2004097648A1 (ja) 2003-04-25 2003-04-25 データベース制御方法

Publications (1)

Publication Number Publication Date
WO2004097648A1 true WO2004097648A1 (ja) 2004-11-11

Family

ID=33398116

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/005381 WO2004097648A1 (ja) 2003-04-25 2003-04-25 データベース制御方法

Country Status (1)

Country Link
WO (1) WO2004097648A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399393A (zh) * 2018-04-16 2019-11-01 北京三快在线科技有限公司 数据处理方法、装置、介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327991A (ja) * 1998-03-20 1999-11-30 Lucent Technol Inc ホットスペアシステムおよびデ―タベ―ス管理システム
JP2001022627A (ja) * 1999-07-06 2001-01-26 Nec Commun Syst Ltd 複数装置間でのデータベース同期方式および方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327991A (ja) * 1998-03-20 1999-11-30 Lucent Technol Inc ホットスペアシステムおよびデ―タベ―ス管理システム
JP2001022627A (ja) * 1999-07-06 2001-01-26 Nec Commun Syst Ltd 複数装置間でのデータベース同期方式および方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
King. R.G. et al., "Management of a Remote Backup Copy for Disaster Recovery", ACM Transactions on Database Systems, June 1991, Vol. 16, No. 2, pages 338 - 368 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399393A (zh) * 2018-04-16 2019-11-01 北京三快在线科技有限公司 数据处理方法、装置、介质及电子设备
CN110399393B (zh) * 2018-04-16 2020-06-30 北京三快在线科技有限公司 数据处理方法、装置、介质及电子设备

Similar Documents

Publication Publication Date Title
US10235375B1 (en) Persistent file system objects for management of databases
US7107294B2 (en) Method and apparatus for interrupting updates to a database to provide read-only access
JP5039891B2 (ja) データベースの複製を生成する装置及び方法
CA2626227C (en) Apparatus and method for creating a real time database replica
US7801855B2 (en) Method and apparatus for merging log entries in a database management system
US7698319B2 (en) Database system management method, database system, database device, and backup program
US6873995B2 (en) Method, system, and program product for transaction management in a distributed content management application
US8150812B2 (en) Methods, apparatus and computer programs for data replication
TW522320B (en) Apparatus and method for recovering a failed database data set
US20060236049A1 (en) Remote copy system and remote copy method
CN105574187B (zh) 一种异构数据库复制事务一致性保障方法及系统
JPS62206645A (ja) データ・ベース・システムの動作を回復する方法
US7620785B1 (en) Using roll-forward and roll-backward logs to restore a data volume
CN104166605A (zh) 基于增量数据文件的数据备份方法及系统
JP2006018796A (ja) データ処理方法および装置並びにストレージ装置およびその処理プログラム
US7739464B1 (en) Consistent backups of data using a roll-back log
JPH1063557A (ja) 分散ファイルの同期方式
JP2003162438A (ja) データベース管理システム
CN115658391A (zh) 基于QianBase MPP数据库的WAL机制的备份恢复方法
JP2002318717A (ja) データベースシステム
WO2004097648A1 (ja) データベース制御方法
JP5240086B2 (ja) データ管理プログラム
JP4434117B2 (ja) 複製ボリュームの再同期化システムと方法、ストレージ装置、コンピュータ、及びプログラム
WO2024082693A1 (zh) 数据处理方法及装置
JP4715777B2 (ja) レプリケーション方法及びストレージ装置並びにプログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP