Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: ORA-1555

Re: ORA-1555

From: Phil Singer <>
Date: Mon, 5 Feb 2007 20:14:15 -0500
Message-ID: <>

Sanjay Mishra wrote:
> Hi everybody
> I have seen several time ORA-1555 error in few of the Prod Database. SOme of them have very big UNDO tablespaces. All are 9i Databases. What are the other option that need to be checked for such issue beside increasing the space as some of the database has UNDO tablespace around 50-150G
> Is it good to create new undo tablespace and make it default in such scenario and later on dropped the old. Do somebody has set of UNDO checking query that can be ran at some particular point to really see if that big UNDO are really been used so that it can be resized.
> I am thankful for any suggestion for monitoring such ORA-1555 as well as query to check UNDO segment space.
> Sanjay

  1. There are a number of good descriptions of this on the internet, but the one's which come easiest to mind are to search on ORA-1555.
  2. To add to what has already been said, an easy way to get this error is to have a long running query going in the midst of a lot of short transactions, all of which commit and update the rows you are querying.
  3. Even more fun is to have a complicated Data Warehouse summarization routine, which runs for several hours, which commits across an open cursor (without closing the cursor).

Many find it counter-intuitive (I certainly did at first), but frequent commits are the best way to get an ORA-1555, and using a minimum number of commits the best way to avoid it (assuming you have the space).

Remember that in 9i UNDO_RETENTION is a strong plea rather than an absolute command; if Oracle runs out of undo space it will reuse the space as if the parameter were not set.

Phil Singer                         |   psinger1 at chartermi dot net
PhD, OCP, and All Around Good Guy   |   Do the Obvious to Reply
Received on Mon Feb 05 2007 - 19:14:15 CST

Original text of this message