JP2003242010A - 一時オブジェクトに関するログ使用の最適化 - Google Patents

一時オブジェクトに関するログ使用の最適化

Info

Publication number
JP2003242010A
JP2003242010A JP2003025616A JP2003025616A JP2003242010A JP 2003242010 A JP2003242010 A JP 2003242010A JP 2003025616 A JP2003025616 A JP 2003025616A JP 2003025616 A JP2003025616 A JP 2003025616A JP 2003242010 A JP2003242010 A JP 2003242010A
Authority
JP
Japan
Prior art keywords
changes
log
temporary
change
record
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
JP2003025616A
Other languages
English (en)
Inventor
Michael J Winer
マイケル・ジェイ・ウィナー
Roger Luo Quan Zheng
ロジャー・ルオ・クァン・ツェン
Jesse Lee
ジェシー・リー
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2003242010A publication Critical patent/JP2003242010A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 データベース・システムの作業単位内の変更
のグループのロールバック中のログ・レコードを管理す
る方法および装置を提供すること。 【解決手段】 一実施形態では、方法には、ロールバッ
クされる変更のそれぞれについて、前記変更が一時デー
タベース・オブジェクトまたは永続データベース・オブ
ジェクトのどちらに対して実行されたかを判定するステ
ップと、永続データベース・オブジェクトに対して実行
された変更のそれぞれについて、前記変更がロール・バ
ックされたことを示す関連する補正ログ・レコードを作
成するステップと、一時データベース・オブジェクトに
対して実行された変更のそれぞれについて、所定の判断
基準に基づいて補正レコードが望まれるかどうかを査定
し、査定に基づいて、前記一時オブジェクトに対する前
記変更がロール・バックされたことを示す関連する補正
ログ・レコードを選択的に作成するステップとが含まれ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、全般的にはデータ
ベース管理システムに関し、具体的にはそのようなシス
テムでのログの管理に関する。
【0002】
【従来の技術】データベース管理システム(DBMS)
では、通常は、データベース・オブジェクトに対して行
った変更をログに記録し、その結果、そのような変更を
元に戻すか、復元するか、ロール・フォワードすること
が可能になる。変更を元に戻すために、DBMSでは、
データベース・オブジェクトに対して実行された変更を
逆転できるようにするのに十分なログ情報が維持され
る。変更を再実行するために、DBMSでは、データベ
ース・オブジェクトに対して実行された変更を繰り返せ
るようにする(たとえば、システム・クラッシュの場合
に)のに十分なログ情報が維持される。
【0003】一部のDBMSでは、データ・オブジェク
トに対する変更は、変更が実際にオブジェクトに対して
行われる前にログに記録される、先書きリカバリ・モデ
ルが使用される。データのリカバリおよびロールバック
をサポートするために、多くのデータベース・ログ・マ
ネージャでは、補正ログ・レコードおよび逆方向ログ・
チェーンを使用して、前に既に元に戻された処置を元に
戻す試みが行われないことを保証する。ロールバック
(元に戻す)処理中に、補正ログ・レコードが書き込ま
れ、これによって、データベース・オブジェクトに対し
て行われた元に戻す変更がログに記録される。
【0004】データベース・オブジェクトは、おおまか
に一時的または永続的に分類される。一時オブジェクト
は、データベースがアクティブである間に限って、作成
されたときと除去されるときの間にのみ存在する。一時
オブジェクトは、データベース・シャットダウンが普通
に行われたか異常に行われたかに無関係に、データベー
ス・シャットダウン後には残存しない。永続オブジェク
トは、永続的であり、データベース・シャットダウン後
にも残存する。したがって、永続オブジェクトは、元に
戻すおよび再実行のサポートを必要とするが、一時オブ
ジェクトは、元に戻すのサポートだけを必要とする。
【0005】多くのDBMSが、ログ・レコードを作成
するときに永続オブジェクトと一時オブジェクトを区別
せず、一時オブジェクトに関して不要なレコードが作成
される結果となる。ログ・レコードを作成するスペース
が、一般に予約されるスペースなので、そのようなDB
MSは、そのような不要なレコードを予期して、それら
がセッション中に作成されるかどうかにかかわりなく、
スペースを予約する必要がある。
【0006】
【発明が解決しようとする課題】したがって、少なくと
も部分的に上記および他の短所に対処するシステムが望
ましい。
【0007】
【課題を解決するための手段】本発明の一態様は、ログ
・レコードを作成するときに一時オブジェクトと永続オ
ブジェクトを区別し、一時オブジェクトに関して作成さ
れるログ・レコードのタイプ、ログ・レコードの内容、
およびログ・スペース予約を減らす、データベース・ロ
グ管理のシステムおよび方法を提供する。
【0008】本発明の一態様は、一時オブジェクトに関
連するログ・レコードが、一時表オブジェクトに対して
行われた変更のロールバックをサポートするのに必要な
レコードに制限されるシステムおよび方法を提供する。
有利なことに、ログ・スペースの消費および予約を減ら
すことができ、ログに書き込まれるログ・レコードの数
および内容を減らすことによって、性能を改善すること
ができる。
【0009】本発明のもう1つの態様によれば、データ
ベース・システムの作業単位内の一時オブジェクトおよ
び永続オブジェクトに対する変更のグループのロールバ
ック中に一時オブジェクトに関するログ・レコードを管
理する方法であって、ロール・バックされる変更のそれ
ぞれについて、変更が一時データベース・オブジェクト
に対して実行されたかどうかを判定するステップと、一
時データベース・オブジェクトに対して実行された変更
のそれぞれについて、所定の判断基準に基づいて補正レ
コードが望まれるかどうかを査定し、査定に基づいて、
一時オブジェクトに対する変更がロール・バックされた
ことを示す関連する補正ログ・レコードを選択的に作成
するステップとを含む方法が提供される。好ましい実施
形態の1つでは、一時データベース・オブジェクトに対
して実行された変更のそれぞれについて、一時オブジェ
クトに対する変更がロール・バックされたことを示す関
連する補正ログ・レコードが、変更が変更のグループ内
でロール・バックされた一時オブジェクトに対する最後
の変更である場合に限って作成される。もう1つの好ま
しい実施形態では、一時データベース・オブジェクトに
対して実行された変更のそれぞれについて、変更がロー
ル・バックされたことを示す関連する補正ログ・レコー
ドが、変更が変更の前記グループ内のロール・バックさ
れた最後の変更である場合に限って作成される。
【0010】この方法に、さらに、データベース・シス
テム内でデータベース・オブジェクトに対して行われる
変更に関連するログ・レコードを管理する方法ステップ
であって、永続データベース・オブジェクトに対する変
更をログに記録するためにログ・レコードを作成すると
きに、補正ログ・レコードのためにストレージ・スペー
スを選択的に予約するステップと、一時データベース・
オブジェクトに対する変更の補正ログ・レコードのため
に、永続データベース・オブジェクトに対する変更の補
正ログ・レコードより相対的に少ないストレージ・スペ
ースが予約されるようにする、所定の判断基準を変更が
満足する場合に限って、一時データベース・オブジェク
トに対する変更をログに記録するためのログ・レコード
を作成するときに補正ログ・レコードのストレージ・ス
ペースを選択的に予約するステップとが含まれることが
好ましい。
【0011】本発明のもう1つの態様によれば、データ
ベース・システムの作業単位内の一時オブジェクトおよ
び永続オブジェクトに対する変更のグループのロールバ
ック中に一時オブジェクトに関するログ・レコードを管
理するコンピュータ可読コード手段を有する信号担持媒
体を含むコンピュータ・プログラム製品が提供される。
コンピュータ可読コード手段に、ロール・バックされる
変更のそれぞれについて、変更が一時データベース・オ
ブジェクトに対して実行されたかどうかを判定するコー
ド手段と、一時データベース・オブジェクトに対して実
行された変更のそれぞれについて、所定の判断基準に基
づいて補正レコードが望まれるかどうかを査定し、査定
に基づいて、一時オブジェクトに対する変更がロール・
バックされたことを示す関連する補正ログ・レコードを
選択的に作成する査定コード手段とが含まれる。
【0012】本発明のもう1つの態様によれば、データ
ベース・システム内でログ・レコードを管理する装置で
あって、ログ・レコードを電子的に保管する少なくとも
1つのストレージと、永続データベース・オブジェクト
および一時データベース・オブジェクトを電子的に保管
するデータベース・ストレージと、データベース・シス
テムの作業単位内の変更のグループのロールバック中の
補正ログ・レコードの作成を管理するログ・マネージャ
手段とを含む装置が提供される。ログ・マネージャ手段
に、(i)ロール・バックされる変更のそれぞれについ
て、変更が一時データベース・オブジェクトまたは永続
データベース・オブジェクトのどちらに対して実行され
たかを判定する手段と、(ii)永続データベース・オ
ブジェクトに対して実行された変更のそれぞれについ
て、変更がロール・バックされたことを示す関連する補
正ログ・レコードを作成し、保管するコード手段と、
(iii)一時データベース・オブジェクトに対して実
行された変更のそれぞれについて、所定の判断基準に基
づいて補正レコードが望まれるかどうかを査定し、査定
に基づいて、一時オブジェクトに対する変更がロール・
バックされたことを示す関連する補正ログ・レコードを
選択的に作成し、保管する査定手段とが含まれる。
【0013】本発明の他の態様および特徴は、添付図面
と共に本発明の特定の実施形態の説明を再検討するとき
に、当業者に明白になる。
【0014】本発明の実施形態を、図面によって説明す
る。
【0015】
【発明の実施の形態】図1を参照すると、本発明の好ま
しい実施形態によるデータベース・システム100の概
念ブロック図が示されている。データベース・システム
100には、プロセッサによって実行されるソフトウェ
アによって実施されるデータベース管理システム(DB
MS)110が含まれ、DBMS110は、データベー
ス・ストレージ114に保管されるデータ表またはデー
タ・オブジェクトの作成、修正、アクセス、および削除
を管理する。データ・オブジェクトには、永続オブジェ
クト116が含まれ、永続オブジェクト116は、デー
タベース・システムのシャットダウンときにデータベー
ス・ストレージ114内に残存することが意図された、
永続的な表および他のデータ・オブジェクトである。デ
ータ・オブジェクトには一時オブジェクト118も含ま
れ、一時オブジェクト118は、シャットダウンが正常
に行われるか異常に行われるかにかかわらず、システム
・シャットダウン後に残存することが意図されない、永
続的でない表および他のデータ・オブジェクトである。
データベース・ストレージ114に、異なるタイプの複
数のストレージ・デバイスを含めることができる。
【0016】DBMS110には、ログ・マネージャ1
12が含まれ、ログ・マネージャ112は、永続オブジ
ェクト116および一時オブジェクト118に関して要
求される可能性がある元に戻す動作および再実行動作を
サポートするのに必要な情報を記録するために、永続ス
トレージ・ロケーション内でログ・ファイル120を維
持する。本発明の諸態様は、主に、ログ・マネージャ1
12によるログ・ファイル120の維持に関する。
【0017】ログ・ファイル120には、永続オブジェ
クト116および一時オブジェクト118の両方に関し
て発生するイベントの順次時間順リストを表す一連のロ
グ・レコードが含まれる。ログ・レコードのそれぞれ
が、一意の識別用ログ・シーケンス番号(LSN)を含
むヘッダを有する。データベース・システム100を、
任意の所与の時刻に複数の異なるデータベース・トラン
ザクションを実行する複数のユーザの間で共用すること
ができ、このトランザクションのそれぞれに、それぞれ
がそれに関連するログ・レコードを有する複数の異なる
イベントが含まれる。
【0018】背景として、単一のデータベース・トラン
ザクションに関して行われる変更が、集合的に作業単位
(UOW)である。データベース・トランザクション
は、UOWの開始とコミットまたは打切りとの間に行わ
れる作業である。トランザクションは、トランザクショ
ンの影響のすべてが、永続ストレージ内で安定している
というある保証があるときに「コミットされる」。トラ
ンザクションは、トランザクションが終了したときに、
トランザクションがコミットされる前に、意図的な介入
を介するか、システム・クラッシュなどの意図的でない
動作を介するかのいずれかで「打ち切られる」。トラン
ザクションが打ち切られるイベントでは、そのトランザ
クションに関してデータベースに対して行われた変更
を、ロール・バックしなければならない。データベース
・オブジェクトに対して実行される変更および処置に関
して、句「元に戻す」および「ロールバック」は、本明
細書で交換可能に使用され、句「変更」および「処置」
も同様である。
【0019】ログ・ファイル120内で、所与のトラン
ザクションに関連するイベントのログ・レコードが、連
続的に記録されるのではなく、他のトランザクションの
ログ・レコードの間に散在する可能性がある。当技術分
野で既知のように、各ログ・レコード(トランザクショ
ンの最初のイベントに関する最初のログ・レコード以外
の)のヘッダに、そのトランザクションに関連する前の
ログ・レコードのLSNを示すフィールドが含まれると
いう点で、逆方向チェーンが、単一のトランザクション
に関連するすべてのログ・レコードをグループ化するの
に使用される。
【0020】図2に関して、本発明の好ましい実施形態
による、データ・オブジェクトに対する変更のログ記録
に関してDBMS110によって実行されるステップを
示す単純化された流れ図200が示されている。データ
・オブジェクトに関するイベントまたは変更が要求され
るときに、ログ・マネージャ112が、変更が行われよ
うとしているデータ・オブジェクトが永続オブジェクト
または一時オブジェクトのどちらであるかを区別する
(ステップ202)。変更が、永続オブジェクトに関し
て実行されようとしている場合には、ログ・ファイル1
20へのログ・レコードの書込を含む、普通のログ管理
ステップが実行される(ステップ204)。
【0021】永続オブジェクトに関して書き込まれるロ
グ・レコードのタイプには、とりわけ、REDO(再実
行)のみレコード、UNDO(元に戻す)のみレコー
ド、NORM(通常)レコード、およびログ補正レコー
ドを含めることができる。REDOレコードは、これら
の変更中に行われる特定の動作を繰り返せるようにす
る、変更に関する情報を記録するのに使用される。一般
に、これらの動作は、リカバリまたはロールフォワード
方式中に繰り返される必要がある。UNDOレコード
は、データ・オブジェクトに対する動作を正しくロール
・バックできるようにする情報を記録するのに使用され
る。UNDOレコードは、トランザクションが開始され
たときに存在した状態にブロックを復元するのに使用さ
れる。NORMレコードは、リカバリ動作とロールバッ
ク動作の両方に必要な情報を含み、変更に関して別々の
REDOレコードおよびUNDOレコードの代わりに使
用されるという点で、REDOレコードとUNDOレコ
ードの組合せである。
【0022】図3に関して、ヘッダ・フィールド302
およびデータ・フィールド304を含む例示的なログ・
レコード300のフォーマットが示されている。ヘッダ
・フィールド302には、一意の識別用ログ・シーケン
ス番号(LSN)属性306と、トランザクションに関
連する前の変更にチェーンするための逆方向チェーンL
SN属性PREV−LSN310が含まれる。ヘッダ・
フィールドには、ログ・レコード・タイプ、たとえばR
EDO、UNDO、NORM、またはログ補正レコード
としてログ・レコード・タイプを識別するタイプ属性3
08も含まれる。ヘッダ・フィールドには、とりわけ、
ログ・レコードに関連するトランザクションを識別する
属性と、変更によって影響される当のデータ・オブジェ
クト内のレコードの数および位置の識別など、再実行
(REDOまたはNORMレコード内)またはロール・
バック(UNDOまたはNORMレコード内)を可能に
するための、変更の性質を記述する他の情報も含まれ
る。変更によってデータ・オブジェクトに追加されるか
除去される実際のデータを必要するイベントでは、その
データが、データ・フィールド304に保管される。た
とえば、変更が「挿入」である場合には、REDOのみ
ログ・レコードで、挿入される実際のデータがデータ・
フィールド304に保管される。UNDOのみログ・レ
コードについて、挿入される実際のデータは、不要であ
る。というのは、ヘッダ・フィールド302によって、
当のデータ・オブジェクトのどのレコードが追加された
かが識別され、したがって、そのように識別されたフィ
ールドを、ロールバックのイベントで削除できるからで
ある。逆に、変更が「削除」である場合には、削除され
る実際のデータが、関連するUNDOログ・レコードの
データ・フィールド304内に必要とされるが、関連す
るREDOログ・レコードのデータ・フィールドでは必
要とされない。NORMレコードは、UNDOアクティ
ビティおよびREDOアクティビティの両方をサポート
し、挿入または削除される実際のデータが、関連するN
ORMログ・レコードのデータ・フィールド304内に
必要とされる。
【0023】図2に戻って、永続オブジェクトに対する
変更をログに記録するために適当なログ・レコードに書
き込む(ステップ204)ことのほかに、ログ・マネー
ジャ112は、ログ記録される変更が将来のあるときに
ロール・バックされる場合にログ記録される変更に関し
て書き込まれる補正レコードのためにログ・ファイル1
20内でスペースを予約する。背景として、補正ログ・
レコードおよび逆方向ログ・チェーンが、ログ・マネー
ジャ112によって使用されて、既に元に戻された変更
を元に戻す試みが行われないようにするために、永続オ
ブジェクトに関する元に戻す処置を管理する。下で説明
するように、元に戻す処理中に、データベース・オブジ
ェクトに対して行われる元に戻す変更をログに記録する
ために、補正ログ・レコードが書き込まれる。補正ログ
・レコードには、元に戻されようとしている変更のログ
・レコードの直前のUOWによって書き込まれたログ・
レコードのLSNを含むもう1つのヘッダ属性(図3の
COMP−LSN312として表される)が含まれる。
DBMS110が、元に戻す処理中に補正ログ・レコー
ドにであったときに、この補正ログ・レコードは、元の
処置に続く元に戻すことが可能なすべての処理を含め
て、処置が既に元に戻されていることを示す。図2に示
された処理では、補正レコード・ログ・スペースが予約
(ステップ206)されると、DBMS110が要求さ
れた変更をもたらす(ステップ208)。
【0024】ログ・ファイル120に書き込まれるデー
タの量および頻度を減らすために、本発明のログ・マネ
ージャ112は、上に示したように、一時オブジェクト
と永続オブジェクトを区別する(ステップ202)。具
体的に言うと、ログ・マネージャ112は、一時オブジ
ェクトに関して再実行サポートが不要であるという事実
を認めて、一時オブジェクトに対する変更に関してRE
DOログ・レコードまたはNORMログ・レコードを書
き込まずに、UNDOレコードだけを書き込む(ステッ
プ210)。さらに、ログ・マネージャ112は、一時
オブジェクトに関して生成するログ・レコードに、一時
オブジェクトに関係するレコードしてフラグを立てる。
たとえば、そのようなフラグ立ては、UNDOレコード
を書き込むときにタイプ属性308のビットをセットす
ることによって行われることができる。ログに記録され
る一時オブジェクトへの変更が「削除」である場合に
は、削除される実際のデータが、関連するログ・レコー
ド300のデータ・フィールド304に保管される。変
更が「挿入」である場合には、実際のデータは不要であ
り、したがって、データ・フィールド304を切り詰め
るか、ログ・レコード300から完全に除去することが
できる。
【0025】下で詳細に説明するように、元に戻す処理
またはロールバック処理中に、本発明の好ましい実施形
態によれば、補正ログ・レコードが、一般に、一時オブ
ジェクトについてロールバックされるイベントまたは変
更のそれぞれについて書き込まれない。そうではなく、
せいぜい単一の特別な補正レコードまたはブラックアウ
ト・フリー・レコード(用語「補正レコード」および
「ブラックアウト・フリー・レコード」は、本明細書で
交換可能に使用される)が、元に戻す処理によってロー
ル・バックされる変更またはイベントのグループに使用
される。一般に、元に戻す処理は、UOW全体をロール
バックするか、ユーザが定義したか事前定義の規則に基
づいてDBMS110によって定義された保管場所によ
って識別されるUOWのサブセットをロールバックする
(当技術分野で既知のように、保管場所は、トランザク
ション内の選択された変更を元に戻せるようにするのに
使用される)。したがって、本発明によれば、元に戻す
ログが一時表に関して記録されるときに、ログ・マネー
ジャ112は、そのような変更の「グループ」のそれぞ
れの補正レコードについて1回、ログ・ファイル120
内にスペースを予約するだけでよい。図示の例では、ロ
グ・マネージャは、元に戻すことが可能なステップのグ
ループ内で一時オブジェクトに関連する最後のログ記録
可能な変更に達したことを認識するときに(ステップ2
12)のみ変更のグループについて補正ログ・レコード
・スペースを予約することによって、これを達成する。
対象の変更に関して元に戻すログ・レコードを書き込
み、対象の変更がUOW内の一時オブジェクトに関連す
る最後の変更であるか保管場所によって定義される変更
のサブセットである場合に特別な補正レコードのスペー
スを予約することによって、要求された変更を実行する
(ステップ208)。
【0026】本発明の好ましい実施形態では、リカバリ
動作またはロール・フォワード動作を実行するときに、
DBMS110が、ログ・ファイル120内の、一時オ
ブジェクトに関係するものとしてフラグを立てられたい
かなるレコードも無視する。一時データ・オブジェクト
に関して複数のロールバック動作を実行することができ
るので、永続オブジェクトに関して使用される補正ログ
・レコードがない場合に、元に戻す処置を追跡する方法
が必要である。
【0027】本発明の実施形態による元に戻す処理中に
ログ・マネージャによって行われるステップを示す流れ
図400を、図4に示す。上で示したように、ロール・
バックされる変更は、一般に、UOW全体としてまたは
保管場所によって定義されるUOWのサブセットとして
グループ化される。ロールバックの開始時に、「TEM
P_FLAG」をリセットする(ステップ402)。そ
のようなフラグは、ログ・マネージャ112によって、
一時ファイルに関する変更が対象のロールバック中に実
行されたときを示すのに使用される。ロール・バックさ
れる変更のシーケンスで最後に行われた変更のログ・レ
コードを読み取り(ステップ404)、そのタイプ属性
308を検査して、ログ・レコードが補正ログ・レコー
ドであるかどうかを判定する(ステップ406)。
【0028】ステップ406で、ログ・レコードが補正
ログ・レコードでないと判定される場合には、検査を行
って、ログ・レコードが、一時オブジェクトまたは永続
オブジェクトのどちらの変更に関連する変更であるかを
判定する(ステップ412)。ログ・レコードが、永続
オブジェクトに関係する場合には、元に戻されようとし
ている変更に関する元に戻す/再実行処理をサポートす
るために、補正ログ・レコードを書き込む(ステップ4
14)。補正レコードのCOMP−LSN312属性
を、ロール・バックされる変更がロール・バックされる
UOWの最後の変更でない(言い換えると、UOWの最
初の変更である)場合には、UOW内でロール・バック
される変更のログ・レコードの前のログ・レコードのL
SNを指すようにセットし、そうでない場合にはCOM
P−LSN312にヌル値をセットする。補正レコード
を書き込んだ後に、補正処置を実行する(すなわち、対
象のログ・レコード内で識別された変更を元に戻す−ス
テップ418)。しかし、ステップ412で、ログ・レ
コードが一時オブジェクトに対する変更に関係すると判
定される場合には、補正レコードを書き込むステップ4
14をスキップし、その代わりに、ロール・バック処理
中に一時オブジェクトに関するログ・レコードにであっ
たことを示すようにTEMP_FLAGをセットし(ス
テップ416)、その後、対象のログ・レコードに関連
する変更を元に戻すのに必要な補正処置を実行する(ス
テップ418)。
【0029】その後、元に戻される変更が、元に戻す処
理に関して最後に元に戻される変更であるかどうかを判
定する(ステップ420)。PREV−LSN310属
性のヌル値が、対象のログ・レコードがUOW内の最初
のログ・レコードであり、したがって、UOW内でロー
ル・バックされる最後の処置に関連することを示す。ロ
ールバックが、保管場所に対して行われている場合に
は、保管場所の前のログ・レコードのLSNを指すPR
EV−LSN値から、ロールバックの最後の処置に達し
たことが示される。
【0030】さらに変更をロール・バックする必要があ
る場合には、PREV−LSNを使用して、次にロール
・バックされる変更のログ・レコードを読み取り(ステ
ップ419)、ステップ406で開始される処理を繰り
返す。
【0031】ステップ420で、ロールバックの最後の
変更が元に戻されたと判定される場合には、TEMP_
FLAGの値を検査することによって、一時オブジェク
トに対する変更がロールバック処理中にロール・バック
されたかどうかの判定を行う(ステップ422)。そう
である場合には、将来のロールバックが、既に元に戻さ
れた一時オブジェクトに関してイベントを元に戻す試み
がもたらされないことを保証するために、特別な補正レ
コードをログ・ファイル120に書き込む。特別な補正
レコードのCOMP−LSN属性が、対象の元に戻す処
理によってロール・バックされたイベントの前に行われ
た最後のイベント(言い換えると、保管場所までのロー
ルバックが実行されたときに、保管場所の前の最後のイ
ベント)に関連するログ・レコードのLSNを指すよう
にセットされる。UOW内のすべてのイベントが元に戻
された場合には、COMP−LSNにヌル値がセットさ
れる。
【0032】ステップ406で補正ログ・レコードが検
出された場合の状況をこれから検討する。補正ログ・レ
コードがロールバック中に検出された場合には、ログ・
マネージャ112は、COMP−LSN312属性を検
査することによって、その補正ログ・レコードが元に戻
すシーケンスの最後のレコードであるかどうかを判定す
る(ステップ408)。COMP−LSN312属性の
ヌルの値は、対象のログ・レコードが、UOWの最初の
補正ログ・レコードであり、したがって、UOWのロー
ルバックの最後であることを示す。ロールバックが、保
管場所まで実行される場合には、保管場所の前のログ・
レコードのLSNを指すCOMP−LSN値によって、
対象のログ・レコードが、ロールバックの最後の補正ロ
グ・レコードであることが示される。補正ログ・レコー
ドが、ロール・バック処理中に検討される最後のログ・
レコードである場合には、ログ・マネージャは、ステッ
プ422に進んで、一時フラグがセットされているかど
うかを判定し、そうである場合には、上で示したよう
に、特別な補正レコードを書き込み(ステップ42
4)、終了する(ステップ426)。ステップ408
で、補正レコードが検討される最後のログ・レコードで
ないと判定される場合には、COMP−LSN属性によ
って示されるログ・レコードを読み取り(ステップ41
0)、ステップ406で処理を継続する。
【0033】したがって、本発明の態様によれば、1つ
または複数の一時オブジェクトに関係する処置のグルー
プのロールバックが実行されるときに、ログ・マネージ
ャ112が、一時オブジェクトに関係するグループ内の
すべての変更について補正ログ・レコードを書き込むの
ではなく、グループに関するログ・ファイル120に1
つの補正ログ・レコードだけを書き込むという点で、元
に戻すログを記録するアクティビティが、一時オブジェ
クトと永続オブジェクトについて異なることを諒解され
たい。その結果、元に戻す処理中に、書き込むことが必
要な補正ログ・レコードの数が減り、これが、変更が最
初に実行されたときに補正ログ・レコードのために予約
される必要があるスペースが少なくなることを意味する
(図2の変更処理の流れ図200に関して上で述べたよ
うに)。さらに、データベース変更が最初にログに記録
されるときに、ログ・マネージャ112が、一時オブジ
ェクトに対する変更と永続オブジェクトに対する変更と
を区別して、一時オブジェクトについてUNDOレコー
ドだけを書き込み、これが、挿入の場合に、挿入された
データのコピーをUNDOログ・レコードに含める必要
がないので、より短いレコードをもたらすことができ
る。本発明によって達成される書き込まれるログ・レコ
ードのサイズおよび数の減少と予約スペースの減少は、
複数の異なるユーザがデータベース・システム100を
使用しているときに大きくなる可能性がある。
【0034】本発明のもう1つの実施形態では、元に戻
す処理中に一時オブジェクトに関して書き込まれる補正
レコードの数が、さらに減る。図5に関して、本発明の
もう1つの実施形態による、元に戻す処理中にログ・マ
ネージャ112によって行われるステップを示す流れ図
500を示す。流れ図500に示された処理は、変数T
EMP_FLAGが、ロール・バックされた変更が一時
オブジェクトに対するものであるかどうかを示すのでは
なく、ロール・バックされた最後の変更が一時オブジェ
クトに対するものであるかどうかを示すのに使用される
ことを除いて、流れ図400に関して前述した処理と同
一である。これに関して、ログ・マネージャ112は、
ロール・バック中に対象の非補正ログ・レコードを調べ
るときに、対象のレコードが永続オブジェクトに関係す
るかどうかを判定し(ステップ412)、その後、変数
TEMP_FLAGをデフォルト値にリセットして(ス
テップ502)、システムによって検討された最新のロ
グ・レコードが永続オブジェクトに関係したことを示
す。その結果、ロールバック・シーケンス内で最後にロ
ール・バックされた変更が、永続オブジェクトに関係す
る場合に、ログ・マネージャが、ステップ422で、T
EMP_FLAGがセットされていないかどうかを判定
し、その後、ロールバックに一時オブジェクトに対する
変更のロールバックが含まれる場合であっても、特別な
補正ログ・レコードを書き込まずに(すなわち、ステッ
プ424を実行せずに)元に戻す処理を終了する。した
がって、流れ図500によって表される元に戻す処理で
は、特別な補正ログの書込(ステップ424)が、元に
戻す処理中に最後に元に戻された処置が一時オブジェク
トに関する変更である場合に限って行われる。この結果
が、図5に示されたもの以外の論理フローを用いて、た
とえば、TEMP_FLAGなどのフラグを使用するの
ではなく、ステップ416の代わりに、一時ファイルに
対する対象の変更がロールバックされる最後の変更であ
るかどうかを判定し、そうである場合に特別な補正レコ
ードを書き込むステップを含む処理を用いて、達成でき
ることを諒解されたい。
【0035】データベース・システム100を、すべて
のログ・レコードが書き込まれる単一のログ・ファイル
120を有するものとして図1に示したが、さまざまな
異なるログ・ファイル構成を使用することができる。た
とえば、一時オブジェクトに関係するログ・レコードと
は別のログ・ファイルを、永続オブジェクトに関係する
ログ・レコードに使用することができる。
【0036】本発明のログ管理機能は、適切なプログラ
ム・コードを実行する1つまたは複数のプロセッサを使
用して実施することができる。プログラム・コードは、
たとえば光記憶媒体、磁気記憶媒体、電気伝送媒体、お
よび光伝送媒体を含む、当技術分野で既知の、信号を担
持するさまざまな記憶媒体および伝送媒体を使用して保
管または伝送することができる。
【0037】本発明を、本発明の好ましい実施形態に関
して具体的に図示し、説明してきたが、形態および詳細
における前述および他の変更を、本発明の趣旨および範
囲から逸脱せずに行うことができることを、当業者は理
解するであろう。
【0038】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0039】(1)データベース・システムの作業単位
内の一時オブジェクトおよび永続オブジェクトに対する
変更のグループのロールバック中に一時オブジェクトに
関するログ・レコードを管理する方法であって、ロール
・バックされる変更のそれぞれについて、前記変更が一
時データベース・オブジェクトに対して実行されたかど
うかを判定するステップと、一時データベース・オブジ
ェクトに対して実行された変更のそれぞれについて、所
定の判断基準に基づいて補正レコードが望まれるかどう
かを査定し、前記査定に基づいて、前記一時オブジェク
トに対する前記変更がロール・バックされたことを示す
関連する補正ログ・レコードを選択的に作成するステッ
プとを含む、方法。 (2)一時データベース・オブジェクトに対して実行さ
れた変更のそれぞれについて、前記一時オブジェクトに
対する前記変更がロール・バックされたことを示す関連
する補正ログ・レコードが、前記変更が前記変更のグル
ープ内でロール・バックされた一時オブジェクトに対す
る最後の変更である場合に限って作成される、上記
(1)に記載の方法。 (3)前記変更のグループが、定義された保管場所まで
の作業単位内で行われた変更からなる、上記(2)に記
載の方法。 (4)前記補正レコードが、前記補正ログ・レコードに
関連する前記変更の直前の作業単位内の変更のログ・レ
コードへのポインタを含む、上記(3)に記載の方法。 (5)一時データベース・オブジェクトに対して実行さ
れた変更のそれぞれについて、前記変更がロール・バッ
クされたことを示す関連する補正ログ・レコードが、前
記変更が前記変更のグループ内のロール・バックされた
すべてのオブジェクトに対する最後の変更である場合に
限って作成される、上記(1)に記載の方法。 (6)前記変更のグループが、定義された保管場所まで
の作業単位内で行われた変更からなる、上記(5)に記
載の方法。 (7)前記補正レコードが、前記補正ログ・レコードに
関連する変更の直前の前記作業単位内の変更のログ・レ
コードへのポインタを含む、上記(6)に記載の方法。 (8)一時データベース・オブジェクトに対するロール
・バックされた変更に関連する前記補正ログ・レコード
が、永続データベース・オブジェクトに関連する補正ロ
グ・レコードと同一のログ・ファイルに順次保管され
る、上記(1)に記載の方法。 (9)一時データベース・オブジェクトに対するロール
・バックされた変更に関連する前記補正ログ・レコード
が、永続データベース・オブジェクトに対するロール・
バックされた変更に関連する補正ログ・レコードが保管
されるログ・ファイルと異なる第1ログ・ファイルに保
管される、上記(1)に記載の方法。 (10)データベース・システム内でデータベース・オ
ブジェクトに対して行われる変更に関連するログ・レコ
ードを管理する方法ステップであって、永続データベー
ス・オブジェクトに対する変更をログに記録するために
ログ・レコードを作成するときに、補正ログ・レコード
のためにストレージ・スペースを予約するステップと、
一時データベース・オブジェクトに対する変更の補正ロ
グ・レコードのために、永続データベース・オブジェク
トに対する変更の補正ログ・レコードより相対的に少な
いストレージ・スペースが予約されるようにする、所定
の判断基準を前記変更が満足する場合に限って、一時デ
ータベース・オブジェクトに対する変更をログに記録す
るためのログ・レコードを作成するときに補正ログ・レ
コードのストレージ・スペースを選択的に予約するステ
ップとを含む方法ステップをさらに含む、上記(1)に
記載の方法。 (11)単一の補正ログ・レコードのみのストレージ・
スペースが、グループとして集合的にロール・バックさ
れるように構成された一時データベース・オブジェクト
に対する変更のグループのそれぞれについて予約され
る、上記(10)に記載の方法。 (12)データベース・システムの作業単位内の一時オ
ブジェクトおよび永続オブジェクトに対する変更のグル
ープのロールバック中に一時オブジェクトに関するログ
・レコードを管理するコンピュータ可読コード手段を有
する信号担持媒体を含むコンピュータ・プログラム製品
であって、前記コンピュータ可読コード手段が、ロール
・バックされる変更のそれぞれについて、前記変更が一
時データベース・オブジェクトに対して実行されたかど
うかを判定するコード手段と、一時データベース・オブ
ジェクトに対して実行された変更のそれぞれについて、
所定の判断基準に基づいて補正レコードが望まれるかど
うかを査定し、前記査定に基づいて、前記一時オブジェ
クトに対する前記変更がロール・バックされたことを示
す関連する補正ログ・レコードを選択的に作成する査定
コード手段とを含む、コンピュータ・プログラム製品。 (13)関連する変更が前記変更のグループ内でロール
・バックされた一時オブジェクトに対する最後の変更で
ある場合に限って、前記査定コード手段が、前記一時オ
ブジェクトに対する前記関連する変更がロール・バック
されたことを示す補正ログ・レコードを作成する、上記
(12)に記載のコンピュータ・プログラム製品。 (14)関連する変更が前記変更のグループ内でロール
・バックされたすべてのオブジェクトに対する最後の変
更である場合に限って、前記査定コード手段が、前記一
時オブジェクトに対する前記関連する変更がロール・バ
ックされたことを示す補正ログ・レコードを作成する、
上記(12)に記載のコンピュータ・プログラム製品。 (15)データベース・システム内のデータベース・オ
ブジェクトに対して行われた変更に関連するログ・レコ
ードを管理するプログラム・コード手段であって、永続
データベース・オブジェクトに対する変更をログに記録
するためにログ・レコードを作成するときに、補正ログ
・レコードのためにストレージ・スペースを予約するコ
ード手段と、一時データベース・オブジェクトに対する
変更の補正ログ・レコードのために、永続データベース
・オブジェクトに対する変更の補正ログ・レコードより
相対的に少ないストレージ・スペースが予約されるよう
にする、所定の判断基準を前記変更が満足する場合に限
って、一時データベース・オブジェクトに対する変更を
ログに記録するためのログ・レコードを作成するときに
補正ログ・レコードのストレージ・スペースを選択的に
予約するコード手段とを含むプログラム・コード手段を
さらに含む、上記(12)に記載のコンピュータ・プロ
グラム製品。 (16)前記信号担持媒体が、光ディスク媒体、磁気デ
ィスク媒体、電気通信信号担持媒体、および光通信信号
担持媒体からなる群から選択される、上記(12)に記
載のコンピュータ・プログラム製品。 (17)データベース・システム内でログ・レコードを
管理する装置であって、ログ・レコードを電子的に保管
する少なくとも1つのストレージと、永続データベース
・オブジェクトおよび一時データベース・オブジェクト
を電子的に保管するデータベース・ストレージと、前記
データベース・システムの作業単位内の変更のグループ
のロールバック中の補正ログ・レコードの作成を管理す
るログ・マネージャ手段であって、(i)ロール・バッ
クされる変更のそれぞれについて、前記変更が一時デー
タベース・オブジェクトまたは永続データベース・オブ
ジェクトのどちらに対して実行されたかを判定する手段
と、(ii)永続データベース・オブジェクトに対して
実行された変更のそれぞれについて、前記変更がロール
・バックされたことを示す関連する補正ログ・レコード
を作成し、保管する手段と、(iii)一時データベー
ス・オブジェクトに対して実行された変更のそれぞれに
ついて、所定の判断基準に基づいて補正レコードが望ま
れるかどうかを査定し、前記査定に基づいて、前記一時
オブジェクトに対する前記変更がロール・バックされた
ことを示す関連する補正ログ・レコードを選択的に作成
し、保管する査定手段とを含むログ・マネージャ手段と
を含む、装置。 (18)関連する変更が前記変更のグループ内でロール
・バックされる一時オブジェクトに対する最後の変更で
ある場合に限って、前記査定手段が、前記一時オブジェ
クトに対する前記関連する変更がロール・バックされた
ことを示す補正ログ・レコードを作成し、保管する、上
記(17)に記載の装置。 (19)関連する変更が前記変更のグループ内でロール
・バックされた最後の変更である場合に限って、前記査
定手段が、前記一時オブジェクトに対する前記関連する
変更がロール・バックされたことを示す補正ログ・レコ
ードを作成し、保管する、上記(17)に記載の装置。 (20)データベース・システム内のデータベース・オ
ブジェクトに対して行われた変更に関連するログ・レコ
ードを管理するさらなるログ管理手段であって、永続デ
ータベース・オブジェクトに対する変更をログに記録す
るためにログ・レコードを作成するときに、補正ログ・
レコードのためにストレージ・スペースを予約する手段
と、一時データベース・オブジェクトに対する変更の補
正ログ・レコードのために、永続データベース・オブジ
ェクトに対する変更の補正ログ・レコードより相対的に
少ないストレージ・スペースが予約されるようにする、
所定の判断基準を前記変更が満足する場合に限って、一
時データベース・オブジェクトに対する変更をログに記
録するためのログ・レコードを作成するときに補正ログ
・レコードのストレージ・スペースを選択的に予約する
手段とを含むログ管理手段をさらに含む、上記(17)
に記載の装置。
【図面の簡単な説明】
【図1】本発明の諸態様によるデータベース・システム
の概念ブロック図である。
【図2】データベース・オブジェクトに対する変更を追
跡するためにログ・レコードを作成する基本ステップの
概念流れ図である。
【図3】ログ・レコードのフォーマットの例を示す図で
ある。
【図4】本発明の実施形態による元に戻す処理中のログ
・ファイル・レコードの作成の動作シーケンスの概念流
れ図である。
【図5】本発明のもう1つの実施形態による元に戻す処
理中のログ・ファイル・レコードの作成の動作シーケン
スの概念流れ図である。
【符号の説明】
100 データベース・システム 110 データベース管理システム(DBMS) 112 ログ・マネージャ 114 データベース・ストレージ 116 永続オブジェクト 118 一時オブジェクト 120 ログ・ファイル 200 流れ図 300 ログ・レコード 302 ヘッダ・フィールド 304 データ・フィールド 306 一意の識別用ログ・シーケンス番号(LSN)
属性 308 タイプ属性 310 逆方向チェーンLSN属性PREV−LSN 312 COMP−LSN 400 流れ図 500 流れ図
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・ジェイ・ウィナー カナダ エル3ピー 4シー9 オンタリ オ州 マークハム フィンチャム・アベニ ュー 75 (72)発明者 ロジャー・ルオ・クァン・ツェン カナダ エム1ピー 5ビー6 オンタリ オ州 スカボロ モンデオ・ドライブ 83 ナンバー72 (72)発明者 ジェシー・リー カナダ エム8ゼット 5ジェイ8 オン タリオ州 トロント エグリントン・アベ ニュー・イースト 2466 ピー・エイチ10 Fターム(参考) 5B082 DD04 DD08

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】データベース・システムの作業単位内の一
    時オブジェクトおよび永続オブジェクトに対する変更の
    グループのロールバック中に一時オブジェクトに関する
    ログ・レコードを管理する方法であって、 ロール・バックされる変更のそれぞれについて、前記変
    更が一時データベース・オブジェクトに対して実行され
    たかどうかを判定するステップと、 一時データベース・オブジェクトに対して実行された変
    更のそれぞれについて、所定の判断基準に基づいて補正
    レコードが望まれるかどうかを査定し、前記査定に基づ
    いて、前記一時オブジェクトに対する前記変更がロール
    ・バックされたことを示す関連する補正ログ・レコード
    を選択的に作成するステップとを含む、方法。
  2. 【請求項2】一時データベース・オブジェクトに対して
    実行された変更のそれぞれについて、前記一時オブジェ
    クトに対する前記変更がロール・バックされたことを示
    す関連する補正ログ・レコードが、前記変更が前記変更
    のグループ内でロール・バックされた一時オブジェクト
    に対する最後の変更である場合に限って作成される、請
    求項1に記載の方法。
  3. 【請求項3】前記変更のグループが、定義された保管場
    所までの作業単位内で行われた変更からなる、請求項2
    に記載の方法。
  4. 【請求項4】前記補正レコードが、前記補正ログ・レコ
    ードに関連する前記変更の直前の作業単位内の変更のロ
    グ・レコードへのポインタを含む、請求項3に記載の方
    法。
  5. 【請求項5】一時データベース・オブジェクトに対して
    実行された変更のそれぞれについて、前記変更がロール
    ・バックされたことを示す関連する補正ログ・レコード
    が、前記変更が前記変更のグループ内のロール・バック
    されたすべてのオブジェクトに対する最後の変更である
    場合に限って作成される、請求項1に記載の方法。
  6. 【請求項6】前記変更のグループが、定義された保管場
    所までの作業単位内で行われた変更からなる、請求項5
    に記載の方法。
  7. 【請求項7】前記補正レコードが、前記補正ログ・レコ
    ードに関連する変更の直前の前記作業単位内の変更のロ
    グ・レコードへのポインタを含む、請求項6に記載の方
    法。
  8. 【請求項8】一時データベース・オブジェクトに対する
    ロール・バックされた変更に関連する前記補正ログ・レ
    コードが、永続データベース・オブジェクトに関連する
    補正ログ・レコードと同一のログ・ファイルに順次保管
    される、請求項1に記載の方法。
  9. 【請求項9】一時データベース・オブジェクトに対する
    ロール・バックされた変更に関連する前記補正ログ・レ
    コードが、永続データベース・オブジェクトに対するロ
    ール・バックされた変更に関連する補正ログ・レコード
    が保管されるログ・ファイルと異なる第1ログ・ファイ
    ルに保管される、請求項1に記載の方法。
  10. 【請求項10】データベース・システム内でデータベー
    ス・オブジェクトに対して行われる変更に関連するログ
    ・レコードを管理する方法ステップであって、 永続データベース・オブジェクトに対する変更をログに
    記録するためにログ・レコードを作成するときに、補正
    ログ・レコードのためにストレージ・スペースを予約す
    るステップと、 一時データベース・オブジェクトに対する変更の補正ロ
    グ・レコードのために、永続データベース・オブジェク
    トに対する変更の補正ログ・レコードより相対的に少な
    いストレージ・スペースが予約されるようにする、所定
    の判断基準を前記変更が満足する場合に限って、一時デ
    ータベース・オブジェクトに対する変更をログに記録す
    るためのログ・レコードを作成するときに補正ログ・レ
    コードのストレージ・スペースを選択的に予約するステ
    ップとを含む方法ステップをさらに含む、請求項1に記
    載の方法。
  11. 【請求項11】単一の補正ログ・レコードのみのストレ
    ージ・スペースが、グループとして集合的にロール・バ
    ックされるように構成された一時データベース・オブジ
    ェクトに対する変更のグループのそれぞれについて予約
    される、請求項10に記載の方法。
  12. 【請求項12】データベース・システムの作業単位内の
    一時オブジェクトおよび永続オブジェクトに対する変更
    のグループのロールバック中に一時オブジェクトに関す
    るログ・レコードを管理するコンピュータ可読コード手
    段を有する信号担持媒体を含むコンピュータ・プログラ
    ム製品であって、前記コンピュータ可読コード手段が、 ロール・バックされる変更のそれぞれについて、前記変
    更が一時データベース・オブジェクトに対して実行され
    たかどうかを判定するコード手段と、 一時データベース・オブジェクトに対して実行された変
    更のそれぞれについて、所定の判断基準に基づいて補正
    レコードが望まれるかどうかを査定し、前記査定に基づ
    いて、前記一時オブジェクトに対する前記変更がロール
    ・バックされたことを示す関連する補正ログ・レコード
    を選択的に作成する査定コード手段とを含む、コンピュ
    ータ・プログラム製品。
  13. 【請求項13】関連する変更が前記変更のグループ内で
    ロール・バックされた一時オブジェクトに対する最後の
    変更である場合に限って、前記査定コード手段が、前記
    一時オブジェクトに対する前記関連する変更がロール・
    バックされたことを示す補正ログ・レコードを作成す
    る、請求項12に記載のコンピュータ・プログラム製
    品。
  14. 【請求項14】関連する変更が前記変更のグループ内で
    ロール・バックされたすべてのオブジェクトに対する最
    後の変更である場合に限って、前記査定コード手段が、
    前記一時オブジェクトに対する前記関連する変更がロー
    ル・バックされたことを示す補正ログ・レコードを作成
    する、請求項12に記載のコンピュータ・プログラム製
    品。
  15. 【請求項15】データベース・システム内のデータベー
    ス・オブジェクトに対して行われた変更に関連するログ
    ・レコードを管理するプログラム・コード手段であっ
    て、 永続データベース・オブジェクトに対する変更をログに
    記録するためにログ・レコードを作成するときに、補正
    ログ・レコードのためにストレージ・スペースを予約す
    るコード手段と、 一時データベース・オブジェクトに対する変更の補正ロ
    グ・レコードのために、永続データベース・オブジェク
    トに対する変更の補正ログ・レコードより相対的に少な
    いストレージ・スペースが予約されるようにする、所定
    の判断基準を前記変更が満足する場合に限って、一時デ
    ータベース・オブジェクトに対する変更をログに記録す
    るためのログ・レコードを作成するときに補正ログ・レ
    コードのストレージ・スペースを選択的に予約するコー
    ド手段とを含むプログラム・コード手段をさらに含む、
    請求項12に記載のコンピュータ・プログラム製品。
  16. 【請求項16】前記信号担持媒体が、光ディスク媒体、
    磁気ディスク媒体、電気通信信号担持媒体、および光通
    信信号担持媒体からなる群から選択される、請求項12
    に記載のコンピュータ・プログラム製品。
  17. 【請求項17】データベース・システム内でログ・レコ
    ードを管理する装置であって、 ログ・レコードを電子的に保管する少なくとも1つのス
    トレージと、 永続データベース・オブジェクトおよび一時データベー
    ス・オブジェクトを電子的に保管するデータベース・ス
    トレージと、 前記データベース・システムの作業単位内の変更のグル
    ープのロールバック中の補正ログ・レコードの作成を管
    理するログ・マネージャ手段であって、 (i)ロール・バックされる変更のそれぞれについて、
    前記変更が一時データベース・オブジェクトまたは永続
    データベース・オブジェクトのどちらに対して実行され
    たかを判定する手段と、 (ii)永続データベース・オブジェクトに対して実行
    された変更のそれぞれについて、前記変更がロール・バ
    ックされたことを示す関連する補正ログ・レコードを作
    成し、保管する手段と、 (iii)一時データベース・オブジェクトに対して実
    行された変更のそれぞれについて、所定の判断基準に基
    づいて補正レコードが望まれるかどうかを査定し、前記
    査定に基づいて、前記一時オブジェクトに対する前記変
    更がロール・バックされたことを示す関連する補正ログ
    ・レコードを選択的に作成し、保管する査定手段とを含
    むログ・マネージャ手段とを含む、装置。
  18. 【請求項18】関連する変更が前記変更のグループ内で
    ロール・バックされる一時オブジェクトに対する最後の
    変更である場合に限って、前記査定手段が、前記一時オ
    ブジェクトに対する前記関連する変更がロール・バック
    されたことを示す補正ログ・レコードを作成し、保管す
    る、請求項17に記載の装置。
  19. 【請求項19】関連する変更が前記変更のグループ内で
    ロール・バックされた最後の変更である場合に限って、
    前記査定手段が、前記一時オブジェクトに対する前記関
    連する変更がロール・バックされたことを示す補正ログ
    ・レコードを作成し、保管する、請求項17に記載の装
    置。
  20. 【請求項20】データベース・システム内のデータベー
    ス・オブジェクトに対して行われた変更に関連するログ
    ・レコードを管理するさらなるログ管理手段であって、 永続データベース・オブジェクトに対する変更をログに
    記録するためにログ・レコードを作成するときに、補正
    ログ・レコードのためにストレージ・スペースを予約す
    る手段と、 一時データベース・オブジェクトに対する変更の補正ロ
    グ・レコードのために、永続データベース・オブジェク
    トに対する変更の補正ログ・レコードより相対的に少な
    いストレージ・スペースが予約されるようにする、所定
    の判断基準を前記変更が満足する場合に限って、一時デ
    ータベース・オブジェクトに対する変更をログに記録す
    るためのログ・レコードを作成するときに補正ログ・レ
    コードのストレージ・スペースを選択的に予約する手段
    とを含むログ管理手段をさらに含む、請求項17に記載
    の装置。
JP2003025616A 2002-02-05 2003-02-03 一時オブジェクトに関するログ使用の最適化 Pending JP2003242010A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA2370601 2002-02-05
CA002370601A CA2370601A1 (en) 2002-02-05 2002-02-05 Optimizing log usage for temporary objects

Publications (1)

Publication Number Publication Date
JP2003242010A true JP2003242010A (ja) 2003-08-29

Family

ID=27626597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003025616A Pending JP2003242010A (ja) 2002-02-05 2003-02-03 一時オブジェクトに関するログ使用の最適化

Country Status (3)

Country Link
US (1) US20030208464A1 (ja)
JP (1) JP2003242010A (ja)
CA (1) CA2370601A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011509489A (ja) * 2008-01-08 2011-03-24 マイクロソフト コーポレーション ジャバスクリプトグリッドにおける非同期マルチレベル・アンドゥのサポート

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264970A (ja) * 2003-02-28 2004-09-24 Hitachi Ltd プログラム、情報処理装置、及び情報処理装置におけるログデータの出力方法
US7818301B2 (en) * 2004-12-17 2010-10-19 International Business Machines Corporation Method, system and article of manufacture for rolling back past a boundary generator to a savepoint located in a unit of work
US7640277B2 (en) * 2005-02-28 2009-12-29 International Business Machines Corporation Method for releasing a savepoint
KR100781515B1 (ko) * 2006-01-10 2007-12-03 삼성전자주식회사 트랜잭션 처리를 위한 로그 정보 관리 시스템 및 방법
US7599969B2 (en) * 2006-12-20 2009-10-06 International Business Machines Corporation Method and system for scheduling workload in databases
US8108356B2 (en) * 2007-12-24 2012-01-31 Korea Advanced Institute Of Science And Technology Method for recovering data in a storage system
US8024297B2 (en) * 2008-07-25 2011-09-20 Tibbo Technology, Inc. Data logging system and method thereof for heterogeneous data
US8359568B2 (en) * 2008-12-22 2013-01-22 International Business Machines Corporation Method and system for automatically adding generic change log to legacy application
US8868514B2 (en) * 2011-01-07 2014-10-21 Microsoft Corporation Transaction support for distributed data
US9003162B2 (en) 2012-06-20 2015-04-07 Microsoft Technology Licensing, Llc Structuring storage based on latch-free B-trees
WO2014169331A1 (en) 2013-04-19 2014-10-23 National Ict Australia Limited Checking undoability of an api-controlled computing system
US9519591B2 (en) 2013-06-22 2016-12-13 Microsoft Technology Licensing, Llc Latch-free, log-structured storage for multiple access methods
US9514211B2 (en) 2014-07-20 2016-12-06 Microsoft Technology Licensing, Llc High throughput data modifications using blind update operations

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498145A (en) * 1982-06-30 1985-02-05 International Business Machines Corporation Method for assuring atomicity of multi-row update operations in a database system
DE69126066T2 (de) * 1990-06-29 1997-09-25 Oracle Corp Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs
US5287501A (en) * 1991-07-11 1994-02-15 Digital Equipment Corporation Multilevel transaction recovery in a database system which loss parent transaction undo operation upon commit of child transaction
US5721918A (en) * 1996-02-06 1998-02-24 Telefonaktiebolaget Lm Ericsson Method and system for fast recovery of a primary store database using selective recovery by data type
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011509489A (ja) * 2008-01-08 2011-03-24 マイクロソフト コーポレーション ジャバスクリプトグリッドにおける非同期マルチレベル・アンドゥのサポート

Also Published As

Publication number Publication date
CA2370601A1 (en) 2003-08-05
US20030208464A1 (en) 2003-11-06

Similar Documents

Publication Publication Date Title
CA2422176C (en) Method and apparatus for interrupting updates to a database to provide read-only access
US6651073B1 (en) Method and apparatus for insuring database data integrity without data recovery logging
CN101183322B (zh) 延迟日志生成的方法及其设备
US7933927B2 (en) Method and apparatus for building index of source data
US6567928B1 (en) Method and apparatus for efficiently recovering from a failure in a database that includes unlogged objects
US6185699B1 (en) Method and apparatus providing system availability during DBMS restart recovery
US5946700A (en) Method and apparatus for preserving non-current information that can be overwritten in a computer file
US6732123B1 (en) Database recovery to any point in time in an online environment utilizing disaster recovery technology
US20020116404A1 (en) Method and system for highly-parallel logging and recovery operation in main-memory transaction processing systems
JP2003242010A (ja) 一時オブジェクトに関するログ使用の最適化
US6691115B2 (en) System and method for purging database update image files after completion of associated transactions for a database replication system with multiple audit logs
JP2000259456A (ja) ファイルリビジョン管理システム
US6782399B2 (en) Ultra-high speed database replication with multiple audit logs
US7225206B2 (en) System and method for reorganizing stored data
GB2350454A (en) A method of updating and/or restoring an operating system
US6754842B2 (en) Facilitating a restart operation within a data processing system
US20060224639A1 (en) Backup system, program and backup method
US7188124B2 (en) Method, system, computer product for recovering dropped database table specifying one or more table spaces, recovering the table space being restored using the dropped table history data structure
US20070239758A1 (en) Loosely Coupled Log Sequence Identifiers
JP4916892B2 (ja) トランザクション処理のためのログ情報管理システムおよび方法
US20120185451A1 (en) Data processing method and system for database management system
US8452730B2 (en) Archiving method and system
US20030220950A1 (en) Database controlling system
US7051051B1 (en) Recovering from failed operations in a database system
JP2004062759A (ja) データベースログの管理方法、その装置およびそのプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070206