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

ORACLE FLASHBACK DATABASE 知识整理

1、知识储备


1)    只有SYSDBA有权执行,闪回前一定要记录当前SCN

2)    需要停机,并要求处于ARCHIVELOG模式中

3)    闪回日志不能被复用和归档,是自动管理的。RVWR进程负责读SGA中的FLASHBACK BUFFER,写闪回日志,写的的内容是完整的数据块映像的日志。

4)    使用FALSHBACK DATABASE闪回后的各数据块SCN很可能不一致,即闪回结果不是一个确定的时间点,而是该时间点前后的一个范围,所以必须用RESETLOGS打开数据库,或者使用alter database open readonly打开查看是否所需(如果在生产环境,read only后就可以EXP重要的表甚至是整个库了),如果是,再RESETLOGS打开,如果不是,shutdown abort后重新闪回。

5)    闪回的结果与不完全恢复一样,闪回点之后的工作都丢失

6)    不能返回物理讹误,只能返回用户错误导致的逻辑错误。

7)    TRUNCATE的表如果选择闪回,只能应用闪回数据库。

8)    闪回数据库将忽略脱机的表空间

2、配置


SQL> select name,flashback_on from v$database; //查看是否已经启用了闪回,如果启用了就不必重复配置了

NAME       FLASHBACK_ON

--------------- ------------------

TEST3        NO

SQL> ARCHIVE LOG LIST;//必须位于ARCHIVEMODE

Database log mode            Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     11

Next log sequence to archive   13

Current log sequence           13