Links
Home
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
ora-04031

ora-04031

2004-07-14       - By Duret, Kathy
Reply:     <<     11     12     13     14     15     16     17     18     19     20     >>  

Oh, sure bring me in as an example.....Larry.

Yes, this does get you some space back but in my case it just bought us some
extra time before we got more 4031 errors

For me the one PROBLEM was cursor_spaced_for_time was set to true.

I also had a lot of leaks happening:

1) DBMS_OUTPUT was put into alot of code (even in a large cursor loop) and
the buffer size was not adjusted causing alot of leaks
you can do this but it has to be set up correctly.

2) leaks from a heterogenous link to sql server and updates across a dblink
- most of this cured by fixing cursor_spaced_for_time.

3) .Net with C# not using dispose for garbage collection. (dispose also
cures cursor problems). .Net in web services seems
to consume ALOT of resources.

3) also check your session_cached_cursor variable. might be set too high.

You might want to do a search on 4031 in the archives and follow all the
help I got.

I still have some sporatic leak issues with the database. But it is very
hard trap the sql to the leak.

Check also to see if cursors are being closed.

Kathy



-- --Original Message-- --
From: Wolfson Larry - lwolfs [mailto:lawrence.wolfson@(protected)]
Sent: Wednesday, July 14, 2004 10:41 AM
To: 'oracle-l@(protected) '
Subject: RE: ORA-04031 (See ORA-04031.ora-code.com)


Paula,
   Below are some comments from an earlier post on 4031.
   You may find that you don 't really need the
shared_pool_reserved_size.
   Run the script below to see what kind of activity there really is
and decide if it 's worth it.
   Could you let us know what you find and also what are your
shared_pool_reserved_size and shared_pool_size parameters.

   Thanks
   
   Larry


Kathy,
   Ummmmmm, I think you missed my point. What I thought I said was we
found the shared_pool_RESERVE wasn 't getting used at all or hardly at all.
   So we changed it from the default to 1M.
   shared_pool_reserved_size string 1024000
   shared_pool_size string 514400000

   I don 't know how long your DB has been up but it looks like you had
85 failures and you still had 25M you never used.

   The problem is Only allocations larger than
SHARED_POOL_RESERVED_POOL_MIN_ALLOC can allocate space from the reserved
list if a chunk of memory of sufficient size is not found on the shared
pool 's free lists.

   Your query below says you had 25M free for something really big to
stick in the SharedPoolReserve but 4132 was smaller then the
SHARED_POOL_RESERVED_POOL_MIN_ALLOC so you got a 4031 when you had 25M free.

   I didn 't say anything about changing the SHARED_POOL size.
   It looks like you found the problem with .net.
   
   What I 'm suggesting is you have 25M you might want to put to better
use somewhere else.   

   Larry