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. php之phpstorm入门

    入门篇!见这章

  2. error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27

    G:\Soft\python\word_cloud-master>python setup.py install error: Microsoft Visual C++ 9.0 is requi ...

  3. Mac Oracle SqlDeveloper 快捷输入

    用惯了 plsql 的快捷输入,换了 Mac Oracle SqlDeveloper反倒是找不到了,翻出去找了几次终于找到 SqlDeveloper -- preferences -- 数据库(dat ...

  4. 算法笔记_190:历届试题 幸运数(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的“筛法”生成 . 首先从1开始写出自然数1,2,3,4,5,6,.... 1 就是第 ...

  5. java面试第十八天

    软件开发流程: 1.可行性分析 2.需求分析->开发测试 3.概要设计->分隔模块,定义框架等 4.详细设计->类设计.接口设计 5.编码 6.测试 7.部署 8.维护 单元测试: ...

  6. mysqladmin: connect to server at 'localhost' failed

    1:mysqladmin: connect to server at 'localhost' failed 2: 3: 4:

  7. 用Navicat Premium 操作MySQL数据库

    1. 用Navicat来查看MySQL数据库        打开Navicat Premium–>[连接]–>[MySQL]–>[连接名:新建数据库的名字,此处为“本地”]:[主机: ...

  8. 解决 maven 项目启动 提示 class not find

    第一种方法: 项目 --> .classpath <classpathentry exported="true" kind="con" path=& ...

  9. Linux内核源代码分析方法

    Linux内核源代码分析方法   一.内核源代码之我见 Linux内核代码的庞大令不少人"望而生畏",也正由于如此,使得人们对Linux的了解仅处于泛泛的层次.假设想透析Linux ...

  10. <转>C++ explicit关键字详解

    要文转自:http://www.cnblogs.com/ymy124/p/3632634.html 首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造 ...