本章概述为了使Oracle数据库从任何逻辑误操作中迅速恢复,Oracle数据库提供了一系列人为错误更正技术,称为闪回。使用闪回(Flashback)技术可以实现基于磁盘上闪回恢复区的自动备份与恢复。本章介绍与数据库闪回相关的知识。闪回技术从oracle9i版本的闪回查询开始,在Oracle10g版本中系统地使用,Oracle11g版本中进行了加强。,Oracle数据库提供了一系列人为错误更正技术,称为闪回。传统上,从人为错误中恢复数据库唯一的办法就是采用用户管理的备份和恢复技术。而闪回技术提供了从逻辑错误中恢复的更有效和更快的方法,多数情况下,在用这种技术进行恢复时数据库仍然联机并对用户可用。此外,闪回技术允许选择性地复原某些对象。在Oracle11g中,闪回技术包括以下方面:闪回数据库(FlashbackDatabase):允许用户通过FlashbackDatabase语句,(系统更改号)值时的状态。闪回丢弃(FlashbackDrop):类似于操作系统的垃圾回收站功能,可以从中恢复被drop的表或索引。该功能基于撤销数据。3闪回查询(FlashbackQuery):值时表中的数据信息。闪回版本查询(FlashbackVersionQuary):段内表中数据的变化情况。闪回事务查询(FlashbackTransactionQuery):查看某个事务或所有事务在过去一段时间对数据进行的修改。闪回表(FlashbackTable):值时的状态。闪回技术最大的特点是实现自动备份与恢复,大大减小了管理开销。当Oracle数据库发生人为故障时,不需要事先备份数据库,就可以利用闪回技术快速而方便地进行恢复。为了使用数据库的闪回技术,必须启用撤销表空间自动管理回滚信息。如果要使用闪回删除技术和闪回数据库技术,还需要启用回收站、闪回恢复区。.(系统更改号)上。这是大多数逻辑损害时恢复数据库的最佳选择。Oracle系统为了使用数据库的闪回功能,特别创建了另外一组日志,就是Flashback_logs(闪回日志),记录数据库的闪回操作。因为恢复不再受数据库大小的影响,使用闪回数据库恢复比用传统的恢复方法要快得多。也就是说,传统的恢复时间(MTTR)是由所需重建的数据文件的大小和所要应用的归档日志的大小决定的。而使用闪回数据库,恢复时间是由恢复过程中需要备份的变化的数量决定的,而不是数据文件和归档日志的大小。6闪回数据库的结构是由恢复写入器(RVWR)后台进程和闪回数据库日志组成的。如果要启动闪回数据库功能,RVWR进程也要启动。闪回数据库日志是一种新的日志文件类型,它包括物理数据块先前的“图像”。闪回恢复区是闪回数据库的先决条件,因为RVWR进程要将闪回日志写入该区域中,所以在使用闪回数据库功能时,必须首先配置闪回恢复区。Oracle11g的FLASHBACK命令可以对表级进行恢复,也可以对数据库级进行恢复。要对数据库级进行恢复,就要用到FLASHBACKDATABASE命令,语法格式如下:FLASHBACK[STANDBY]DATABASE<database>{TO[SCN|TIMESTAMP]<exp>|TOBEFORE[SCN|TIMESTAMP]<exp>}7其中参数说明如下:lSTANDBY:或者某个时间点上。如果没有备用数据库,则系统会返回一个错误。如果省略STANDBY子项,则数据库可能是主数据库,也可能是备用数据库。<exp>:。<exp>:。lTOTIMESTAMP:需要恢复的时间表达式。lTOBEFORETIMESTAMP:恢复数据库到之前的时间表达式。用户可以从sysdate中得到系统的当前时间。当用户发出FLASHBACKDATABASE语句之后,数据库会首先检查所需要的归档文件与联机重建日志文件的可用性。如果可用,或者时间点上。8在数据库中闪回数据库的总数和大小由DB_FLASHBACK_RETENTION_TARGET初始化参数控制。可通过查询V$FLASHBACK_DATABASE_LOG视图来确定能恢复到过去多远。如果数据库中所保留的数据不够执行恢复,可使用标准的恢复过程恢复到过去的某个时间点上。如果数据文件集没有保留足够的数据,则数据库会返回一个错误,在这种情况下,可先使用数据文件脱机,然后再发出语句恢复剩余的部分,最后再用标准方法恢复这些脱机的数
Oracle闪回 来自淘豆网m.daumloan.com转载请标明出处.