Difference between revisions of "Flashback"
From dbawiki
(→Set the database recovery directory and size) |
|||
| Line 8: | Line 8: | ||
exec dbms_flashback.enable_at_time(to_date('24-AUG-2012 12:00:00', 'DD-MON-YYYY HH24:MI:SS')); | exec dbms_flashback.enable_at_time(to_date('24-AUG-2012 12:00:00', 'DD-MON-YYYY HH24:MI:SS')); | ||
===Set the database recovery directory and size=== | ===Set the database recovery directory and size=== | ||
| − | alter system set db_recovery_file_dest='<path>' scope=both; | + | alter system set db_recovery_file_dest='<path>' scope=both; |
| − | alter system set db_recovery_file_dest_size=<size> scope=both; | + | alter system set db_recovery_file_dest_size=<size> scope=both; |
| + | |||
===Copy old data into a new table=== | ===Copy old data into a new table=== | ||
*Create an empty copy of the source table | *Create an empty copy of the source table | ||
Revision as of 10:12, 11 November 2012
Contents
Enable flashback
exec dbms_flashback.enable;
Disable flashback
exec dbms_flashback.disable;
Put a session back in time
Note: undo_management must be auto Note: Take a look at undo_retention to get an idea of how far back you might be able to go.
exec dbms_flashback.enable_at_time(to_date('24-AUG-2012 12:00:00', 'DD-MON-YYYY HH24:MI:SS'));
Set the database recovery directory and size
alter system set db_recovery_file_dest='<path>' scope=both; alter system set db_recovery_file_dest_size=<size> scope=both;
Copy old data into a new table
- Create an empty copy of the source table
create table old_table_data tablespace ts_data as select * from ruined_table where rownum < 1;
- Insert the flashback data into it
insert into old_table_data select * from ruined_table as of timestamp to_timestamp ( '24-AUG-12 12:00:00', 'DD-MON-YY HH24:MI:SS' );