在执行大事务时,有时oracle会报出如下的错误: ORA-01555:snapshot too old (rollback segment too small)   这说明oracle给此事务随机分配的回滚段太小了,这时可以为它指定一个足够大的回滚段,以确保这个事务的成功执行.例如 set transaction use rollback segment roll_abc; 
.....

解决方案 »

  1.   

    建立一个比较大的回滚段,然后在执行程序时set transaction use rollback segment 就应该可以了。违反了读一致性!!
      

  2.   

    呵来晚了,看看原文吧。
    RA-01555 snapshot too old: rollback segment number string with name "string" too smallCause: Rollback records needed by a reader for consistent read are overwritten by other writers.Action: Use larger rollback segments.
      

  3.   

    这个问题是老生常谈了,基本上你先看看你的应用写的有没有问题,
    回滚段的大小和数目是肯定要改动的了 :)到ITPub.net去搜索一下,一堆一堆的