2003年11月 1日 リカバリー (recovery) >> 目次 (作成日順)


 
 リカバリー には、以下の 2つがある。

 (1) フォワード・リカバリー (forward recovery)
 (2) バックワード・リカバリー (backward recovery)

 フォワード・リカバリー は、以前の データベース の安定した状態 (the previous stable point) を起点にして、データベース を修復 (restore) し、バックワード・リカバリー は、データベース の整合性を崩した (contaminated) トランザクション を バックアウト する。

 
フォワード・リカバリー は、データベース の旧状態を起点にして最新の状態に修復する やりかた である。

 フォワード・リカバリー は、たいがい、物理的に アクセス ができなくなった (physically unaccessible) データベース を修復するために使われ、最新の バックアップ・コピー を ディスク に ロード する やりかた である。
 すなわち、データベース の バックアップ・コピー を ロード して、ロード された (旧状態の) データベース に対して、(データ の バックアップ 以後、リカバリー・ファイル のなかに スピル された) 「最新の」 トランザクション を、「再度」、実行する (applying 'last' transactions) やりかた である。

 
バックワード・リカバリー は、データベース の最新状態を起点にして旧状態に修復する やりかた である。

 バックワード・リカバリー は、トランザクション を取消す (reversed)。したがって、最新の (current) データベース に対して、リカバリー・ファイル のなかに収録されている 「更新 トランザクション」 を適用して、旧状態に修復する やりかた である。たとえば、同じ トランザクション を、二度、実行したり、間違って実行したために (in the case of duplicate or erroneous update)、データベース の整合性が崩れたときなど、2回実行した トランザクション のなかの 1つを取り消したり、間違って実行した トランザクション を取り消して、データベース を正常な中味にする。

 バックワード・リカバリー では、ユーザ が取り消したい更新 トランザクション を指示すれば、まず、ログ・レコード のなかの 「更新前の データ」 を使って、フォワード 状態の修復として、データ・エリア を回復してから、次ぎに、ログ・レコード のなかの 「更新 トランザクション」 を使って、バックワード 状態の修復として、トランザクション を バックアウト する。□





  << もどる HOME すすむ >>
  ベーシックス