ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-01555

ORA-01555

原创 Linux操作系统 作者:wgj860215 时间:2010-03-16 16:38:05 0 删除 编辑

ORA-01555: snapshot too old: rollback segment number %s with name \\"%s\\" too small

The process which generated this error was in need for rollback/undo records to generate its consistent view.
At some point in time however, the data needed by your session (of which the undo records were written by another process) were marked as being free (a commit was done by that other session), and some other process already wrote other rollback/undo information to it.

If you're using manual UNDO Mode or use an Oracle version <9i, you can try to set a larger optimal size on the rollback segments.
You can issue following select to determine the current optimal size and the highwater mark size (maximum size ever reached since database startup).
:

select rb.segment_name, rs.optsize, rs.hwmsize
from v$rollstat rs, dba_rollback_segs rb
where rs.usn = rb.segment_id


To change the optimal size you can issue following select:


alter rollback segment rbs0 storage (optimal 100m);

Pay attention that the size you specify for optimal will be constantly allocated inside the tablepace.
If you are using automatic UNDO mode, you can try to increase the value of undo_retention.


alter system set undo_retention=10800;

The value of undo_retention is the time in seconds the database tries to keep the undo blocks (not mark as being free) inside the undo tablespace.



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

上一篇: go语言初探
请登录后发表评论 登录
全部评论

注册时间:2010-03-16

  • 博文量
    40
  • 访问量
    33792