V$DB_OBJECT_CACHE (本视图提供对象在library cache(shared pool)中对象统计)

本文详细介绍了如何利用V$DB_OBJECT_CACHE表来获取对象在librarycache(sharedpool)中的统计信息,包括对象类型、是否常驻、内存占用、执行次数等关键指标。通过实例查询展示了如何筛选出共享内存使用情况、常驻对象及高频率加载的对象,为优化数据库性能提供了实用的工具和策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本视图提供对象在library cache(shared pool)中对象统计,提供比v$librarycache更多的细节,并且常用于找出shared pool中的活动对象。

v$db_object_cache中的常用列:

l         OWNER:对象拥有者

l         NAME:对象名称

l         TYPE:对象类型(如,sequence,procedure,function,package,package body,trigger)

l         KEPT:告知是否对象常驻shared pool(yes/no),有赖于这个对象是否已经利用PL/SQL 过程DBMS_SHARED_POOL.KEEP“保持(永久固定在内存中)

l         SHARABLE_MEM:共享内存占用

l         PINS:当前执行对象的session

l         LOCKS:当前锁定对象的session

瞬间状态列:

下列列保持对象自初次加载起的统计信息:

l         LOADS:对象被加载次数。

示例:

1.shared pool执行以及内存使用总计

下列查询显示出shared pool内存对不同类别的对象

同时也显示是否有对象通过DBMS_SHARED_POOL.KEEP()过程常驻shared pool

SELECTtype, kept, COUNT(*), SUM(sharable_mem)

 FROM V$DB_OBJECT_CACHE

 GROUPBYtype, kept;

2.通过载入次数找出对象

SELECT owner, name sharable_mem, kept, loads

 FROM V$DB_OBJECT_CACHE

 WHERE loads > 1ORDERBY loads DESC;

3.找出使用的内存超过10M并且不在常驻内存的对象。

SELECT owner, name, sharable_mem, kept

 FROM V$DB_OBJECT_CACHE

 WHERE sharable_mem > 102400AND kept = 'NO'

 ORDERBY sharable_mem DESC;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值