1.查询是否打开了闪回功能
SQL> select flashback_on,force_logging from V$database;
FLA FOR
--- ---
NO
SQL> alter database flashback on;
alter database flashback on
*
第 1 行出现错误:
ORA-38759: 数据库必须以 EXCLUSIVE 方式装载并且不能打开。
2.打开闪回功能:
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> connect sys/test as sysdba;
已连接到空闲例程。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area
Fixed Size
Variable Size
Database Buffers
Redo Buffers
数据库装载完毕。
SQL> alter database flashback on;
数据库已更改。
SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
SQL> alter database open;
数据库已更改。
3.查询当前的SCN,记录并测试。
select current_scn
from v$database; 13806079
select *
from flash_recovery
update flash_recovery set score='111';
执行
flashback table flash_recovery to scn 13806079 时出错,需打开表的row movement 功能。
alter table flash_recovery enable row movement;
再次执行 flashback table flash_recovery to scn 13806079
4,使用时间标签恢复
flashback table flash_recovery to timestamp to_timestamp('2009-06-05 14:56:21','yyyy-mm-dd hh24:mi:ss');
OK~~~~~~~~~~~~