Re: rman Ora-4031 - how to flush large pool?

From: Douglas Cowles <dcowles_at_us.ibm.com>
Date: Tue, 15 Jul 2008 01:37:59 -0400
Message-ID: <OF951E7F14.6F04E43D-ON85257487.001EE527-85257487.001EF180@us.ibm.com>

The errors to appear to be citing the "shared pool" - which raises the question, doesn't flushing the shared pool defragment the shared pool?

                                                                           
             Tim Gorman                                                    
             <tim_at_evdbt.com>                                               
                                                                        To 
             07/15/2008 12:02          Douglas Cowles/Southbury/IBM_at_IBMUS  
             AM                                                         cc 
                                       oracle-l_at_freelists.org              
                                                                   Subject 
             Please respond to         Re: rman Ora-4031 - how to flush    
               tim_at_evdbt.com           large pool?                         
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Doug,

The text following the ORA-04031 error message often states what part of the SGA has run out of space (i.e. shared pool, large pool, etc).

The "Large Pool" essentially flushes itself all the time -- all data structures there are transient, and are deallocated/destroyed when no longer in active use. As a result, there is no ALTER SYSTEM FLUSH LARGE_POOL command. Query V$SGASTAT where POOL = 'large pool' to see what is present at any point in time. If the query returns no rows, then nothing is present there.

By the way, RMAN doesn't use the Large Pool unless some kind of inter-process communication is going on between backup channels and I/O channels (i.e. duplexed backups, etc). Unless you've specified duplexed backups, RMAN probably isn't using the Large Pool. Since RMAN is largely implemented through PL/SQL packages, it is likely that your ORA-04031 is occurring in the Shared Pool. Read the error message a little more closely...

Hope this helps...

Tim Gorman
consultant - Evergreen Database Technologies, Inc. P.O. Box 1802, Evergreen CO 80437-1802

website   = http://www.EvDBT.com/
email     = Tim_at_EvDBT.com
mobile    = +1-303-885-4526
fax       = +1-303-484-3608
Yahoo IM  = tim_evdbt



Douglas Cowles wrote:
>
> We have a system that is throwing ORA-4031's in rman archive log
> backups after the system has been up a few days. To my understanding,
> RMAN tries to use the large pool for it's activities. When we alter
> system flush shared pool - the errors do not stop - the database has
> to be bounced or the large_pool has to be increased 3M or so. Does
> alter system flush shared_pool flush the large pool? If it does, then
> why would that not defragment the pool? If it does not, is there a way
> to do it? In general, will flushing the shared_pool defragment it -
> large pool or otherwise?
>
> Thanks,
> Doug C.
>


--
http://www.freelists.org/webpage/oracle-l


graycol.gif pic31327.gif ecblank.gif
Received on Tue Jul 15 2008 - 00:37:59 CDT

Original text of this message