Re: What does "rollback segment too small" mean?

From: Vincent A Ventrone <vv_at_mbunix>
Date: 10 Feb 1995 15:11:48 GMT
Message-ID: <3hfvnk$jm3_at_linus.mitre.org>


> 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)"

The number of extents in this case is, I think, immaterial -- your problem is that the RB Seg is simply too small (regardless of the number of extents.) "Snapshot too old" happens when some long query is running concurrently with other transactions that are updating the same db objects. The long-running query ends up needing a LOT of rollback segment entries to maintain a "read-consistent" view of the data (i.e., as it was before before the updates began.) However, as the updating transactions COMMIT, the rollback segments with the before images eventually get written-over, so the long-running query loses its read-consistent view. Solution? More & bigger RB segs.

I'd have to agree that the ORACLE message is somewhat misleading. I believe you said the TEMP tablespace with the RB seg. in question was 150M-- that seems pretty small to me...

Hope this helps.

-- 
   Vince Ventrone
   The MITRE Corporation       "...In my opinion, there's nothing
   Bedford, MA 01730           in this world beats a '52 Vincent
   vav_at_mitre.org               and a redheaded girl."  -- Richard Thompson
Received on Fri Feb 10 1995 - 16:11:48 CET

Original text of this message