学习动态性能表 第十六篇--V$ROWCACHE

 

学习动态性能表

16--V$ROWCACHE 

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

V$ROWCACHE常用列

l         PARAMETER:缓存名

l         COUNT:缓存项总数

l         USAGE:包含有效数据的缓存项数

l         GETS:请求总数

l         GETMISSES:请求失败数

l         SCANS:扫描请求数

l         SCANMISSES:扫描请求失败次数

l         MODIFICATIONS:添加、修改、删除操作数

l         DLM_REQUESTS:DLM请求数

l         DLM_CONFLICTS:DLM冲突数

l         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

 GROUPBY parameter;

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

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

时间: 2024-09-20 12:12:32

学习动态性能表 第十六篇--V$ROWCACHE的相关文章

学习动态性能表 第十八篇--V$SYSTEM_EVENT

  学习动态性能表 第18篇--V$SYSTEM_EVENT  本视图概括了实例各项事件的等待信息.v$session_wait显示了系统的当前等待项,v$system_event则提供了自实例启动后各个等待事件的概括.常用于获取系统等待信息的历史影象.而通过两个snapshot获取等待项增量,则可以确定这段时间内系统的等待项. V$SYSTEM_EVENT中的常用列 l         EVENT:等待事件名称 l         TOTAL_WAITS:此项事件总等待次数 l        

学习动态性能表 第十五篇--V$ROLLSTAT

  学习动态性能表 第15篇--V$ROLLSTAT  本视图自启动即保持并记录各回滚段统计项.在学习本视图之前,我们先来了解一下回滚段(rollback segment)的相关概念: 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头部包含正在使用的该回滚段事务的信息.一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段可以存放多个事务的回滚信息. 回滚段的作用 1.事务回滚:当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,当用户

学习动态性能表 第十九篇--V$UNDOSTAT

  学习动态性能表 第19篇--V$UNDOSTAT  本视图监控当前实例中undo空间以及事务如何运行.并统计undo空间开销,事务开销以及实例可用的查询长度. V$UNDOSTAT中的常用列 l         Endtime:以10分钟为间隔的结束时间 l         UndoBlocksUsed:使用的undo块总数 l         TxnConcurrency:事务并发执行的最大数 l         TxnTotal:在时间段内事务执行总数 l         QueryLe

学习动态性能表 第十四篇--V$PARAMETER&V$SYSTEM_PARAMETER

  学习动态性能表 第14篇--V$PARAMETER&V$SYSTEM_PARAMETER  这两个视图列出的各参数项名称以及参数值.V$PARAMETER显示执行查询的session的参数值.V$SYSTEM_PARAMETER视图则列出实例的参数值. 例如,下列查询显示执行查询的session的SORT_AREA_SIZE参数值: SELECTvalue  FROM V$PARAMETER  WHEREname = 'sort_area_size'; 呵呵,可能有朋友还是不明白v$para

学习动态性能表 第十二篇--V$DB_OBJECT_CACHE

  学习动态性能表 第12篇--V$DB_OBJECT_CACHE  本视图提供对象在library cache(shared pool)中对象统计,提供比v$librarycache更多的细节,并且常用于找出shared pool中的活动对象. v$db_object_cache中的常用列: l         OWNER:对象拥有者 l         NAME:对象名称 l         TYPE:对象类型(如,sequence,procedure,function,package,pa

学习动态性能表 第十篇--V$SESSION_LONGOPS

  学习动态性能表 第十篇--V$SESSION_LONGOPS  本视图显示运行超过6秒的操作的状态.包括备份,恢复,统计信息收集,查询等等. 要监控查询执行进展状况,你必须使用cost-based优化方式,并且: l         设置TIMED_STATISTICS或SQL_TRACE参数值为true. l         通过ANALYZE或DBMS_STATS数据包收集对象统计信息. 你可以通过DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS过程添加

学习动态性能表 第二十篇--V$WAITSTAT

  学习动态性能表 第20篇--V$WAITSTAT  本视图保持自实例启动所有的等待事件统计信息.常用于当你发现系统存在大量的"buffer busy waits"时据此做出适当调整. V$WAITSTAT中的常用列 l         CLASS:块类别 l         WAITS:本类块的等待次数 l         TIME:本类块的总等待时间 等待发生的原因: 1.undo段头部:没有足够的回滚段 2.数据段头部/数据段空闲列:空闲列争夺 3.数据块冲突 4.缓存存在大量

学习动态性能表 第六篇-(1)-V$SESSION_WAIT

  学习动态性能表 第六篇-(1)-V$SESSION_WAIT  这是一个寻找性能瓶颈的关键视图.它提供了任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件).当系统存在性能问题时,本视图可以做为一个起点指明探寻问题的方向. V$SESSION_WAIT中,每一个连接到实例的session都对应一条记录. V$SESSION_WAIT中的常用列   l         SID: session标识 l         EVENT: s

学习动态性能表 第七篇--V$PROCESS

  学习动态性能表 第七篇--V$PROCESS  本视图包含当前系统oracle运行的所有进程信息.常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联系.在某些情况下非常有用: 1.         如果数据库瓶颈是系统资源(如:cpu,内存),并且占用资源最多的用户总是停留在某几个服务进程,那么进行如下诸项: l         找出资源进程 l         找出它们的session,你必须将进程与会话联系起来. l         找出为什么sessio