学习动态性能表(16)--v$rowcache

学习动态性能表

16--V$ROWCACHE  2007.6.12

 

  本视图显示数据字典缓存(也叫rowcache)的各项统计。每一条记录包含不同类型的数据字典缓存数据统计,注意数据字典缓存有层次差别,因此同样的缓存名称可能不止一次出现。

 

V$ROWCACHE常用列

  • PARAMETER:缓存名
  • COUNT:缓存项总数
  • USAGE:包含有效数据的缓存项数
  • GETS:请求总数
  • GETMISSES:请求失败数
  • SCANS:扫描请求数
  • SCANMISSES:扫描请求失败次数
  • MODIFICATIONS:添加、修改、删除操作数
  • DLM_REQUESTS:DLM请求数
  • DLM_CONFLICTS:DLM冲突数
  • DLM_RELEASES:DLM释放数

 

使用V$ROWCACHE数据

 

1>.确认数据字典缓存是否拥有适当的大小。如果shared pool过小,那数据字典缓存就不足以拥有合适的大小以缓存请求信息。

2>.确认应用是否有效访问缓存。如果应用设计未能有效使用数据字典缓存(比如,大数据字典缓存并不有助于解决性能问题)。例如,DC_USERS缓存在过去某段时期内出现大量GETS,看起来像是数据库中创建了大量的不同用户,并且应用记录下用户频繁登陆和注销。通过检查logon比率以及系统用户数可以验证上述数据。同时解析比率也会很高,如果这是一个大型的OLTP系统的中间层,它可能在中间层更有效的管理个别帐户,允许中间层以单用户登陆成为应用所有者。通过保持活动连接来减少logon/logoff比率也同样有效。

3>.确认是否发生动态空间分配。DC_SEGMENTS, DC_USED_EXTENTS, 以及DC_FREE_EXTENTS大量的类似大小修改将指出存在大量动态空间分配。可行的解决方案包括指定下一个区大小或者使用本地管理表空间。如果发生空间分配的是临时的表空间,则可以为其指定真正的临时表空间(If the space allocation is occurring on the temp tablespace, then use a true temporary tablespace for the temp. )。

4>.dc_sequences值的变化指出是否大量sequence号正在产生。

5>.搜集硬解析的证据。硬解析常表现为大量向DC_COLUMNS, DC_VIEWS 以及 DC_OBJECTS caches的gets。

 

 

示例:

1.分组统计数据字典统计项

SELECT parameter,sum("COUNT"),sum(usage),sum(gets),sum(getmisses),

       sum(scans),sum(scanmisses),sum(modifications),

       sum(dlm_requests),sum(dlm_conflicts),sum(dlm_releases)

  FROM V$ROWCACHE

 GROUP BY parameter;

 

2.检查数据字典的命中率

select 1 - sum(getmisses) / sum(gets) "data dictionary hitratio"  from v$rowcache;

 

posted on   jack_Meng  阅读(1121)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩