2

認めざるを得ないのは、まあ、私が本番データベースを台無しにしてしまったことです。SQL Developer で更新クエリを実行しているときに、クエリの一部だけが強調表示されていることに気付きませんでした。SQL Developer の経験がある場合、これは SQL Developer がクエリのそのサブセクションのみを実行することを意味します。 .

これは、クエリが「UPDATE <table> SET <column>=<value>」になったことを意味します。はい、コミットが押されました。

バックアップから復元する以外に、この情報を取得できる方法はありますか?

4

3 に答える 3

9

Oracle では、データベースが 9i 以降であり、元に戻す操作が古すぎない場合、魔法のフラッシュバック クエリがあります。何かのようなもの:

SELECT ...
FROM <table> 
AS OF TIMESTAMP TO_TIMESTAMP('12-FEB-2010 10.55.00.000000');

クエリが返された場合は、データベース構成のundo_retention値が回復に十分なほど高くないORA-01555 Snapshot Too Oldことを意味します...

于 2010-02-12T22:16:14.900 に答える
1

データベースの元に戻すセグメントが作成されましたか? その場合は、実行したことを元に戻すことができます (十分なスペースがあれば)。

于 2010-02-12T22:14:12.470 に答える
0

暗黙的なトランザクションコミットをオンにしておらず、同じ接続を開いたままにしている場合は、最後のトランザクションをロールバックできます。バックアップから復元しない場合は、私が考えることができる他の唯一のオプションです。

于 2010-02-12T22:17:23.803 に答える