目次:
- フラッシュバック・データベースの動作は、フラッシュバック機能とは異なります。フラッシュバック・データベースでは、フラッシュバック・ログと呼ばれるファイルが格納されます。
- データベースをフラッシュバックする必要がある場合は、心配しないでください。このプロセスは比較的簡単です。
ビデオ: Technology Stacks - Computer Science for Business Leaders 2016 2024
Oracle 12c Recovery Managerを使用して、良好なバックアップでデータベースを前後に移動することが可能であると主張できます。しかし、大きなデータベースを以前の時点に復元することは、時間がかかり退屈です。また、あなたが十分に遠くに戻らなければ、最初からやり直す必要があります。
テストシナリオの繰り返し:
-
開発環境でテストしているアプリケーションがあるとします。アプリケーションを実行するたびに、データが変更されます。次のテストの前にデータを元の値にリセットします。フラッシュバックはこのための優れたツールです。
-
おそらく、誤ってあなたの本番環境で間違ったプログラムが実行された可能性があります。間違いが起きる前の時点に戻る必要があります。データのリカバリでこれを実行できますが、フラッシュバックはより簡単で簡単です。 デプロイメント手順:
-
おそらく、DDLとDMLの両方を使用して、本番スキーマ内のすべての種類のオブジェクトを更新するコードの新しいバージョンをリリースする予定です。アプリケーションが目的のパフォーマンスパラメータで正常に動作していない場合は、簡単にロールバックできます。 <! - 2 - >
フラッシュバック・データベースは、完全なデータベース・リカバリを実行せずにトランザクションをロールバックできる追加情報を記録することによって機能します。それだけでなく、非常に迅速に動作します。フラッシュバック・データベースには、次のようなクイック機能があります。
データベースを読取り専用モードで開いて、十分遠くに戻ったかどうかを確認できます。
-
それほど遠くない?すばやくロールバックします。
-
<! - 3 - >
あまりにも遠い?もう一度ロールフォワードしてください。 -
SQL * PlusまたはOracle Enterprise Manager内の簡単なコマンドを使用して、これらのタスクをすべて実行できます。 RMANを使用してそれらを実行するには、複数の完全復元とその間に多くの時間が必要です。
フラッシュバック・データベースの構成と有効化の方法
フラッシュバック・データベースの動作は、フラッシュバック機能とは異なります。フラッシュバック・データベースでは、フラッシュバック・ログと呼ばれるファイルが格納されます。
フラッシュバック・ログ にブロックを前回までロールバックするデータがあります。フラッシュバック・ログは、flash_recovery_areaに格納されます。 ここには2つの変数があります:
あなたはどこまで戻って行きたいですか?
-
その期間内にデータベースでどのくらいのデータが変更されましたか?
-
あなたが戻ってくる距離が遠く、変更が多くなればなるほど、生成するフラッシュバックログが増えます。それらのログを保存するのに十分なスペースがあるか、どこにでも点滅しないようにしてください。
Flashback Databaseの実装を検討している場合は、パラメータdb_recovery_file_dest_sizeを大きくする必要があります。どのくらい拡大するかは、どれくらいの距離とどのくらいのデータがあるかという2つの変数に依存します。
新しいフラッシュ・リカバリ領域サイズ=現在のフラッシュ・リカバリ領域サイズ+合計データベース・サイズ×0. 3
本質的には、フラッシュ・リカバリ領域の約30%を予約しようとしています。フラッシュバック・ログ用のフラッシュ・リカバリ領域の合計データベース・サイズ。
その後、フラッシュバックログが消費している容量を監視できます。
フラッシュ・リカバリ領域を構成した後、次の手順でデータベースのフラッシュバック機能をオンにします。
フラッシュバックできる距離を考慮します。
-
デフォルト値は24時間(1分、440分)です。あなたが48時間までフラッシュバックできるようにしたいとします。
パラメータdb_flashback_retention_targetを使用してどのくらい戻したいかを設定します。 SYSDBAとしてSQLにログインし、
-
と入力します。この例では、時間は2,880分(48時間)に設定されています。
あなたが選んだ時間は、次のようになります。
システムが変更されました。
データベースをシャットダウンし、マウントモードで再起動します。
-
次のように入力して、データベースをフラッシュバック・モードにします。
-
これが表示されます。
データベースが変更されました。
次のように入力してデータベースを開きます。
-
これが表示されます。
データベースが変更されました。
データベースがフラッシュバック・モードになったので、フラッシュバック・ウィンドウ内の任意の時間にフラッシュバックできます。
Oracle 12cデータベースをロールバックする方法
データベースをフラッシュバックする必要がある場合は、心配しないでください。このプロセスは比較的簡単です。
データベースをフラッシュバックすると、データベースは、返されるように選択された時点の後に発生した変更をすべて削除します。これを軽く考慮しないでください。
次のように入力します: OLDEST_FLASHBACK_TIM -------------------- 14 -AUG-2013 06:34:03
db_flashback_retention_targetは、その時間枠の限度でなければなりません。スペースが問題ではなく、データベースが古いフラッシュバック・ログをパージしていない場合は、より長い時間がかかることがあります。
1時間ほど前に誤ってデータベースからHRスキーマを削除したとします。
データベースをシャットダウンします。
マウントモードで再起動します。
次のように入力します.1はフラッシュバックしたい時間数です。
-
次のように表示されます。
-
フラッシュバックが完了しました。
-
フラッシュバックをパーマネントにする前にチェックしてください。
次のように表示されます:
データベースが変更されました。
-
結果に満足すれば、手順6に進みます。時間が不十分な場合は、手順9に進みます。
データベースを停止します。
データベースをマウントモードで起動します。
-
Resetlogsでデータベースを開きます。
-
これが表示されます。
-
データベースが変更されました。
-
データベースをマウント・モードで再起動します。
次のように入力します。
これが表示されます。
-
メディアの復元が完了しました。
-
データベースをマウントモードで起動します。
タイムスタンプに戻す場合は、手順12に進みます。以前に作成した復元ポイントにフラッシュバックする場合は、ステップ13に進みます。
復元ポイントの詳細については、ポイントを復元する "サイドバー。
-
次のように入力します。
これが表示されます。
フラッシュバックが完了しました。
-
復元ポイントにフラッシュバックする場合は、次のように入力します。
次のように表示されます。
フラッシュバックが完了しました。