• 検索結果がありません。

FLASHBACKコマンドでは、すべての必要なファイルおよびリソースがあることが確認 されるまで、データベースの変更は開始されません。

Point-in-Timeリカバリの結果に反映されないNOLOGGINGの変更が、フラッシュバック

に反映される場合があります。フラッシュバック・データベースが、現在のデータ・

ファイルへの変更のUNDOの根拠として、バックアップされたブロック・イメージを 使用するためです。

FLASHBACKDATABASEは、バックアップのリストアを必要としないため、通常は不完全リ カバリよりも非常に高速です。

制限事項と使用上の注意 制限事項と使用上の注意 制限事項と使用上の注意 制限事項と使用上の注意

このコマンドは、Recovery ManagerプロンプトまたはRUNコマンドから実行できます。

ターゲット・データベースはARCHIVELOGモードである必要があります。

ターゲット・データベースは、Oracle 10g のデータベースである必要があります。

ターゲット・データベースに接続していることが必要です。

SQL文ALTERDATABASE...FLASHBACKONを使用して、フラッシュバックのター ゲット時刻より前にフラッシュバック機能を使用可能にしておく必要があります。この 状態をV$DATABASE.FLASHBACK_ONに問い合せることができます。

ターゲット・データベースは、現行の制御ファイルを使用してマウント済である必要が あります。つまり、制御ファイルは、バックアップできず再作成されません。

フラッシュ・リカバリ領域が有効である必要があります(DB_RECOVERY_FILE_DEST が設定されている必要があります)。フラッシュバック・ログは、フラッシュ・リカバ リ領域にのみ格納されます。

Recovery Managerは、フラッシュバック・データベース操作に使用するアーカイブ

REDOログ・ファイルをリストアできない場合、リストア・フェイルオーバーを実行し ます。リストア・フェイルオーバーの詳細は、『Oracle Databaseバックアップおよびリ カバリ・アドバンスト・ユーザーズ・ガイド』を参照してください。

Recovery Managerがデータベースをフラッシュバックできる時点は、

DB_FLASHBACK_RETENTION_TARGET 初期化パラメータの設定によって異なり、実際 に保存されるフラッシュバック・ログは、使用可能なディスク領域によって決まりま す。フラッシュ・リカバリ領域に、その他の必要なファイルを保存するための十分な領 域がない場合、領域を確保するために、フラッシュバック・ログが削除されます。

FLASHBACKコマンドが、要求されたSCNまたは時刻までデータベースを戻すために十 分なフラッシュバック・データがない場合、Recovery Managerはエラーを発行し、

データベースを変更しません。

不十分なフラッシュバック・データがデータ・ファイルのサブセットに利用できる場 合、これらのデータ・ファイルをオフラインにして、十分なフラッシュバック・ログ・

データがあるデータ・ファイルでFLASHBACKを実行します。その後、十分なフラッ シュバック・ログ・データがなかったデータ・ファイルのPoint-in-Timeリカバリを実 行できます。

Recovery Managerは、SQL文ALTER TABLESPACE ... FLASHBACK OFFを使用してフ

ラッシュバックが使用不可にされたオンライン表領域でフラッシュバック・データベー スを実行しようとすると、エラーを発行します。

FLASHBACKDATABASEを実行した後で、OPENRESETLOGSを実行する必要があります。

データ・ファイルがオフラインのためフラッシュバックされない場合、RESETLOGSは 失敗し、エラーが表示されます。この場合、次のいずれかを実行します。

エラーになったデータ・ファイルを他のデータ・ファイルと同じ時刻またはSCN までフラッシュ・バックします。

RESTOREを実行し、次にRECOVERを実行して、エラーになったデータ・ファイル を残りのデータベースと同じ時刻またはSCNまで戻します。

データ・ファイルをオフラインにし、その後削除します。

Recovery Managerは、一時表領域のデータをフラッシュ・バックしません。

OPEN RESETLOGSより前の時点へは、FLASHBACK DATABASEを実行できません。

現行のSCNとフラッシュバックするSCNの間でデータ・ファイルの状態が変更される と、FLASHBACKコマンドの動作は、実際の状態の変化に応じて異なります。表2-3を 参照してください。

FLASHBACKコマンドが失敗するかまたは中断された場合、データベースは、マウント 状態のままです。再度FLASHBACKコマンドを発行するか、またはデータベースを元の 状態に戻すためにRECOVERを実行します。

フラッシュバック操作を完了すると、データベースを読取り専用でオープンし、意図し た結果が得られたかどうかを確認するためにいくつか問合せを実行することができま す。フラッシュバック操作が不十分であった場合、RECOVER DATABASEを実行して、

すべての変更を再度適用し、フラッシュバック操作を開始した時点の状態までデータ ベースを戻すことができます。その後、再度フラッシュバックを試行できます。フラッ シュバック操作が成功した場合、OPEN RESETLOGSを実行してフラッシュバックの ターゲット時間以降のすべての変更を破棄することも、ロストしたデータをエクスポー トし、RECOVER DATABASEを使用してフラッシュバック・データベース操作の実行前 の時点までデータベースを戻した後、ロストしたデータを再インポートすることもでき ます。

FLASHBACK DATABASE操作を実行した時点では、データベースは、指定したターゲッ ト時間の直前のSCNの状態ではない場合があります。データベースのSCNが更新され る、トランザクション以外のイベントがあります。FLASHBACK DATABASE TOのコマ ンド形式を使用する場合、指定したSCNに対応するトランザクションが存在すると、

フラッシュバック操作後のデータベースは、そのトランザクションまでのすべての変更 およびそのトランザクションをデータベースに含めます。それ以外の場合、

FLASHBACK DATBASE TOとFLASHBACK DATABASE TO BEFORE のどちらのコマン ド形式を使用するかに関係なく、そのトランザクション(は含まない)までのすべての 変更が、データ・ファイルに含まれます。指定したターゲット時刻またはSCNよりも 後の変更は、適用されません。

表 表表

2-3 データ・ファイル操作に対するデータ・ファイル操作に対するデータ・ファイル操作に対するデータ・ファイル操作に対するFLASHBACKの応答の応答の応答の応答 フラッシュバック中に実行するデー

フラッシュバック中に実行するデーフラッシュバック中に実行するデー フラッシュバック中に実行するデー タ・ファイル操作

タ・ファイル操作タ・ファイル操作

タ・ファイル操作 FLASHBACKコマンドの応答コマンドの応答コマンドの応答コマンドの応答

追加 データ・ファイルのレコードを制御ファイルから削除 します。

削除 データ・ファイルを制御ファイルに追加し、オフライ ンとしてマークしてフラッシュバックしません。デー タ・ファイルを同じ時刻またはSCNまでリストアおよ びリカバリできます。

名前の変更 名前の変更は無視されます。データ・ファイルは、現 在の名前のままです。

サイズ変更 失敗します。データ・ファイルをオフラインにし、

FLASHBACKコマンドを再実行できます。データ・ファ イルは、フラッシュバックされません。データ・ファ イルを同じ時刻またはSCNまでリストアおよびリカバ リできます。

オフラインにする この操作は無視されます。データ・ファイルは、現在 のオンライン状態のままです。

オンラインにする この操作は無視されます。データ・ファイルは、現在 のオフライン状態のままです。

読取り専用または読み書き両用にする 制御ファイル内のデータ・ファイルの状態を変更しま す。

キーワードとパラメータ キーワードとパラメータ キーワードとパラメータ キーワードとパラメータ

構文の要素 構文の要素構文の要素

構文の要素 説明説明説明説明

DEVICETYPEdeviceSpecifier 指定したデバイス・タイプ専用の自動チャネルを割り当てます。たとえば、自動 ディスク・チャネルおよび自動テープ・チャネルを構成してFLASHBACK...

DEVICETYPEDISKを発行すると、Recovery Managerではディスク・チャネル のみが割り当てられます。Recovery Managerでは、フラッシュバック・データ ベース操作中のバックアップからREDOログをリストアする必要があります。

最新のフラッシュバック・ログとターゲット時刻の間の変更は、アーカイブ REDOログに基づいて再作成される必要があります。自動チャネルがテープに 割り当てられてられておらず、テープ上のREDOログが必要な場合、

FLASHBACK操作は失敗します。

関連項目 関連項目関連項目

関連項目: 2-131ページの「deviceSpecifier」を参照してください。

DATABASE 指定した時点までデータベースを戻します。V$FLASHBACK_DATABASE_LOGの

OLDEST_FLASHBACK_SCNおよびOLDEST_FLASHBACK_TIMEを問い合せて、

フラッシュバック可能なおおよその最小SCNおよび時点を表示します。

V$DATABASE.CURRENT_SCNの現行のデータベースSCNを表示します。

TO SCN=integer 指定したSCNの時点(を含む)までデータベースを戻します。

TO BEFORE SCN=integer 指定したSCNの直前の状態へデータベースを戻します。指定した時点より以前 のSCNまでのすべての変更が適用されますが、指定したSCNに対応する変更 が存在する場合、その変更は適用されません。

TOSEQUENCE=integer THREAD=integer

REDOログ順序番号とスレッドを上限として指定します。Recovery Manager は、指定した順序番号およびスレッド番号のログの最後の変更(を含む)までの 変更を適用します。

TO BEFORE SEQUENCE=

integer [THREAD= integer]

REDOログ順序番号とスレッドを上限として指定します。Recovery Manager は、指定した順序番号およびスレッド番号のログの最後の変更(は含まない)ま での変更を適用します。

TO TIME='date_string' 指定した時刻の状態へデータベースを戻します。現行の形式への時刻の変換に は、SQLのすべてのDATE式が使用できます。たとえば、FLASHBACK DATABASEUNTILTIME'SYSDATE-7'が使用できます。

TO BEFORE TIME='date_

string'

TO TIME句と同様ですが、指定した時刻の変更は含まずに、その時点までのす べての変更を含む状態へデータベースを戻します。