During the performance test, observe the following condition in the database server from EM,

And the AWR report shows the top event is "Latch:Row Cache Objects",

And the ASH report also confirms this,

Did some query, and find the most of the row cache are in "dc_users",

select * from v$latch_children where latch#=280 and to_number(addr, 'xxxxxxxxxxxxxxxx') = 14688581512; -- child# 8, level# 4

select distinct s.kqrstcln    latch#,  r.cache#,  r.parameter    name,   r.type,    r.subordinate#,   r.gets
from v$rowcache r, x$kqrst s
where r.cache# = s.kqrstcid
and s.kqrstcln = 8
;

Try some search in MOS, and found the following article (Doc ID 1417373.1 - Row Cache Latch Contention for DC_USERS While Using
VPD
) mentioning one Oracle bug (12772404) could cause this problem.

===============================================

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.0 to 11.2.0.3 [Release 11.2]
Information in this document applies to any platform.

SYMPTOMS

Significant Latch: row cache objects contention.

The Dictionary Cache Stats section of the awr report shows high Get Requests for the dc_users row cache. Soft parsing contributes most to the total DB Time. The top SQLs doing huge parse calls (Sqls Ordered by Parse Calls section of the awr report) uses VPD.

The queries in the top list are executed by the users who were granted the "exempt access policy" privilege.

CAUSE

The problem is caused by << Bug 12772404 >>. The SQL statements accessing VPD-protected objects are constantly soft reparsed and this in turns generates significant contention on access to row cache objects, in particular dc_users. The heavy hits of row cache during soft parse of VPD cursors is due to repeated system privilege check for VPD bypass against the subheap of user row cache. The cause of the latch contention is the row cache look-up while checking for EXEMPT ACCESS POLICY system privilege.

When VPD is used, intense row cache objects latch contention (on dc_users) may be caused (because of Exempt Access Policy privilege check).

SOLUTION

Apply the patch 12772404 SIGNIFICANT ROW CACHE OBJECTS LATCH CONTENTION WHEN USING VPD

=====================

So, just download the patch and using Opatch to apply it to the database.

Now the database Top 5 events has changed to....

Seems the "latch:row cache objects" issue is gone. Will wait and see.

Latch: Row Cache Objects (One bug?)的更多相关文章

  1. Row Cache Objects

    This latch comes into play when user processes are attempting to access or update the cached data di ...

  2. 【转载】row cache lock

    转自:http://blog.itpub.net/26736162/viewspace-2139754/   定位的办法: --查询row cache lock等待 select event,p1   ...

  3. Database hang and Row Cache Lock concurrency troubleshooting

    http://www.dadbm.com/database-hang-row-cache-lock-concurrency-troubleshooting/ Issue backgroundThis ...

  4. bug 7715339 登录失败触发 ‘row cache lock’ 等待

    Bug 7715339 - Logon failures causes "row cache lock" waits - Allow disable of logon delay ...

  5. Sessions Hang on row cache lock

    Sessions Hang on "row cache lock" (dc_objects) While Creating & Dropping a Table Concu ...

  6. 关于library cache lock和row cache lock产生的常见原因

    这两个等待事件其实很少出现在top5列表中,一般都没什么印象,在此整理记录以便以后查阅. 常见的library cache lock产生的原因在<高级OWI与Oracle性能调查>这本书和 ...

  7. 【等待事件】序列等待事件总结(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文档结 ...

  8. 共享池之六:shared pool latch/ library cache latch /lock pin 简介

    latch:library cache --desc v$librarycache; latch:library cache用于保护hash bucket.library cache lock保护HA ...

  9. row cache lock

    SQL> col name format a30 SQL> select * from (select SAMPLE_TIME, SESSION_ID, NAME, P1, P2, P3, ...

随机推荐

  1. 经典,HTML5游戏,超级玛丽

    在线演示 在线演示 本地下载 这是一款使用HTML5开发的超级玛丽,有没有点儿时的记忆?长按向上键,可以跳的更高哦.如果你也喜欢可以当成休闲游戏,如果你是开发者,不防下载下来看看是如何生成的.

  2. Android 之数据传递小结

    Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,常用的的有五种传递方式.它们各有利弊,有各自的应用场景.下面分别介绍一下: 1. Intent对象传递简单数 ...

  3. windows下的虚拟内存分配分析

    让我们从原始的进程创建开始分析吧.当进程创建后,操作系统给该进程分配4GB的虚拟地址空间,这部分虚拟内存是你的应用程序看的到的区域(注意很大一部分是不能访问的,比如:内核区域,这部分加载了操作系统中的 ...

  4. uni-app 如何引入全局方法或变量?

    利用Vue.prototype挂载到Vue实例上即可

  5. Using QuickExec

    Fiddler's QuickExec box allows you to launch script-commands quickly. Keyboard Shortcuts Hit ALT+Q t ...

  6. mac系统下ionic环境配置

    本人是在mac环境下进行配置的: 下载nodejs:https://nodejs.org/download/ 并双击安装 Cordova and Ionic command-line tools 安装 ...

  7. Wide - Residual - Inception Networks for R eal - time O bject D etection

    本文的提出了一个WR-inception网络结构.只需更小的内存消耗和更小的计算量. 作者使用了一种微结构,整个宏观网络都是由这个微结构组成. 微结构 微结构的种类如下: 基本的残差结构(3*3,3* ...

  8. MHDD修复硬盘坏道

    2种修复的方法,本人已经尝试过,非常管用! 1.先按SHIFT+F3扫描硬盘连接并选择,按F4键,先用一般模式扫一遍,再用高级模式扫一变,具体方法是选择LBA模式,remap项OFF,Loop the ...

  9. sqlserver 创建对某个存储过程执行情况的跟踪

    有时候需要抓取执行存储过程时某个参数的值,有时候程序调用存储过程执行后结果不太对,不确定是程序的问题还是存储过程的问题,需要单独执行存储过程看结果 即可用下面的方法 --=============== ...

  10. hdu 4031(树状数组+辅助数组)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4031 Attack Time Limit: 5000/3000 MS (Java/Others)    ...