Flashback 技术是以Undo segment中的内容为基础的,因此受限于UNDO_RETENTON参数。要使用flashback的特性,必须启用自动撤销管理表空间。

在Oracle 10g中, Flash back家族分为以下成员: Flashback Database, Flashback Drop,Flashback Query(分Flashback Query,Flashback Version Query, Flashback Transaction Query 三种) 和Flashback Table。

一、Flashback Database

Flashback Database 功能非常类似与RMAN的不完全恢复,它可以把整个数据库回退到过去的某个时点的状态,这个功能依赖于Flashback log 日志。 比RMAN更快速和高效。 因此Flashback Database 可以看作是不完全恢复的替代技术。但它也有某些限制:

1. Flashback Database 不能解决Media Failure,这种错误RMAN恢复仍是唯一选择

2. 如果删除了数据文件或者利用Shrink技术缩小数据文件大小,这时不能用Flashback Database技术回退到改变之前的状态,这时候就必须先利用RMAN把删除之前或者缩小之前的文件备份restore 出来,然后利用Flashback Database 执行剩下的Flashback Datbase。

3. 如果控制文件是从备份中恢复出来的,或者是重建的控制文件,也不能使用Flashback Database。

4. 使用Flashback Database锁能恢复到的最早的SCN,取决与Flashback Log中记录的最早SCN。

二、Flashback Database 架构

Flashback Database 整个架构包括一个进程Recover Writer(RVWR)后台进程,Flashback Database Log日志 和Flash Recovery Area。一旦数据库启用了Flashback Database, 则RVWR进程会启动,该进程会向Flash Recovery Area中写入Flashback Database Log, 这些日志包括的是数据块的 " 前镜像(before p_w_picpath)", 这也是Flashback Database 技术不完全恢复块的原因。

[oracle@dba ~]$ ps -ef|grep rvw

oracle   12620 12589  0 13:21 pts/1    00:00:00 grep rvw

三、启用Flashback Database

数据库的Flashback Database功能缺省是关闭的,要想启用这个功能,就需要做如下配置。

1. 配置Flash Recovery Area

要想使用Flashback Database, 必须使用Flash Recovery Area,因为Flashback Database Log只能保存在这里。 要配置的2个参数如下,一个是大小,一个是位置。如果数据库是RAC,flash recovery area 必须位于共享存储中。数据库必须处于archivelog 模式。

启用Flash Recovery Area:

SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=20G SCOPE=BOTH;

SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/DBA/FB' SCOPE=BOTH;

禁用Flash Recovery Area:

SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='' ;

对于Flash Recovery Area,Oracle 是这样建议的,flash recovery area 设置的越大,flashback database 的恢复能力就越强,因此建议flash recovery area 能够放的下所有的数据文件,增量备份,以及所有尚未备份的归档文件,当然还有它自己产生的flashback logs。

在数据库运行过程中,oracle 自动向该区域写入文件,当剩余空间不足15%的时候,它就会在alert 中增加警告,提示你空间不足。但此时不会影响数据库的正常运转,直到所有空间统统被用掉之后,oracle 首先尝试删除寻些过期的文件,冗余文件或备份过的文件,如果这些做完了,还是没有空闲空间的话,数据库就被hang 住了。

对于因Flash Recovery Area导致的数据库hang的处理,请参考往后的文档。

2. 启用数据库Flashback 功能

(1)数据库启动到mount状态

SQL> startup mount;

(2)检查Flashback 功能, 缺省时功能是关闭的。

SQL> select name, current_scn, flashback_on from v$database;

NAME    CURRENT_SCN  FLASHBACK_ON

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

DBA      945715          NO

(3)启动Flashback功能

SQL>  alter database flashback on;

数据库已更改。

SQL>  select name, current_scn, flashback_on from v$database;

NAME      CURRENT_SCN FLASHBACK_ON

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

DBA                 0 YES

(4)设置初始化参数:DB_FLASHBACK_RETENTION_TARGET:

SQL>alter system set db_flashback_retention_target=1440 scope=both;

该参数用来控制flashback log 数据保留的时间,或者说,你希望flashback database 能够恢复的最早的时间点。默认值是1440,单位是minute,即24 小时,需要注意的是该参数虽然未直接指定flash recovery area大小,但却受其制约,举个例子假如数据库每天有10%左右的数据变动的话,如果该初始化参数值设置为1440,则flash recovery area 的大小至少要是当前数据库实际容量的10%,如果该初始化参数设置为2880,则flash recovery area 的大小就至少是数据库所占容量的20%。

(5)启动数据库

SQL>alter database open;

oracle flashback database,Oracle Flashback Database相关推荐

  1. oracle flashback on,Oracle Flashback database

    这里简单介绍下flashback database,这个既可以在RMAN中执行,也可以再SQL*PLUS执行,有时候还是挺实用的 必备条件: 1:必须是归档模式 2:必须指定flash recover ...

  2. Oracle 11g Data Guard 使用duplicate from active database 创建 standby database

    用这种方式来搭建DG ,主库的停机时间很少,只需要重启一下,使参数生效.也可以用这种方法进行DB迁移.DG搭建好,然后把备库激活就可以了. 这样整个迁移中宕机时间也比较短. Oracle 11g的py ...

  3. oracle之三闪回flashback

    闪回 flashback 5.1 flashback 的功能:1)利用undo data回溯或撤销提交的数据,2)flashback log 使database 可以恢复到过去某个时间点,可以作为不完 ...

  4. Recreate failovered primary database using Flashback Database

    很多朋友一直对DataGuard的fast-start failover持怀疑的态度;通过observer的观察,(Fast-Start Failover)FSFO提供了一种在primary数据库不可 ...

  5. Oracle Flashback之Flashback table和flashback drop

    在Oracle 10g中, Flash back家族分为以下成员: Flashback Database Flashback Drop Flashback Table Flashback Query( ...

  6. Oracle 闪回特性(FLASHBACK DROP RECYCLEBIN)

    --============================================== -- Oracle 闪回特性(FLASHBACK DROP & RECYCLEBIN) --= ...

  7. Oracle Study学习之--Flashback Archive

    Oracle Study学习之--Flashback Archive CREATE FLASHBACK ARCHIVE Purpose Use the CREATE FLASHBACK ARCHIVE ...

  8. 在Oracle中如何使用Flashback Drop以及管理回收站

    在Oracle11G中,当你删除一张表的时候,Oracle并不会立马就把这个表从数据库中移除,而是将该表与其相关的对象,比如建立在该表上的索引等改一个名字然后一起放在回收站当中.这个特性叫做Flash ...

  9. oracle flashback与归档关系,Oracle Flashback Archive——Oracle闪回归档(下)

    Flashback Archive是Oracle 11g推出的具有针对性和强制性的数据透明归档技术.本篇我们集中介绍与该特性相关的权限和DDL操作问题. 9.Flashback Archive相关权限 ...

最新文章

  1. Nginx——负载均衡
  2. R语言ggplot2可视化添加希腊字母标签:图表题(title)中加入希腊字母、图中加入希腊字母标签
  3. 软件测试的测什么,软件测试人员应具备哪些能力?
  4. statspack系列8
  5. Spring Boot——基于AOP的HTTP操作日志解决方案
  6. poj 2914(stoer_wanger算法求全局最小割)
  7. MySQL中union和order by一起使用的方法
  8. 数据库MySQL(课下作业,必做)
  9. 怎么调安卓软件的dpi_无线鼠标怎么选、性价比高的罗技鼠标(M系列)推荐
  10. chrome浏览器安装印象笔记插件
  11. keil symbol外部符号定义
  12. 面试题10:青蛙跳台阶
  13. 【5G核心网】5GC核心网之网元UPF
  14. IC卡、ID卡、CPU卡、RFID和NFC的区别
  15. HTML的head,头头头头!!!
  16. 数据分析方法论之RFM模型详解
  17. 华为多屏互动看学英语
  18. 形态学 - 膨胀和腐蚀
  19. 南方周末:股神炒股一周年祭 24万本金仅剩7千
  20. python字符串怎么定义_Python 字符串定义

热门文章

  1. 计算机毕业设计Java学生培训管理系统(源码+系统+mysql数据库+lw文档
  2. JavaEE学习路线
  3. c++把数组所有元素剔除_C语言数组——删除数组中的某个值
  4. 【hadoop】HDFS-HA工作机制
  5. 4212: 神牛的养成计划
  6. 422接收数据00_串口通信232/485/422 详细解析
  7. WebBrowser插件使用分享
  8. 阿里云高校ACA笔记
  9. 用Knox做http代理
  10. mysql连接提示错误_服务器经常提示mysql连接错误,有木有解决方法?