设为首页 加入收藏

TOP

bufferpool和sharedpool详解(之四,重要视图、以及转储)(二)
2015-07-24 11:55:11 来源: 作者: 【 】 浏览:16
Tags:bufferpool sharedpool 详解 之四 重要 以及
NT(*)

----------

75614

13:18:32 sys@felix SQL>

比较查询前后shared pool内存分配的变化:

select a.ksmchcom,

a.chunk,

a.sum,

b.chunk,

b.sum,

(a.chunk - b.chunk) c_diff,

(a.sum - b.sum) s_diff

from(SELECT a.ksmchcom,

SUM(a.CHUNK) CHUNK,

SUM(a.recr) recr,

SUM(a.freeabl) freeabl,

SUM(a.SUM) SUM

FROM (SELECT ksmchcom,

COUNT(ksmchcom) CHUNK,

DECODE(ksmchcls, 'recr',SUM(ksmchsiz), NULL) recr,

DECODE(ksmchcls,'freeabl', SUM(ksmchsiz), NULL) freeabl,

SUM(ksmchsiz) SUM

FROM x$ksmsp

GROUP BY ksmchcom, ksmchcls) a

GROUP BY a.ksmchcom) a,

e$ksmsp b

wherea.ksmchcom = b.ksmchcom

and(a.chunk - b.chunk) <> 0;

KSMCHCOM CHUNK SUM CHUNK SUM C_DIFF S_DIFF

-------------------------------- -------------------- ---------- ---------- ---------- ----------

KGLS^2a03296c 3 12288 1 4096 2 8192

free memory 200 13585552 164 12075904 36 1509648

KGLH0^522f4e73 5 20480 3 12288 2 8192

KGLS^b9dac7f1 14 57344 3 12288 11 45056

KGLH0^c11a66b1 18 73728 2 8192 16 65536

KGLS^3fc2ae3a 12 49152 3 12288 9 36864

KGLH0^61ffddd0 18 73728 2 8192 16 65536

KGLHD 8965 5486488 6456 3979120 2509 1507368

SQLA^522f4e73 10 40960 5 20480 5 20480

KGLS^18717bf4 7 28672 6 24576 1 4096

KGLS^672109bb 3 12288 1 4096 2 8192

KGLH0^4a1d3fe3 18 73728 2 8192 16 65536

reserved stoppe 76 3648 62 2976 14 672

KGLH0^c165fb75 18 73728 2 8192 16 65536

KGLS^a7a0f1b0 14 57344 3 12288 11 45056

KGLS^470434f8 5 20480 1 4096 4 16384

modification 29 178872 20 123360 9 55512

KGLS^b96975f9 8 32768 1 4096 7 28672

KGLS^6e2f6b00 4 16384 3 12288 1 4096

KGLH0^7eef98e0 3 12288 2 8192 1 4096

KGI Session Sta 28 1840 24 1584 4 256

KGLS^e7c28658 3 12288 1 4096 2 8192

KGLH0^3d645f43 18 73728 2 8192 16 65536

KGLH0^1a8436ae 4 16384 3 12288 1 4096

parameter table 308 623840 264 534720 44 89120

KQR SO 1356 899136 773 536304 583 362832

KGLS^1cb5ff2d 10 40960 2 8192 8 32768

KGLS^cfa770fb 5 20480 1 4096 4 16384

KTC latch subh 23 80472 11 46688 12 33784

kpscad: kpscsco 7 576 6 504 1 72

kdlwss 28 11000 24 9408 4 1592

KGLS^518fa5d0 9 36864 1 4096 8 32768

KQR PO 5887 4067840 2616 2037936 3271 2029904

KGLS^d10c66e2 8 32768 2 8192 6 24576

KKSSP 28 15680 24 13440 4 2240

KGLS^6c13497e 6 24576 1 4096 5 20480

KGLNA 8 7048 5 3720 3 3328

KGLH0^7f01546f 18 73728 2 8192 16 65536

KGLDA 3541 850192 2076 498408 1465 351784

KGLS^ea4fb95d 5 20480 1 4096 4 16384

KGLH0^aaab13e6 18 73728 2 8192 16 65536

parameter handl 28 83328 24 71424 4 11904

42 rows selected.

13:18:43 sys@felix SQL>

12:22:30 sys@felix SQL>

简单分析一下以上结果:首先free memory的大小减少了89228(增加到另外5个组件中),这说明SQL解析存储占用了一定的内存空间;而Chunk从164增加为200,这说明内存碎片增加了,碎片增加是共享池性能下降的开始。

1.2.6 Shared Pool的转储与分析

使用如下命令可以对共享池LibraryCache信息进行转储分析:

ALTER SESSION SET EVENTS'immediate trace name LIBRARY_CACHE level LL';

其中LL代表Level级别,对于9.2.0及以后版本,不同Level含义如下:

(1)Level =1,转储Library Cache统计信息;

(2)Level =2,转储Hash Table概要;

(3)Level =4,转储Library Cache对象,只包含基本信息;

(4)Level =8,转储Library Cache对象,包含详细信息(如child references、pin waiters等);

(5)Level =16,增加heap sizes信息;

(6)Level =32,增加heap信息。

Library Cache由一个Hash表组成,而Hash表是一个由Hash Buckets组成的数组,每个hashBucket都是包含Library Cache Handle的一个双向链表。Library Cache Handle指向Library Cache Object和一个引用列表。Library Cache对象进一步分为依赖表、子表和授权表等。

首先通过以下命令对Library Cache进行转储:

13:18:43 sys@felix SQL>ALTER SESSION SET EVENTS'immediate trace name LIBRARY_CACHE level 4';

Session altered.

13:32:24 sys@felix SQL>?

13:39:49 sys@felix SQL>col namespace for a30

13:40:04 sys@felix SQL>select gets,pins,reloads,INVALIDATIONS ,namespac

首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇查询每秒平均事务数 下一篇10.2.0.1.1gridcontrol的启动和关..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Announcing October (2025-12-24 15:18:16)
·MySQL有什么推荐的学 (2025-12-24 15:18:13)
·到底应该用MySQL还是 (2025-12-24 15:18:11)
·进入Linux世界大门的 (2025-12-24 14:51:47)
·Download Linux | Li (2025-12-24 14:51:44)