Tihiroの頭を休めるIT教室

少しだけ頭使って後は根性

Oracleのフラッシュバック機能のまとめ

概要

OracleDBでフラッシュバックと名のつく機能があるのですが、多すぎるのと名前が似ているのが多く把握するのが困難です。のでまとめました。

ものの、やっぱり混乱する。

UNDOデータを利用するフラッシュバック機能。

UNDOデータが存在しないと失敗する。 所謂、論理レベルのフラッシュバック。

フラッシュバック・クエリ

特定地点へのクエリ発行して、特定地点時点の内容を取得する。

フラッシュバック・バージョンクエリ

特定地点へのクエリ発行して、特定地点時点のメタデータの内容を取得する。

フラッシュバック・トランザクションクエリ

単一または特定期間内のトランザクションによって行われた変更を表示する。

フラッシュバック・トランザクション(バックアウト)

特定トランザクションの取り消しを実行できる。 トランザクションを無効にするトランザクションを作成する模様。

フラッシュバック・テーブル

オンライン状態でテーブルを特定時点に戻せる。

ゴミ箱機能を使ったフラッシュバック

フラッシュバック・ドロップ

DROP TABLEを無効にできる。UNDOは使わない。

フラッシュバック・ログとアーカイブREDOログを利用したフラッシュバック機能。

所謂、物理レベルのフラッシュバック機能。

フラッシュバック・データベース

データベース全体を巻き戻す。

その他

表領域とかスキーマ単位でのフラッシュバック機能はなさそう?

フラッシュバック・ログ

物理レベルのフラッシュバックを実現するためのログ。

フラッシュバック・データ・アーカイブ

機能ではなく設定。 (表ごとに)論理フラッシュバックで遡れる期間を設定する。デフォルトは無効。 UNDOデータを保存している?

高速リカバリ領域

フラッシュバック・ログを保存するところ。フラッシュバック・ロギングを有効にするとフラッシュバック・ログが保存される。 「語感が良い」ということで有名。

サプリメンタル・ロギング

フラッシュバック・トランザクションに必要なもの。 REDOログに情報を追加するかどうかの設定?