Oracleフラッシュバック問合せ
基本的には、以前の時点でデータベースに存在していたが、実行時にSQLが存在しない可能性がありますまたは変更されているデータにアクセスするSQLの一種です。これを行うには、Oracleでは、UNDOの時間セグメントの間に利用可能なデータを使用しています。このセグメントは、知られているように、データは一連の変更前に保存されます。それは以前の変更(コミット)の確認に相談の読み取りの一貫性を確保するために使用され、可能な限り回復(ロールバック)で使用することができます。
SYS>助成金はuser1にDBMS_FLASHBACKの実行;
以下に例を示します。もし法案CLを含むテーブルについてお問い合わせしたいとしましょうlowingと我々が以前に削除された顧客データにアクセスする場合:
SYS> CHAR(SYSDATE、'DD - MM - YYYY HH24:MI')に選択するデュアルfecha_sistemaから。
後で実行することで半時間:
SYS> execのDBMS_FLASHBACK.ENABLE_AT_TIME(TO_DATE('12 - 09から2011 12:05、'DD - MM - YYYY HH24:MI'));
SYS> execのDBMS_FLASHBACK.ENABLE_AT_TIME(TO_DATE('12 - 09から2011 12:05、'DD - MM - YYYY HH24:MI'));
PL / SQLプロシージャが正常に完了しました。
SYS> SELECT * FROM WHERE t_facturas cod_cliente = '00125';
... ...
... ...
... ...
...&HelliP;
4選択したレコードを。
SYS> dbms_flasback.disable実行;
SYS t_facturasから> SELECT COUNT(*)WHERE cod_cliente = '00125';
COUNT(*)
------
0
同じ変更番号のSCNにアクセスして取得することができます。
SYS> dbms_flashback.get_system_change_numberはデュアルから選択します。
GET_SYSTEM_CHANGE_NUMBER
------------------------
1307125
SYS> execのdbms_flashback.enable_at_system_change_number(1307125);
PL / SQLプロシージャが正常に完了しました
それは文の"選択を使用することも可能です...のように...":
SYS> SELECT * t_facturas cod_cliente = '00125'タイムスタンプのようにTO_TIMESTAMP('12 - 09から2011 12:05'、'DD - MM - YYYY HH24:MI')から;
SYS> SELECT * FROM WHERE t_facturas cod_cliente SCN 1307125のように= '00125';
セッションがフラッシュバック問合せモードのときに、我々は唯一のSELECTステートメントを実行できることに留意してください。更新ステートメントは、(挿入、削除および更新)許可されていません。
このオプションを使用して日常業務の中で取得したデータで動作するように一時テーブルを使用すると便利です。
SYS>テーブルのt_facturas_antを作成する、MI'):(t_facturas cod_cliente = '00125'タイムスタンプのようにTO_TIMESTAMP('12 - 09から2011 12:05、'DD - MM - YYYY HH24から*を選択しとして
その他のオプションのフラッシュバック問合せ
- フラッシュバックバージョン問合せ:テーブルへの歴史的変化へのアクセス。
- フラッシュバックトランザクション問合せ:特定のトランザクションの歴史的な変化へのアクセス。
- フラッシュバック表:上記の、しかし単一のテーブルのデータへのアクセス。
- フラッシュバックドロップ:('ごみ箱")削除されたテーブルを取得する。
- フラッシュバックデータベースは:それは過去の時間にあったようにDBを残したりできる。バックアップを復元するために類似しているが、プロセスのフラッシュバックの時間の制約があるが、バックアップコピーを取得するために、はるかに高速。あなたはフラッシュバックモードとフラッシュリカバリ領域を有効にしておく必要があります。
これらのオプションの一部は、マネージャーが"エンタープライズエディション"であることが必要です。
それは、、複数のオプション"巻き戻し"を持つと我々はピンチ以上かかることができる非常に便利なステートメントとして記載されている。