使用oracle 的闪回功能

来源:互联网 发布:c500软件下载 编辑:程序博客网 时间:2024/05/16 18:24

1.查询是否打开了闪回功能

SQL> select flashback_on,force_logging fromV$database;

FLA FOR
--- ---
NO  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  171966464 bytes
FixedSize                  787988 bytes
VariableSize            145488364 bytes
DatabaseBuffers          25165824 bytes
RedoBuffers                524288 bytes
数据库装载完毕。
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 时出错,需打开表的rowmovement 功能。

alter table flash_recovery enable row movement;

再次执行 flashback table flash_recovery to scn13806079 

4,使用时间标签恢复
flashback table flash_recovery to timestampto_timestamp('2009-06-05 14:56:21','yyyy-mm-dd hh24:mi:ss');

 

OK~~~~~~~~~~~~

0 0
原创粉丝点击