FLASHBACK_ON LOG_MODE ------------------------------------------------------ ------------------------------------ NO ARCHIVELOG --调整参数 SQL> alter system set db_recovery_file_dest_size=3G scope=spfile;
System altered.
SQL> alter system set db_recovery_file_dest="/u01/app/oracle/flashback_area/" scope=spfile;
System altered.
SQL> alter system set db_flashback_retention_target=2880 scope=spfile;
CURRENT_SCN ----------- 7765990 --删除测试表 SQL> conn / as sysdba Connected. SQL> select count(*) from zx.flash_t;
COUNT(*) ---------- 6236
SQL> drop table zx.flash_t;
Table dropped.
SQL> select count(*) from zx.flash_t; select count(*) from zx.flash_t * ERROR at line 1: ORA-00942: table or view does not exist --闪回数据库 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started.
Total System Global Area 599785472 bytes Fixed Size 2085776 bytes Variable Size 192941168 bytes Database Buffers 398458880 bytes Redo Buffers 6299648 bytes Database mounted. --执行闪回 SQL> flashback database to scn 7765990;
Flashback complete. --以resetlogs方式打开数据库 SQL> alter database open resetlogs; --可以使用alter database open read only打开数据库查看闪回后数据库的状态,如果闪回的不理想,重启到mount模式重新做flashback database Database altered. --验证测试表得到恢复 SQL> select count(*) from zx.flash_t;
COUNT(*) ---------- 6236闪回还可以指定时间或还原点 FLASHBACK DATABASE TO RESTORE POINT BEFORE_CHANGES; FLASHBACK DATABASE TO TIME "TO_DATE("09/20/00","MM/DD/YY")"; 官方文档:http://docs.oracle.com/cd/B19306_01/backup.102/b14192/flashptr005.htm#BGBDCAFA更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址