- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一 Flashback Query
闪回查询:Flashback Query是利用多版本读一致性的undo表空间(回滚表空间)读取操作前的记录数据。
通过Flashback Query查询回滚段中的数据的几张方式
as of timestamp
a 恢复到5分钟之前
select * from test as of timestamp sysdate-5/1440
b 恢复到某一个具体时间
select * from test as of timestamp to_timestamp(‘2009-05-18 10:10:10’,’
as of scn
基于scn的查询。查询之前要获得scn
获得scn的方式:
1) select current_scn from v$database;
select dbms_flashback.get_system_change_number from dual;
通过scn闪回;
a select * from test as of scn scn
闪回到指定scn时数据库的状态。
两种闪回的联系
前面as of timestamp在数据库内部实质会转换成scn方式,两者存在于同一张表中
即是smon_scn_time表中,此表中只维护最近的1440条记录,因此如果使用as of timestamp 方式闪回只能闪回最近5天内的数据。
查看scn和时间标记的对应关系:select scn,to_char(time_dp,yyyy-mm-dd hh24:mi:ss) from sys.smon_scn_time
注意:此处能否成功闪回还与数据回滚段的大小有关。如果闪回的数据量过大,回滚段不够,则会抛出异常。
4、Version between 版本查询
指定时间段内undo表空间中记录的不同版本
查询方法:在标准语句后面加上 versions between timestamp[/scn]
select id,name,versions_startscn,versions_endscn,versions_operation from area
versions between scn 372466 and 372538
Transaction query事务查询
通过查询flashback_transaction_query 视图来实现。通过查询该视图能够获得一些事务执行时的信息,甚至包括undo语句。
SELECT xid, commit_scn,
commit_timestamp, operation,
undo_sql
FROM flashback_transaction_query q
WHERE q.xid IN (
SELECT versions_xid
FROM cq_test
VERSIONS BETWEEN SCN 183586881 AND 183586933);
查询出undo_sql后,直接执行其内容即是恢复,undo语句内容是事务提交时的逆操
作。
制约该特性的三个方面因素
自动撤销管理表空间
flashback query:需要启用自动撤销管理表空间
flashback table:需要启用recycle bin回收站
flashback database:需要启用flashback area,如果是rac
flashback_area必须位于共享存储中。数据库必须处于archivelog模式
即是undo表空间,替代9i之前的回滚段的说法。采用自动撤销管理表空间后,回滚段不需要dba的介入,完全由数据库在运行时自动分配。同时可以大大降低ora-1555错误发送到概率。
是否启用自动撤销表空间由两个初始化参数决定:
undo_management:auto表使用自动撤销管理表空间,manual表示手工管理。
undo_tablespace:当undo_management值为auto时,该参数指定undo表
空间名称。
Undo空间的大小直接影响flashback query的查询能力,改空间越大,能够存储的undo数据自然越多。
初始化参数
该参数用来指定undo记录保存的最长时间。查看undo_retention参数。此参数只是指定undo数据的过期时间,并不是说数据一定会在undo表空间中保存15分钟,比如说;如果一个事务开始的时候,如果undo表空间已满,不管undo表空间中的数据是否过期,都会被
文档评论(0)