What does "rollback segment too small" mean?
Date: 07 Feb 1995 21:42:28 GMT
Message-ID: <MIKEW.95Feb8104229_at_gopher.dosli.govt.nz>
This may seem like a REALLY stupid question, with a REALLY obvious answer (and it probably is).
I help administer a host that is getting a rash of ORA-01555 errors
01555, 00000, "snapshot too old (rollback segment too small)"
// *Cause: rollback records needed by a reader for consistent read are
// overwritten by other writers
// *Action: Use larger rollback segments
during a long-running query. We have 3 tablespaces:
- Used --- --- Free --- Tablespace Size %Used Exts Segs Bytes Exts Gaps Bytes ---------- ---- ----- ---- ---- ----- ---- ---- ----- SYSTEM 160M 4.7% 216 87 7644K 28 23 153M GIS 2390M 85.9% 1211 417 2052M 180 155 338M TEMP 150M 33.3% 10 1 50M 44 2 100M
Segment Tablespace Initial Next Min Max Status ------- ---------- ------- ---- --- --- ------ SYSTEM SYSTEM 50K 50K 2 99 IN USE RS_TEMP TEMP 5M 5M 10 99 IN USE
The error message seems to imply that the rollback segment has reached it's max extents, and can grow no bigger. Is that correct? However, it should not be possible for RS_TEMP to reach it's maximum 99 extents, 'cos the TEMP tablespace is only 150M. If Oracle trying to allocate more than 150M for RS_TEMP, I would expect to get ORA-01562 ("failed to extend rollback segment"), rather than ORA-01555.
So, I guess I'm confused as to exactly what is happening, and how to fix it. Can anyone enlighten me?
- Mike W.