まず、変更をコミットしましたか?そうでない場合は、rollback
を発行するだけです。 変更を元に戻します。
変更をコミットしたとすると、他のユーザーが同時にテーブルを変更していますか?他の人が行った変更を保持し、トランザクションで行った変更のみを元に戻す必要がありますか?または、変更が行われる前の時点にテーブル全体を復元できますか?
テーブル全体を特定の時点に復元できる場合
FLASHBACK TABLE <<table name>>
TO TIMESTAMP( systimestamp - interval '10' minute )
UNDO
を想定して、テーブルを10分前の状態に戻します。 そうするために必要なものは引き続き利用可能です(したがって、間違いを犯した後、その間違いをフラッシュバックできるようになるまでの時間は限られています)。 FLASHBACK TABLE
を発行するため 、また、それを確認する必要があります
- テーブルで行の移動が有効になっています
ALTER TABLE <<table name>> ENABLE ROW MOVEMENT
-
FLASHBACK
が必要です テーブルまたはFLASHBACK ANY TABLE
に対する権限 システム特権。