redo和undo之七快照过老错误

快照过老错误(ora-01555)成因:

      1.undo段太小,不足以在系统上执行工作:由于回滚段是循环使用的,当事务提交以后,该事务占用的回滚段事物表会被标记为非活动,回滚短空间可以被覆盖重用,如果这时一个查询需要使用被覆盖的回滚段构造前镜像实现读一致性,那么此时就会出现快照过老错误(ora-01555)。

       2.延迟块清除时:由于大量的commit,覆盖了undo段事物表中相关事务槽的事物条目信息,并且查询scn小于回滚段中记录的最小提交scn。

如果数据块中某行被锁定并且没有清除itl信息,而这时undo段事务表中相关的事物槽的事物条目信息已经被覆盖,那么oracle就无法判断查询开始时的scn(T1)和事物提交时的scn(T2)大小.

如果能判断:

t1>t2时,对数据块做延时块清除,返回该块中所需数据给查询.

t1

       3.sqlldr直接方式加载:通过sqlldr direct=true 方式加载数据时,由于不产生重做和回滚信息,在访问这些数据是,可能会产生ora-01555错误。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20844861/viewspace-594787/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20844861/viewspace-594787/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值