网站大量收购闲置独家精品文档,联系QQ:2885784924
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORACLE闪回

ORACLE闪回数据 注意:flashback table 需要下面几个条件 1.需要有flashback any table的系统权限或者是flashback这个表的对象权限; 2.需要有对这个表的基本的dml,alter操作权限; 3.必须保证该表row movement(这主要是让flashback记住表的rowid) drop table表恢复 如果删除了表,没有使用purge永久删除,是可以恢复数据的。 A.从flash back 中查询 select * from recyclebin b where b.original_name = BD_CLIENT; B.执行表恢复 flashback table BD_CLIENT to before drop; delete from 表数据恢复 对于删除的数据,只要没有truncate ,可以通过事物提交的时间来恢复。 通过在flashback_transaction_query 视图中获得信息 select * from flashback_transaction_query q where q.table_name =BD_CLIENT; 如果用数据,查询数据恢复 select * from risk.BD_CLIENT as of timestamp to_timestamp(2010-5-10 17:34:42,yyyy-mm-dd hh24:mi:ss); flashback table risk.BD_CLIENT to timestamp to_timestamp(2010-5-10 17:34:42,yyyy-mm-dd hh24:mi:ss); 如果在执行上面的语句的时候出现了ORA-08180: cannot flashback the table because row movement is not enabled的错误,是因为:表没有row movement,执行下面语句即可。 alter table risk.BD_ABS_INFO enable row movement; 地址:/art/200912/170983.htm 补:11.1.1? 应用Flashback Query查询过去的数据 Flashback Query这一特性,最常被应用的就是修复误操作的数据了。注意,这并不是说Flashback Query能够恢复数据。Flashback Query本身不会恢复任何操作或修改,也不能告诉你做过什么操作或修改,实际上Flashback Query特性实际应用时,是基于标准SELECT的扩展,借助该特性能够让用户查询到指定时间点的表中的记录,相当于拥有了看到过去的能力,至于恢复,SELECT的结果都出来了,难道还不懂如何执行INSERT TABLE SELECT或CREATE TABLE AS SELECT吗? ? 基于时间的查询(AS OF TIMESTAMP) 以前面创建的FLASH_TBL表为例,先来删除几条记录并提交: JSSPRE?DELETE?FLASH_TBL?WHERE?ID10; ? 9?rows?deleted. ? JSSPRE?COMMIT; ? Commit?complete. ? JSSPRE?SELECT?*?FROM?FLASH_TBL; ? ????ID???VL ? ----------?-- ? ????10???K ? ????11???L ? ????12???M ? ????13???N ? ????14???O ? ????15???P ? ????16???Q ? ????17???R ? ????18???S ? ????19???T ? ????20???U ? 11???rows?selected.? 这个时候FLASH_TB1表中ID10的记录均已被删除,假设过了一会儿用户发现删除操作执行有误,仍需找回那些被误删的记录该怎么办呢?通过备份恢复吗,如果是在8i或之前版本,恐怕是需要这样,自9i之后,使用Flashback Query的特性,我们可以很轻松地恢复记录(注意并不是任何情况下都可以恢复哟,后面会讲到制约Flashback Query的一些因素,这里假设的都是在理想条件下)。 现在就演示应用Flashback Query,首先是找到它,假设当前距离删除数据有5分钟左右的时间,执行SELECT查询语句,并附加AS OF子句,例如: JSSPRE?SELECT?*?FROM?FLASH_TBL?AS?OF?TIMESTAMP?SYSDATE-5/1440; ? ????ID??VL ? ----------?-- ? ????1???A ? ????2???B ? ???

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档