This article will help you recover a table upto a specified time. This Procedure was tested on Oracle 10g Release 2 Firstly create a test table which will be used for testing
Create table Emp_new as select * from emp where 1=2;
Insert some values and issue a commit.
Now select the systimestamp from the database.
Select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
09-Nov-09 07.16.47.906882 PM +08:00
Now delete data from the Emp_new table and commit it.
Delete from emp_new;
Commit;
Now select the systimestamp again from the database.
select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
09-Nov-09 07.23.47.906882 PM +08:00
Now you know that table was truncated at 7:16. So we will perform recovery / Flashback till 3:11
INSERT INTO emp_new
(SELECT * FROM emp_new AS OF TIMESTAMP TO_TIMESTAMP('09-NOV-09 19:16:00','DD-MON-YY HH24: MI: SS'))
Commit;
Now you can see the data has been restored in the table.
SQL> Select * from emp_test;
Friday, December 4, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment