JPH06332778A - トランザクション管理方法 - Google Patents
トランザクション管理方法Info
- Publication number
- JPH06332778A JPH06332778A JP6086114A JP8611494A JPH06332778A JP H06332778 A JPH06332778 A JP H06332778A JP 6086114 A JP6086114 A JP 6086114A JP 8611494 A JP8611494 A JP 8611494A JP H06332778 A JPH06332778 A JP H06332778A
- Authority
- JP
- Japan
- Prior art keywords
- page
- lsn
- log
- copy
- pages
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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
(57)【要約】
【目的】 ログ・ベースの段階式コミット・トランザク
ション管理システム(TMS)において、修正可能なペ
ージのファイルをアーカイブ保存するための方法を提供
すること。 【構成】 これは、1対の大域ログ・シーケンス番号の
管理によって達成される。第1の番号(ICBU_LS
N)と各データ・ページLSNをページが修正されると
きに比較することにより、共通状況ページを、変化した
状況を正確に反映するように更新することができる。同
じページへのその後の修正には、状況ページの訂正を必
要としない。状況ページ標徴は、バックアップ手順の一
環として、増分式複写のためにページ・コピー・セット
を確認するためにリセットされる。第2の番号(ICR
F_LSN)は、ファイルの復元に使用される。この場
合、ICRF_LSNが、最近のコピーが作成されて以
降の、ログ内の再実行のための点を定義する。
ション管理システム(TMS)において、修正可能なペ
ージのファイルをアーカイブ保存するための方法を提供
すること。 【構成】 これは、1対の大域ログ・シーケンス番号の
管理によって達成される。第1の番号(ICBU_LS
N)と各データ・ページLSNをページが修正されると
きに比較することにより、共通状況ページを、変化した
状況を正確に反映するように更新することができる。同
じページへのその後の修正には、状況ページの訂正を必
要としない。状況ページ標徴は、バックアップ手順の一
環として、増分式複写のためにページ・コピー・セット
を確認するためにリセットされる。第2の番号(ICR
F_LSN)は、ファイルの復元に使用される。この場
合、ICRF_LSNが、最近のコピーが作成されて以
降の、ログ内の再実行のための点を定義する。
Description
【0001】
【産業上の利用分野】本発明は、複写によってアプリケ
ーションの実行が妨げられない、完全なまたは増分式の
バックアップ複写による、情報操作システムにおけるデ
ータの保存に関する。より詳細には、本発明はログ・ベ
ースの段階式コミット・トランザクション管理システム
(TMS)において、修正可能なページのファイルをア
ーカイブ保存するための方法に関する。
ーションの実行が妨げられない、完全なまたは増分式の
バックアップ複写による、情報操作システムにおけるデ
ータの保存に関する。より詳細には、本発明はログ・ベ
ースの段階式コミット・トランザクション管理システム
(TMS)において、修正可能なページのファイルをア
ーカイブ保存するための方法に関する。
【0002】
【従来の技術】以下の説明は、多段階ログ・ベース・ト
ランザクション管理システムの諸態様、およびそうした
システムにおいて修正されたデータ・ページをアーカイ
ブ保存することを対象とする。
ランザクション管理システムの諸態様、およびそうした
システムにおいて修正されたデータ・ページをアーカイ
ブ保存することを対象とする。
【0003】トランザクション管理システムの諸態様 TMSは一般に、CPUと、修正可能なページのデータ
ベースを記憶する外部DASDサブシステムと、ページ
にアクセスしそれを記憶装置とCPUの間で転送するた
めの手段を含む。CPUで実行されるアプリケーション
は、「トランザクション」を通じてページと対話する。
「トランザクション」とは、回復可能な資源の一貫状態
を、全ての中間点で必ずしも一貫性を保存することな
く、別の一貫状態に変形させる一連の動作を含む、論理
作業単位と定義される。すなわち、トランザクションと
は、データベース内の選択されたページをある状態から
別の状態に原子的に変化させる有界の一連の動作であ
る。したがって各トランザクションは、完了するか、ま
たは打ち切らなければならず、中間状態は許されない。
ベースを記憶する外部DASDサブシステムと、ページ
にアクセスしそれを記憶装置とCPUの間で転送するた
めの手段を含む。CPUで実行されるアプリケーション
は、「トランザクション」を通じてページと対話する。
「トランザクション」とは、回復可能な資源の一貫状態
を、全ての中間点で必ずしも一貫性を保存することな
く、別の一貫状態に変形させる一連の動作を含む、論理
作業単位と定義される。すなわち、トランザクションと
は、データベース内の選択されたページをある状態から
別の状態に原子的に変化させる有界の一連の動作であ
る。したがって各トランザクションは、完了するか、ま
たは打ち切らなければならず、中間状態は許されない。
【0004】ログ・ベースのTMSでは、ページに対す
るすべての変更は、REDOレコードおよびUNDOレ
コードの形でログに書き込まれる。物理的ログは、DA
SDの予約部分やテープ・サブシステムなどでよい。こ
こで、REDOレコードまたはUNDOレコード自体
が、変更または修正されたページをそのDASD記憶位
置に書き戻す前に、ログに書き込まれる。これをライト
・アヘッド・ロギングと言う。これらの変更レコード
は、完了点まで進行したトランザクションを再作成また
はREDOするために、あるいは完了点まで進行してい
なかったトランザクションをロールバックまたはUND
Oするために使用される。
るすべての変更は、REDOレコードおよびUNDOレ
コードの形でログに書き込まれる。物理的ログは、DA
SDの予約部分やテープ・サブシステムなどでよい。こ
こで、REDOレコードまたはUNDOレコード自体
が、変更または修正されたページをそのDASD記憶位
置に書き戻す前に、ログに書き込まれる。これをライト
・アヘッド・ロギングと言う。これらの変更レコード
は、完了点まで進行したトランザクションを再作成また
はREDOするために、あるいは完了点まで進行してい
なかったトランザクションをロールバックまたはUND
Oするために使用される。
【0005】TMSは、各トランザクションが、BEG
INプリミティブと、COMMITプリミティブまたは
ABORTプリミティブ、およびENDプリミティブに
よって境界を区切られることを特徴とする。すなわち、
トランザクションは次の形である。 "BEGIN ops,ops, ..,ops COMMIT/ABORT ..END"
INプリミティブと、COMMITプリミティブまたは
ABORTプリミティブ、およびENDプリミティブに
よって境界を区切られることを特徴とする。すなわち、
トランザクションは次の形である。 "BEGIN ops,ops, ..,ops COMMIT/ABORT ..END"
【0006】マルチタスク処理が可能なシステムなどで
は、あるトランザクションは開始されたばかりで、他の
ものは「飛行中」で、さらに他のものはコミットされま
たは打ち切られており、さらに他のものはついさっき終
わったばかりというように、複数のトランザクションが
完了時間が重なり合う。これは、トランザクションがデ
ータベース内の選択されたページに対して何らかの更新
を実行し、トランザクションがその正常終了(END)
または一貫性中間点(COMMIT/ABORT)に到
達する以前に障害が発生するとき、それらの更新がUN
DOされることを段階式コミット・システムが保証する
ことを意味する。もしそうでなければ、正常終了(EN
D)または一貫性中間点(COMMITまたはABOR
T)に到達したトランザクションはREDOされる(C
OMMITまたはABORTを含む期間中でENDの直
前に)。
は、あるトランザクションは開始されたばかりで、他の
ものは「飛行中」で、さらに他のものはコミットされま
たは打ち切られており、さらに他のものはついさっき終
わったばかりというように、複数のトランザクションが
完了時間が重なり合う。これは、トランザクションがデ
ータベース内の選択されたページに対して何らかの更新
を実行し、トランザクションがその正常終了(END)
または一貫性中間点(COMMIT/ABORT)に到
達する以前に障害が発生するとき、それらの更新がUN
DOされることを段階式コミット・システムが保証する
ことを意味する。もしそうでなければ、正常終了(EN
D)または一貫性中間点(COMMITまたはABOR
T)に到達したトランザクションはREDOされる(C
OMMITまたはABORTを含む期間中でENDの直
前に)。
【0007】回復動作を遂行するためには、修正された
ページと対応ログ・レコードとの間で情報の同時性を提
供しなければならない。これは、修正された各ページに
固有な昇順のログ・シーケンス番号(LSN)を含め、
ログに書き込まれるREDO/UNDOレコードにペー
ジ番号を含めることによって達成される。したがって、
修正されたページがログ内のその変更レコード位置をイ
ンデックスし、ログ・レコードが修正されたページをイ
ンデックスする。
ページと対応ログ・レコードとの間で情報の同時性を提
供しなければならない。これは、修正された各ページに
固有な昇順のログ・シーケンス番号(LSN)を含め、
ログに書き込まれるREDO/UNDOレコードにペー
ジ番号を含めることによって達成される。したがって、
修正されたページがログ内のその変更レコード位置をイ
ンデックスし、ログ・レコードが修正されたページをイ
ンデックスする。
【0008】これらの態様の詳細な実施例は、米国特許
第5043866号、および第4507751号明細書
に出ている。
第5043866号、および第4507751号明細書
に出ている。
【0009】米国特許第5043866号明細書は、T
MSにおいて順方向または逆方向の回復中に使用しなけ
ればならないログの範囲を定義する1対のログ・シーケ
ンス番号が、周期的に決定されチェックポイント情報と
してログ内に記憶される場合、回復時に、チェックポイ
ントを検索し、ログの分析パスを回避するために回復ア
ルゴリズム中で用いられるその構成要素間の機能比較を
行うことを教示している。
MSにおいて順方向または逆方向の回復中に使用しなけ
ればならないログの範囲を定義する1対のログ・シーケ
ンス番号が、周期的に決定されチェックポイント情報と
してログ内に記憶される場合、回復時に、チェックポイ
ントを検索し、ログの分析パスを回避するために回復ア
ルゴリズム中で用いられるその構成要素間の機能比較を
行うことを教示している。
【0010】米国特許第4507751号明細書は、同
期点(BEGIN、COMMIT、ABORT)の発生
時に、バッファ内容を第2のログに書き出すことによっ
て対処される、揮発性メモリまたはバッファ内に記憶さ
れたデータのジャーナル処理(ロギング)を開示してい
る。障害が発生する場合、第2のログのロールバック
(REDO/UNDO)処理によってバッファの前の状
態が再確立され、そうでない場合は第1のログが使用さ
れる。
期点(BEGIN、COMMIT、ABORT)の発生
時に、バッファ内容を第2のログに書き出すことによっ
て対処される、揮発性メモリまたはバッファ内に記憶さ
れたデータのジャーナル処理(ロギング)を開示してい
る。障害が発生する場合、第2のログのロールバック
(REDO/UNDO)処理によってバッファの前の状
態が再確立され、そうでない場合は第1のログが使用さ
れる。
【0011】アーカイブ保存 当技術分野では、アーカイブ保存とは、冗長性と機密保
護の現情報に関して不定期にアクセスされるシステムの
一部分にページを複写するという、体系的な記憶管理の
慣行を指す。アーカイブ保存またはバックアップ・コピ
ーは経時的に完全または増分式に行われ、かつ予定に従
ってまたは都合に合わせて行われる。明らかに、増分式
複写は完全複写よりも消費資源が少ない。
護の現情報に関して不定期にアクセスされるシステムの
一部分にページを複写するという、体系的な記憶管理の
慣行を指す。アーカイブ保存またはバックアップ・コピ
ーは経時的に完全または増分式に行われ、かつ予定に従
ってまたは都合に合わせて行われる。明らかに、増分式
複写は完全複写よりも消費資源が少ない。
【0012】IBMテクニカル・ディスクロージャ・ブ
ルテン、No.25、pp.3730〜3732(19
82年12月発行)に所載のクラス(Crus)他の論文"Inc
remental Database Log Image Copy"は、スペース・マ
ップ・ページ(SMP)と名付けられた共通の状況構造
を走査し、最後の複写動作以降にページが変更されたこ
とを示す状況ビット(増分式状況変化ビット(ICB)
と呼ぶ)を有するデータ・ページだけを複写することに
よって、データベース内で修正されたページを増分式に
複写する方法を開示している。より詳細には、複写動作
の後でデータ・ページが最初に修正されるとき、データ
・ページ中およびスペース・マップ・ページ中でICB
がセットされる。データ・ページが修正されており、そ
のICBがすでにセットされている場合は(最後の複写
動作以降の修正を示す)、SMPのICBを修正するた
めに何も行われない。ICBをそのページに置く理由
は、そうすると、データ・ページの更新ごとにSMPを
訪問するというオーバヘッドが減少するからである。複
写の目的で、SMPが走査され、そのICBがセットさ
れている各ページが複写され、次いでデータ・ページお
よびSMP上の対応ICBがリセットされる。
ルテン、No.25、pp.3730〜3732(19
82年12月発行)に所載のクラス(Crus)他の論文"Inc
remental Database Log Image Copy"は、スペース・マ
ップ・ページ(SMP)と名付けられた共通の状況構造
を走査し、最後の複写動作以降にページが変更されたこ
とを示す状況ビット(増分式状況変化ビット(ICB)
と呼ぶ)を有するデータ・ページだけを複写することに
よって、データベース内で修正されたページを増分式に
複写する方法を開示している。より詳細には、複写動作
の後でデータ・ページが最初に修正されるとき、データ
・ページ中およびスペース・マップ・ページ中でICB
がセットされる。データ・ページが修正されており、そ
のICBがすでにセットされている場合は(最後の複写
動作以降の修正を示す)、SMPのICBを修正するた
めに何も行われない。ICBをそのページに置く理由
は、そうすると、データ・ページの更新ごとにSMPを
訪問するというオーバヘッドが減少するからである。複
写の目的で、SMPが走査され、そのICBがセットさ
れている各ページが複写され、次いでデータ・ページお
よびSMP上の対応ICBがリセットされる。
【0013】IBM関係データベース・システムDB2
では、修正されたページのディスクへの書込みは、「即
時コミット」を有効にするため、ICBビットをリセッ
トした直後に実行される。これは、DASD書込み動作
のバッチ処理ではなく、各ページごとに個別に実行され
るので、かなりのオーバーヘッド・コストになる。
では、修正されたページのディスクへの書込みは、「即
時コミット」を有効にするため、ICBビットをリセッ
トした直後に実行される。これは、DASD書込み動作
のバッチ処理ではなく、各ページごとに個別に実行され
るので、かなりのオーバーヘッド・コストになる。
【0014】
【発明が解決しようとする課題】本発明の目的は、ログ
・ベースの段階式コミットTMSのデータベース中の修
正されたページの増分式複写に伴うオーバヘッドを減少
させるための方法および手段を提供することである。
・ベースの段階式コミットTMSのデータベース中の修
正されたページの増分式複写に伴うオーバヘッドを減少
させるための方法および手段を提供することである。
【0015】本発明の他の目的は、アプリケーションの
実行を妨げないログ・ベースの段階式コミットTMS内
で修正可能なページのデータベースをアーカイブ保存す
るための方法および手段を提供することである。
実行を妨げないログ・ベースの段階式コミットTMS内
で修正可能なページのデータベースをアーカイブ保存す
るための方法および手段を提供することである。
【0016】本発明のさらに他の目的は、修正可能なペ
ージのデータベースへのアクセスを共有する複数ログ・
ベース段階式コミット・トランザクション管理システム
で動作可能な方法および手段を提供することである。
ージのデータベースへのアクセスを共有する複数ログ・
ベース段階式コミット・トランザクション管理システム
で動作可能な方法および手段を提供することである。
【0017】
【課題を解決するための手段】本発明は、ログ・ベース
の段階式コミットTMSの一部として使用可能な構造を
利用する。これは、スペース・マップ・ページ(SM
P)、ページ更新状況ビット(ICB)、ヘッダ・ペー
ジ、データベース制御ブロック(DBCB)、ログ、2
種類のLSN(ICBU_LSNとICRF_LS
N)、およびシステム・カタログを含む。SMPは各デ
ータ・ページに関するICBを含み、ヘッダ・ページは
データベースに関するICBU_LSNを格納し、DB
CBは仮想記憶域中のICBU_LSNを維持し、シス
テム・カタログはデータベースに関するICRF_LS
Nを格納する。
の段階式コミットTMSの一部として使用可能な構造を
利用する。これは、スペース・マップ・ページ(SM
P)、ページ更新状況ビット(ICB)、ヘッダ・ペー
ジ、データベース制御ブロック(DBCB)、ログ、2
種類のLSN(ICBU_LSNとICRF_LS
N)、およびシステム・カタログを含む。SMPは各デ
ータ・ページに関するICBを含み、ヘッダ・ページは
データベースに関するICBU_LSNを格納し、DB
CBは仮想記憶域中のICBU_LSNを維持し、シス
テム・カタログはデータベースに関するICRF_LS
Nを格納する。
【0018】各SMPは、最後の複写動作以降にi番目
のページが更新されたかどうかを示す状況ビット(IC
B)を含む、複数のデータ・ページに関する割当て状況
を追跡する。ICBは、複写動作が実行された後で最初
にページが更新される時にセットされ、前記動作によっ
てページが複写される時にリセットされる。「ヘッダ・
ページ」は、データベースの制御または管理構造であ
る。
のページが更新されたかどうかを示す状況ビット(IC
B)を含む、複数のデータ・ページに関する割当て状況
を追跡する。ICBは、複写動作が実行された後で最初
にページが更新される時にセットされ、前記動作によっ
てページが複写される時にリセットされる。「ヘッダ・
ページ」は、データベースの制御または管理構造であ
る。
【0019】DBCBは、データベースがオープンされ
る時に仮想記憶域中で生成され維持される。これはデー
タベースの現状態を反映する主要制御構造であり、本発
明の方法における初期設定段階の一部分として含まれ
る。またこれは、2つのLSNのうちの一方(ICBU
_LSN)のためのレポジトリでもある。第1のLSN
は、「イメージ複写ビット更新LSN」(ICBU_L
SN)と呼ばれる。第2のLSNは、「イメージ複写順
方向ロールLSN」(ICRF_LSN)と呼ばれる。
る時に仮想記憶域中で生成され維持される。これはデー
タベースの現状態を反映する主要制御構造であり、本発
明の方法における初期設定段階の一部分として含まれ
る。またこれは、2つのLSNのうちの一方(ICBU
_LSN)のためのレポジトリでもある。第1のLSN
は、「イメージ複写ビット更新LSN」(ICBU_L
SN)と呼ばれる。第2のLSNは、「イメージ複写順
方向ロールLSN」(ICRF_LSN)と呼ばれる。
【0020】ICBU_LSNの値により、SMP内の
どれか所与のデータ・ページに関するICBをセットす
る必要があるかどうかが決まる。ICBU_LSNの初
期値は、データベースがDASD記憶装置に最初にロー
ドされた後の、end_of_logLSNに設定される。
どれか所与のデータ・ページに関するICBをセットす
る必要があるかどうかが決まる。ICBU_LSNの初
期値は、データベースがDASD記憶装置に最初にロー
ドされた後の、end_of_logLSNに設定される。
【0021】ICRF_LSNは、最後の完全コピーま
たはその後の増分式コピーを再ロードした後でデータベ
ースを回復するためにREDO(REDO動作)しなけ
ればならないログ・レコードを識別するために、ログを
そこから走査しなければならないLSNを示す。
たはその後の増分式コピーを再ロードした後でデータベ
ースを回復するためにREDO(REDO動作)しなけ
ればならないログ・レコードを識別するために、ログを
そこから走査しなければならないLSNを示す。
【0022】本発明の方法により、ICBU_LSNを
2段階で使用することにより、従来の問題点を解決する
ことができる。
2段階で使用することにより、従来の問題点を解決する
ことができる。
【0023】第1段階では、ICBU_LSNが最大値
にセットされ、SMP中のICBを調べることによって
複写順方向ロールLSN(ICRF_LSN)とページ
のコピー・セットの両方が確認される。増分式複写で
は、コピー・セットは、そのICBが最後の複写動作以
降に修正されたことを示すように変更された、ページの
セットである。
にセットされ、SMP中のICBを調べることによって
複写順方向ロールLSN(ICRF_LSN)とページ
のコピー・セットの両方が確認される。増分式複写で
は、コピー・セットは、そのICBが最後の複写動作以
降に修正されたことを示すように変更された、ページの
セットである。
【0024】第2段階では、コピー・セット中のページ
を複写した後で、ICBU_LSNを現end_of_log L
SNにセットし、ヘッダ・ページに記録する必要があ
る。複写では、ページが短時間に逐次化されて、複写動
作の実行と同様にページの修正とログが行えるようにな
る。
を複写した後で、ICBU_LSNを現end_of_log L
SNにセットし、ヘッダ・ページに記録する必要があ
る。複写では、ページが短時間に逐次化されて、複写動
作の実行と同様にページの修正とログが行えるようにな
る。
【0025】
発明の方法を実行するためのCPU環境 本発明は、システム内の各CPUが、IBMのMVSオ
ペレーティング・システムを有するIBM/360また
はIBM/370で構成されたCPUタイプの構成中で
好都合に実行できる。IBM/360構成のCPUは、
米国特許第3400371号に十分に記載されている。
外部記憶装置へのCPUの共用アクセスを含む構成は、
米国特許第4207609号明細書に記載されている。
ペレーティング・システムを有するIBM/360また
はIBM/370で構成されたCPUタイプの構成中で
好都合に実行できる。IBM/360構成のCPUは、
米国特許第3400371号に十分に記載されている。
外部記憶装置へのCPUの共用アクセスを含む構成は、
米国特許第4207609号明細書に記載されている。
【0026】また、MVSオペレーティング・システム
は、IBM刊行物GC28−1150、"MVS/Extended
Architecture System Programming Library:System Mac
rosand Facilities"、Vol.1に記載されている。ローカ
ル・ロック管理、割込みまたはモニタによるサブシステ
ム呼出し、タスクの記入および待機など、標準のMVS
または他のオペレーティング・システムのサービスの詳
細は、省略する。これらのOS処理は、当業者にはよく
理解されるであろう。
は、IBM刊行物GC28−1150、"MVS/Extended
Architecture System Programming Library:System Mac
rosand Facilities"、Vol.1に記載されている。ローカ
ル・ロック管理、割込みまたはモニタによるサブシステ
ム呼出し、タスクの記入および待機など、標準のMVS
または他のオペレーティング・システムのサービスの詳
細は、省略する。これらのOS処理は、当業者にはよく
理解されるであろう。
【0027】 本発明の実施態様およびトランザクション管理システム 本発明の実施例の動作を理解するには、TMSが、所与
のオペレーティング・システムのもとで実行されるアプ
リケーションとして表されることを想起されたい。この
場合、アプリケーションは、たとえば、米国特許第44
98145号に記載されているようなDB2型の関係デ
ータベース・システムのアプリケーションである。
のオペレーティング・システムのもとで実行されるアプ
リケーションとして表されることを想起されたい。この
場合、アプリケーションは、たとえば、米国特許第44
98145号に記載されているようなDB2型の関係デ
ータベース・システムのアプリケーションである。
【0028】オペレーティング・システムは、その1つ
のタスクとして、内部記憶域と外部記憶域を資源として
含むメモリを編成する。アプリケーションから見ると、
メモリと記憶域は仮想式のものであり、実要求ページン
グLRU階層形式の記憶域によってバックアップされ
る。
のタスクとして、内部記憶域と外部記憶域を資源として
含むメモリを編成する。アプリケーションから見ると、
メモリと記憶域は仮想式のものであり、実要求ページン
グLRU階層形式の記憶域によってバックアップされ
る。
【0029】ここで図1を参照すると、TMSがデータ
ベース・システムの形で示されている。トランザクショ
ン・プロセス12は、その実行が複数のトランザクショ
ンの並行な重なり合った実行をサポートする、アプリケ
ーション・プログラムでもよい。プロセス12によって
実行されるトランザクションは、データベース管理シス
テム・プログラム14(DBMS)と入出力(I/O)
サービスを行うオペレーティング・システム16とを介
して、データベース13にアクセスすることができる。
データ・バッファ・プール18は、DASDに記憶され
たデータベース13に関するデータ用に、CPUの主メ
モリからDBMS14に割り当てられる。またDBMS
14には、システム・ログ21用のログ・レコードの記
憶用に、主メモリからログ・バッファ20が割り当てら
れる。
ベース・システムの形で示されている。トランザクショ
ン・プロセス12は、その実行が複数のトランザクショ
ンの並行な重なり合った実行をサポートする、アプリケ
ーション・プログラムでもよい。プロセス12によって
実行されるトランザクションは、データベース管理シス
テム・プログラム14(DBMS)と入出力(I/O)
サービスを行うオペレーティング・システム16とを介
して、データベース13にアクセスすることができる。
データ・バッファ・プール18は、DASDに記憶され
たデータベース13に関するデータ用に、CPUの主メ
モリからDBMS14に割り当てられる。またDBMS
14には、システム・ログ21用のログ・レコードの記
憶用に、主メモリからログ・バッファ20が割り当てら
れる。
【0030】DBMS14は、レコード・マネージャ2
2、バッファ・マネージャ23、ログ・マネージャ2
4、回復マネージャ25、および並行性マネージャ26
を含む。
2、バッファ・マネージャ23、ログ・マネージャ2
4、回復マネージャ25、および並行性マネージャ26
を含む。
【0031】レコード・マネージャ22は、データベー
ス13のデータ構造および記憶空間を調整する。それに
よって、トランザクションへのレコード・レベルのアク
セス、およびデータベースのロード、複写、回復などシ
ステム・ユーティリティへのページ・レベルのアクセス
が提供される。バッファ・マネージャは、データベース
13とバッファ・プール18の間でページを移動する。
ラッチ・マネージャは、バッファ・プール18中の読み
取られているまたは修正されているページに対する短期
間の逐次化(共用または専用)を提供する。ログ・マネ
ージャ24はログ・レコードを生成し、それらをログ・
バッファ20内で番号付き順序で組み立て、ログ21に
書き込む。回復マネージャ25は、トランザクション・
レベルの回復をサポートするためにログ・レコードを利
用してデータベースを戻し、同時に並行性マネージャ2
6はロック・テーブル30を介してロックを実施する。
ス13のデータ構造および記憶空間を調整する。それに
よって、トランザクションへのレコード・レベルのアク
セス、およびデータベースのロード、複写、回復などシ
ステム・ユーティリティへのページ・レベルのアクセス
が提供される。バッファ・マネージャは、データベース
13とバッファ・プール18の間でページを移動する。
ラッチ・マネージャは、バッファ・プール18中の読み
取られているまたは修正されているページに対する短期
間の逐次化(共用または専用)を提供する。ログ・マネ
ージャ24はログ・レコードを生成し、それらをログ・
バッファ20内で番号付き順序で組み立て、ログ21に
書き込む。回復マネージャ25は、トランザクション・
レベルの回復をサポートするためにログ・レコードを利
用してデータベースを戻し、同時に並行性マネージャ2
6はロック・テーブル30を介してロックを実施する。
【0032】ここで図2を参照すると、チェックポイン
トおよびシステム障害に関するトランザクション・プリ
ミティブ間での発生の関係を時間で表している。障害の
発生とそれ故の再始動の際に、回復マネージャは再始動
ファイルまたはその等価物から最新のチェックポイント
・レコードのアドレスを獲得し、システム・ログ内でチ
ェックポイント・レコードを探し出し、ログをその点か
ら終りまで順方向に探索を続ける。このプロセスの結果
として、資源を一貫状態に復元するために、回復マネー
ジャは、UNDOする必要のあるトランザクションとR
EDOする必要のあるトランザクションの両方を決定す
ることができる。
トおよびシステム障害に関するトランザクション・プリ
ミティブ間での発生の関係を時間で表している。障害の
発生とそれ故の再始動の際に、回復マネージャは再始動
ファイルまたはその等価物から最新のチェックポイント
・レコードのアドレスを獲得し、システム・ログ内でチ
ェックポイント・レコードを探し出し、ログをその点か
ら終りまで順方向に探索を続ける。このプロセスの結果
として、資源を一貫状態に復元するために、回復マネー
ジャは、UNDOする必要のあるトランザクションとR
EDOする必要のあるトランザクションの両方を決定す
ることができる。
【0033】各トランザクションは、5つのクラスのう
ちの1つに類別される。たとえば、タイプT1のトラン
ザクションは、チェックポイント時間Tcより前に完了
した。タイプT2のトランザクションは、時間Tcより
前に開始し、時間Tcより後でシステム障害時間Tfよ
り前に完了した。またタイプT3のトランザクション
は、時間Tcより前に開始したが、時間Tfより前には
完了しなかった。タイプT4のトランザクションは、時
間Tcより後で始動したが、時間Tfより前に完了され
た。最後に、タイプT5のトランザクションは、時間T
cより後に開始したが、時間Tfまでには完了しなかっ
た。チェックポイント時間に、修正されたページがすべ
てDASDに書き込まれていたと仮定すると、トランザ
クションT2およびT4はREDOを施され、トランザ
クションT3およびT5はUNDOを施される。
ちの1つに類別される。たとえば、タイプT1のトラン
ザクションは、チェックポイント時間Tcより前に完了
した。タイプT2のトランザクションは、時間Tcより
前に開始し、時間Tcより後でシステム障害時間Tfよ
り前に完了した。またタイプT3のトランザクション
は、時間Tcより前に開始したが、時間Tfより前には
完了しなかった。タイプT4のトランザクションは、時
間Tcより後で始動したが、時間Tfより前に完了され
た。最後に、タイプT5のトランザクションは、時間T
cより後に開始したが、時間Tfまでには完了しなかっ
た。チェックポイント時間に、修正されたページがすべ
てDASDに書き込まれていたと仮定すると、トランザ
クションT2およびT4はREDOを施され、トランザ
クションT3およびT5はUNDOを施される。
【0034】回復マネージャは、2つのリストを始動す
る。UNDOリストは最初、チェックポイント・レコー
ドにリストされたすべてのトランザクションを含み、一
方REDOリストは最初空である。回復マネージャは、
チェックポイント・レコードから始めてログを順方向に
探索する。回復マネージャが所与のトランザクションに
関するBEGINトランザクション・レコードを見つけ
た場合、そのトランザクションをUNDOリストに加え
る。同様に、回復マネージャが所与のトランザクション
に関するCOMMITレコードを見つけた場合は、その
トランザクションをUNDOリストからREDOリスト
に移す。
る。UNDOリストは最初、チェックポイント・レコー
ドにリストされたすべてのトランザクションを含み、一
方REDOリストは最初空である。回復マネージャは、
チェックポイント・レコードから始めてログを順方向に
探索する。回復マネージャが所与のトランザクションに
関するBEGINトランザクション・レコードを見つけ
た場合、そのトランザクションをUNDOリストに加え
る。同様に、回復マネージャが所与のトランザクション
に関するCOMMITレコードを見つけた場合は、その
トランザクションをUNDOリストからREDOリスト
に移す。
【0035】回復マネージャは、ログ中を順方向に動作
してすべてのトランザクションを再実行し、逆方向に動
作してUNDOリスト内のトランザクションを取り消
す。
してすべてのトランザクションを再実行し、逆方向に動
作してUNDOリスト内のトランザクションを取り消
す。
【0036】 好ましい実施例の方法およびプロトコル・レベルの詳細 最初に、データ・ベース中および仮想記憶域中のデータ
構造と、ロギング・プロトコルおよびラッチング・プロ
トコルについて述べる。第2に、複写動作に関係する処
理と、(必要ならば)ICBをセットするためのトラン
ザクションの更新と、バックアップ・コピーを使用する
データ・ベースの回復について述べる。第3に、その実
行が障害によって割り込まれる場合にコピーのロールバ
ックに使用される処理について説明する。第4に、DB
2のようなシステムに関連するバッファ・プールを介し
てではなく、DASD記憶域からデータを直接複写する
ことが可能な場合の本発明の方法の使用の仕方について
述べる。最後に、共用DASD記憶域を有する多重シス
テム・トランザクション処理システムへの本発明の方法
の拡張について述べる。
構造と、ロギング・プロトコルおよびラッチング・プロ
トコルについて述べる。第2に、複写動作に関係する処
理と、(必要ならば)ICBをセットするためのトラン
ザクションの更新と、バックアップ・コピーを使用する
データ・ベースの回復について述べる。第3に、その実
行が障害によって割り込まれる場合にコピーのロールバ
ックに使用される処理について説明する。第4に、DB
2のようなシステムに関連するバッファ・プールを介し
てではなく、DASD記憶域からデータを直接複写する
ことが可能な場合の本発明の方法の使用の仕方について
述べる。最後に、共用DASD記憶域を有する多重シス
テム・トランザクション処理システムへの本発明の方法
の拡張について述べる。
【0037】データ・ベースのデータ構造 本発明の目的では、データ・ベースはデータ・ページお
よび補助構成を含む。この点に関して、ページのファイ
ルはデータ・ベースと機能的に同等と見なす。補助構成
は、割振り状況などを追跡するために、データ・ベース
内にページを含む。ユーザ・データを含むページは「デ
ータ・ページ」と呼び、データ・ページの割振りおよび
空間可用性状況を追跡するシステム所有のページは「ス
ペース・マップ・ページ」(SMP)と呼び、情報に関
係するシステムを含むシステム所有のページは「ヘッダ
・ページ」と呼ぶ。
よび補助構成を含む。この点に関して、ページのファイ
ルはデータ・ベースと機能的に同等と見なす。補助構成
は、割振り状況などを追跡するために、データ・ベース
内にページを含む。ユーザ・データを含むページは「デ
ータ・ページ」と呼び、データ・ページの割振りおよび
空間可用性状況を追跡するシステム所有のページは「ス
ペース・マップ・ページ」(SMP)と呼び、情報に関
係するシステムを含むシステム所有のページは「ヘッダ
・ページ」と呼ぶ。
【0038】DB2の場合と同様に、大きなテーブル
を、それぞれ別々のオペレーティング・システム・ファ
イルである多数の区画に分割することができる。各区画
はヘッダ・ページと、1つまたは複数のスペース・マッ
プ・ページと、非常に多くのデータ・ページを有するこ
とになる。アーカイブ・コピーには、データ・ページの
コピーだけではなく、SMPおよびヘッダ・ページのコ
ピーも含まれる。
を、それぞれ別々のオペレーティング・システム・ファ
イルである多数の区画に分割することができる。各区画
はヘッダ・ページと、1つまたは複数のスペース・マッ
プ・ページと、非常に多くのデータ・ページを有するこ
とになる。アーカイブ・コピーには、データ・ページの
コピーだけではなく、SMPおよびヘッダ・ページのコ
ピーも含まれる。
【0039】SMPはいくつかのデータ・ページの割振
り状況を追跡する。またSMPは、これがカバーする各
データ・ページごとに1つのICBを含む。ICBの目
的は、最後に複写動作が実行されて以降に、対応するデ
ータ・ページが修正されたかどうかを追跡することであ
る。
り状況を追跡する。またSMPは、これがカバーする各
データ・ページごとに1つのICBを含む。ICBの目
的は、最後に複写動作が実行されて以降に、対応するデ
ータ・ページが修正されたかどうかを追跡することであ
る。
【0040】ヘッダ・ページ内では、"image_copy_bit_
update_LSN"(ICBU_LSN)と呼ばれるフィー
ルドが維持される。1つのファイルにはICBU_LS
Nが1つだけある。ICBU_LSNの目的は、それを
使用することによって、データ・ページを更新するトラ
ンザクションが、そのデータ・ページに関するSMP内
のICBをセットする必要があるかどうかを効率的に判
定できるようにすることである。これが望ましいのは、
ICBは、それが最後の複写動作以降のデータ・ページ
への最初の更新である場合にだけセットする必要がある
からである。変更を実行する必要がないと判定するため
だけでも、DASDの入出力、バッファ・プール内のS
MPの位置決定と固定、そのラッチ、適切なICBの探
索、「その固定解除」などのオーバヘッドが含まれるの
で、データ・ページを後で更新するためにSMPにアク
セスすることは避けなければならない。データ・ベース
が最初にロードされた後、データ・ベースへの更新が許
される前に、データ・ベースの完全コピーを取らなけれ
ばならない。これはログすることなしにローディングが
行われたと仮定している。これは、媒体回復が始まる前
に繰り返されなければならないロードなしに、媒体回復
が可能でなければならないときに必要である。完全複写
動作では、ICBU_LSNの初期値を、データベース
を複写した後の現end_of_log LSNとして確立する。
update_LSN"(ICBU_LSN)と呼ばれるフィー
ルドが維持される。1つのファイルにはICBU_LS
Nが1つだけある。ICBU_LSNの目的は、それを
使用することによって、データ・ページを更新するトラ
ンザクションが、そのデータ・ページに関するSMP内
のICBをセットする必要があるかどうかを効率的に判
定できるようにすることである。これが望ましいのは、
ICBは、それが最後の複写動作以降のデータ・ページ
への最初の更新である場合にだけセットする必要がある
からである。変更を実行する必要がないと判定するため
だけでも、DASDの入出力、バッファ・プール内のS
MPの位置決定と固定、そのラッチ、適切なICBの探
索、「その固定解除」などのオーバヘッドが含まれるの
で、データ・ページを後で更新するためにSMPにアク
セスすることは避けなければならない。データ・ベース
が最初にロードされた後、データ・ベースへの更新が許
される前に、データ・ベースの完全コピーを取らなけれ
ばならない。これはログすることなしにローディングが
行われたと仮定している。これは、媒体回復が始まる前
に繰り返されなければならないロードなしに、媒体回復
が可能でなければならないときに必要である。完全複写
動作では、ICBU_LSNの初期値を、データベース
を複写した後の現end_of_log LSNとして確立する。
【0041】各アーカイブ・コピーに複写順方向ロール
LSN(ICRF_LSN)が関連している。媒体回復
中、これは、関連アーカイブ・コピー(最近の完全コピ
ーおよびその後の増分式コピー)を再ロードした後でデ
ータ・ベースを回復するためにその更新を再実行しなけ
ればならないログ・レコードを識別するためにログをそ
こから走査しなければならないLSNである。ICRF
_LSNは、アーカイブ・コピーを含むファイル名や完
全コピーと増分式コピーのどちらが取られたかなどの情
報と共にシステム・カタログ中に記憶される。
LSN(ICRF_LSN)が関連している。媒体回復
中、これは、関連アーカイブ・コピー(最近の完全コピ
ーおよびその後の増分式コピー)を再ロードした後でデ
ータ・ベースを回復するためにその更新を再実行しなけ
ればならないログ・レコードを識別するためにログをそ
こから走査しなければならないLSNである。ICRF
_LSNは、アーカイブ・コピーを含むファイル名や完
全コピーと増分式コピーのどちらが取られたかなどの情
報と共にシステム・カタログ中に記憶される。
【0042】仮想記憶域内のデータ構造 データ・ベースが「オープン」状態にある限り、DB2
のようなシステムは仮想記憶域内にそのための「データ
・ベース制御ブロック」(DBCB)を維持する。
のようなシステムは仮想記憶域内にそのための「データ
・ベース制御ブロック」(DBCB)を維持する。
【0043】更新トランザクションによって、ICBU
_LSNをルックアップする動作を効率的にするため
に、データ・ベースがオープンのときに、ICBU_L
SNの値が、ヘッダ・ページからDBCB内のフィール
ドに複写される。その後、このフィールドが、増分式コ
ピーの方法および手段によってのみ更新される。
_LSNをルックアップする動作を効率的にするため
に、データ・ベースがオープンのときに、ICBU_L
SNの値が、ヘッダ・ページからDBCB内のフィール
ドに複写される。その後、このフィールドが、増分式コ
ピーの方法および手段によってのみ更新される。
【0044】TMSは、回復のためにその更新を記述す
るログを使用する。ページが更新されると、システム
は、更新を記述するログ・レコードに、システム規模の
単調に増加するログ・シーケンス番号(LSN)を割り
当て、そのLSNを"page_LSN"と呼ばれるフィ
ールド内の修正されたページに記録する。
るログを使用する。ページが更新されると、システム
は、更新を記述するログ・レコードに、システム規模の
単調に増加するログ・シーケンス番号(LSN)を割り
当て、そのLSNを"page_LSN"と呼ばれるフィ
ールド内の修正されたページに記録する。
【0045】複写動作は、単一のトランザクションとし
て実行され、ICBをリセットするとき、UNDO−R
EDOログ・レコードを書き込むものと仮定する。
て実行され、ICBをリセットするとき、UNDO−R
EDOログ・レコードを書き込むものと仮定する。
【0046】ページ・ラッチ TMSは、単一のページ上で並行した読取り動作と更新
動作または多数の並行した更新動作を逐次化するために
ページ・ラッチをサポートする。共用(S)ラッチは読
取り動作によって使用され、専用(X)ラッチは更新動
作によって使用され、SモードとXモードの間では通常
の互換性規則が適用される。ページ・ラッチは、ページ
のファジー・コピーを行うために、複写動作によって使
用される。すなわち、複写ページがコミットされていな
いデータを有していてもよい。
動作または多数の並行した更新動作を逐次化するために
ページ・ラッチをサポートする。共用(S)ラッチは読
取り動作によって使用され、専用(X)ラッチは更新動
作によって使用され、SモードとXモードの間では通常
の互換性規則が適用される。ページ・ラッチは、ページ
のファジー・コピーを行うために、複写動作によって使
用される。すなわち、複写ページがコミットされていな
いデータを有していてもよい。
【0047】正確判定基準 増分式コピー(IC)に関する正確さの要件は、最新の
完全コピー(FC)あるいはそのFCの後でかつ現IC
の前に行われたICにおいて、その効果がすでに捕捉さ
れている更新を除き、ログ中の現ICのICRF_LS
N点より前に書き込まれたログ・レコードによって表さ
れるすべてのデータ・ページ更新の効果を、現ICが捕
捉しなければならないことである。
完全コピー(FC)あるいはそのFCの後でかつ現IC
の前に行われたICにおいて、その効果がすでに捕捉さ
れている更新を除き、ログ中の現ICのICRF_LS
N点より前に書き込まれたログ・レコードによって表さ
れるすべてのデータ・ページ更新の効果を、現ICが捕
捉しなければならないことである。
【0048】FCに関する正確さ要件は、ログ中の現F
CのICRF_LSN点より前に書き込まれたログ・レ
コードによって表されるすべてのデータ・ページ更新の
効果を、現FCが捕捉しなければならないことである。
CのICRF_LSN点より前に書き込まれたログ・レ
コードによって表されるすべてのデータ・ページ更新の
効果を、現FCが捕捉しなければならないことである。
【0049】バッファ・プール、システム・カタログ、
および入出力の概念 バッファ・プールとは、計算または制御動作で中間結
果、データ、または値を一時的に記憶するために留保さ
れているアドレス可能な主メモリの一部分である。本発
明では、他の場所で読み取り、修正し、複写する目的
で、ページに関する入出力がバッファ・プール内に複写
される。
および入出力の概念 バッファ・プールとは、計算または制御動作で中間結
果、データ、または値を一時的に記憶するために留保さ
れているアドレス可能な主メモリの一部分である。本発
明では、他の場所で読み取り、修正し、複写する目的
で、ページに関する入出力がバッファ・プール内に複写
される。
【0050】システム・カタログとは、ファイルの記憶
位置に関するディレクトリである。これはまた、状況情
報を含むこともできる。本発明では、これは、ファイル
名、完全コピーか増分式コピーかの区別、日時、記憶さ
れる装置、および関連ICRF_LSNを含む。
位置に関するディレクトリである。これはまた、状況情
報を含むこともできる。本発明では、これは、ファイル
名、完全コピーか増分式コピーかの区別、日時、記憶さ
れる装置、および関連ICRF_LSNを含む。
【0051】入出力は、ページにアクセスするための付
随的な活動を表すために使用される用語である。
随的な活動を表すために使用される用語である。
【0052】単一トランザクション管理システムにおけ
るアーカイブ複写 以下の諸段では、単一のTMS環境で使用する複写動作
を機能的に記述する。この場合、複写動作ではデータベ
ース・ページがTMSバッファ・プールに入れられる。
その後、データがDASDから直接読み取られるとき、
すなわちページがTMSバッファ・プールに入れられな
いときに使用される複写動作について説明する。次の節
では、多重システムの共用ディスク環境においてTMS
のために使用される複写動作について説明する。
るアーカイブ複写 以下の諸段では、単一のTMS環境で使用する複写動作
を機能的に記述する。この場合、複写動作ではデータベ
ース・ページがTMSバッファ・プールに入れられる。
その後、データがDASDから直接読み取られるとき、
すなわちページがTMSバッファ・プールに入れられな
いときに使用される複写動作について説明する。次の節
では、多重システムの共用ディスク環境においてTMS
のために使用される複写動作について説明する。
【0053】呼出し可能なソフトウェア機能として表さ
れる複写方法、すなわち複写動作 この節では、(a)複写動作、(b)トランザクション
によるデータ・ページの更新、および(c)媒体障害後
のデータ・ベースの回復を扱う。障害によって複写動作
の実行が中断される場合のロールバック処理について述
べる。
れる複写方法、すなわち複写動作 この節では、(a)複写動作、(b)トランザクション
によるデータ・ページの更新、および(c)媒体障害後
のデータ・ベースの回復を扱う。障害によって複写動作
の実行が中断される場合のロールバック処理について述
べる。
【0054】アーカイブ複写は次の諸段階を含む。
【0055】・同時に同じデータ・ベースに対して複写
動作が1つだけ実行されるようにするために、システム
・カタログ中に所与のデータ・ベースに関する複写動作
の初期設定を登録する。
動作が1つだけ実行されるようにするために、システム
・カタログ中に所与のデータ・ベースに関する複写動作
の初期設定を登録する。
【0056】・データ・ベースがまだオープンしていな
い場合に、データ・ベースをオープンし、データ・ベー
スのヘッダ・ページを読み取って、DBCB中のICB
U_LSNの値をセットする。これによってDBCBが
生成される。データ・ベースがすでにオープンされてい
た場合は、DBCB内のICBU_LSNはすでにセッ
トされている。
い場合に、データ・ベースをオープンし、データ・ベー
スのヘッダ・ページを読み取って、DBCB中のICB
U_LSNの値をセットする。これによってDBCBが
生成される。データ・ベースがすでにオープンされてい
た場合は、DBCB内のICBU_LSNはすでにセッ
トされている。
【0057】・このデータ・ベースのすべてのSMP
が、バッファ・プール内に確実に存在するようにする。
まだバッファ・プール内にないSMPについては、当
然、それらのSMPをバッファ・プールに送るために入
出力を開始し、これらの入出力が完了するのを待つ必要
がある。
が、バッファ・プール内に確実に存在するようにする。
まだバッファ・プール内にないSMPについては、当
然、それらのSMPをバッファ・プールに送るために入
出力を開始し、これらの入出力が完了するのを待つ必要
がある。
【0058】このSMPの事前取り出しは、DBCB中
のICBU_LSNフィールドが可能な最大値(X'F
F....FF'、次の段階を参照)を有する期間を最小に
するための最適化である。
のICBU_LSNフィールドが可能な最大値(X'F
F....FF'、次の段階を参照)を有する期間を最小に
するための最適化である。
【0059】・DBCB中のICBU_LSNの値を原
子的にX'FF....FF'(すなわち可能最大値)に変更
する。
子的にX'FF....FF'(すなわち可能最大値)に変更
する。
【0060】・媒体回復中に使用するために、適切なシ
ステム・カタログ中に現end_of_logのLSNをICRF
_LSNとして記録し、その動作をログする。
ステム・カタログ中に現end_of_logのLSNをICRF
_LSNとして記録し、その動作をログする。
【0061】データ・ベース内の各SMPについて、以
下のように初期設定を行う。 ・SMPをX(専用)ラッチする。 ・SMP内のすべてのICBを検査して、"1"の値を有
するICBを、"0"にリセットする。ICでは、対応す
るデータ・ページは、最後の複写動作(完全または増
分)以降に修正されているはずのものである。完全複写
の場合は、すべてのデータ・ページが複写される。 ・リセットされたすべてのICBを記述するREDO/
UNDOログ・レコードを、このSMP上に書き込む。
ICでは、どのデータ・ページを複写するかを知るため
に後で使用できるように、ログ・レコードのコピーを仮
想記憶域に保持する。 ・SMPのラッチを解除する。
下のように初期設定を行う。 ・SMPをX(専用)ラッチする。 ・SMP内のすべてのICBを検査して、"1"の値を有
するICBを、"0"にリセットする。ICでは、対応す
るデータ・ページは、最後の複写動作(完全または増
分)以降に修正されているはずのものである。完全複写
の場合は、すべてのデータ・ページが複写される。 ・リセットされたすべてのICBを記述するREDO/
UNDOログ・レコードを、このSMP上に書き込む。
ICでは、どのデータ・ページを複写するかを知るため
に後で使用できるように、ログ・レコードのコピーを仮
想記憶域に保持する。 ・SMPのラッチを解除する。
【0062】ICRF_LSNの値が選択された後で、
新しいSMPがデータ・ベースに追加された場合、それ
らはこの複写動作の一部分として検査する必要はないこ
とに留意されたい。
新しいSMPがデータ・ベースに追加された場合、それ
らはこの複写動作の一部分として検査する必要はないこ
とに留意されたい。
【0063】そのような各ICBiについて、以下のこ
とを行う。
とを行う。
【0064】i番目のデータ・ページをS(共用)ラッ
チする。
チする。
【0065】i番目のデータ・ページをアーカイブ・コ
ピー・ファイルに複写する。
ピー・ファイルに複写する。
【0066】i番目のデータ・ページをラッチ解除す
る。
る。
【0067】FCについては、このSMPでカバーされ
るすべてのデータ・ページが複写される。
るすべてのデータ・ページが複写される。
【0068】これらの動作を極めて効率的にし、かつ入
出力のコストおよび遅延を減少させるために、バッチ式
入出力(すなわち、1回の入出力呼出しで1ページより
も多く読む)および所望のデータ・ページの事前取出し
を使用することができる。また並列処理を用いて、また
複写動作の経過時間をさらに減少させることもできる。
出力のコストおよび遅延を減少させるために、バッチ式
入出力(すなわち、1回の入出力呼出しで1ページより
も多く読む)および所望のデータ・ページの事前取出し
を使用することができる。また並列処理を用いて、また
複写動作の経過時間をさらに減少させることもできる。
【0069】関係する動作には以下のものが含まれる。 ・現end_of_log LSNを得る。 ・DBCBおよびヘッダ・ページ内のICBU_LSN
フィールドを、現end_of_log LSNの値に更新する。 ・REDO_onlyログ・レコードを使用して、その
更新をヘッダ・ページにログする。
フィールドを、現end_of_log LSNの値に更新する。 ・REDO_onlyログ・レコードを使用して、その
更新をヘッダ・ページにログする。
【0070】アーカイブ複写トランザクションをロール
バックすべき場合も、古いICBU_LSNに戻るので
はなく、新しいICBU_LSNを保持するのが正しい
はずである。これが、REDO/UNDOログ・レコー
ドではなく、REDO_onlyログ・レコードを使用
する理由である。これに関連して、この方法は、共用D
ASD環境でヘッダ・ページ更新のUNDOの何らかの
特別な扱いを回避する。
バックすべき場合も、古いICBU_LSNに戻るので
はなく、新しいICBU_LSNを保持するのが正しい
はずである。これが、REDO/UNDOログ・レコー
ドではなく、REDO_onlyログ・レコードを使用
する理由である。これに関連して、この方法は、共用D
ASD環境でヘッダ・ページ更新のUNDOの何らかの
特別な扱いを回避する。
【0071】データ・ベース内のそれぞれのSMPにつ
いて、以下のことを行う。
いて、以下のことを行う。
【0072】ICについて、そのSMPに関して前に書
き込まれたログ・レコードの、キャッシュされたバージ
ョンを検査することによって、その動作によって("0"
に)リセットされたICBを決定する(ICBiはi番
目のデータ・ページと関係する)。
き込まれたログ・レコードの、キャッシュされたバージ
ョンを検査することによって、その動作によって("0"
に)リセットされたICBを決定する(ICBiはi番
目のデータ・ページと関係する)。
【0073】複写動作の終了時に(すなわち、すべての
関連データ・ページが複写された後で)、次のことを行
う。
関連データ・ページが複写された後で)、次のことを行
う。
【0074】この複写動作が完了しており、したがって
このイメージ複写トランザクションがコミットされた後
は、このデータ・ベースに関するイメージ複写動作のそ
の後の呼出しが遅延なしで実行を開始できることに留意
されたい。
このイメージ複写トランザクションがコミットされた後
は、このデータ・ベースに関するイメージ複写動作のそ
の後の呼出しが遅延なしで実行を開始できることに留意
されたい。
【0075】複写トランザクションをコミットする。
【0076】複写動作の実行中に並行更新が許されない
場合は、その方法は上記の方法の一部分である。ICR
F_LSNの値は、必要なページをすべて複写した後で
選択される。この複写動作には、ページのラッチは必要
でない。
場合は、その方法は上記の方法の一部分である。ICR
F_LSNの値は、必要なページをすべて複写した後で
選択される。この複写動作には、ページのラッチは必要
でない。
【0077】ページを更新するトランザクションのため
の方法または論理 更新トランザクションは、データ・ページを更新する間
に、そのデータ・ページに関するICBをSMP中
で("1"に)セットする必要があるかどうかを判定しな
ければならない。これは、(この更新を行う前に)更新
されるページの現page_LSNをICBU_LSN
と比較することによって行われる。この検査により、デ
ータ・ページが複写動作の最後の実行以降にすでに修正
されているか、それともその時以降で最初の更新である
かを判定する。
の方法または論理 更新トランザクションは、データ・ページを更新する間
に、そのデータ・ページに関するICBをSMP中
で("1"に)セットする必要があるかどうかを判定しな
ければならない。これは、(この更新を行う前に)更新
されるページの現page_LSNをICBU_LSN
と比較することによって行われる。この検査により、デ
ータ・ページが複写動作の最後の実行以降にすでに修正
されているか、それともその時以降で最初の更新である
かを判定する。
【0078】更新トランザクションが従う方法または論
理は、次のとおりである。
理は、次のとおりである。
【0079】データ・ページをXラッチする。
【0080】現page_LSNがDBCB内のICB
U_LSN(更新前)よりも小さいときは、次のことを
行う。
U_LSN(更新前)よりも小さいときは、次のことを
行う。
【0081】このデータ・ページをカバーしSラッチす
るSMPにアクセスする。
るSMPにアクセスする。
【0082】複写動作が実行を開始したすぐ後にICB
U_LSNがX'FF....FF'にセットされるので、こ
のデータ・ベースに対するすべての更新がこの動作の実
行中に関連SMPを訪問することになる。
U_LSNがX'FF....FF'にセットされるので、こ
のデータ・ベースに対するすべての更新がこの動作の実
行中に関連SMPを訪問することになる。
【0083】ICBがまだセットされていない場合は、
それをセットし、REDO_onlyログ・レコードを
使用する動作をログする。SMP上ではSラッチしか獲
得されていないので、複数のトランザクションがSMP
を並行して更新中であることがあり得る。Sラッチ処理
は、そのようなホット・スポット・ページ上での並行性
を改善するために行われる。その結果、page_LS
NフィールドのみならずICBに対する更新も慎重に行
わなければならない(たとえば、page_LSNフィ
ールドが別のトランザクションによって高い値に更新さ
れている場合はそれを更新してはならず、比較交換の方
法または論理を使用すべきである)。
それをセットし、REDO_onlyログ・レコードを
使用する動作をログする。SMP上ではSラッチしか獲
得されていないので、複数のトランザクションがSMP
を並行して更新中であることがあり得る。Sラッチ処理
は、そのようなホット・スポット・ページ上での並行性
を改善するために行われる。その結果、page_LS
NフィールドのみならずICBに対する更新も慎重に行
わなければならない(たとえば、page_LSNフィ
ールドが別のトランザクションによって高い値に更新さ
れている場合はそれを更新してはならず、比較交換の方
法または論理を使用すべきである)。
【0084】次の場合には、ICBはすでにセットされ
ていることがあり得る。
ていることがあり得る。
【0085】DBCB内のICBU_LSNがX'F
F....FF'にセットされた状態で複写動作が実行中
に、データ・ページが1回または複数回更新された。そ
の間にSMPを何度も訪問することを回避する1つの方
法は、ICBU_LSNがX'FF....FF'の間に、デ
ータ・ページのICBがすでにセットされたことを示す
ことのできるフラグを、そのページに関するバッファ・
マネージャのページ制御ブロック(PCB)内に立てる
ことである。複写動作は、データ・ページ上にラッチを
保持している間、そのフラグをリセットする。そのフラ
グは、そのデータ・ページがある更新から別の更新にキ
ャッシュされたままである場合、すなわちそのページに
関するバッファ・スロットがスチールされていない場合
だけ役立つ。ページが置き換えられ再びキャッシュされ
た場合、PCBフラグがICBがセットされていないこ
とを意味するように初期設定される。
F....FF'にセットされた状態で複写動作が実行中
に、データ・ページが1回または複数回更新された。そ
の間にSMPを何度も訪問することを回避する1つの方
法は、ICBU_LSNがX'FF....FF'の間に、デ
ータ・ページのICBがすでにセットされたことを示す
ことのできるフラグを、そのページに関するバッファ・
マネージャのページ制御ブロック(PCB)内に立てる
ことである。複写動作は、データ・ページ上にラッチを
保持している間、そのフラグをリセットする。そのフラ
グは、そのデータ・ページがある更新から別の更新にキ
ャッシュされたままである場合、すなわちそのページに
関するバッファ・スロットがスチールされていない場合
だけ役立つ。ページが置き換えられ再びキャッシュされ
た場合、PCBフラグがICBがセットされていないこ
とを意味するように初期設定される。
【0086】SMP更新のためにREDO専用レコード
としてログ・レコードを書く理由は、そのデータ・ペー
ジを更新したトランザクションがロールバックすべき場
合でも、SMP内でICBの値が("1"に)セットされ
たままでなければならないからである。これは、別のト
ランザクションによる同じデータ・ページへのその後の
更新では、page_LSNが最初の更新によってIC
BU_LSNよりも大きい値にセットされているはずだ
から、ICBはセットされているはずだと仮定するから
である(以下参照)。
としてログ・レコードを書く理由は、そのデータ・ペー
ジを更新したトランザクションがロールバックすべき場
合でも、SMP内でICBの値が("1"に)セットされ
たままでなければならないからである。これは、別のト
ランザクションによる同じデータ・ページへのその後の
更新では、page_LSNが最初の更新によってIC
BU_LSNよりも大きい値にセットされているはずだ
から、ICBはセットされているはずだと仮定するから
である(以下参照)。
【0087】SMPのラッチを解除する。
【0088】DPを更新し、更新をログし、DPのpa
ge_LSNを、書き込まれたばかりのログ・レコード
のLSNにセットする。
ge_LSNを、書き込まれたばかりのログ・レコード
のLSNにセットする。
【0089】DPをラッチ解除する。
【0090】ICBU_LSNが最大値にセットされた
ままである時間を減少させるための最適化 バッファ・プール内にその時キャッシュされているペー
ジのリストを維持するDB2などのTMS内では、IC
BU_LSNが最大値になっている時間を減少させるこ
とができる。これは以下のようにして実施される。
ままである時間を減少させるための最適化 バッファ・プール内にその時キャッシュされているペー
ジのリストを維持するDB2などのTMS内では、IC
BU_LSNが最大値になっている時間を減少させるこ
とができる。これは以下のようにして実施される。
【0091】ICBU_LSNを最大値にセットした
後、変更されたページのリスト上の各ページをSラッチ
する。
後、変更されたページのリスト上の各ページをSラッチ
する。
【0092】ICBU_LSNを現ログ終端(非最大
値)にセットする
値)にセットする
【0093】ページを複写する。
【0094】この最適化では、ICBU_LSNを非最
大値にセットした後でページがアクセスされ複写される
ので、ICBU_LSNが最大値にセットされている時
間が減少する。
大値にセットした後でページがアクセスされ複写される
ので、ICBU_LSNが最大値にセットされている時
間が減少する。
【0095】ICBをセットする必要がある場合は、I
CBがセットされICBセット動作がログされた後で、
対応するDPの更新のロギングを行うことが重要である
ことに注意されたい。順序を逆にすると媒体回復が正し
くなくなることがある。
CBがセットされICBセット動作がログされた後で、
対応するDPの更新のロギングを行うことが重要である
ことに注意されたい。順序を逆にすると媒体回復が正し
くなくなることがある。
【0096】新しく割り振られたページについては、I
CBは常にセット("1")される。
CBは常にセット("1")される。
【0097】複写動作実行中の障害 複写動作の実行が、何らかの障害によって中断される場
合は、たとえば複写動作によって書き込まれたログ・レ
コードを使用する通常のロールバックの方法または論理
により、その設定が複写動作によって修正されたICB
の古い設定が復元される。他のICBの値が、ロールバ
ック法によって、それらの元の値を含むように修正され
ない(すなわち、どのICBにもロールバック中に"0"
が割り当てられない)ことが重要である。また、現複写
実行に関するシステム・カタログ内の情報(たとえば、
ICRF_LSNの値)は削除されることになる。
合は、たとえば複写動作によって書き込まれたログ・レ
コードを使用する通常のロールバックの方法または論理
により、その設定が複写動作によって修正されたICB
の古い設定が復元される。他のICBの値が、ロールバ
ック法によって、それらの元の値を含むように修正され
ない(すなわち、どのICBにもロールバック中に"0"
が割り当てられない)ことが重要である。また、現複写
実行に関するシステム・カタログ内の情報(たとえば、
ICRF_LSNの値)は削除されることになる。
【0098】媒体障害後の回復 媒体回復のための方法または論理では、最後に完了した
複写動作のICRF_LSNの値からログ走査を始める
必要がある。この走査は、最新のFCおよび後続のすべ
てのIICから時間順にデータが複写された後で開始さ
れる。
複写動作のICRF_LSNの値からログ走査を始める
必要がある。この走査は、最新のFCおよび後続のすべ
てのIICから時間順にデータが複写された後で開始さ
れる。
【0099】実例 ここで図3を参照すると、本発明で使用される論理ファ
イルおよびページ編成が示されている。さらに詳細に
は、ファイルまたはデータ・ベースは、ヘッダ・ペー
ジ、スペース・マップ・ページ(SMP)、および複数
のデータ・ページ(Dページ1〜4)を含む。任意に
「ファイルA」と名付けたデータが、CPU制御のロー
ド動作の制御下で、DASD外部記憶装置内のデータベ
ース13にロードされる。ログ・スペースとログ・オー
バヘッドを節約するために、ロードはログを中断した状
態で実行される。また、ロード動作の実行中、並行更新
は許されない。
イルおよびページ編成が示されている。さらに詳細に
は、ファイルまたはデータ・ベースは、ヘッダ・ペー
ジ、スペース・マップ・ページ(SMP)、および複数
のデータ・ページ(Dページ1〜4)を含む。任意に
「ファイルA」と名付けたデータが、CPU制御のロー
ド動作の制御下で、DASD外部記憶装置内のデータベ
ース13にロードされる。ログ・スペースとログ・オー
バヘッドを節約するために、ロードはログを中断した状
態で実行される。また、ロード動作の実行中、並行更新
は許されない。
【0100】この動作の一部分として、各ページにペー
ジ番号が連続して割り当てられる。ヘッダ・ページの番
号はページ0、SMPはページ1、Dページ1〜4はペ
ージ2〜5と番号が付けられる。ここでは、ページ番号
は単にローカル・ページ・シーケンスを定義するものに
すぎず、page_LSNと混同してはならない。後者
は各ページに埋め込まれたポインタであり、ログされた
後でDASD記憶装置に書き込まれたとき、最新のペー
ジ修正を含むログ中のREDO/UNDOレコードの位
置を示す。最初に、page_LSNが0にセットされ
る。同様に、すべてのDページに関するSMP内のIC
Bが0にセットされ、ヘッダ・ページ内のICBU_L
SNも同様である。最後に、ファイルAに対するバック
アップは存在しないので、システム・カタログ内にエン
トリはない。
ジ番号が連続して割り当てられる。ヘッダ・ページの番
号はページ0、SMPはページ1、Dページ1〜4はペ
ージ2〜5と番号が付けられる。ここでは、ページ番号
は単にローカル・ページ・シーケンスを定義するものに
すぎず、page_LSNと混同してはならない。後者
は各ページに埋め込まれたポインタであり、ログされた
後でDASD記憶装置に書き込まれたとき、最新のペー
ジ修正を含むログ中のREDO/UNDOレコードの位
置を示す。最初に、page_LSNが0にセットされ
る。同様に、すべてのDページに関するSMP内のIC
Bが0にセットされ、ヘッダ・ページ内のICBU_L
SNも同様である。最後に、ファイルAに対するバック
アップは存在しないので、システム・カタログ内にエン
トリはない。
【0101】図3から理解されるように、システム・カ
タログは、ファイルAおよび他のファイルの完全コピー
または増分式コピーに関する位置ポインタと他のアーカ
イブ・コピーまたはバックアップ・コピー情報を幅広く
含む。一般に、そのようなアーカイブ・コピーは、自動
テープ・ライブラリなどの補助記憶装置に記憶される。
バックアップ・コピーの回復使用には、テープ・ライブ
ラリへのアクセスとそのテープ・ライブラリからDAS
D記憶装置へのステージングが必要である。
タログは、ファイルAおよび他のファイルの完全コピー
または増分式コピーに関する位置ポインタと他のアーカ
イブ・コピーまたはバックアップ・コピー情報を幅広く
含む。一般に、そのようなアーカイブ・コピーは、自動
テープ・ライブラリなどの補助記憶装置に記憶される。
バックアップ・コピーの回復使用には、テープ・ライブ
ラリへのアクセスとそのテープ・ライブラリからDAS
D記憶装置へのステージングが必要である。
【0102】ここで図4を参照すると、初期ロードの後
データ・ページに許される修正の前に、ファイルAの完
全コピー(FC)を取った後のファイルAおよびシステ
ム・カタログの状態が示されている。図4で、それがF
C完了後の現end_of_logであったので、ICBU_LS
NおよびICRF_LSNが100にセットされている
ことに留意されたい。ヘッダ・ページは、その後110
のLSNを有するログ・レコードを書き込むことによ
り、ICBU_LSNのこの値を記録する方法で更新さ
れる。すなわち、ヘッダ・ページが、現ICBU_LS
N値100を記憶しているログの位置がログ位置110
である。
データ・ページに許される修正の前に、ファイルAの完
全コピー(FC)を取った後のファイルAおよびシステ
ム・カタログの状態が示されている。図4で、それがF
C完了後の現end_of_logであったので、ICBU_LS
NおよびICRF_LSNが100にセットされている
ことに留意されたい。ヘッダ・ページは、その後110
のLSNを有するログ・レコードを書き込むことによ
り、ICBU_LSNのこの値を記録する方法で更新さ
れる。すなわち、ヘッダ・ページが、現ICBU_LS
N値100を記憶しているログの位置がログ位置110
である。
【0103】ここで、図5を参照すると、ファイルAの
FCが1992年5月1日23時50分に取られ、テー
プ・ライブラリ・アドレスT001に記憶された、シス
テム・カタログ・エントリが示されている。FCが取ら
れた後でDASD D001(図示せず)が失われる場
合、ファイルAに関するDBMS回復動作は次の諸段階
を含むことになる。
FCが1992年5月1日23時50分に取られ、テー
プ・ライブラリ・アドレスT001に記憶された、シス
テム・カタログ・エントリが示されている。FCが取ら
れた後でDASD D001(図示せず)が失われる場
合、ファイルAに関するDBMS回復動作は次の諸段階
を含むことになる。
【0104】(a)システム・カタログからのファイル
Aの最近の完全コピーに関する現ログ終端(任意にEN
D_LSNと名付ける)とテープ位置を確認する。
Aの最近の完全コピーに関する現ログ終端(任意にEN
D_LSNと名付ける)とテープ位置を確認する。
【0105】(b)ファイルAのFCバックアップを、
テープ位置T001からDASD D002(図示せ
ず)にロードする。
テープ位置T001からDASD D002(図示せ
ず)にロードする。
【0106】(c)システム・カタログからのFCの後
でファイルAの増分式コピー(IIC)を確認し、それ
に応じて更新する。(段階(c)のこの場合には、FC
の後でファイルAのIICがまだ取られていない)
でファイルAの増分式コピー(IIC)を確認し、それ
に応じて更新する。(段階(c)のこの場合には、FC
の後でファイルAのIICがまだ取られていない)
【0107】(d)それが最新のバックアップなので、
システム・ログをICRF_LSN=100に位置決め
し、page_LSN<ログ・レコードLSNの場合
は、DASD D002にあるファイルAのページの更
新に関するログ・レコードを適用する(この例では、I
CRF_LSN=100からEND_LSNである)。
システム・ログをICRF_LSN=100に位置決め
し、page_LSN<ログ・レコードLSNの場合
は、DASD D002にあるファイルAのページの更
新に関するログ・レコードを適用する(この例では、I
CRF_LSN=100からEND_LSNである)。
【0108】段階(d)中のログ走査の回数を減らすた
めに、DBMSは修正されたシステム・カタログ内に配
置された別のディレクトリを利用することもできる。こ
の別のディレクトリは、更新のためにファイルAが開か
れている間のログ・レンジからなることが好ましい。こ
の例で「SYSLGRNG」と記されたこのディレクト
リ(図示せず)は、ヘッダ・ページの更新に関する10
0から110のLSNを表す、ファイルAのエントリを
有する。その後、回復動作が完了する。
めに、DBMSは修正されたシステム・カタログ内に配
置された別のディレクトリを利用することもできる。こ
の別のディレクトリは、更新のためにファイルAが開か
れている間のログ・レンジからなることが好ましい。こ
の例で「SYSLGRNG」と記されたこのディレクト
リ(図示せず)は、ヘッダ・ページの更新に関する10
0から110のLSNを表す、ファイルAのエントリを
有する。その後、回復動作が完了する。
【0109】ここで、図6ないし図10を参照をする
と、選択されたデータ・ページ(ページ1とペ−ジ3)
のトランザクションによる修正が示されている。ヘッダ
・ページがICBU_LSN=100とDページ1およ
びDページ3のpage_LSN=0を持つことを思い
起こされたい。
と、選択されたデータ・ページ(ページ1とペ−ジ3)
のトランザクションによる修正が示されている。ヘッダ
・ページがICBU_LSN=100とDページ1およ
びDページ3のpage_LSN=0を持つことを思い
起こされたい。
【0110】Dページ1の更新では、図6に示す通り、
ファイルAに関するICBU_LSN=100がまたデ
ータ・ベース制御ブロック(DBCB)内に記録され
る。Dページ1のpage_LSN0はICBU_LS
N100よりも小さいので、そのとき更新方法で、Dペ
ージ1を更新する前に、SMP内のICB1をセットし
なければならない。ICB1の変更と、変更がログ(L
SN212)内に記録されるLSNは両方とも、図7に
示したようにSMP上に示される。次に、Dページ1の
値がA1からB1に変えられ、LSN215に記録され
たログになる。これらの変更は、図8の更新されたDペ
ージ1に示される。
ファイルAに関するICBU_LSN=100がまたデ
ータ・ベース制御ブロック(DBCB)内に記録され
る。Dページ1のpage_LSN0はICBU_LS
N100よりも小さいので、そのとき更新方法で、Dペ
ージ1を更新する前に、SMP内のICB1をセットし
なければならない。ICB1の変更と、変更がログ(L
SN212)内に記録されるLSNは両方とも、図7に
示したようにSMP上に示される。次に、Dページ1の
値がA1からB1に変えられ、LSN215に記録され
たログになる。これらの変更は、図8の更新されたDペ
ージ1に示される。
【0111】Dページ3の更新では、Dページ3のpa
ge_LSN0はICBU_LSN100よりも小さい
ので、図9からわかるように、SMP内のICB3はD
ページ3の更新前に1にセットされる。これに続いて、
図10に示すように、Dページ3は値A3からC3に更
新され、これがLSN326にログされたLSNもDペ
ージ3でマークされる。
ge_LSN0はICBU_LSN100よりも小さい
ので、図9からわかるように、SMP内のICB3はD
ページ3の更新前に1にセットされる。これに続いて、
図10に示すように、Dページ3は値A3からC3に更
新され、これがLSN326にログされたLSNもDペ
ージ3でマークされる。
【0112】ここで図11を参照すると、ファイルA
が、更新されて、SMPおよびページ更新の変更を含む
DASDに書き込まれたものとして示されている。
が、更新されて、SMPおよびページ更新の変更を含む
DASDに書き込まれたものとして示されている。
【0113】ここで図12ないし図23を参照すると、
図11に描かれたファイルAのICが示されている。図
12および図13は、DBCBとSMPによるIC動作
に関するファイルAの初期状態を示す。最初の段階は、
バッファ・プール内にSMPを読み込むことである。次
に、図14に示すように、ICBU_LSNが16進表
記で最大値"FFFF....FF "に変更される。これに
続いて、ICRF_LSNが、現end_of_log=463に
セットされる。ここで、図15に示すように、システム
・カタログが、ICが取られていること示す新しいエン
トリ、日時、テープ内のICの位置、およびICRF_
LSNで更新される。
図11に描かれたファイルAのICが示されている。図
12および図13は、DBCBとSMPによるIC動作
に関するファイルAの初期状態を示す。最初の段階は、
バッファ・プール内にSMPを読み込むことである。次
に、図14に示すように、ICBU_LSNが16進表
記で最大値"FFFF....FF "に変更される。これに
続いて、ICRF_LSNが、現end_of_log=463に
セットされる。ここで、図15に示すように、システム
・カタログが、ICが取られていること示す新しいエン
トリ、日時、テープ内のICの位置、およびICRF_
LSNで更新される。
【0114】次に仮想記憶域内のSMPを更新すること
が望まれる。これは、SMPをラッチして、それを図1
6に示したように変更する必要があることを意味する。
すなわち、SMPをラッチした後、"1"であるICB
が"0"にリセットされ、図17に示したようなUNDO
レコードがログに書き込まれ、その後にSMPがラッチ
解除される。
が望まれる。これは、SMPをラッチして、それを図1
6に示したように変更する必要があることを意味する。
すなわち、SMPをラッチした後、"1"であるICB
が"0"にリセットされ、図17に示したようなUNDO
レコードがログに書き込まれ、その後にSMPがラッチ
解除される。
【0115】IC複写動作は、そのICBが"1"から"
0"にリセットされた、ヘッダ・ページ、SMPページ
およびDページを複製する段階を含む。Dページを含む
各ページを、ラッチし、テープT002に複写し、次い
でラッチ解除する必要がある。図18に示すように、テ
ープ上の各ページは、Dページ1のそれと同様に新し
い。完璧を期して、図21に示すように、ICはDペー
ジ3のテープT002へのコピーを作成させる。最後の
段階では、ICBU_LSNに関する現end_of_log値を
獲得し、それをDBCBと更新されたヘッダ・ページの
両方に複写し、それをヘッダ・ページに関してログし、
図22および図23に示すヘッダ・ページ内にpage
_LSNを置く。
0"にリセットされた、ヘッダ・ページ、SMPページ
およびDページを複製する段階を含む。Dページを含む
各ページを、ラッチし、テープT002に複写し、次い
でラッチ解除する必要がある。図18に示すように、テ
ープ上の各ページは、Dページ1のそれと同様に新し
い。完璧を期して、図21に示すように、ICはDペー
ジ3のテープT002へのコピーを作成させる。最後の
段階では、ICBU_LSNに関する現end_of_log値を
獲得し、それをDBCBと更新されたヘッダ・ページの
両方に複写し、それをヘッダ・ページに関してログし、
図22および図23に示すヘッダ・ページ内にpage
_LSNを置く。
【0116】さらに、再び図12ないし図23を参照し
て、図18に示すように、テープT002に複写された
直後に、別のトランザクションがDページ1を更新しよ
うとするものとする。図16に示すように、増分式に複
写されるページのセットの決定の一環として、すべての
ICBが"0"にセットされていることを想起されたい。
したがって、Dページ1への現更新にはICB1をセッ
トすることが必要である。ここで、Dページ1の場合、
page_LSN=215である。これは、最大値にセ
ットされたICBU_LSNよりも小さい。したがっ
て、図19および図20に示すように、ICB1はSM
P中で1にセットされ、Dページ1が更新され、両方の
ページがログされ、LSNが当該のページに記録され
る。
て、図18に示すように、テープT002に複写された
直後に、別のトランザクションがDページ1を更新しよ
うとするものとする。図16に示すように、増分式に複
写されるページのセットの決定の一環として、すべての
ICBが"0"にセットされていることを想起されたい。
したがって、Dページ1への現更新にはICB1をセッ
トすることが必要である。ここで、Dページ1の場合、
page_LSN=215である。これは、最大値にセ
ットされたICBU_LSNよりも小さい。したがっ
て、図19および図20に示すように、ICB1はSM
P中で1にセットされ、Dページ1が更新され、両方の
ページがログされ、LSNが当該のページに記録され
る。
【0117】重要なことであるが、ICBU_LSNの
値が100のままであった場合、Dページ1の更新によ
って、ICB1が"1"にセットされることにはならない
はずである。したがって、後続のIICは、値"C1"を
有するDページ1を複写しないことになる。後続のIC
が完了すると、ICRF_LSNは504よりも大きく
なる。次のIC後にファイルAが失われる場合、504
よりも大きいICRF_LSNを使用したバックアップ
・コピーの復元により、LSN504の更新が失われる
ことになる。これにより、ICの間に新しい非最大値が
確立されつつある間ICBU_LSNを最大値にセット
することの必要性が説明できる。コピー・セット中のす
べてのページをラッチし、複写し、ラッチ解除すること
を含めてICを完了した後で、ICBU_LSNを非最
大値にセットすることが必要であり、そうしないと、対
応するICBをセットするために、あるいはICBがす
でにセットされているかどうかを調べるために、ファイ
ル内のページへのあらゆる更新でSMPへのアクセスが
起こることになる。これは無駄だと考えられる。
値が100のままであった場合、Dページ1の更新によ
って、ICB1が"1"にセットされることにはならない
はずである。したがって、後続のIICは、値"C1"を
有するDページ1を複写しないことになる。後続のIC
が完了すると、ICRF_LSNは504よりも大きく
なる。次のIC後にファイルAが失われる場合、504
よりも大きいICRF_LSNを使用したバックアップ
・コピーの復元により、LSN504の更新が失われる
ことになる。これにより、ICの間に新しい非最大値が
確立されつつある間ICBU_LSNを最大値にセット
することの必要性が説明できる。コピー・セット中のす
べてのページをラッチし、複写し、ラッチ解除すること
を含めてICを完了した後で、ICBU_LSNを非最
大値にセットすることが必要であり、そうしないと、対
応するICBをセットするために、あるいはICBがす
でにセットされているかどうかを調べるために、ファイ
ル内のページへのあらゆる更新でSMPへのアクセスが
起こることになる。これは無駄だと考えられる。
【0118】この例では、Dページ3はまだ複写されて
おらず、したがって、ICBU_LSNの新しい非最大
値は確立されていない。Dページ1を更新したトランザ
クションは、そのpage_LSNを比較するためにI
CBU_LSNの最大値を使用した。
おらず、したがって、ICBU_LSNの新しい非最大
値は確立されていない。Dページ1を更新したトランザ
クションは、そのpage_LSNを比較するためにI
CBU_LSNの最大値を使用した。
【0119】ICBU_LSNの新しい非最大値をセッ
トする際の他の要因 ICBU_LSNの新しい非最大値をセットする際に考
慮すべき要因が他にもある。ここでは、比較のために古
いICBU_LSNを使用し、したがってICBビット
の設定を迂回した可能性のある更新トランザクションが
なく、その新しいpage_LSNがICBU_LSN
よりも大きいことが必要である。そのようなことは、更
新トランザクションがそのpage_LSNをICBU
_LSNの古い値と比較した後で、そのトランザクショ
ンがオペレーティング・システムによって待機中の活動
または予定の活動から取り除かれる場合に起こり得る。
これにより、ICの間にICBUを最大値にセットする
ことによって避けようとした状況が生じることになる。
すなわち、値が最大値ではなかった場合、ページへのそ
の後の更新が、そのICBがセットされなかったため、
次の複写動作で捕捉されないことになる。
トする際の他の要因 ICBU_LSNの新しい非最大値をセットする際に考
慮すべき要因が他にもある。ここでは、比較のために古
いICBU_LSNを使用し、したがってICBビット
の設定を迂回した可能性のある更新トランザクションが
なく、その新しいpage_LSNがICBU_LSN
よりも大きいことが必要である。そのようなことは、更
新トランザクションがそのpage_LSNをICBU
_LSNの古い値と比較した後で、そのトランザクショ
ンがオペレーティング・システムによって待機中の活動
または予定の活動から取り除かれる場合に起こり得る。
これにより、ICの間にICBUを最大値にセットする
ことによって避けようとした状況が生じることになる。
すなわち、値が最大値ではなかった場合、ページへのそ
の後の更新が、そのICBがセットされなかったため、
次の複写動作で捕捉されないことになる。
【0120】この解決法では、ページをS(共用)ラッ
チする必要がある。これにより、更新トランザクション
がページへの更新を完了したことが保証される。すなわ
ち、ラッチによって原子的動作がもたらされる。ページ
の一貫性のあるコピーをとるために、Sラッチが必要と
されることに留意されたい。
チする必要がある。これにより、更新トランザクション
がページへの更新を完了したことが保証される。すなわ
ち、ラッチによって原子的動作がもたらされる。ページ
の一貫性のあるコピーをとるために、Sラッチが必要と
されることに留意されたい。
【0121】ただ1つのICBU_LSNの値が選択さ
れるので、そのような選択は、コピー・セット中のすべ
てのページをSラッチした後でだけ行われる。
れるので、そのような選択は、コピー・セット中のすべ
てのページをSラッチした後でだけ行われる。
【0122】ここで図24および図25を参照すると、
テープ記憶装置にアーカイブ保存された、完全複写およ
び増分式複写動作後のファイルAが示されている。現コ
ピーを記憶するDASDが障害を起こしたために、ファ
イルAの現状態を回復する必要があるものと仮定する。
この場合、図15に示したシステム・カタログに従っ
て、最新の完全コピーとその後の増分式コピーの位置が
確立される。それはICRF_LSN=463である。
これは、そのときそれぞれテープ・ライブラリ・アドレ
スT001とT002にアーカイブ保存されたページ番
号によって完全コピーおよび増分式コピーをマージする
ことに基づいて、ファイルAを回復することを意味す
る。
テープ記憶装置にアーカイブ保存された、完全複写およ
び増分式複写動作後のファイルAが示されている。現コ
ピーを記憶するDASDが障害を起こしたために、ファ
イルAの現状態を回復する必要があるものと仮定する。
この場合、図15に示したシステム・カタログに従っ
て、最新の完全コピーとその後の増分式コピーの位置が
確立される。それはICRF_LSN=463である。
これは、そのときそれぞれテープ・ライブラリ・アドレ
スT001とT002にアーカイブ保存されたページ番
号によって完全コピーおよび増分式コピーをマージする
ことに基づいて、ファイルAを回復することを意味す
る。
【0123】ここで、図26を参照すると、記憶テープ
からのファイルAのページ・マージされたコピーが示さ
れている。ページの状態を順方向に変化させるために、
ログがLSN463から走査され、LSN490でSM
Pに、LSN504でDページ1に、530でヘッダ・
ページに更新を適用する。これにより、図27に示した
ような最終ファイル状態になる。
からのファイルAのページ・マージされたコピーが示さ
れている。ページの状態を順方向に変化させるために、
ログがLSN463から走査され、LSN490でSM
Pに、LSN504でDページ1に、530でヘッダ・
ページに更新を適用する。これにより、図27に示した
ような最終ファイル状態になる。
【0124】ここで、図28および図29を参照する
と、少なくとも1ページへの複数の更新の後のファイル
および構成の状態が示されている。この場合、トランザ
クションはDページ4と次いでDページ1を更新する。
と、少なくとも1ページへの複数の更新の後のファイル
および構成の状態が示されている。この場合、トランザ
クションはDページ4と次いでDページ1を更新する。
【0125】Dページ4については、page_LSN
(0)がICBU_LSN(519)よりも小さいの
で、ICB4はSMP中で1にセットされ、SMPはp
age_LSN=570にログされ、Dページ4はB4
に更新されpage_LSN=620にログされること
になる。
(0)がICBU_LSN(519)よりも小さいの
で、ICB4はSMP中で1にセットされ、SMPはp
age_LSN=570にログされ、Dページ4はB4
に更新されpage_LSN=620にログされること
になる。
【0126】Dページ1については、page_LSN
(504)がICBU_LSN(519)よりも小さい
ので、SMPはアクセスされるが、ICB1がすでに1
にセットされているので、SMPへの更新は必要でな
い。次に、Dページ1が値D1に更新され、page_
LSN=630にログされる。
(504)がICBU_LSN(519)よりも小さい
ので、SMPはアクセスされるが、ICB1がすでに1
にセットされているので、SMPへの更新は必要でな
い。次に、Dページ1が値D1に更新され、page_
LSN=630にログされる。
【0127】ここで、ICを取るべき場合、SMPに従
ったコピー・セットはDページ1およびDページ4とな
る。
ったコピー・セットはDページ1およびDページ4とな
る。
【0128】本発明の上記その他の拡張は、頭記特許請
求の範囲に記載されるその趣旨および範囲から逸脱する
ことなしに行うことができる。
求の範囲に記載されるその趣旨および範囲から逸脱する
ことなしに行うことができる。
【0129】
【発明の効果】本発明の実施により、ログ・ベースの段
階式コミットTMSのデータベース中の修正されたペー
ジの増分式複写に伴うオーバヘッドを減少させるための
方法および手段を提供することができ、アプリケーショ
ンの実行を妨げないログ・ベースの段階式コミットTM
S内で修正可能なページのデータベースをアーカイブ保
存するための方法および手段を提供することができ、修
正可能なページのデータベースへのアクセスを共有する
複数ログ・ベース段階式コミット・トランザクション管
理システムで動作可能な方法および手段を提供すること
ができる。
階式コミットTMSのデータベース中の修正されたペー
ジの増分式複写に伴うオーバヘッドを減少させるための
方法および手段を提供することができ、アプリケーショ
ンの実行を妨げないログ・ベースの段階式コミットTM
S内で修正可能なページのデータベースをアーカイブ保
存するための方法および手段を提供することができ、修
正可能なページのデータベースへのアクセスを共有する
複数ログ・ベース段階式コミット・トランザクション管
理システムで動作可能な方法および手段を提供すること
ができる。
【図1】従来技術によるログ・ベースTMSの論理編成
を示す図である。
を示す図である。
【図2】従来技術による、REDOおよびUNDOに関
する並列トランザクションと、ログ・ベースの段階式コ
ミット・トランザクション管理システム内での障害の発
生との関係を示す図である。
する並列トランザクションと、ログ・ベースの段階式コ
ミット・トランザクション管理システム内での障害の発
生との関係を示す図である。
【図3】データベースを表す小さなファイルと、分類さ
れたシステム構造およびデータ・ページを格納するシス
テム・カタログの論理編成を示す図である。
れたシステム構造およびデータ・ページを格納するシス
テム・カタログの論理編成を示す図である。
【図4】データベースの初期ロード中にログが中断され
たものと仮定して、始めにデータをロードし必要なその
完全コピーを取った後のファイルを示す図である。
たものと仮定して、始めにデータをロードし必要なその
完全コピーを取った後のファイルを示す図である。
【図5】完全バックアップのためのシステム・カタログ
のエントリを示す図である。
のエントリを示す図である。
【図6】様々なデータ・ページへのトランザクションの
修正と様々なSMPおよびLSNの変更を示す図であ
る。
修正と様々なSMPおよびLSNの変更を示す図であ
る。
【図7】様々なデータ・ページへのトランザクションの
修正と様々なSMPおよびLSNの変更を示す図であ
る。
修正と様々なSMPおよびLSNの変更を示す図であ
る。
【図8】様々なデータ・ページへのトランザクションの
修正と様々なSMPおよびLSNの変更を示す図であ
る。
修正と様々なSMPおよびLSNの変更を示す図であ
る。
【図9】様々なデータ・ページへのトランザクションの
修正と様々なSMPおよびLSNの変更を示す図であ
る。
修正と様々なSMPおよびLSNの変更を示す図であ
る。
【図10】様々なデータ・ページへのトランザクション
の修正と様々なSMPおよびLSNの変更を示す図であ
る。
の修正と様々なSMPおよびLSNの変更を示す図であ
る。
【図11】図6ないし図10に示した変更を統合したバ
ージョンを示す図である。
ージョンを示す図である。
【図12】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図13】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図14】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図15】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図16】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図17】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図18】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図19】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図20】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図21】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図22】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図23】本発明による増分式複写動作に関連する状態
およびページの変更を示す図である。
およびページの変更を示す図である。
【図24】完全複写動作および増分式複写動作がアーカ
イブ保存された後のテープ記憶装置上のファイルAのコ
ピーを示す図である。
イブ保存された後のテープ記憶装置上のファイルAのコ
ピーを示す図である。
【図25】完全複写動作および増分式複写動作がアーカ
イブ保存された後のテープ記憶装置上のファイルAのコ
ピーを示す図である。
イブ保存された後のテープ記憶装置上のファイルAのコ
ピーを示す図である。
【図26】図24および図25のFCおよびICとログ
・レコードとを用いた回復後のファイルAを表す図であ
る。
・レコードとを用いた回復後のファイルAを表す図であ
る。
【図27】図24および図25のFCおよびICとログ
・レコードとを用いた回復後のファイルAを表す図であ
る。
・レコードとを用いた回復後のファイルAを表す図であ
る。
【図28】少なくとも1つのページへの多重更新の後の
ファイルおよび構成の状態を示す図である。
ファイルおよび構成の状態を示す図である。
【図29】少なくとも1つのページへの多重更新の後の
ファイルおよび構成の状態を示す図である。
ファイルおよび構成の状態を示す図である。
12 トランザクション・プロセス 13 データベース 14 データベース管理システム・プログラム 16 オペレーティング・システム 18 バッファ・プール 20 ログ・バッファ 21 システム・ログ 22 レコード・マネージャ 23 バッファ・マネージャ 24 ログ・マネージャ 25 回復マネージャ 26 並列マネージャ 30 ロック・テーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 インデルパル・エス・ナラング アメリカ合衆国95070 カリフォルニア州 サラトガ セラ・オークス・コート13778
Claims (6)
- 【請求項1】ログと、プロセッサと、記憶されたページ
が前記プロセッサとの間でステージングされる記憶サブ
システムとを備えた段階式コミット・トランザクション
管理システム(TMS)において、ヘッダ・ぺージと、
状況ページ(SMP)と、少なくとも1つのデータ・ペ
ージとを有する修正可能なページのファイルをアーカイ
ブ保存するための方法であって、 前記プロセッサが各トランザクションに応答して、前記
ページのうちの所定のページに対して選択的修正を実行
し、ページ状態に対する各修正が前記ログに記録され、
昇順ログ・シーケンス番号(page_LSN)が割り
当てられ、前記page_LSNが前記ページ上に記録
され、(a)前記ヘッダ・ページ上の第1の大域的ログ
・シーケンス番号(ICBU_LSN)と、それぞれ前
記各データ・ページに対応し、前記ページが直前のアー
カイブ動作または複写動作以降に修正されたこと示す、
前記SMP上の複数の状況ビット(ICB)とを生成し
維持する段階と、(b)前記ICBU_LSNを最大値
に設定し、第2の大域的ログ・シーケンス番号(ICR
F_LSN)を設定し、システム・カタログ内に該IC
RF_LSNを記録する段階と、(c)前記SMP内の
前記ICBを走査することによってアーカイブ保存され
るページのセットを確認し、別の形でセットされたサブ
セットをリセットする段階と、(d)段階(c)で走査
されリセットされたサブセットの各ページを順にラッチ
し、複写し、ラッチ解除することにより、増分式複写の
ために、完全複写に関するICBの状態に関係なくすべ
てのページについて複写動作を実行する段階と、(e)
前記ICBU_LSNを現end_of_log LSNの値に設
定し、該ICBU_LSNを前記ヘッダ・ページに記録
する段階と、(f)各ページ修正に応じて、前記pag
e_LSNが前記ICBU_LSNよりも小さい場合に
前記SMP内に対応ICBを設定し、該設定動作をRE
DO_onlyログ・レコードによって前記ログ内に記
録する段階とを含むことを特徴とする方法。 - 【請求項2】前記ファイル内の各ページに、他の標徴か
ら独立した昇順のページ番号が記録されており、前記シ
ステム・カタログが、前記ファイルの各完全コピーまた
は増分式コピーに関する情報を記録するエントリを含
み、各エントリが、前記記憶サブシステム内の前記ファ
イルの各アーカイブ・コピーの位置を指すポインタと、
請求項1の段階(e)によるend_of_log LSNにセッ
トされたICRF_LSNとを含み、前記方法が、
(g)ログすることなしにデータが前記ファイルにロー
ドされるたびに各ファイルの完全コピーを作成し、該完
全コピーが作成されるまでデータ・ページの修正を中断
し、前記システム・カタログ内に前記ポインタ位置とコ
ピー・タイプ(完全)とICRF_LSNとを記録する
段階と、(h)前記システム・カタログへのエントリを
含む各ファイルの増分式コピーまたは完全コピーを予定
に従ってまたは都合に合わせて作成する段階と、(i)
前記記憶サブシステム内の前記ファイルが使用できない
状態の場合、前記システム・カタログによって定義され
るような完全コピーおよび増分式コピーの内容をページ
番号に従ってマージすることによって前記ファイルを回
復し、マージされたページ・セットを、前記ICRF_
LSNよりも大きいまたは等しいLSNを有する前記ロ
グ・レコードに従って修正する段階と、 を含むことを特徴とする、請求項1に記載の方法。 - 【請求項3】前記ログ内に記録された動作が、REDO
/UNDOタイプのものとREDO_onlyログ・レ
コードタイプのものとを含み、前記ヘッダ・ページに対
するICBU_LSN修正が、REDO_onlyログ
・レコードを介して前記ログ内に記録されることを特徴
とする、請求項1に記載の方法。 - 【請求項4】前記TMSが、すでに修正済みのまたは現
在修正中のページのリストを保持し、前記方法の諸段階
が、(a')ICBU_LSNを最大値に設定し、修正
されたリスト内に各ページをSラッチする段階と、
(b')前記ICBU_LSNを非最大値に設定し、I
CRF_LSNの値を選択する段階と、(c')前記S
MP内のICBを走査することによってアーカイブ保存
されるページのセットを確認し、別の形でセットされた
サブセットをリセットする段階と、(d')段階(c)
で走査されリセットされたサブセットの各ページを順に
ラッチし、複写し、ラッチ解除することにより、増分式
複写のために、完全複写に関するICB状態に関係なく
すべてのページについて複写動作を実行する段階とを含
むように修正されることを特徴とする、請求項1に記載
の方法。 - 【請求項5】ログと、プロセッサと、記憶されたページ
が前記プロセッサとの間でステージングされる記憶サブ
システムとを備えた段階式コミット・トランザクション
管理システム(TMS)において、修正可能なページの
データベースをアーカイブ保存するための方法であっ
て、 前記プロセッサが各トランザクションに応答して、ペー
ジのうちの所定のページに対して選択的修正を実行し、
各ページ状態に対する各修正が前記ログに記録され、昇
順ログ・シーケンス番号(page_LSN)が割り当
てられ、前記ページLSNが前記ページ上に記録され、 (a)(1)ヘッダ・ページと、少なくとも1つのデー
タ・ページと、前の複写動作の実行以降に前記データ・
ページが修正されたかどうかを示す各データ・ページに
関する状況ビット(ICB)を含む、少なくとも1つの
スペース・マップ・ページ(SMP)とを備える区画に
関する、データベース制御ブロック(DBCB)を呼び
出し、(2)前記DBCB内の第1の種類のLSN(I
CBU_LSN)を最大値に原子的に設定し、第2の種
類のLSN(ICRF_LSN)を現end_of_log LS
Nによって設定された値に設定し、システム・カタログ
内に前記ICRF_LSNを記録し、(3)最終複写動
作以降に更新されたことを示すデータ・ページのすべて
のICBをリセットすることによって各SMPについて
複写されるデータ・ページのセットを確認し、前記ログ
内にリセットされたすべてのICBを記録することによ
って、前記データベースの前記区画に対する複写動作を
初期設定する段階と、 (b)(1)各SMPについて、段階(a)(3)で識
別された各データ・ページをラッチし、複写し、ラッチ
解除し、(2)前記DBCBおよび前記ヘッダ・ページ
内の前記ICBU_LSNを現end_of_log LSN値に
更新し、(3)動作をコミットすることによって、前記
複写動作を実行する段階と、 (c)各ページ修正に応じて、前記page_LSNが
前記ICBU_LSNよりも小さい場合に状況ページ内
に対応ICBを設定し、該設定動作を前記ログ内に記録
する段階とを含むことを特徴とする方法。 - 【請求項6】ログと、プロセッサと、記憶されたページ
が前記プロセッサとの間でステージングされる記憶サブ
システムとを備えた段階式コミット・トランザクション
管理システム(TMS)において、ヘッダ・ぺージと、
状況ページ(SMP)と、少なくとも1つのデータ・ペ
ージとを有する修正可能なページのファイルをアーカイ
ブ保存するための方法であって、前記ファイル内の各ペ
ージに他の標徴から独立して昇順ページ番号が記録され
ており、 前記プロセッサが各トランザクションに応答して、前記
ページのうちの所定のページに対して選択的修正を実行
し、ページ状態に対する各修正が前記ログに記録され、
昇順ログ・シーケンス番号(page_LSN)が割り
当てられ、前記page_LSNが前記ページ上に記録
され、(a)前記ヘッダ・ページ上の第1の大域的ログ
・シーケンス番号(ICBU_LSN)と、それぞれ各
データ・ページに対応し、前記ページが直前のアーカイ
ブ動作または複写動作以降に修正されたことを示す、前
記SMP上の複数の状況ビット(ICB)とを生成し維
持する段階と、(b)前記ICBU_LSNを最大値に
設定し、第2の大域的ログ・シーケンス番号(ICRF
_LSN)を設定し、前記ファイルの各完全コピーまた
は増分式コピーに関する情報を記録するエントリを含
み、各エントリが、前記記憶サブシステム内の前記ファ
イルの各アーカイブ・コピーの位置を指すポインタと、
end_of_log LSNに設定されたICRF_LSNとを
含む、システム・カタログ内に前記ICRF_LSNを
記録する段階と、(c)前記SMP内の前記ICBを走
査することによってアーカイブ保存されるページのセッ
トを確認し、別の形でセットされたサブセットをリセッ
トする段階と、(d)段階(c)で走査されリセットさ
れたサブセットの各ページを順にラッチし、複写し、ラ
ッチ解除することにより、増分式複写のために、完全複
写に関するICBの状態に関係なくすべてのページにつ
いて複写動作を実行する段階と、(e)前記ICBU_
LSNを現end_of_log LSN値に設定し、該ICBU
_LSNを前記ヘッダ・ページに記録する段階と、
(f)各ページ修正に応じて、前記page_LSNが
前記ICBU_LSNよりも小さい場合に前記SMP内
に対応ICBを設定し、該設定動作をREDO_onl
yログ・レコードによって前記ログ内に記録する段階
と、(g)ログすることなしにデータが前記ファイルに
ロードされるたびに各ファイルの完全コピーを作成し、
該完全コピーが作成されるまでデータ・ページの修正を
中断し、前記システム・カタログ内に前記ポインタ位置
とコピー・タイプ(完全)とICRF_LSNとを記録
する段階と、(h)前記システム・カタログへのエント
リを含む各ファイルの増分式コピーまたは完全コピーを
予定に従ってまたは都合に合わせて作成する段階と、
(i)前記記憶サブシステム内の前記ファイルが使用で
きない状態の場合、前記システム・カタログによって定
義されるような完全コピーおよび増分式コピーの内容を
ページ番号に従ってマージすることによって前記ファイ
ルを回復し、マージされたページ・セットを、前記IC
RF_LSNよりも大きいまたは等しいLSNを有する
前記ログ・レコードに従って修正する段階と、 を含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US066360 | 1993-05-21 | ||
US08/066,360 US5455946A (en) | 1993-05-21 | 1993-05-21 | Method and means for archiving modifiable pages in a log based transaction management system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06332778A true JPH06332778A (ja) | 1994-12-02 |
JP2505112B2 JP2505112B2 (ja) | 1996-06-05 |
Family
ID=22069002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6086114A Expired - Lifetime JP2505112B2 (ja) | 1993-05-21 | 1994-04-25 | トランザクション管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5455946A (ja) |
EP (1) | EP0625752A2 (ja) |
JP (1) | JP2505112B2 (ja) |
Families Citing this family (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5515502A (en) * | 1993-09-30 | 1996-05-07 | Sybase, Inc. | Data backup system with methods for stripe affinity backup to multiple archive devices |
JPH07152627A (ja) * | 1993-11-29 | 1995-06-16 | Nec Corp | ファイルリカバリシステム |
US5617566A (en) * | 1993-12-10 | 1997-04-01 | Cheyenne Advanced Technology Ltd. | File portion logging and arching by means of an auxilary database |
JP2735479B2 (ja) * | 1993-12-29 | 1998-04-02 | 株式会社東芝 | メモリ・スナップショット方法及びメモリ・スナップショット機能を持つ情報処理装置 |
EP0806015A4 (en) * | 1995-01-23 | 2003-09-03 | Compaq Computer Corp | SYSTEM FOR CONSERVING THE INTEGRITY OF A DATABASE |
US5649158A (en) * | 1995-02-23 | 1997-07-15 | International Business Machines Corporation | Method for incrementally archiving primary storage to archive storage by utilizing both a partition archive status array and a partition map |
US5625817A (en) * | 1995-02-28 | 1997-04-29 | Bmc Software, Inc. | Method of identifying DB2 objects to be recovered from an unavailable DASD volume without need to access the DASD volume itself and without need for pre-failure preparation |
US5768582A (en) * | 1995-06-07 | 1998-06-16 | International Business Machines Corporation | Computer program product for domained incremental changes storage and retrieval |
JP2878988B2 (ja) * | 1995-06-19 | 1999-04-05 | 株式会社東芝 | チェックポイント通信処理システム |
US5778168A (en) * | 1995-09-11 | 1998-07-07 | Sun Microsystems, Inc. | Transaction device driver technique for a journaling file system to ensure atomicity of write operations to a computer mass storage device |
US5745750A (en) * | 1995-12-15 | 1998-04-28 | International Business Machines Corporation | Process and article of manufacture for constructing and optimizing transaction logs for mobile file systems |
US5787441A (en) * | 1996-01-11 | 1998-07-28 | International Business Machines Corporation | Method of replicating data at a field level |
US5758355A (en) * | 1996-08-07 | 1998-05-26 | Aurum Software, Inc. | Synchronization of server database with client database using distribution tables |
US5832508A (en) * | 1996-09-18 | 1998-11-03 | Sybase, Inc. | Method for deallocating a log in database systems |
US6321234B1 (en) | 1996-09-18 | 2001-11-20 | Sybase, Inc. | Database server system with improved methods for logging transactions |
US6014674A (en) * | 1996-11-14 | 2000-01-11 | Sybase, Inc. | Method for maintaining log compatibility in database systems |
KR100212447B1 (ko) * | 1996-11-22 | 1999-08-02 | 정선종 | 재수행 단계에서 종료한 트랜잭션 처리 기법을 이용한 댕글링 트랜잭션 발생 방지 방법 |
US5937416A (en) * | 1997-03-25 | 1999-08-10 | Bennethum Computer Systems | Method for preserving data in an electronic document |
JPH10333961A (ja) * | 1997-05-30 | 1998-12-18 | Kokusai Zunou Sangyo Kk | データベースのリカバリーシステムおよびリカバリープログラムを記録したコンピュータ読み取り可能な記録媒体 |
US5937168A (en) * | 1997-05-30 | 1999-08-10 | Bellsouth Corporation | Routing information within an adaptive routing architecture of an information retrieval system |
JP3568181B2 (ja) | 1997-06-23 | 2004-09-22 | 株式会社東芝 | ニューラルネット分析装置、記憶媒体 |
US6366988B1 (en) * | 1997-07-18 | 2002-04-02 | Storactive, Inc. | Systems and methods for electronic data storage management |
US5953728A (en) * | 1997-07-25 | 1999-09-14 | Claritech Corporation | System for modifying a database using a transaction log |
US5951695A (en) * | 1997-07-25 | 1999-09-14 | Hewlett-Packard Company | Fast database failover |
US5884328A (en) * | 1997-08-29 | 1999-03-16 | Tandem Computers, Inc. | System and method for sychronizing a large database and its replica |
US5991772A (en) * | 1997-10-31 | 1999-11-23 | Oracle Corporation | Method and apparatus for restoring a portion of a database |
US6393537B1 (en) | 1998-01-06 | 2002-05-21 | International Business Machines Corporation | Host storage management control of outboard data movement |
US6397229B1 (en) | 1998-02-02 | 2002-05-28 | International Business Machines Corporation | Storage-controller-managed outboard incremental backup/restore of data |
US6173292B1 (en) | 1998-03-04 | 2001-01-09 | International Business Machines Corporation | Data recovery in a transactional database using write-ahead logging and file caching |
US6792435B1 (en) * | 1998-03-10 | 2004-09-14 | International Business Machines Corporation | Method and apparatus for recovering the definitions of dropped database objects |
US6119128A (en) * | 1998-03-30 | 2000-09-12 | International Business Machines Corporation | Recovering different types of objects with one pass of the log |
US6799206B1 (en) * | 1998-03-31 | 2004-09-28 | Qualcomm, Incorporated | System and method for the intelligent management of archival data in a computer network |
US6161109A (en) * | 1998-04-16 | 2000-12-12 | International Business Machines Corporation | Accumulating changes in a database management system by copying the data object to the image copy if the data object identifier of the data object is greater than the image identifier of the image copy |
US6185663B1 (en) * | 1998-06-15 | 2001-02-06 | Compaq Computer Corporation | Computer method and apparatus for file system block allocation with multiple redo |
US6334134B1 (en) * | 1998-08-18 | 2001-12-25 | International Business Machines Corporation | Insert performance on a multi-system transaction environment |
US6275832B1 (en) * | 1998-09-21 | 2001-08-14 | International Business Machines Corporation | Providing transaction undo without logging |
US6886012B1 (en) * | 1998-11-18 | 2005-04-26 | International Business Machines Corporation | Providing traditional update semantics when updates change the location of data records |
US6349311B1 (en) * | 1999-02-01 | 2002-02-19 | Symantec Corporation | Storage of reverse delta updates |
US7062456B1 (en) | 1999-02-09 | 2006-06-13 | The Chase Manhattan Bank | System and method for back office processing of banking transactions using electronic files |
US6370528B1 (en) * | 1999-05-28 | 2002-04-09 | Unisys Corporation | High speed method for flushing data buffers and updating database structure control information |
JP2003503795A (ja) | 1999-06-30 | 2003-01-28 | マイクロソフト コーポレイション | サポート・インシデントを報告及び解決する方法及びシステム |
US6339772B1 (en) | 1999-07-06 | 2002-01-15 | Compaq Computer Corporation | System and method for performing database operations on a continuous stream of tuples |
US6453313B1 (en) | 1999-07-06 | 2002-09-17 | Compaq Information Technologies Group, L.P. | Database management system and method for dequeuing rows published to a database table |
US6502088B1 (en) | 1999-07-08 | 2002-12-31 | International Business Machines Corporation | Method and system for improved access to non-relational databases |
US6453322B1 (en) * | 1999-07-19 | 2002-09-17 | International Business Machines Corporation | Extension of data definition language (DDL) capabilities for relational databases for applications issuing multiple units of work |
US6421677B1 (en) * | 1999-07-19 | 2002-07-16 | International Business Machines Corporation | Extension of data definition language (DDL) capabilities for relational databases for applications issuing DDL statements |
US6317755B1 (en) * | 1999-07-26 | 2001-11-13 | Motorola, Inc. | Method and apparatus for data backup and restoration in a portable data device |
US6553509B1 (en) * | 1999-07-28 | 2003-04-22 | Hewlett Packard Development Company, L.P. | Log record parsing for a distributed log on a disk array data storage system |
CA2279119C (en) | 1999-07-29 | 2004-10-19 | Ibm Canada Limited-Ibm Canada Limitee | Heuristic-based conditional data indexing |
AU3267901A (en) * | 1999-11-05 | 2001-05-14 | Attivo Software, Inc. | Action communication and synchronization for documents accessed by multiple users |
US6510434B1 (en) | 1999-12-29 | 2003-01-21 | Bellsouth Intellectual Property Corporation | System and method for retrieving information from a database using an index of XML tags and metafiles |
US6526417B1 (en) * | 2000-01-25 | 2003-02-25 | International Business Machines Corporation | System and method for change accumulation unmerged update reduction |
US20060173848A1 (en) * | 2000-03-09 | 2006-08-03 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US7844579B2 (en) | 2000-03-09 | 2010-11-30 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060155731A1 (en) * | 2000-03-09 | 2006-07-13 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20050015608A1 (en) | 2003-07-16 | 2005-01-20 | Pkware, Inc. | Method for strongly encrypting .ZIP files |
US8959582B2 (en) | 2000-03-09 | 2015-02-17 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060143252A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US6879988B2 (en) | 2000-03-09 | 2005-04-12 | Pkware | System and method for manipulating and managing computer archive files |
US20060143250A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060143714A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US8230482B2 (en) * | 2000-03-09 | 2012-07-24 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US7328211B2 (en) | 2000-09-21 | 2008-02-05 | Jpmorgan Chase Bank, N.A. | System and methods for improved linguistic pattern matching |
CA2322603C (en) * | 2000-10-06 | 2005-04-12 | Ibm Canada Limited-Ibm Canada Limitee | Optimizing updatable scrollable cursors in database systems |
US6639919B2 (en) * | 2001-05-01 | 2003-10-28 | Adc Dsl Systems, Inc. | Bit-level control for dynamic bandwidth allocation |
US7305421B2 (en) * | 2001-07-16 | 2007-12-04 | Sap Ag | Parallelized redo-only logging and recovery for highly available main memory database systems |
EP1423770A2 (en) * | 2001-08-14 | 2004-06-02 | Storeage Networking Technologies | Asynchronous mirroring in a storage area network |
KR100450400B1 (ko) * | 2001-12-26 | 2004-09-30 | 한국전자통신연구원 | 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법 |
US7266574B1 (en) * | 2001-12-31 | 2007-09-04 | Emc Corporation | Identification of updated files for incremental backup |
US7987246B2 (en) | 2002-05-23 | 2011-07-26 | Jpmorgan Chase Bank | Method and system for client browser update |
US6857001B2 (en) * | 2002-06-07 | 2005-02-15 | Network Appliance, Inc. | Multiple concurrent active file systems |
US7069401B1 (en) * | 2002-09-18 | 2006-06-27 | Veritas Operating Corporating | Management of frozen images |
US7103597B2 (en) * | 2002-10-03 | 2006-09-05 | Mcgoveran David O | Adaptive transaction manager for complex transactions and business process |
US7340650B2 (en) | 2002-10-30 | 2008-03-04 | Jp Morgan Chase & Co. | Method to measure stored procedure execution statistics |
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 |
US8095511B2 (en) * | 2003-06-30 | 2012-01-10 | Microsoft Corporation | Database data recovery system and method |
WO2005015361A2 (en) * | 2003-08-08 | 2005-02-17 | Jp Morgan Chase Bank | System for archive integrity management and related methods |
US20050065964A1 (en) | 2003-09-19 | 2005-03-24 | Ziemann David M. | Update of a tree-based database |
US7313720B1 (en) | 2004-02-12 | 2007-12-25 | Network Appliance, Inc. | Technique for increasing the number of persistent consistency point images in a file system |
US7475211B2 (en) * | 2004-02-13 | 2009-01-06 | International Business Machines Corporation | Method and system for restoring data |
US20060004890A1 (en) * | 2004-06-10 | 2006-01-05 | International Business Machines Corporation | Methods and systems for providing directory services for file systems |
US7366974B2 (en) | 2004-09-03 | 2008-04-29 | Jp Morgan Chase Bank | System and method for managing template attributes |
JP4104586B2 (ja) * | 2004-09-30 | 2008-06-18 | 株式会社東芝 | ファイル管理機能を備えたファイルシステム及びファイル管理方法 |
US7814490B2 (en) | 2004-10-14 | 2010-10-12 | International Business Machines Corporation | Apparatus and methods for performing computer system maintenance and notification activities in an opportunistic manner |
US7617180B1 (en) * | 2005-06-06 | 2009-11-10 | Infoblox Inc. | Efficient lock management |
US8065606B1 (en) | 2005-09-16 | 2011-11-22 | Jpmorgan Chase Bank, N.A. | System and method for automating document generation |
KR100678926B1 (ko) * | 2006-01-05 | 2007-02-06 | 삼성전자주식회사 | 로그 정보 관리 시스템 및 방법 |
KR100781515B1 (ko) * | 2006-01-10 | 2007-12-03 | 삼성전자주식회사 | 트랜잭션 처리를 위한 로그 정보 관리 시스템 및 방법 |
CA2652115C (en) * | 2006-05-12 | 2015-11-17 | Goldengate Software, Inc. | Apparatus and method for read consistency in a log mining system |
US7953698B2 (en) * | 2006-08-03 | 2011-05-31 | Sybase, Inc. | Replication system with methodology for replicating stored procedure calls |
US8104076B1 (en) | 2006-11-13 | 2012-01-24 | Jpmorgan Chase Bank, N.A. | Application access control system |
US8074027B2 (en) * | 2006-12-04 | 2011-12-06 | Microsoft Corporation | Multi-level read caching for multiplexed transactional logging |
US7895474B2 (en) * | 2007-05-03 | 2011-02-22 | International Business Machines Corporation | Recovery and restart of a batch application |
US8108356B2 (en) * | 2007-12-24 | 2012-01-31 | Korea Advanced Institute Of Science And Technology | Method for recovering data in a storage system |
US8341368B2 (en) | 2010-06-07 | 2012-12-25 | International Business Machines Corporation | Automatic reallocation of structured external storage structures |
US8838910B2 (en) | 2010-06-07 | 2014-09-16 | International Business Machines Corporation | Multi-part aggregated variable in structured external storage |
US9009125B2 (en) * | 2010-10-13 | 2015-04-14 | International Business Machiness Corporation | Creating and maintaining order of a log stream |
US9038177B1 (en) | 2010-11-30 | 2015-05-19 | Jpmorgan Chase Bank, N.A. | Method and system for implementing multi-level data fusion |
US9292588B1 (en) | 2011-07-20 | 2016-03-22 | Jpmorgan Chase Bank, N.A. | Safe storing data for disaster recovery |
US10540373B1 (en) | 2013-03-04 | 2020-01-21 | Jpmorgan Chase Bank, N.A. | Clause library manager |
US9563655B2 (en) | 2013-03-08 | 2017-02-07 | Oracle International Corporation | Zero and near-zero data loss database backup and recovery |
US9424265B1 (en) * | 2013-05-30 | 2016-08-23 | Emc Corporation | Method and system for backing up and restoring a multi-user relational database management system |
US9767178B2 (en) * | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
US9471439B2 (en) * | 2014-03-13 | 2016-10-18 | Sybase, Inc. | Systems and methods for reducing load database time |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
CN112036132B (zh) * | 2020-09-01 | 2024-04-19 | 珠海豹趣科技有限公司 | 一种文档的页眉页脚编辑方法、装置及电子设备 |
CN113239120B (zh) * | 2021-06-07 | 2023-08-18 | 上海达梦数据库有限公司 | 一种日志同步方法、装置、设备及存储介质 |
CN114201119B (zh) * | 2022-02-17 | 2022-05-13 | 天津市天河计算机技术有限公司 | 一种超级计算机作业数据分层存储系统及方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4077059A (en) * | 1975-12-18 | 1978-02-28 | Cordi Vincent A | Multi-processing system with a hierarchial memory having journaling and copyback |
US4507751A (en) * | 1982-06-21 | 1985-03-26 | International Business Machines Corporation | Method and apparatus for logging journal data using a log write ahead data set |
US5043866A (en) * | 1988-04-08 | 1991-08-27 | International Business Machines Corporation | Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery |
US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
US5201044A (en) * | 1990-04-16 | 1993-04-06 | International Business Machines Corporation | Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory |
US5333303A (en) * | 1991-03-28 | 1994-07-26 | International Business Machines Corporation | Method for providing data availability in a transaction-oriented system during restart after a failure |
US5280611A (en) * | 1991-11-08 | 1994-01-18 | International Business Machines Corporation | Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type |
US5278982A (en) * | 1991-12-23 | 1994-01-11 | International Business Machines Corporation | Log archive filtering method for transaction-consistent forward recovery from catastrophic media failures |
-
1993
- 1993-05-21 US US08/066,360 patent/US5455946A/en not_active Expired - Fee Related
-
1994
- 1994-04-25 JP JP6086114A patent/JP2505112B2/ja not_active Expired - Lifetime
- 1994-05-11 EP EP94303380A patent/EP0625752A2/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0625752A2 (en) | 1994-11-23 |
US5455946A (en) | 1995-10-03 |
JP2505112B2 (ja) | 1996-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2505112B2 (ja) | トランザクション管理方法 | |
US6205449B1 (en) | System and method for providing hot spare redundancy and recovery for a very large database management system | |
JP2679779B2 (ja) | トランザクション処理方法及び装置 | |
US6061769A (en) | Data set backup in a shared environment | |
US5581750A (en) | System and method for improving data recovery performance | |
US4945474A (en) | Method for restoring a database after I/O error employing write-ahead logging protocols | |
US6035379A (en) | Transaction processing for user data employing both logging and shadow copying | |
US7266669B2 (en) | File system with file management function and file management method | |
US4868744A (en) | Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log | |
US6185699B1 (en) | Method and apparatus providing system availability during DBMS restart recovery | |
US5333303A (en) | Method for providing data availability in a transaction-oriented system during restart after a failure | |
US5485608A (en) | Methods and apparatus for updating information in a computer system using logs and state identifiers | |
US5317731A (en) | Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor | |
US7779295B1 (en) | Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints | |
JPH0683679A (ja) | データのバックアップ・コピー中の同時アクセスの方法及びシステム | |
JPH0827750B2 (ja) | 複数コンピュータ・データ共用システムにおける共用記憶の障害からのデータベースの回復方法 | |
EP0295424B1 (en) | Method for managing subpage concurrency control and partial transaction rollback in a transaction-oriented system of the write-ahead logging type | |
JPH0887511A (ja) | B木インデクスの管理方法およびシステム | |
JPH08504528A (ja) | データベースにおけるメモリ空間の最適化方法 | |
JPH05210555A (ja) | ゼロ時間データ・バックアップ・コピーの方法及び装置 | |
Lomet | High speed on-line backup when using logical log operations | |
Silberschatz et al. | Recovery system | |
EP0834128B1 (en) | Data set backup in a shared environment | |
WO1993003436A1 (en) | Method and apparatus for reducing lock period of shared buffer | |
Woo et al. | An effective recovery under fuzzy checkpointing in main memory databases |