- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 ?
???
您可能关注的文档
最近下载
- 自然辩证法-考试题库.doc
- 妇产科会阴擦洗冲洗护理技术.pptx
- 工程安全应急与响应预案.docx VIP
- Roland罗兰乐器JUNO-Gi 带数字录音功能的便携合成器JUNO-Gi Workshop 04 Realtime Control in the JUNO-Gi支持文档.pdf
- 《压疮压力性损伤的预防和治疗临床实践指南》解读.docx VIP
- 无热吸附式干燥机.doc
- 超星网课《中国古典小说巅峰-四大名著鉴赏》超星尔雅答案2023章节测验答案.doc
- 颊针疗法(基础篇).pptx
- 班会育人-心理健康课件——家校社协同育人,共创美好未来.pptx
- 同桌小伙伴(教学设计)-2024-2025学年岭美版(2024)美术一年级上册.docx VIP
文档评论(0)