Flashback database说明

一、闪回数据库依赖闪回日志

1、简介

必要条件:在MOUNT阶段

       必须是归档模式下

       必须设定闪回恢复区(设定db_recovery_file_dest参数),存放闪回日志,闪回日志+归档日志就可以闪回到某个阶段。

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

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

 

启动闪回数据库及操作

       select flashback_on from v$database;

              FLASHBACK_ON

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

              NO

              select name from v$bgprocess where paddr<>'00';    RVWR这个进程是用户闪回功能的,产生闪回日志。

              打开闪回数据库功能:

              shutdown immediate

              startup mount

              alter database flashback on;      v$flashback_database_staT

              alter database open;

       操作实例:   

              SQL> select current_scn from v$database;

              CURRENT_SCN

              -----------

                   696842

              drop table scott.emp purge;

       使用闪回:

              shutdown immediate

                 startup mount

                 flashback database to scn 696842闪回数据库后,可以用下面两种方式打开:

·    建议先READ ONLY打开确认数据是否正确,(注意有时用READ ONLY打开时候会于审计相冲突,需要关掉审计,审计是静态参数,SPFILE)。这里有一个好处:read-only模式打开数据库,然后立刻通过逻辑导出的方式将误操作涉及表的数据导出,再执行recover database命令以重新应用数据库产生的redo,将数据库修复到flashback database操作前的状态,然后再通过逻辑导入的方式,将之前误操作的表重新导入,这样的话对现有数据的影响最小,不会有数据丢失。

·    alter database open resetlogs;指定scn或者timestamp时间点之后产生的数据统统丢失

·     

2、相关的一些视图:

              v$flashback_database_logfile 查询闪回日志列表

              v$flashback_database_log  查询最晚可以闪回到那个时间

              v$flashback_database_stat  查询闪回相关的数据大小

             

·    V$FLASHBACK_DATABASE_LOG

显示闪回数据的信息,用来评估当前负载下需要的闪回空间

desc v$flashback_database_log

Name                                                      Description

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

OLDEST_FLASHBACK_SCN       Lowest system change number (SCN) in the flashback data, for any incarnation

                                                闪回数据最小的scn

OLDEST_FLASHBACK_TIME      Time of the lowest SCN in the flashback data, for any incarnation

                                               闪回数据最小的时间

RETENTION_TARGET                Target retention time (in minutes)

                                               闪回保留时间

FLASHBACK_SIZE                     Current size (in bytes) of the flashback data

                                                闪回数据大小

ESTIMATED_FLASHBACK_SIZE  Estimated size of flashback data needed for the current target retention

                                                 评估满足当前闪回保留时间,需要的闪回空间的大小

                                                                                                                                                                     

 

·    V$FLASHBACK_DATABASE_STAT显示数据库收集到的闪回信息

Name                      Description

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

BEGIN_TIME            Beginning of the time interval 

                                一段时间间隔的起始时间    

END_TIME                End of the time interval  

                                 一段时间间隔的结束时间                             

FLASHBACK_DATA    Number of bytes of flashback data written during the interval        

                                一段时间内闪回数据的大小(bytes)  

DB_DATA                  Number of bytes of database data read and written during the interval

                                 一段时间内数据库读写大小(bytes) 

REDO_DATA              Number of bytes of redo data written during the interval

                                一段时间内redo数据的大小(bytes)

ESTIMATED_FLASHBACK_SIZE Value of ESTIMATED_FLASHBACK_SIZE in V$FLASHBACK_DATABASE_LOG at the

 

                                                end of the time interval

                                                 一段时间间隔的结束时,评估需要闪回空间的大小

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值