《Oracle Database 10g基础教程 教学课件 ppt 作者 7-302-09864-6k ch16》由会员分享,可在线阅读,更多相关《Oracle Database 10g基础教程 教学课件 ppt 作者 7-302-09864-6k ch16(13页珍藏版)》请在金锄头文库上搜索。
1、2019年5月23日,第1页,第16章 闪回操作,Oracle Database 10g基础教程 清华大学出版社,教学目标 教学难点和重点 教学过程,2019年5月23日,第2页,教学目标,理解闪回数据库的特征 掌握使用闪回数据库的方式 理解和掌握回收站的概念 理解和掌握闪回被删除表技术 理解和掌握闪回版本查询技术 理解和掌握闪回事务查询技术,2019年5月23日,第3页,教学难点和重点,闪回数据库的特征 使用闪回数据库的方式 回收站的概念 闪回被删除表技术 闪回版本查询技术 闪回事务查询技术,2019年5月23日,第4页,教学过程,16.1 闪回数据库 16.2 闪回被删除的对象 16.3
2、闪回版本查询 16.4 闪回事务查询,2019年5月23日,第5页,16.1 闪回数据库,本节主要介绍闪回数据库的基本特征和使用方式。 基本特征包括闪回数据库的特点和架构,使用方式包括如何执行闪回数据库的操作。,2019年5月23日,第6页,闪回数据库的特征,闪回数据库是Oracle 9i引入的强大功能,这些功能在第二次发布的Oracle 9i中得到了增强。现在,Oracle Database 10g在闪回数据库方面提供了更多的功能。闪回数据库允许用户将整个数据库闪回到指定的时间点。这种功能对于解决逻辑数据遭到破坏的问题是非常有效的。,2019年5月23日,第7页,使用闪回数据库,在Oracl
3、e Database 10g系统中,可以从3种不同的工具中使用闪回数据库的功能。 这3种工具分别是: SQL*Plus RMAN OEM,2019年5月23日,第8页,闪回数据库的视图,Oracle Database 10g提供了好几个视图,这些视图可以用于查看与数据库闪回有关的信息。 这些视图包括: v$database v$flashback_database_log v$flashback_database_stat,2019年5月23日,第9页,16.2 闪回被删除的对象,Oracle Database 10g提供了flashback drop语句。通过使用flashback tabl
4、e to before drop命令,该语句允许恢复drop table命令的操作效果。 本节将要描述flashback table的内容。首先,介绍回收站的概念。然后,描述如何闪回被删除的表对象。接下来,描述与flashback drop相关的数据字典视图。最后,通过一个示例描述如何闪回被删除的对象。,2019年5月23日,第10页,回收站和闪回被删除的对象,为了支持flashback drop功能,Oracle引入了回收站的概念。 当某个表被删除时,它就移动到了回收站中。该对象一致保存在回收站中,直到清除回收站为止。因此,如果使用类似drop table parts的语句,那么parts表
5、就被移动到了回收站中。如果希望彻底删除parts表,而不是保存在回收站中,可以在drop table命令中使用purge参数,2019年5月23日,第11页,示例,前面讲过,从原理上来说,回收站就是一个数据字典表,放置用户drop掉的数据库对象信息。用户进行drop操作的对象并没有被数据库删除,仍然会占用空间,除非是由于用户手工进行purge或者因为存储空间不够而被数据库清掉。数据库有了这样的功能,能够减少很多不必要的麻烦,开发人员误把表删除之后就没有必要急急忙忙找DBA来想办法了。DBA管理上的相关信息可以从user_recyclebin中获取。 下面,通过一个示例,详细讲述闪回删除表的操作
6、。,2019年5月23日,第12页,16.3 闪回版本查询,在 Oracle 9i中,我们看到它推出了以闪回查询形式表示的“时间机器”。该特性允许 DBA看到特定时间的列值,只要在还原段中提供该数据块此前镜像的拷贝即可。但是,闪回查询只提供某时刻数据的固定快照,而不是在两个时间点之间被更改数据的运行状态表示。某些应用程序,例如外币管理的应用程序,可能需要了解一段时期内数值数据的变化,而不仅仅是两个时间点的数值。由于闪回版本查询特性,Oracle Database 10g能够更方便高效地执行该任务。 在本示例中,我们使用了一个银行外币管理应用程序。,2019年5月23日,第13页,16.4 闪回事务查询,Oracle Database 10g提供了重新构造数据库中以前执行过的SQL语句的功能。在以前的版本中,需要使用Log Miner生成数据库中SQL的重做语句。现在,使用闪回事务查询,用户可简单地构建那些改变了数据库的SQL语句。 在Oracle Database 10g系统中,新增的flashback_transaction_query视图支持闪回事务查询的操作。flashback_transaction_query视图的结构如图16-17所示。其中,undo_sql列用于存储可以被闪回的SQL语句。,