oracle 如何使用ASMM检查oracle数据库中的即时缓冲区缓存大小?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/22301114/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 02:16:33  来源:igfitidea点击:

How to check instant buffer cache size in oracle database with ASMM?

sqloracle

提问by AloneInTheDark

I'm trying to make a piechart that shows SGAcomponents such as java pool,large pool etc. One of the components is buffer cache.

我正在尝试制作一个饼图,显示SGA诸如 java 池、大型池等组件。其中一个组件是缓冲区缓存。

I could check all parameters in sgainfoview, for example:

我可以检查sgainfo视图中的所有参数,例如:

SQL> 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.

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 sgastatview, but not buffer cache's value.

但问题是,我正在使用具有 ASMM(自动共享内存管理)的数据库,这意味着 SGA 大小是自动控制的(因此它的组件值正在更改)。所以我需要这个组件的即时值。我可以从sgastat视图中获取 java、共享和大池的值,但不能获取缓冲区缓存的值。

回答by Isaac OD

SQL> col BYTES for 99999999999999999999999 SQL> select * from v$sgainfo;

SQL> col BYTES for 99999999999999999999999 SQL> select * from v$sgainfo;

NAME                                                BYTES RES
-------------------------------- ------------------------ ---
Fixed SGA Size                                    2545736 No
Redo Buffers                                     69644288 No
Buffer Cache Size                            429765165056 Yes
Shared Pool Size                              64424509440 Yes
Large Pool Size                                 268435456 Yes
Java Pool Size                                  201326592 Yes
Streams Pool Size                               268435456 Yes
Shared IO Pool Size                                     0 Yes
Granule Size                                     67108864 No
Maximum SGA Size                             495000064000 No
Startup overhead in Shared Pool               25433410328 No
Free SGA Memory Available                               0

12 rows selected.