what causes memory fragmentation errors? should oracle be able to go to the LRU and start kicking stuff out of memory if there isnt enough space? > > From: "Tanel Poder" <[EMAIL PROTECTED]> > Date: 2003/12/02 Tue PM 12:39:26 EST > To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]> > Subject: Re: SESSION_CACHED_CURSORS -- RE: Parse Vs Execute > > Mladen, > > I don't think it's SMON who is coalescing free memory extents. I'm not > entirely sure here, but I think if any server process explicitly frees a > freeable chunk, then the 16-byte header of immediate next chunk is checked, > if this is also free both chunks are coalesced and header of next chunk is > checked and so on. When no more adjacent free chunks are found, shared pool > freelists are updated. This is called forward coalescing (not to be confused > with on-disk segment extent forward coalescing), Ixora also mentions a bit > about them. > > This all is done by the server process who is freeing the chunk, not SMON > (SMONs sleep interval is too long for this kind of critical operation > anyway). > > Also, when a process tries to allocate memory from shared pool and there are > no sufficiently large free chunks left, then the process goes to shared pool > LRU list to find unpinned recreatable chunks and uses callback through the > kernel stack to find the "owner" of the chunk and free it appropriately. > When freeing chunk for new allocation like that, here we might also have > forward coalescing going on (adjacent free space is coalesced before > allocated to new process). > > Actually, I'm not sure whether this "callback" is real callback up the > kernel stack or is a separate context estabilished for it like Steve Adams > describes for data and transaction layer in the beginning of his book. > Estabilishing a separate call context for such a low level operation seems > quite expensive. If anyone knows about this, please let us know ;) > > Mladen, another way for circumventing excessive memory usage in shared pool, > in addition to cursor_sharing, is to tell TFDs to use bind variables > appropriately ;) > > Tanel. > > ----- Original Message ----- > To: "Multiple recipients of list ORACLE-L" <[EMAIL PROTECTED]> > Sent: Tuesday, December 02, 2003 5:49 PM > > > > That was my understanding, too. The problem with unpinning only at > > the specific close is that smon cannot free shared pool memory belonging > > to the cursor if the cursor is pinned, so the shared pool usage > skyrockets. > > The only way to circumvent the problem is to set CURSOR_SHARING to FORCE. > > That is also fraught with danger, but what the heck, we are the DBAs, we > want > > to live dangerously. > > > > On 12/02/2003 04:59:33 AM, Tanel Poder wrote: > > > Jonathan, > > > > > > I've understood that when cursor_space_for_time is true, then unpin is > only > > > done when cursor is closed, thus there's no need for pinning/unpinning > for > > > every execution of a cursor. This should reduce hits on library cache > > > latches since pinning is not done so often? > > > > > > Hermant, > > > > > > I've sometimes seen this parameter recommended when having library cache > > > latching issues in large Apps installations, I have not used it myself > in > > > Apps though. > > > > > > Also note, that cursor_space_for_time requires 50-100% larger > shared_pool > > > (and some more private SQL area in PGA, shared_pool or large_pool, > depending > > > on configuration), since shared cursor's frames can't be aged out from > > > library cache until all corresponding cursors are closed (normally if > > > there's not enough free memory in shared pool when parsing a new > statement, > > > some unpinned, but open cursors can be thrown out, but with > > > cursor_space_for_time they can't be). > > > > > > So, if you don't find any better cure and decide to use this parameter, > you > > > should first increase your shared pool quite much to avoid ORA-4031 > errors > > > and then start reducing in small amounts, based on v$librarycache, > > > v$rowcache, x$kghlu and shared pool/library cache latch wait statistics. > > > It's not good idea to leave shared pool too large, otherwise your memory > > > allocations from there (hard parses for example) will get slow (shared > pool > > > latch (or latches in 9i) are kept too long when searching for > > > free/recreatable chunks). > > > > > > Tanel. > > > > > > ----- Original Message ----- > > > To: "Multiple recipients of list ORACLE-L" <[EMAIL PROTECTED]> > > > Sent: Sunday, November 30, 2003 9:34 PM > > > > > > > > > > > > > > You still have to hit the library cache to execute > > > > a statement as it needs to be pinned in share mode, > > > > and unpinned when you finish with it. Library cache > > > > latch waits can be a symptom of excessive executions. > > > > > > > > Have you checked the library cache latch children > > > > to see if the load is evenly balanced, or whether there > > > > is a single library cache latch that is suffering most of > > > > the sleeps. > > > > > > > > Good news for 9.2 - v$sql, and a couple of others > > > > include the library cache child latch number, so you > > > > can see which objects are protected by the hot latch > > > > without having to use Steve's algorithm. > > > > > > > > > > > > Regards > > > > > > > > Jonathan Lewis > > > > http://www.jlcomp.demon.co.uk > > > > > > > > The educated person is not the person > > > > who can answer the questions, but the > > > > person who can question the answers -- T. Schick Jr > > > > > > > > > > > > One-day tutorials: > > > > http://www.jlcomp.demon.co.uk/tutorial.html > > > > > > > > > > > > Three-day seminar: > > > > see http://www.jlcomp.demon.co.uk/seminar.html > > > > ____UK___November > > > > > > > > > > > > The Co-operative Oracle Users' FAQ > > > > http://www.jlcomp.demon.co.uk/faq/ind_faq.html > > > > > > > > > > > > ----- Original Message ----- > > > > To: "Multiple recipients of list ORACLE-L" <[EMAIL PROTECTED]> > > > > Sent: Sunday, November 30, 2003 1:29 PM > > > > > > > > > > > > What's the value for your cursor_space_for_time parameter? > > > > > > > > Tanel. > > > > > > > > ----- Original Message ----- > > > > From: Hemant K Chitale > > > > To: Multiple recipients of list ORACLE-L > > > > Sent: Sunday, November 30, 2003 8:54 AM > > > > Subject: SESSION_CACHED_CURSORS -- RE: Parse Vs Execute > > > > > > > > > > > > > > > > I have taken SESSION_CACHED_CURSORS from 0 to 100 to 400. On > occassion > > > I > > > > still see > > > > very high LIBRARY CACHE LATCH contention and am considering upping > the > > > > value again. > > > > Currently, I set it at the Instance level. Since I am running > Oracle > > > > Apps, I have suggested > > > > to the application team to put a custom ALTER SESSION trigger into > the > > > > specific first > > > > responsibility form for users who do navigate between forms a lot > and > > > > where we see > > > > high contention. > > > > Running Steve Adams's query, I get > > > > SQL> @Session_Cursor_Cache.sql > > > > > > > > PARAMETER VALUE USAGE > > > > ----------------------------- ----- ----- > > > > session_cached_cursors 400 50% > > > > open_cursors 1024 36% > > > > > > > > > > > > CURSOR_CACHE_HITS SOFT_PARSES HARD_PARSES > > > > ----------------- ----------- ----------- > > > > 35.10% 63.09% 1.81% > > > > > > > > > > > > MAX_CACHEABLE_CURSORS > > > > --------------------- > > > > 5227 > > > > > > > > > > > > > > > > -- > > > > Please see the official ORACLE-L FAQ: http://www.orafaq.net > > > > -- > > > > Author: Jonathan Lewis > > > > INET: [EMAIL PROTECTED] > > > > > > > > Fat City Network Services -- 858-538-5051 http://www.fatcity.com > > > > San Diego, California -- Mailing list and web hosting services > > > > --------------------------------------------------------------------- > > > > To REMOVE yourself from this mailing list, send an E-Mail message > > > > to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in > > > > the message BODY, include a line containing: UNSUB ORACLE-L > > > > (or the name of mailing list you want to be removed from). You may > > > > also send the HELP command for other information (like subscribing). > > > > > > > > > > > > > -- > > > Please see the official ORACLE-L FAQ: http://www.orafaq.net > > > -- > > > Author: Tanel Poder > > > INET: [EMAIL PROTECTED] > > > > > > Fat City Network Services -- 858-538-5051 http://www.fatcity.com > > > San Diego, California -- Mailing list and web hosting services > > > --------------------------------------------------------------------- > > > To REMOVE yourself from this mailing list, send an E-Mail message > > > to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in > > > the message BODY, include a line containing: UNSUB ORACLE-L > > > (or the name of mailing list you want to be removed from). You may > > > also send the HELP command for other information (like subscribing). > > > > > > > Mladen Gogala > > Oracle DBA > > > > > > > > Note: > > This message is for the named person's use only. It may contain > confidential, proprietary or legally privileged information. No > confidentiality or privilege is waived or lost by any mistransmission. If > you receive this message in error, please immediately delete it and all > copies of it from your system, destroy any hard copies of it and notify the > sender. You must not, directly or indirectly, use, disclose, distribute, > print, or copy any part of this message if you are not the intended > recipient. Wang Trading LLC and any of its subsidiaries each reserve the > right to monitor all e-mail communications through its networks. > > Any views expressed in this message are those of the individual sender, > except where the message states otherwise and the sender is authorized to > state them to be the views of any such entity. > > > > -- > > Please see the official ORACLE-L FAQ: http://www.orafaq.net > > -- > > Author: Mladen Gogala > > INET: [EMAIL PROTECTED] > > > > Fat City Network Services -- 858-538-5051 http://www.fatcity.com > > San Diego, California -- Mailing list and web hosting services > > --------------------------------------------------------------------- > > To REMOVE yourself from this mailing list, send an E-Mail message > > to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in > > the message BODY, include a line containing: UNSUB ORACLE-L > > (or the name of mailing list you want to be removed from). You may > > also send the HELP command for other information (like subscribing). > > > > > -- > Please see the official ORACLE-L FAQ: http://www.orafaq.net > -- > Author: Tanel Poder > INET: [EMAIL PROTECTED] > > Fat City Network Services -- 858-538-5051 http://www.fatcity.com > San Diego, California -- Mailing list and web hosting services > --------------------------------------------------------------------- > To REMOVE yourself from this mailing list, send an E-Mail message > to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in > the message BODY, include a line containing: UNSUB ORACLE-L > (or the name of mailing list you want to be removed from). You may > also send the HELP command for other information (like subscribing). >
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: <[EMAIL PROTECTED] INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).