flashback database 基本介绍一
flashback database 整个架构包括一个进程recover writer (rvwr)后台进程,flashback database log 日志和flash recovery area
一旦数据库启用了flash database ,则RVWR进程会启动,RVWR进程会想flash recovery area内写入flashback database log日志,这些日志包括的数据块的前镜像
下面是启动了之后,RVWR进程:
[oracle@kel ~]$ ps -ef|grep rvwr oracle 5189 1 0 19:08 ? 00:00:00 ora_rvwr_omf
flashback database的基本配置:
在默认情况下,flashback database功能是关闭的。
查看数据库的归档模式及是否启用flashback database:
SQL> select log_mode,flashback_on from v$database; LOG_MODE FLASHBACK_ON ------------------------ ------------------------------------ ARCHIVELOG YES
在启用flashback database 的时候,数据库必须是归档模式,并且闪回之后必须使用resetlogs 打开数据库
配置flashback database,首先需要配置两个参数:
查看闪回目录:
SQL> show parameter db_recover NAME TYPE VALUE ------------------------------------ ------ ------------------------------ db_recovery_file_dest string +recover
配置闪回目录:
SQL> alter system set db_recovery_file_dest ='+ASM' scope=both; System altered.
查看闪回目录大小:
SQL> show parameter db_recovery_file_dest_size NAME TYPE VALUE ------------------------------------ ------ ------------------------------ db_recovery_file_dest_size big in 5G teger
配置闪回目录大小:
SQL> alter system set db_recovery_file_dest_size =2G scope=both; System altered.
查看闪回对象保存时间:单位分钟,默认是一天,代表数据库能回退多少时间
SQL> show parameter db_flashback NAME TYPE VALUE ------------------------------------ ------ ------------------------------ db_flashback_retention_target intege 1440 r
启用禁止数据库闪回
在启用闪回的时候,数据库必须在mount阶段才能启用,如下:
SQL> alter database flashback off; Database altered.
确认启用了闪回数据库:
SQL> select name,current_scn,flashback_on from v$database; current flash database SCN # back on ------------ ------- -------------------- OMF 737257 YES
for linux and python