查询当前的SCN:
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1170420
清空表(truncate表后是不能进行闪回表的)
SQL> truncate table tom.t;
Table truncated.
SQL> select * from tom.t;
no rows selected
关闭实例启动到mount状态:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 417546240 bytes
Fixed Size 2228944 bytes
Variable Size 318770480 bytes
Database Buffers 88080384 bytes
Redo Buffers 8466432 bytes
Database mounted.
闪回数据库到SNC 1170420:
SQL> flashback database to scn 1170420;
Flashback complete.
只读方式打开数据库,查询数据是否恢复:
SQL> alter database open read only;
Database altered.
SQL> select * from tom.t;
ID NAME
---------- --------------------
3 mark3
1 mark1
2 mark2
关闭数据库,以resetlogs方式打开数据库:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 417546240 bytes
Fixed Size 2228944 bytes
Variable Size 318770480 bytes
Database Buffers 88080384 bytes
Redo Buffers 8466432 bytes
Database mounted.
SQL> alter database open resetlogs;
Database altered.
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1170730
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 1
Next log sequence to archive 1
Current log sequence 1
SQL>