oracle 闪回数据库

闪回数据库,整个数据库闪回到以前的时间;
影响全库的数据状态;

如果要实现闪回数据库功能,那么,必须首先进行设置。默认这个功能没有开启;

1.查询当前闪回数据库功能状态
SYS@orcl11g> select flashback_on from v$database;

 FLASHBACK_ON
 ------------------
 NO

2.开启闪回数据库的步骤

 a.一致性关闭数据库

SYS@orcl11g> shutdown immediate;

 b.启动数据库到mount状态

SYS@orcl11g> startup mount;

 c.设置闪回数据库功能

SYS@orcl11g> alter database flashback on;

 d.open数据库

SYS@orcl11g> alter database open;

 f.再次查询状态
SYS@orcl11g> select flashback_on from v$database;

 FLASHBACK_ON
 ------------------
 YES

3.闪回数据库的相关进程以及闪回日志存储区域

 RVWR:
 [oracle@db253 ~]$ ps -ef | grep ora_ | grep rvwr
 oracle   20234     1  0 16:34 ?        00:00:00 ora_rvwr_orcl11g

 闪回日志,存放在闪回恢复区
 [oracle@db253 flashback]$ pwd
 /u01/app/oracle/fast_recovery_area/ORCL11G/flashback

 [oracle@db253 flashback]$ ll
total 205024
-rw-r----- 1 oracle oinstall 104865792 Jun 27 16:37 o1_mf_8wqy8r9n_.flb
-rw-r----- 1 oracle oinstall 104865792 Jun 27 16:34 o1_mf_8wqy8vfj_.flb

 --闪回日志保留时长,默认一天(单位分钟)
SYS@orcl11g> show parameter db_flashback_retention_target

 NAME                                 TYPE        VALUE
 ------------------------------------ ----------- ------------------------------
 db_flashback_retention_target        integer     1440

4.闪回数据库演示

SYS@orcl11g> select current_scn from v$database;

 CURRENT_SCN
 -----------
     2053661

SYS@orcl11g> truncate table hr.test;

 --将数据库闪回到scn:2053661

 --首先关闭数据库
SYS@orcl11g> shutdown immediate;

 --启动到mount状态;
SYS@orcl11g> startup mount;

 --闪回操作
SYS@orcl11g> flashback database to scn 2053661;

 --open数据库,以resetlogs的方式open
SYS@orcl11g> alter database open resetlogs;

 

 

你可能感兴趣的:(database,闪回数据库,flashback)