FLASHBACK DATABASE 知识总结

FLASHBACK DATABASE:


原理:
     使用flashbacklog + archivelog + online redolog进行的rewind,比incomplete database recovery更快
     (Flashback Database is much faster than point-in-time recovery because it does not require restoring datafiles from backup and requires applying fewer changes from the archived redo logs.)
     
前提和注意事项:
    1.数据库必须归档状态 + flashback on(如果是恢复到a guranteed restore point可以不需要flashback on)
    2.必须有flash recovery area(参数:db_recovery_file_dest、db_recovery_file_dest_size),若为RAC,flash recovery area必须位于共享存储中
    3.在数据库mount下恢复,但是要保证是current ontrolfile而不是backup or re-created controlfile,不是current ontrolfile的话,flashback log的信息会丢失
    4.flashback database后需要alter database open resetlogs打开库(某些情况下也可以recover database然后正常open)
    5.可以修复逻辑错误,但是不能修复物理错误
    6.如果没有开启force logging,且在恢复段内有nologging操作,恢复后的可能会出现block corruption
    7.数据库中不能有flashback off的tablespaces
    8.flashback log的保留由the DB_FLASHBACK_RETENTION_TARGET initialization parameter and the size of the fast recovery area共同决定,可以通过查询视图V$FLASHBACK_DATABASE_LOG来确认最远可恢复到的地方
    9.不能用flashback database来恢复一个shrink datafile操作,将其offline后可以对其他部分进行flashback database
    
FLASHBACK DATABASE过程:

包括两部分,我们可以理解为restore和recover:
     restore时通过读取flashback log来确认哪些block需要进行reover
     recover部分就是利用flashbacklog + archivelog + online redolog进行reover
     
监控FLASHBACK DATABASE进度的sql:
 
     restore时:
     select sofar, totalwork, units from v$session_longops where opname = 'Flashback Database';
 
     reover时:
     查询V$RECOVERY_PROGRESS
 
FLASHBACK DATABASE语法:
    FLASHBACK DATABASE TO RESTORE POINT 'before_upgrade';
    FLASHBACK DATABASE TO (BEFORE)SCN 202381;
    FLASHBACK DATABASE TO (BEFORE)TIMESTAMP XXX;
 

参考链接:
https://docs.oracle.com/cd/E11882_01/backup.112/e10642/osrecvry.htm#BRADV99982
https://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmflash.htm#BRADV89739
https://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmflash.htm#BRADV603
http://blog.itpub.net/53956/viewspace-1602019/----这个写的也很详细

 

_flashback_barrier_interval----database将data block的before image写入flashback log的间隔频度,默认1800s

V$FLASHBACK_DATABASE_STAT-----数据库收集到的闪回信息
V$FLASHBACK_DATABASE_LOG -----闪回数据的信息,用来评估当前负载下需要的闪回空间

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值