Home
All Oracle Error Codes
Oracle DBA Forum

Frequent Oracle Errors

TNS:could not resolve the connect identifier specified
Backtrace message unwound by exceptions
invalid identifier
PL/SQL compilation error
internal error
missing expression
table or view does not exist
end-of-file on communication channel
TNS:listener unknown in connect descriptor
insufficient privileges
PL/SQL: numeric or value error string
TNS:protocol adapter error
ORACLE not available
target host or object does not exist
invalid number
unable to allocate string bytes of shared memory
resource busy and acquire with NOWAIT specified
error occurred at recursive SQL level string
ORACLE initialization or shutdown in progress
archiver error. Connect internal only, until freed
snapshot too old
unable to extend temp segment by string in tablespace
Credential retrieval failed
missing or invalid option
invalid username/password; logon denied
unable to create INITIAL extent for segment
out of process memory when trying to allocate string bytes
shared memory realm does not exist
cannot insert NULL
TNS:unable to connect to destination
remote database not found ora-02019
exception encountered: core dump
inconsistent datatypes
no data found
TNS:operation timed out
PL/SQL: could not find program
existing state of packages has been discarded
maximum number of processes exceeded
error signaled in parallel query server
ORACLE instance terminated. Disconnection forced
TNS:packet writer failure
see ORA-12699
missing right parenthesis
name is already used by an existing object
cannot identify/lock data file
invalid file operation
quoted string not properly terminated

Re: "snapshot too old" and undo_retention

Kirtikumar Deshpande

2005-09-29

Replies:
Sure, if disk space is not an issue for the undo tablespace, you can increase the
undo_retention to whatever you want up to the max 2^32 - 1 seconds, or over 136 years :)

Yes, that is one of the choices to attempt to minimize ORA-1555 error.

You can also find out the time for your longest running query:

select max(maxquerylen) seconds from v$undostat;

Setting undo_retention to more than this value should suffice.

There are no drawbacks in setting undo_retention to a large value. If you have ample undo
space, Oracle will try not to overwrite committed data in undo segments, but again, if it
needs the undo space to keep other transactions alive it will simply ignore the
undo_retention setting and use the space.

Actually, you should look in alert log to get the SQL that got ORA-1555 error, and see if
it can be tuned to not run so long. The log will also show how long the query ran before
getting ORA-1555 error.

HTH,

- Kirti


--- Roger Xu <roger_xu@(protected):

> Hi List,
>
> Background: Oracle 9.2.0 w/ Auto Undo Management
>
> We have a huge table and it takes more than 24 hours to collect its statistics.
>
> But the undo_retention is set to 864000 i.e. 24 hours. As a result we see the following
> a lot.
>
> "ORA-01555: snapshot too old: rollback segment number 11 with name "_SYSSMU11$" too
> small"
>
> Since we have lots of space in the undo tablespace, I am thinking of increasing
> undo_retention to 36 hours
>
> via "ALTER SYSTEM SET UNDO_RETENTION = 129600;"
>
>
> Is this my only choice?
>
> What are the drawbacks to have a large undo_retention value assuming we never run out
> undo tablespace?
>
>
>
> Thanks,
>
> Roger Xu
>
>


   
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com
--
http://www.freelists.org/webpage/oracle-l