- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ORACLE FLAHBACK 系列(包含版本9与版本10)
第一章、前言
根据以往的经验,很多操作失误或者用户错误,将导致应用停顿甚至终止,但是,实际上,防止这种误操作的办法是非常用限的。如果没有良好的计划与高超的技术,一个很小的错误将可能导致一个很大的影响,如错误的删除(delete)数据或者是删除(drop)一个表。
那怎么样来防止这种“不小心的操作呢”,Oracle从版本9开始,就开始提供了flashback query(闪回查询)的功能,最初的功能也是很有限的,不仅完全依赖于自动Undo(AUM),对于drop,truncate等DDL操作是毫无办法,而且,由于受到Undo空间限制,能闪回的时间也是有限的。Oracle的版本10中,对falshback做了巨大的改进,不再仅仅是局限于AUM的闪回查询了,甚至可以闪回整个数据库,您将真正的回到操作之前的状态。
在以下的章节中,我们将了解到如下的内容
从Oracle 9i开始的flashback query
从Oracle 9i开始的flashback exp
Oracle 10g的flashback database
Oracle 10g 的flashback table
Oracle 10g 的flashback drop
Oracle 10g 的flashback version query
Oracle 10g 的flashback transaction query
第二章、从Oracle 9i开始的flashback query
2.1、Oracle 9i的flashback query
在过去,如果用户错误操作数据后,除了不完全恢复外,没有好的解决办法,到了Oracle9i,这一个难堪局面有所改善。Oracle 9i中提供了一项新的技术手段——flashback query(闪回查询),这个功能的实现,由一个新的包DBMS_FLASH来实现。用户使用闪回查询可以及时取得误操作前的数据,并可以针对错误进行相应的恢复措施。
如果需要用到闪回查询,必须在init.ora或者是spfile.ora中设置以下参数UNDO_MANAGEMENT = AUTO ,在Oracle9i中,该参数默认就是Auto(AUM)。与此相关的其它参数还有:
SQL show parameter undo
NAME TYPE VALUE
-------------------------------- ----------- -----------
undo_management string AUTO
undo_retention integer 10800
undo_suppress_errors boolean FALSE
undo_tablespace string UNDOTBS
除了确保以上参数中的UNDO_MANAGEMENT = AUTO外,还要注意另外一个参数undo_retention = n(秒)SQL ALTER SYSTEM SET undo_retention = 1200;
System altered.
以上的命令,告诉Oracle,Undo信息将保持1200秒(20分钟),这个将确保任何提交后的信息在Undo中将保持20分钟,除了可以一定程度的防止Ora-01555错误外,Falshback query将也直接的应用到其中的信息。
现在,我们用一个简单的例子来说明Oracle 9i的flashback query
1、创建FLASH用户
SQL create user flash identified by flash;
SQL grant connect, resource to flash;
SQL grant execute on dbms_flashback to flash;
SQL connect flash/flash
2、创建一个测试表
SQL CREATE TABLE tst(t number(5));
Table created.
SQL INSERT INTO tst VALUES(1);
1 row created.
SQL INSERT INTO tst VALUES(2);
1 row created.
SQL COMMIT;
Commit complete.
SQL CREA
文档评论(0)