- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
闪回操作和Undo讲述
第9章 闪回操作和Undo表空间
9.1闪回操作
闪回在Oracle9i就已经提出,在Oracle 10g中,数据闪回功能更加完善,可以在
不对数据库进行不完全恢复的情况下,对某一个指定的表进行恢复。
9.1.1基本概念
闪回操作使数据库中的实体显示或回到过去某一时间点,这样可以实现对历史数据的恢复。
闪回数据库功能可以将Oracle数据库恢复到以前的时间点。传统方法是进行时间点恢复。然而,时间点恢复需要数小时甚至几天的时间。
闪回数据库是进行时间点恢复的新方法。它能够快速将Oracle数据库恢复到以前的时间,以正确更正由于逻辑数据损坏或用户错误而引起的任何问题。当需要恢复时,可以将数据库恢复到错误前的时间点,并且只恢复改变的数据块。
第9章 闪回操作和Undo表空间
9.1.1基本概念
在Oracle 10g中,闪回操作包括:
(1) 查询闪回(Flashback Query):查询过去某个指定时间、指定实体的数据,恢复错误的数据库更新、删除等。
(2) 表闪回(Flashback Table):使表返回到过去某一时间的状态,可以恢复表、取消对表进行的修改。
删除闪回(Flashback Drop):可以将删除的表重新恢复。
(4) 数据库闪回(Flashback Database):可以将整个数据库回退到过去某个时间点。
9.1.2查询闪回
Oracle查询闪回使管理员或用户能够查询过去某些时间点的任何数据,查看和重
建因意外被删除或更改而丢失的数据。
闪回查询管理简单,数据库可自动保存必要的信息,以在可配置时间内重新将数据恢复过去的状态。
9.1.2查询闪回
执行查询闪回操作时,需要使用两个时间函数:
TIMESTAMP和TO_TIMESTAMP。
其中,函数TO_TIMESTAMP的语法格式为:
TO_TIMESTAMP(’timepoint’,’format’)
其中:
timepoint:表示某时间点。
format:需要把timepoint格式化成何种格式。
9.1.2查询闪回
【例9.1】使用查询闪回恢复删除的数据。
(1) 查询表XS_JSJ中的数据:
SQLSET TIME ON
16:11:37 SQLSELECT * FROM XS_JSJ;
XH XM ZYM XB CSSJ ZXF BZ
061101 王林 计算机 男 1986-02-10 50 NULL
061102 程明 计算机 男 1987-02-01 50 NULL
061103 王燕 计算机 女 1985-10-06 50 NULL
061104 韦严平 计算机 男 1986-08-26 50 NULL
061106 李方方 计算机 男 1986-11-20 50 NULL
061107 李明 计算机 男 1986-05-01 54 提前修完《数据结
构》,并获学分
061108 林一帆 计算机 男 1985-08-05 52 已提前修完一门课
061109 张强民 计算机 男 1984-08-11 50 NULL
061110 张蔚 计算机 女 1987-07-22 50 三好生
061111 赵琳 计算机 女 1986-03-18 50 NULL
061113 严红 计算机 女 1985-08-11 48 有一门功课不及
格,待补考
9.1.2查询闪回
(2) 删除表XS_JSJ中所有记录并提交。
16:12:24 SQLDELETE FROM XS_JSJ;
16:13:15 SQLCOMMIT;
(3) 进行查询回闪。
16:14:12 SQLSELECT * FROM XS_JSJ AS OF TIMESTAMP
TO_TIMESTAMP(2006-5-31 16:12:25,
YYYY-MM-DD HH24:MI:SS);
执行以上语句后,可以看到表中原来的数据。
(4) 将闪回中的数据重新插入XS_JSJ表中。
16:16:21 SQLINSERT INTO XS_JSJ
SELECT * FROM XS_JSJ AS OF TIMESTAMP
TO_TIMESTAMP(2006-5-31 16:12:25,
YYYY-MM-DD HH24:MI:SS);
9.1.3表闪回
利用表闪回可以恢复表,取消对表所进行的修改。
表闪回要求用户具有以下
文档评论(0)