Row Cache Objects
This latch comes into play when user processes are attempting to access or update the cached data dictionary values.
Solutions
Problem:
To determine if the row cache is being used efficiently, execute the following SQL. If the ratio is not close to 1 then some tuning required.
SELECT parameter, sum(gets), sum(getmisses),
100*sum(gets – getmisses) / sum(gets) pct_succ_gets,
sum(modifications) updates
FROM V$ROWCACHE
WHERE gets > 0
GROUP BY parameter; Options for tuning row cache are so limited that some resources call it non-tunable. However if the value of the column pct_succ_gets in the above query is not close to “1″ or if Ignite for Oracle shows significant waits for the “Row Cache Objects” latch, then consider increasing SHARED_POOL_SIZE.
Another way to adjust the dictionary cache is to increase the library cache. Since the dictionary cache is a part of the library cache, the increase will indirectly increase the dictionary cache. Also, consider the following:
Using Locally Managed tablespaces for application objects, especially indexes, may decrease Row Cache locks.
Review and amend database logical design. For example, try to decrease the number of indexes on tables with frequent inserts 这个latch出现当用户进程试图访问或修改cached数据字典值,要减少对数据字典的访问和修改 解决办法:
SQL> SELECT parameter, sum(gets), sum(getmisses),
100*sum(gets - getmisses) / sum(gets) pct_succ_gets,
sum(modifications) updates
FROM V$ROWCACHE
WHERE gets > 0
GROUP BY parameter; 2 3 4 5 6 PARAMETER SUM(GETS) SUM(GETMISSES) PCT_SUCC_GETS UPDATES
-------------------------------- ---------- -------------- ------------- ----------
dc_constraints 7530 6075
sch_lj_oids 22350 77.5784753 0
dc_tablespaces 64543467 99.9896194 0
dc_awr_control 250713 99.4814519 74
dc_object_grants 12861 1269 90.1329601 0
dc_histogram_data 187398 20174 89.234677 1972
dc_rollback_segments 3071821 99.9316362 31
dc_sequences 224 166 25.8928571 224
sch_lj_objs 187 61.1111111 0
dc_segments 80661 11209 86.1035693 1397
dc_objects 316511 14349 95.4665083 731 PARAMETER SUM(GETS) SUM(GETMISSES) PCT_SUCC_GETS UPDATES
-------------------------------- ---------- -------------- ------------- ----------
dc_histogram_defs 310809 87836 71.7395571 2418
dc_table_scns 1313 0 0
dc_users 982961 1282 99.8695777 23
outstanding_alerts 108992 91.5518825 2
dc_files 41 21 48.7804878 6
dc_global_oids 4977 474 90.4761905 0
dc_profiles 55248 99.8551774 0
global database name 921494 99.9956592 0 已选择19行。 调优row cache方法是有限的,有些资源甚至不可调整,如果上面的查询column pct_succ_gets的值不接近于100%, 否则就会促发“Row Cache Objects” latch。然后试着增加SHARED_POOL_SIZE,间接的也增加了dictionary cache。 行高速缓存调整非常有限,最佳的解决方法是根据v$rowcache中输出减少字典访问。例如,如果序列是问题所在,那么就考虑高速缓存序列。 DC_SEQUENCES
Check for appropriate caching of sequences for the application requirements. DC_USERS
Deadlock and resulting “WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!” can occur if a session issues a GRANT to a user, and that user is in the process of logging on to the database. DC_SEGMENTS
This is likely to be down to segment allocation. Identify what the session holding the enqueue is doing and use errorstacks to diagnose. DB_ROLLBACK_SEGMENTS
This is due to rollback segment allocation. Just like dc_segments,identify what is holding the enqueue and also generate errorstacks. Remember that on a multi-node system (RAC) the holder may be on another node and so multiple systemstates from each node will be required. DC_AWR_CONTROL
This enqueue is related to control of the Automatic Workload Repository. As such any operation manipulating the repository may hold this so look for processes blocking these.
Row Cache Objects的更多相关文章
- Latch: Row Cache Objects (One bug?)
During the performance test, observe the following condition in the database server from EM, And the ...
- 【转载】row cache lock
转自:http://blog.itpub.net/26736162/viewspace-2139754/ 定位的办法: --查询row cache lock等待 select event,p1 ...
- Database hang and Row Cache Lock concurrency troubleshooting
http://www.dadbm.com/database-hang-row-cache-lock-concurrency-troubleshooting/ Issue backgroundThis ...
- 【等待事件】序列等待事件总结(enq: SQ - contention、row cache lock、DFS lock handle和enq: SV - contention)
[等待事件]序列等待事件总结(enq: SQ - contention.row cache lock.DFS lock handle和enq: SV - contention) 1 BLOG文档结 ...
- row cache lock
SQL> col name format a30 SQL> select * from (select SAMPLE_TIME, SESSION_ID, NAME, P1, P2, P3, ...
- Sessions Hang on row cache lock
Sessions Hang on "row cache lock" (dc_objects) While Creating & Dropping a Table Concu ...
- 关于library cache lock和row cache lock产生的常见原因
这两个等待事件其实很少出现在top5列表中,一般都没什么印象,在此整理记录以便以后查阅. 常见的library cache lock产生的原因在<高级OWI与Oracle性能调查>这本书和 ...
- bug 7715339 登录失败触发 ‘row cache lock’ 等待
Bug 7715339 - Logon failures causes "row cache lock" waits - Allow disable of logon delay ...
- 11g等待事件之library cache: mutex X
11g等待事件之library cache: mutex X 作者: dbafree 日期: 2012 年 07 月 01 日发表评论 (0)查看评论 library cache: mutex X ...
随机推荐
- ACM2055_ctype.h_cctype
#include<iostream> int main() { using namespace std; int y,count; char x; cin>>count; wh ...
- MySQL查看数据库、表的占用空间大小
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.tables WHERE TABLE_SCH ...
- WingIDE注册破解方法
WingIDE是Python程序语言设计的集成开发环境,具有语法标签高亮显示,命令自动完成和函数跳转列表等非常强大的功能.本文主要介绍WingIDE 5安装及注册破解方法. 1. WingIDE 5下 ...
- Javascript的模块化编程
随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...
- SEO名词_黒帽SEO
一.什么是黒帽SEO 黑帽SEO是指通过一些操控和欺骗找寻搜索引擎漏洞的一些技术,让关键词排名在很短的时间获得非常好的排名的一项技术 二.黒帽SEO的危害 如果被搜索引擎识别网站采用的是黑帽SEO手段 ...
- 基于mapreducer的图算法
作者现就职阿里巴巴集团1688技术部 引言 周末看到一篇不错的文章"Graph Twiddling in a MapReduce world" ,介绍MapReduce下一些图算法 ...
- JAVA基础1
阶段0:拟出一个计划 阶段1:要制作什么? 阶段2:如何构建? 阶段3:开始创建 阶段4:校订 阶段5:计划的回报 一.程序运行时,数据保存位置 1.寄存器.这是最快的保存区域,因为它位于和其他所 ...
- openwrt上网配置的一些理解(二)
上一篇里面遇到了只能静态上网的问题,动态不行.所以再接再励,问题总是要解决的,偷懒的下场就是一直停留在菜鸟的水平. 首先分析下问题,要动态上网,首先我要明确不是动态获取不了IP,是获取了,上不了外网. ...
- mybatis简单应用(基于配置文件)
本文主要介绍了如何使用mybatis进行简单的数据库操作.本人使用的是mybatis3.05. 1.创建数据库表(User表) CREATETABLE `NewTable` (`userId` big ...
- Activity具体解释(生命周期、以各种方式启动Activity、状态保存,全然退出等)
一.什么是Activity? 简单的说:Activity就是布满整个窗体或者悬浮于其它窗体上的交互界面.在一个应用程序中通常由多个Activity构成,都会在Manifest.xml中指定一个主的Ac ...