有効な物理的/ロジカル バックアップがない場合に、Oracleでdelete誤操作が現れた時、flashbackあるいはlogminerログなどの技術でリカバリするのは一般的なやり方だが、多くの場合に、それらを応用しても、リカバリできない場合もある。
Delete操作に対して、Oracle底のデータブロックでrow piece記録は一般的にそのrow flagマークを削除されたとマークするだけ、後のINSERTの記録は削除されたとマークされたデータの構造を上書きする。
とにかく、これらのデータをリカバリできるかどうかはディスクにoracle blockの削除されたデータ行がクリンアップされたことによる。
クリンアップされた前のORACLE PRM-DULツールでこれらのデータをリカバリできる。具体的なステップは普通のデータディクショナリーモードとあまり相違がない。
PRM-DULを起動して、リカバリガイドとディクショナリーモードをクリックする。
すべてのoracleデータファイルを追加する。一時的なファイル、、TEMPFILE、UNDOデータファイル、制御ファイル、及びログファイルを追加する必要がない。
load ボタンをクリックして、PRMは自動的にデータディクショナリーをロードする。つまりbootstrap操作
ここで、PRMの左側にオブジェクトツリが現れる。リカバリしたいユーザーの該当するデータテーブルを選んで、オブジェクトを右クリックしてからunload deleted dataを選ぶ。
PRM-DUL は削除されたデータをリカバリ出来たら、そのデータをFile pathの位置に書き出す。例のデータリカバリ状況は以下の通り:
Comment