日期:2014-05-16  浏览次数:20507 次

9i和10g闪回技术

一、9i:

1、查找 SCN (System Change Number), Time对应关系:

select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'),
?????? to_char(DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER) AS SCN
? from dual;

?

?

2、根据时间闪回:

SELECT * FROM test AS OF TIMESTAMP TO_TIMESTAMP('2010-04-09 11:25:17', 'yyyy-mm-dd hh24:mi:ss');

?

3、根据SCN闪回:

SELECT * FROM test AS OF SCN 23565583;

?

?

二、10g:

1、数据闪回:Oracle Flashback Database特性允许通过SQL语句Flashback Database语句,让数据库前滚到当前的前一个时间点或者SCN,而不需要做时间点的恢复。闪回数据库可以迅速将数据库回到误操作或人为错误的前一个时间点,如Word中的"撤消"操作,可以不利用备份就快速的实现基于时间点的恢复。Oracle通过创建新的Flashback Logs(闪回日志),记录数据库的闪回操作。如果希望能闪回数据库,需要设置如下参数:DB_RECOVER_FILE_DEST日志的存放位置, DB_RECOVER_FILE_DEST_SIZE恢复区的大小。在创建数据库的时候,Oracle将自动创建恢复区,但默认是关闭的,需要执行 alter database flashback on命令。

?

SQL>flashback database to time to_timestamp(xxx);