title: How to check instant buffer cache size in oracle database with ASMM?
body: <p>I'm trying to make a piechart that shows <code>SGA</code> components such as java pool,large pool etc. One of the components is buffer cache.</p>
  
  <p>I could check all parameters in <code>sgainfo</code> view, for example:</p>
  
  <pre><code>SQL&gt; select * from v$sgainfo
    2  ;
  
  NAME                                  BYTES RES
  -------------------------------- ---------- ---
  Fixed SGA Size                      2261448 No
  Redo Buffers                      226615296 No
  Buffer Cache Size                3.3957E+10 Yes
  Shared Pool Size                 3623878656 Yes
  Large Pool Size                   671088640 Yes
  Java Pool Size                    671088640 Yes
  Streams Pool Size                         0 Yes
  Shared IO Pool Size                       0 Yes
  Granule Size                      134217728 No
  Maximum SGA Size                 3.9152E+10 No
  Startup overhead in Shared Pool  2780532240 No
  
  NAME                                  BYTES RES
  -------------------------------- ---------- ---
  Free SGA Memory Available                 0
  
  12 rows selected.
  </code></pre>
  
  <p>But the problem is, i'm working on a database that has ASMM(Automatic Shared Memory Management) which means SGA size is automatically controlled(so it's components values are changing). So i need instant values of this components. I can get java,shared and large pool's values from <code>sgastat</code> view, but not buffer cache's value. </p>