Ryan, First off, PL/SQL tables have nothing to do with the buffer cache. The buffer cache is part of the SGA (shared memory) and is used to buffer blocks of database datafiles. That's all that will ever be in the buffer cache.
PL/SQL tables are memory constructs that are allocated from the PGA (process private memory). When you connect to an instance, (in dedicated server mode) the background process on the server side that's allocated to serve your connection has memory associated w/ it. That's your PGA (and UGA, for that matter.) The best way to deal with this is to educate the developers. Teach them that the LIMIT clause is their friend. Are you on 9i? PGA_AGGREGATE_TARGET may help. I'm not sure, I've never tried that experiment on 9i. What happens when PGA memory demand due to PL/SQL tables exceeds PGA_AGGREGATE_TARGET? I'll have to try that test.... Anyhow, hope that helps, -Mark PS In the future, if this happens again, you shouldn't have to bounce the server. Just kill the background process that's eating all the memory. When you do that, that developers session will die, and things should quickly return to normal. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Mon 12/29/2003 11:59 AM To: Multiple recipients of list ORACLE-L Cc: Subject: large pl/sql table sucking up all memory on a server One of our guys used a very large bulk collect into with a forall update. It sucked up all the swap space on our solaris box and noone could connect to it. So we had to bounce the server. I was under the impression that pl/sql tables go into the buffer cache and cannot go large than its size? Oracle typically holds your hand with memory usage issues. Are there any parameter settings I can use that limit the size of pl/sql tables? Or are they just dynamic arrays that can grow as large as you want. I know your supposed to use a 'limit' command on them. I didnt write it. I just dont want it to happen again. -- 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).
<<winmail.dat>>