oracle flashback database,oracle flashback特性(3.1)--Flashback Database介绍

2、限制条件

A.Flashback database是用来将数据库中的数年恢复至之前的某个时间点,而非介质恢复,你不可能使用flashback database恢复之前被删除的某个数据文件。

B.如果控制文件被重建,则在此之前所产生的所有flashback 日志统统失效,不能将数据库flashback到控制文件被重建之前。

C.对于nologging模式下插入的数据,flashback database也恢复不了,因此建议数据库处于force logging模式。

附C:

什么是Flash Recovery Area(闪回区)

直白来讲,你尽可以将Flash Recovery Area看做一个目录,只不过往这个目录里扔垃圾的不再是操作者你,而是被你操作的oracle,oracle也不是偷偷摸摸扔,人家光明正大,并且完全自动,不仅如此,它不旦将自己产品的日志扔了进来,而且建议你也最好将一些恢复相关的文件都统统扔到这个目录中,比如:归档文件,RMAN的备份集,控制文件的备份,Online Redo Logs等,总之就是如果你希望能够将数据库恢复到之前任意一个时间点的话,你就需要将恢复所需的各种文件、备份集统统置于Flash Recovery Area中。

这就带来另外一个问题,该区域设多大合适呢(这里我们要肯定一点,oracle在这方面还是给了我们一点点自主权的,比如,我们可以通过设置来限制Flash Recovery Area最大可使用的空间,而不是像其某些特性那样指定一个路径之后,有多少剩余空间它就会用多少)?Oracle是这样建议的,flash recovery area设置的越大,flashback database的恢复能力就越强,因此建议flash recovery area能够放的下所有的数据文件,增量备份,以及所有尚未备份的归档文件,当然还有它自己产生的flashback logs(什么是flashback log呢,可以将其与online redologs对应起来理解,flashback log用来记录数据块的修改,这样当需要flashback时,通过flashback log就可以快速恢复到指定时间点时块的状态)。在数据库运行过程中,oracle自动向该区域写入文件,当剩余空间不足15%的时候,它就会在alert中增加警告,提示你空间不足。但此时不会影响数据库的正常运转,直到所有空间统统被用掉之后,oracle首先尝试删除寻些过期的文件,冗余文件或备份过的文件,如果这些做完了,还是没有空闲空间的话,数据库就被hang住了,如果是生产数据库,影响还是很恶劣的啊,因此,该区域的空间设置还是需要仔细思量的。当然,关于生产数据库是否有必要打开flash recovery area这里不多评论,后续再续专题讨论,另外关于flash recovery area的管理也非本系列关注之重点,不过多讨论,感兴趣的朋友可以自行参考Backup and Recovery Basics官方文档。

再来认识一下初始化参数:DB_FLASHBACK_RETENTION_TARGET

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值