Oracle Share Pool内部管理机制的示例分析

77次阅读
没有评论

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

丸趣 TV 小编给大家分享一下 Oracle Share Pool 内部管理机制的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

Oracle Share Pool 内部管理机制

     SHARE POOL 利用堆(HEAP) 的内存管理方式管理,在物理上由多个内存区(EXTENT) 组成,内存区又由多个不同大小的 CHUNK 组成。而 CHUNK 又有可重用和空闲之分,并且它们分别有 LRU LIST、FREE LIST、RESERVED LIST 串联起来。

堆管理

     Shared Pool 是利用堆内存管理方式管理的(KGH:Kernel Generic Heap). 从 Oracle 9i 开始,可以有多个最高级堆(TOP-LEVLE HEAP),最高级堆可以分成多个副堆,副堆下面还拥有子堆。堆和副对结构基本相同。从物理上讲,一个堆由多个内存区已 link list 的形式连接组成。一个内存区物理上使用一个 Granule,一个内存区由多个 chunk 组成,所以 chunk 是 heap 的最小内存单位。

       Chunk 的使用情况可由 X$KSMSP 内部视图查看。每个堆头上则包含了可使用的 chunk 列表和已使用的 chunk 列表。通过 dump heap 命令可以在 trace 文件中观察 heap 和 extent 的关系。

      alter system set events immediate trace name heapdump level 2

案例:

SQL  select name,bytes/1024/1024 from v$sgainfo;
NAME BYTES/1024/1024
-------------------------------- ---------------
Fixed SGA Size 1.27566528
Redo Buffers 5.59765625
Buffer Cache Size 180
Shared Pool Size 104
Large Pool Size 4
Java Pool Size 4
Streams Pool Size 0
Shared IO Pool Size 0
Granule Size 4
Maximum SGA Size 498.875
Startup overhead in Shared Pool 52
NAME BYTES/1024/1024
-------------------------------- ---------------
Free SGA Memory Available 200
12 rows selected.

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