Oracle 10g学习之闪回数据库

2014-11-24 17:44:56 · 作者: · 浏览: 0

  目标


  闪回数据库


  去定为每种恢复情形使用哪种闪回技术


  配置和使用闪回数据库


  监视闪回数据库


  使用EM管理闪回数据库


  管理(维护)Flash Recovery Area


  闪回技术概述


  9i中首次引入闪回技术,第一个出现的是闪回查询(flackback query)。


  10g里有了显着的扩展:


  闪回数据库(Flashback Database)


  闪回删除(Flashbackup Drop)


  闪回版本查询(Flashback Versions Query)


  闪回事务查询(Flashback Transaction Query)


  闪回表(FlashbackTable)


  所有的闪回技术,除了闪回数据库,都是基于撤销数据(undodata)。


  闪回数据库技术可以替代不完全恢复,优势在于闪回数据库更快效率更高,它是基于闪回日志的。


  闪回删除、闪回版本查询、闪回事务和闪回表最佳用法是恢复单独的对象或者对象中的行。


  闪回删除------------虚拟回收站,允许被删除的对象重建


  闪回版本查询、闪回事务查询--------------识别和确定需要恢复到先前状态的数据行


  闪回表---------------从错误中恢复单独的表或表组


  闪回数据库最适用于从某些种类的失误中恢复,如截短大表、不完整的批任务或删除了用户。


  闪回数据库概述


  闪回数据库能使整个数据库闪回到特定的时间点。


  闪回数据库恢复比传统恢复操作更快的原因是:恢复不再受数据库大小的影响。


  闪回数据库恢复时间正比于恢复过程汇总需要备份的变化的数量,而不是数据文件和归档日志大小。


  闪回数据库恢复的结构:恢复写入器(PVWR)后台进程和闪回数据库日志组成。


  PVWR在闪回控制区写入闪回数据库日志。


  闪回恢复区。


  闪回数据库的局限:


  1.不能解决介质故障,介质故障仍然需要重建数据文件和恢复归档日志。


  2.缩小数据文件到较小的尺寸,也被称为截短数据文件,闪回数据库不能撤销。


  3.如果控制文件被重建,不能使用闪回数据库


  4.不能完成删除一个表空间并用resetlogs恢复。


  5.不能将数据库闪回到一个SCN值(如果该SCN早于闪回日志中最早的可用的SCN)


  使用Recovery Manager管理闪回恢复区


  闪回恢复区专门用于将所有恢复文件集中存储于磁盘上的某个区域。


  闪回恢复区对恢复过程提供两个主要好处:


  所有恢复文件集中存储在一个区域


  它提供更快的备份和重建方法,因为信息被写入磁盘而不是磁带


  闪回恢复区通过初始化数据库参数而建立,同时也在参数中定义恢复区大小和位置。


  BDA_OUTSTANDING_ALERTS视图可查看闪回恢复区状态信息。


  恢复区使用率达到90%和95%时,10g数据库将向警告日志发送警告信息。90%时10g将自动把已废弃的 文件从闪回恢复区删除。


  配置闪回恢复区


  只需在数据库增加一对数据库参数:db_recovery_file_dest_size db_recovery_file_dest


  例子:


  1.SQL>altersystemsetdb_recovery_file_dest_size=10mscope=both


  修改用alter system


  停用闪回恢复区:alter system set db_recovery_file_dest=' ';


  使用闪回恢复区


  闪回恢复区是一个集中的恢复区域。


  这些文件和数据文件及控制文件有关系。这就减少了手工清除不需要的归档日志。


  V$recovery_file_dest检查消耗的空间和其他关于闪回恢复区的统计信息。


  闪回恢复区可以包括数据文件、控制文件、联机重做日志、各种各样的RMAN文件和闪回日志。用户可以在建立重做日志、控制文件、和归档日志文件时将他们存储在闪回恢复区。