重建回滚段
适当加大INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS这几个参数

解决方案 »

  1.   

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

  2.   

    1、建立一个大的ROLLBACK SEGMENT
    2、或者增大回滚段文件的大小。
    4、给事务指定回滚段。
    5、删除一个ROLLBACK SEGMENT
      

  3.   

    建立一个大的回退段,执行统计或大的数据量操作时动态设定使用这个大回退段,其它操作仍然使用原来的回退段。
    set transaction use rollback segment roll_abc;
      

  4.   

    snapshot too old的原因是因为执行一个很大的查询时,
    由于回滚过小,回滚中的有用信息已经被覆盖导致可以适当增加rollback seg
    但最主要的解决方法(当然如果你的统计不是很急用的话)是让大
    的查询避过高峰期来作