ORACLEMASTER 備忘録9(4/13)
続き
メディアリカバリには、“完全リカバリ”と“Point-in-Timeリカバリ”(不完全リカバリ)の2種類がある。
・メディアリカバリの種類
完全リカバリ:
バックアップ時点からのREDOログファイルのすべての情報をデータファイルに反映することで、データベースを“障害発生時直前のコミット状態”まで戻す。データを失うことなくリカバリを完了できるので「完全リカバリ」という。
不完全リカバリ:
ターゲット時刻よりも前に作成されたすべてのデータファイルを含む、データベース全体のバックアップをリストアし、バックアップ時刻からターゲット時刻までのすべてのアーカイブREDOログファイル(必要であればオンラインREDOログファイルも)に格納されている変更をデータファイルに適用することで、データベースを“ターゲット時刻の状態”に戻す。
データベースを“過去の任意の時点”に戻すことができるが、ターゲット時刻から現在までのデータは適用されないため「不完全リカバリ」とも呼ばれる。
フラッシュバック機能
“フラッシュバック機能”を使用すると、ユーザーエラー発生時に、バックアップのリストアやPoint-in-Timeリカバリを実行することなく、過去の時点のデータを表示したり、データベースを過去の時点に巻き戻したりできる。ユーザーエラーとは、ユーザーが誤って重要な表を削除したり、表の内容を削除・変更することによって発生するエラーである。
フラッシュバック機能
フラッシュバック問合せ:
ターゲット時刻を指定してデータベースに問い合わせを行い、指定した時点の問合せ結果を参照する。
フラッシュバックバージョン問合せ:
指定した期間内に1つ以上の表に存在していたすべての行のすべてのバージョンの結果を参照する
フラッシュバックトランザクション問合せ:
1つのトランザクション、または指定した期間内のすべてのトランザクションによって行われた変更の結果を参照する。
フラッシュバック表:
表を過去の指定の時間に戻す。
フラッシュバックドロップ:
ユーザーが表を削除すると、その表はゴミ箱に入れられる削除した表とその依存オブジェクトをゴミ箱から戻すことができる。
フラッシュバックデータベース;
データベースを以前の時点まで戻し、データベースのPoint-in-Timeリカバリを効率的に行う。
なお、“フラッシュバックドロップ”と“フラッシュバック表”については、より詳しく理解しておくことが必要である。
また、フラッシュバックドロップとフラッシュバックデータベース以外の各機能は、過去のデータの参照のために“UNDOデータ”を使用している。