1、Oracle10g 数据库基础教程2009第 14章 闪回技术Oracle 10g 数据库基础教程2009本章内容p 闪回技术概述p 闪回查询技术n 闪回查询n 闪回版本查询n 闪回事务查询p 闪回错误操作技术 n 闪回表n 闪回删除n 闪回数据库 Oracle 10g 数据库基础教程2009本章要求p 了解闪回技术p 掌握 闪回查询操作p 掌握闪回版本查询操作p 掌握闪回事务查询操作p 掌握闪回表操作p 掌握闪回删除操作p 掌握闪回数据库操作Oracle 10g 数据库基础教程200914.1 闪回技术概述p 闪回基本概念p 闪回技术分类Oracle 10g 数据库基础教程200914.1.
2、1 基本概念p Oracle 9i实现了基于回滚段的闪回查询( Flashback Query)技术,即从回滚段中读取一定时间内对表进行操作的数据,恢复错误的 DML操作。p 在 Oracle 10g中,除提高了闪回查询功能,实现了闪回版本查询、闪回事务查询外,还实现了闪回表、闪回删除和闪回数据库的功能。p 闪回技术是数据库恢复技术历史上一次重大的进步,从根本上改变了数据恢复。p 采用闪回技术,可以针对行级和事务级发生过变化的数据进行恢复,减少了数据恢复的时间,而且操作简单,通过SQL语句就可以实现数据的恢复,大大提高了数据库恢复的效率。 Oracle 10g 数据库基础教程200914.1.
3、2 闪回技术分类p 闪回查询( Flashback Query):查询过去某个时间点或某个 SCN值时表中的数据信息;p 闪回版本查询( Flashback Version Query):查询过去某个时间段或某个 SCN段内表中数据的变化情况;p 闪回事务查询( Flashback Transaction Query):查看某个事务或所有事务在过去一段时间对数据进行的修改;p 闪回表( Flashback Table):将表恢复到过去的某个时间点或某个 SCN值时的状态;p 闪回删除( Flashback Drop):将已经删除的表及其关联对象恢复到删除前的状态;p 闪回数据库( Flashb
4、ack Database):将数据库恢复到过去某个时间点或某个 SCN值时的状态。Oracle 10g 数据库基础教程2009p 注意n 闪回查询、闪回版本查询、闪回事务查询以及闪回表主要是基于撤销表空间中的回滚信息实现的;n 闪回删除、闪回数据库是基于 Oracle 10g中的回收站( Recycle Bin)和闪回恢复区( Flash Recovery Area)特性实现的。n 为了使用数据库的闪回技术,必须启用撤销表空间自动管理回滚信息。n 如果要使用闪回删除技术和闪回数据库技术,还需要启用回收站、闪回恢复区。Oracle 10g 数据库基础教程200914.2 闪回查询技术p 概述p
5、闪回查询p 闪回版本查询p 闪回事务查询Oracle 10g 数据库基础教程2009p 闪回查询的机制n 闪回查询是指利用数据库回滚段存放的信息查看指定表中过去某个时间点的数据信息,或过去某个时间段数据的变化情况,或某个事务对该表的操作信息等。n 为了使用闪回查询功能,需要启动数据库撤销表空间来管理回滚信息。 n 与撤销表空间相关的参数包括 :p UNDO_MANAGEMENT: 指定回滚段的管理方式 , 如果设置为 AUTO, 则采用撤销表空间自动管理回滚信息 ;p UNDO_TABLESPACE:指定用于回滚信息自动管理的撤销表空间名;p UNDO_RETENTIOIN:指定回滚信息的最长保留时间。 Oracle 10g 数据库基础教程200914.2.1 闪回查询p 闪回查询可以返回过去某个时间点已经提交事务操作的结果。p 基本语法:n SELECT column_name,n FROM table_namen AS OF SCN|TIMESTAMP expressionn WHERE condition p 基于 AS OF TIMESTAMP的闪回查询 p 基于 AS OF SCN的闪回查询