v$sga 和v$sgainfo的相关细节有哪些

74次阅读
没有评论

共计 2349 个字符,预计需要花费 6 分钟才能阅读完成。

v$sga 和 v$sgainfo 的相关细节有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

09:20:47 sys@cgidb1(cgidb1) select * from v$sga;
NAME                                                                  VALUE
———————————————————— ————–
Fixed Size                                                          2284104== 固定大小,比如 oracle 软件的运行代码等
Redo Buffers                                                       12124160
Database Buffers                                                   50331648
Variable Size                                                    8489338296

09:20:53 sys@cgidb1(cgidb1) select * from v$sgainfo;
NAME                                                              BYTES RES
———————————————————— ———- —
Fixed SGA Size                                                  2284104 No
Redo Buffers                                                   12124160 No
Buffer Cache Size                                              50331648 Yes
Shared Pool Size                                              973078528 Yes
Large Pool Size                                                       0 Yes
Java Pool Size                                                 16777216 Yes
Streams Pool Size                                                     0 Yes
Shared IO Pool Size                                                   0 Yes
Granule Size                                                   16777216 No  == shared pool 颗粒度为 16M,这里 redo buffers 和 fixed sga size 不一致。
Maximum SGA Size                                             8554078208 No
Startup overhead in Shared Pool                               701807000 No  == 启动共享池的开销
Free SGA Memory Available                                    7499415552
如上,可见如下公式:
Maximum SGA Size =Variable Size+Database Buffers+Redo Buffers+Fixed Size
Variable Size=Free SGA Memory Available+Shared Pool Size+Large Pool Size+Java Pool Size+Streams Pool Size+Shared IO Pool Size

如果 memory_target=0 且 sga_target=0, 则为手动 sga 管理,此时指定 sga 组件大小即为固定大小。比如 shared_pool_size=928M(16M 的倍数),则该组件一直为 928M,不增不减。
如果 memory_target!=0 或 sga_target!=0,则为自动内存管理或者自动 sga 管理,此时指定 sga 组件大小即为最小大小。比如 shared_pool_size=928M(16M 的倍数),则该组件最小为 928M。

可通过如下视图查看某个组件,至实例启动以来的最大值和最小值和当前值。
10:27:53 sys@cgidb1(cgidb1) select COMPONENT,CURRENT_SIZE,MIN_SIZE,MAX_SIZE from V$SGA_DYNAMIC_COMPONENTS;
COMPONENT                                                        CURRENT_SIZE   MIN_SIZE   MAX_SIZE
—————————————————————- ———— ———- ———-
shared pool                                                         973078528  973078528  973078528
java pool                                                            16777216   16777216   16777216
DEFAULT buffer cache                                                 50331648   50331648   50331648

另外,alter system set shared pool=928M,这条 sql 只是修改当前实例的动态内存,并未写进 spfile 或 pfile 中。
可以通过 sid 和 scope 参数调整实例和对象。

关于 v$sga 和 v$sgainfo 的相关细节有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注丸趣 TV 行业资讯频道了解更多相关知识。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计2349字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)