this is a problem I see sometimes on database from version 8.1.7 and higher.
currently I discussing this with oracle support, for which we found a bug in
9.2.0.5.
what I see is a growing number 'perm ' chunks in the shared pool (can be seen
with the shared pool summary query from steve adams)
first, nothing strange is happening. when the number of perm chunks is
getting higher and higher, I can see the lru lists of the shared pool
becoming shorter. because of the mechanism for freeing this, the length is
varying, but getting shorter. (lru list length can be seen in x$kghlu; or a
script from steve adams)
when looking at the shared pool freelists (a script from steve adams too),
the number of large chunks can be seen decreasing, and eventually no chunks
of about 4200 bytes and higher can be found, then a ora-4031 (See ora-4031.ora-code.com) is issued.
( >4400 bytes are going to reserved area) because only recreatable chunks can
be flushed, a shared pool flush is of little use.
the bug found in 9.2.0.5 is bug# 3645494. workaround is setting
session_cached_cursors=0 (as can be seen in the bugdescription)
frits
-- --Original Message-- --
From: oracle-l-bounce@(protected)
[mailto:oracle-l-bounce@(protected)]On Behalf Of Duret, Kathy
Sent: woensdag 26 mei 2004 21:53
To: oracle-l@(protected)
Subject: 4031 - errors
Had a strange problems on Friday afternoon. We are on 8.1.7.4 Solaris
Had a ton of Bam - ora_04031 errors.
Tried to flush the shared pool and it would release some space but a large
chuck was not being released and this was strange since we have only acouple
of objects pinned.
When I tried to pin an object that was failing right after I would flush the
shared_pool I couldn 't get space.
Nothing new was put in that week as far as I know.
Put in a tar with Oracle and they suggested to bounce the database - which I
did later, increased the shared_pool and session_cached_cursors
We have pinned some more objects that are being loaded alot.
I looked at the sql area and nothing looked horrible, all the same normal
stuff. In fact there was really no load on the database or machine, no
swapping or paging.
It was very strange. It looked like "something " had memory and wasn 't
releasing it.
Oracle Supportless was of no help.... except to say bounce the database and
told me to set a parameter that isn 't available until 9i.
I tried running quite a few of Steve Adams scripts but really didn 't
enlighten me as to what was causing the problem.
I have since set the event in the init.ora for 4031. I know we don 't use
enough bind variable since the "java " structure with Jbosse doesn 't work
with bind variable ( this is what I am told anyway)
the cursor_spaced_for_time is set to true which I believe was done for the
Jbosse app we are running since they pool connections and can 't/dont use
bind variables. I am wondering
if this should be set to false.
My questions are:
1) Is there a way to tell an object is holding/leaking memory in the
database. Or a way to monitor the shared_pool so I can be proactive if
fragmentation is getting out of hand.
2) This Steve Adams query says to set kgl_bucket_count to 7 the hash table
from growing
-- dynamically, and thus prevents the performance problems
-- associated with hash table growth -
How can I see if I have a problem with this hash table growth?
select
least(8, ceil(log(2, ceil(count(*) / 509)))) "INDEX "
from
sys.x_$kglob o
where
o.inst_id = userenv( 'Instance ') and
o.kglhdadr = o.kglhdpar
/
Any suggestions, welcome.
init.ora - I took out the nls and archive,etc info
This transmission contains information solely for intended recipient and may
be privileged, confidential and/or otherwise protect from disclosure. If
you are not the intended recipient, please contact the sender and delete all
copies of this transmission. This message and/or the materials contained
herein are not an offer to sell, or a solicitation of an offer to buy, any
securities or other instruments. The information has been obtained or
derived from sources believed by us to be reliable, but we do not represent
that it is accurate or complete. Any opinions or estimates contained in
this information constitute our judgment as of this date and are subject to
change without notice. Any information you share with us will be used in
the operation of our business, and we do not request and do not want any
material, nonpublic information. Absent an express prior written agreement,
we are not agreeing to treat any information confidentially and will use any
and all information and reserve the right to publish or disclose any
information you share with us.
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
To unsubscribe send email to: oracle-l-request@(protected)
put 'unsubscribe ' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
To unsubscribe send email to: oracle-l-request@(protected)
put 'unsubscribe ' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --