闪回介绍

     最近有人提出对表操作,两天后想起来误删除(不是drop操作)。无法恢复到两天前的原始数据。这个策略的制定需要考虑数据库的DML操作的频繁程度及存储空间的大小,而制定需要保存多久的闪回日志。根据这个要求,我启用闪回。

   

      闪回(flashback)是oracle 10g数据库中推出的一个非常有价值的特性,其目的在于当出现逻辑错误(比如用户误删除表,系统管理员误删除了用户等)时,能够非常快速地完成对业务数据的恢复。

顾名思义,闪回数据库就是当出现逻辑错误时,能够将整个数据库回退到出错前的那个时间点上。可以使用闪回数据库的场景通常包括:

1 系统管理员误删除用户

2 用户截断(truncate)表

3  用户错误的执行了某个批处理的任务,或者批处理任务的脚本编写有误,使得多个表的数据发生混乱,我们无法采用闪回表的方式进行恢复。

      实现闪回数据库的基础是闪回日志。只要我们配置了闪回数据库,就会自动创建闪回日志。这时,只要数据库里的数据发生变化,oracle就会将数据被修改前的旧值保存在闪回日志里。当我们需要闪回数据库时,oracle就会读取闪回日志里的记录,并应用到数据库上,从而将数据库回退到历史上的某个时间点的状态。

     闪回日志与联机日志文件一样,都是循环使用的,但它们还是有不少的差异。当事务修改buffer cache里数据块时,会将改变前的值和改变后的值都以重做记录的形式保存在log buffer中,然后通过lgwr进程将这些重做记录写入联机日志文件中。但是在记录闪回日志时,只会将改变的值保存在flashback buffer中,再由rvwr进程写入闪回日志文件中。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值