第12章闪回技术ok课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第12章闪回技术ok课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 章闪回 技术 ok 课件
- 资源描述:
-
1、第第12章章 闪回技术闪回技术Oracle数据库应用技术主要内容主要内容p闪回技术介绍p闪回查询p闪回版本查询p闪回事务查询p闪回表p闪回删除p闪回数据库 Oracle数据库应用技术12.1 闪回技术介绍闪回技术介绍p闪回基本概念p闪回技术分类Oracle数据库应用技术基本概念基本概念pOracle 9i实现了基于回滚段的闪回查询(Flashback Query)技术,即从回滚段中读取一定时间内对表进行操作的数据,恢复错误的DML操作。p在Oracle 11g中,除提高了闪回查询功能,实现了闪回版本查询、闪回事务查询外,还实现了闪回表、闪回删除和闪回数据库的功能。p闪回技术是数据库恢复技术历史
2、上一次重大的进步,从根本上改变了数据恢复。p采用闪回技术,可以针对行级和事务级发生过变化的数据进行恢复,减少了数据恢复的时间,而且操作简单,通过SQL语句就可以实现数据的恢复,大大提高了数据库恢复的效率。 Oracle数据库应用技术闪回技术分类闪回技术分类p闪回查询(Flashback Query):查询过去某个时间点或某个SCN值时表中的数据信息;p闪回版本查询(Flashback Version Query):查询过去某个时间段或某个SCN段内表中数据的变化情况;p闪回事务查询(Flashback Transaction Query):查看某个事务或所有事务在过去一段时间对数据进行的修改;
3、p闪回表(Flashback Table):将表恢复到过去的某个时间点或某个SCN值时的状态;p闪回删除(Flashback Drop):将已经删除的表及其关联对象恢复到删除前的状态;p闪回数据库(Flashback Database):将数据库恢复到过去某个时间点或某个SCN值时的状态。Oracle数据库应用技术12.2 闪回查询闪回查询p闪回查询的概念p闪回查询操作Oracle数据库应用技术12.2.1闪回查询的概念闪回查询的概念闪回查询是指利用数据库回滚段存放的信息查看指定表中过去某个时间点的数据信息,或过去某个时间段数据的变化情况,或某个事务对该表的操作信息等。为了使用闪回查询功能,需
4、要启动数据库撤销表空间来管理回滚信息。 与撤销表空间相关的参数包括 : UNDO_MANAGEMENT:指定回滚段的管理方式指定回滚段的管理方式,如如果设置为果设置为AUTO,则采用撤销表空间自动管理回滚信息则采用撤销表空间自动管理回滚信息; UNDO_TABLESPACE:指定用于回滚信息自动管理的:指定用于回滚信息自动管理的撤销表空间名;撤销表空间名; UNDO_RETENTIOIN:指定回滚信息的最长保留时间。:指定回滚信息的最长保留时间。 Oracle数据库应用技术12.2.2闪回查询操作闪回查询操作闪回查询可以返回过去某个时间点已经提交事务操作的结果。基本语法:SELECT colu
5、mn_name,FROM table_nameAS OF SCN|TIMESTAMP expressionWHERE condition 基于AS OF TIMESTAMP的闪回查询 基于AS OF SCN的闪回查询 Oracle数据库应用技术为方便测试,需要打开时间显示SQLALTER SESSION SET NLS_DAT_FORMAT=YYY-MM-DD HH24:MI:SS;SQLSET TIME ON;Oracle数据库应用技术20:57:35 SQLSELECT empno,sal FROM scott.emp WHERE empno=7369;EMPNO SAL- -7369 8
6、0020:57:39 SQLUPDATE scott.emp SET sal=2000 WHERE empno=7369;20:57:59 SQLCOMMIT;20:58:03 SQLUPDATE scott.emp SET sal=2500 WHERE empno=7369;20:58:54 SQLCOMMIT;Oracle数据库应用技术20:58:57 SQLSELECT empno,sal FROM scott.emp WHERE empno=7369;EMPNO SAL- -7369 250021:01:02 SQLSELECT empno,sal FROM scott.emp AS
7、OF TIMESTAMP SYSDATE-1/24 WHERE empno=7369;EMPNO SAL- -7369 80021:02:43 SQLSELECT empno,sal FROM scott.emp AS OF TIMESTAMP TO_TIMESTAMP(2012-11-22 20:58:10,YYYY-MM-DD HH24:MI:SS) WHERE empno=7369;EMPNO SAL- -7369 2000Oracle数据库应用技术下面是一个基于AS OF SCN的闪回查询示例。21:08:34 SQLSELECT current_scn FROM v$database
8、;CURRENT_SCN-145560021:08:37 SQLSELECT empno,sal FROM scott.emp WHERE empno=7369;EMPNO SAL- -7369 2500Oracle数据库应用技术21:09:08 SQLUPDATE scott.emp SET sal=5000 WHERE empno=7369;21:09:26 SQLCOMMIT;21:09:44 SQLSELECT current_scn FROM v$database;CURRENT_SCN-145563421:09:53 SQLSELECT empno,sal FROM scott.e
9、mp AS OF SCN 1455600 WHERE empno=7369;EMPNO SAL- -7369 2500Oracle数据库应用技术12.3 闪回版本查询闪回版本查询p闪回版本查询的概念p闪回版本查询操作Oracle数据库应用技术12.3.1闪回版本查询的概念闪回版本查询的概念闪回版本查询可以查询一条记录在一段时间内的变化情况,即一条记录的多个提交版本信息。闪回版本查询的基本语法为:SELECT column_name, FROM table_nameVERSIONS BETWEEN SCN|TIMESTAMP MINVALUE|expression AND MAXVALUE|ex
10、pressionAS OF SCN|TIMESTAMP expression WHERE conditionOracle数据库应用技术在闪回版本查询的目标列中,可以使用下列伪列返回行的版本信息。VERSIONS_STARTTIME:基于时间的版本有效范围:基于时间的版本有效范围的下界。的下界。VERSIONS_STARTSCN:基于:基于SCN的版本有效范围的的版本有效范围的下界。下界。VERSIONS_ENDTIME:基于时间的版本有效范围的上:基于时间的版本有效范围的上界。界。VERSIONS_ENDSCN:基于:基于SCN的版本有效范围的上的版本有效范围的上界。界。VERSIONS_XI
11、D:操作的事务:操作的事务ID。VERSIONS_OPERATION:执行操作的类型,:执行操作的类型,I 表示表示INSERT,D 表示表示DELETE,U 表示表示UPDATE。Oracle数据库应用技术13.3.2闪回版本查询操作闪回版本查询操作下面是一个闪回版本查询示例。SQLUPDATE scott.emp SET sal=6000 WHERE empno=7844;SQLUPDATE scott.emp SET sal=6000 WHERE empno=7369;SQLUPDATE scott.emp SET sal=7000 WHERE empno=7369;SQLCOMMIT;
12、SQLUPDATE scott.emp SET sal=7500 WHERE empno=7369;SQLCOMMIT;Oracle数据库应用技术p可以基于VERSIONS BETWEEN TIMESTAMP进行闪回版本查询:nSQLSELECT versions_xid nXID,versions_starttime STARTTIME, nversions_endtime ENDTIME, nversions_operation OPERATION, salnFROM scott.emp VERSIONS BETWEEN nTIMESTAMP MINVALUE AND MAXVALUE n
13、WHERE empno=7369 ORDER BY STARTTIME;Oracle数据库应用技术p可以基于VERSIONS BETWEEN SCN进行闪回版本查询:nSQLSELECT versions_xid XID,versions_startscn nSTARTSCN, versions_endscn ENDSCN, nversions_operation OPERATION, salnFROM scott.emp VERSIONS BETWEEN SCN nMINVALUE AND MAXVALUE nWHERE empno=7369 ORDER BY STARTSCN;Oracle
14、数据库应用技术12.4 闪回事务查询闪回事务查询p闪回事务查询的概念p闪回事务查询操作Oracle数据库应用技术12.4.1闪回事务查询的概念闪回事务查询的概念p闪回事务查询可以返回在一个特定事务中行的历史数据及与事务相关的元数据,或返回在一个时间段内所有事务的操作结果及事务的元数据。Oracle数据库应用技术p在Oracle 11g数据库中,为了记录事务操作的详细信息,需要启动数据库的日志追加功能nSQLALTER DATABASE ADD SUPPLEMENTAL LOG DATA;p可以从FLASHBACK_TRANSATION_QUERY中查看撤销表空间中存储的事务信息Oracle数据
展开阅读全文