ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 10g闪回数据库

Oracle 10g闪回数据库

原创 Linux操作系统 作者:jack22220613 时间:2010-05-20 17:49:09 0 删除 编辑

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>alter system set db_recovery_file_dest_size=10m scope=both
  2.SQL>alter system set db_recovery_file_dest="d:oracleflash_recovery_area est";


  修改用alter system

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

  使用闪回恢复区

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

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

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

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

  影响联机重做日志的参数: 

      DB_CREATE_ONLINE_LOG_DEST_n
  DB_RECOVERY_FILE_DEST
  DB_CREATE_FILE_DEST


  闪回去建立的重做日志默认大小为100M。

影响控制文件的一些参数: 

      CONTROL_FILES
  DB_CREATE_ONLINE_LOG_DEST_n
  DB_RECOVERY_FILE_DEST
  DB_CREATE_FILE_DEST


  影响归档日志的一些参数: 

      LOG_ARCHIVE_DEST_n
  LOG_ARCHIVE_DEST
  LOG_ARCHIVE_DUPLEX_DEST


  备份闪回恢复区

  复制闪回恢复区:

  BACKUP RECOVERY AREA 备份整个恢复区

  BACKUP RECOVERY FILES 只备份恢复区中的文件

  命令必须与磁带设备和媒介管理器一起使用,而且媒介管理器要被设置为使用RMAN。

  配置闪回恢复区

  数据库必须处于归档状态,必须配置闪回恢复区。

  1.库起到mount状态

  2.设置DB_FLASHBACK_RETENTION_TARGET闪回数据的最大保留时间,单位为分钟。Alter DB_FLASHBACK_RETENTION_TARGET=4320; 其值为3天。

  3.启动闪回能力 :alter database flashback on;

  4.Alter database open;

  在RMAN中使用闪回数据库

  如过配置好闪回数据库后,只需在mount模式下启动数据库就做好准备完成闪回数据库恢复了。

  可以从v$FLASHBACK_DATABASE_LOG视图中获得OLDEST_FLASHBACK_SCN或者OLDEST_FLASHBACK_TIME。

  查出来的SCN或者TIME用于数据库闪回的子句 

      :flashback database to scn=689316;
  :flashback database to time="04-9月-2008 11:05:00";


  例子:闪回数据库恢复到指定SCN

  1.查出SCN号 

      Select oldest_flashback_scn from v$flashback_database_log;


  2.启动数据库到mount状态

 3.从RMAN发出闪回数据库恢复命令 

      Connect target
  Flashback database to scn=……;


  4.alter database open resetlogs;

  监视闪回数据库

  动态视图:

  V$DATABASE 显示闪回数据库是启动还是关闭 

      Select flashback_on from v$database;


  V$FLASHBACK_DATABASE_LOG 10g的新特性,查看所需的空间数量

    Select
  oldest_flashback_scn,
  oldest_flashback_time,
  retention_target,


  Flashback_size, -------闪回数据的大小

  estimated_flashback_size -------估计数据的大小 

      From v$flashback_database_log;


  V$FLASHBACK_DATABASE_STAT 显示闪回数据库日志的使用情况

      Select * from v$flashback_database_stat;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10037372/viewspace-663242/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 备份恢复心得二
请登录后发表评论 登录
全部评论

注册时间:2009-05-13

  • 博文量
    94
  • 访问量
    385660