Stephan, I believe that part of the allocated memory that is shown as used by v$sgastat can in fact be freed if determined necessary by Oracle. I think you can see this via sys.x$ksmsp. From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Uzzell, Stephan Sent: Tuesday, March 11, 2014 9:46 AM To: oracle-l@xxxxxxxxxxxxx Cc: Uzzell, Stephan Subject: V$SGASTAT Hi all, We recently had an issue with an undersized shared pool. We've increase the size of the shared pool and think this should be resolved. Our customer, however, is freaking out and wants to monitor this. I've been looking at v$sgastat hoping this would provide the information, but I don't quite understand how the view works. Testing against 11.2.0.3.7 on OEL6x64. Shared_pool_size is set at 256MB for each instance in this RAC. Yet when I try to sum up either the free memory value or the non-free values, I get results far larger than that: SQL> select 2 type 3 , round( sum( bytes /1024 /1024 ) ) MB 4 from 5 ( 6 select 7 case when name = 'free memory' then 'FREE' else 'USED' end type 8 , bytes 9 from 10 v$sgastat 11 where 12 pool = 'shared pool' 13 ) 14 group by 15 type 16 / TYPE MB ---- ---------- USED 3760 FREE 1744 Am I completely misunderstanding how this is supposed to work? Is there some way to monitor shared pool usage? Stephan Uzzell