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: Reusing UNEXPIRED UNDO blocks

Daniel Fink

2006-04-04

Replies:
Stephen,

Several questions come to mind.
1) Is the autoextended datafile at/near it's limit?
2) How many undo segments do you have?
3) What version of Oracle?
4) Is undo_retention guaranteed?

In terms of expired/unexpired, it is supposed to mark the block as expired after the last commit time + undo_retention > current time. However, in practice, this is usually not the case. In testing, I (and others) have seen blocks expire almost immediately after a commit and other blocks not expire even days after the last commit time + undo_retention.

If a block is not being used by a current transaction, not part of the undo segment minimum, unexpired and undo_retention is not guaranteed, a current transaction should steal it (and you can see that stealing is occurring in the query you ran). 

Regards,
Daniel Fink

Stephen Barr <ascaroth969@yahoo.co.uk> wrote:
When do oracle reuse an unexpired undo block?

We have a situation where there are four datafiles
associated with the UNDO tablespace -

READONLY@MIDDWHP>select file_id, autoextensible
2 from dba_data_files
3 where tablespace_name = 'UNDOTBS1'
4 /

FILE_ID AUT
---------- ---
164 NO
163 NO
162 NO
2 YES

You can see that one of the datafiles is marked as
autoextensible - an oversight by the DBA's.

However, we're seeing transactions fail with
ORA-01562: failed to extend rollback segment number
17.

The strange thing is that we checked just before this
transaction failed and there was tons of room in the
tablespace - why would this occur?

The entry in v$undostat for this time period looks
like this -

BEGIN_TIME : 04-apr-2006 10:35:03

END_TIME : 04-apr-2006 10:45:03

UNDOTSN : 1

UNDOBLKS : 47115

TXNCOUNT : 272225

MAXQUERYLEN : 93649

MAXQUERYID : frma9q6tqbuwd

MAXCONCURRENCY : 11

UNXPSTEALCNT : 8

UNXPBLKRELCNT : 516

UNXPBLKREUCNT : 0

EXPSTEALCNT : 1663

EXPBLKRELCNT : 279212

EXPBLKREUCNT : 0

SSOLDERRCNT : 0

NOSPACEERRCNT : 2

ACTIVEBLKS : 105344

UNEXPIREDBLKS : 4307412

EXPIREDBLKS : 0

TUNED_UNDORETENTION : 43402


The dba_undo_extents view currently looks like this -

READONLY@MIDDWHP>select count(*), status
2 from dba_undo_extents
3 group by status
4 /

COUNT(*) STATUS
---------- ---------
401 EXPIRED
22014 UNEXPIRED


Any ideas?





___________________________________________________________
NEW Yahoo! Cars - sell your car and browse thousands of new and used cars online! http://uk.cars.yahoo.com/
--
http://www.freelists.org/webpage/oracle-l