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. MySQL Cluster配置文件-SQL节点4G内存

    # Example MySQL config file for large systems. # # This is for a large system with memory = 512M whe ...

  2. Scalatra文件下载时中文乱码

    可以采用Servlet平台的解决方法进行解决: Ok(file.get, Map( "Content-Type" -> (file.contentType.getOrElse ...

  3. jQuery知识集锦

      CreateTime--2017年2月16日14:00:22Author:MarydonjQuery知识集锦1.empty()与remove()的区别 <select id="ty ...

  4. TRIZ系列-创新原理-25-自服务原理

    自服务原理的详细表述例如以下:1)物体在实施辅助和维修操作时.必须能自我服务:2)利用废弃的材料和能量: 自服务原理的第1)个比較好理解,假设一个系统在执行过程中须要进行辅助和维护操作时,最好不要借助 ...

  5. Oracle EBS SLA(子分类账)

    SLA概述 SLA(Subledger Accounting) 子帐是子分类帐会计的简称,字面上的含义就是子分类帐会计分录 SLA常用表介绍 在SLA中技术方面最常用的就是日记账来源追溯,在追溯的过程 ...

  6. 科学计算法帮助类MathUtils

    import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; /** * 科学计算 ...

  7. Java内存泄露原因详解

    一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射的方法创建的, 这些对象的创建都是在堆(He ...

  8. 理解并使用.NET 4.5中的HttpClient(转)

    原文地址:http://www.cnblogs.com/wywnet/p/httpclient.html HttpClient介绍HttpClient是.NET4.5引入的一个HTTP客户端库,其命名 ...

  9. TaskController.java 20160712

    package main.java.com.zte.controller.system; import java.io.PrintWriter; import java.util.ArrayList; ...

  10. Integer 内部实现

    public static void main(String[] args) { Integer in1 = 128; Integer in2 = 128; System.out.println(in ...