High Waits On Real-time Descriptor Latch From 12.1.0.1 (Doc ID 2382299.1)

 
Copyright (c) 2020, Oracle. All rights reserved. Oracle Confidential.
 
 
Click to add to Favorites To BottomTo Bottom

In this Document

  Symptoms
  Changes
  Cause
  Solution

 

APPLIES TO:

Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database Cloud Service - Version N/A and later
Information in this document applies to any platform.

SYMPTOMS

High "latch free" waits are observed for database after upgrading to 12c.
Since "latch free" is a big umbrella wait, narrowing down further shows "Real-time descriptor latch" as the main culprit.

CHANGES

 After upgrade to 12.1.0.1 onwards.

CAUSE

Real-time descriptor latch is newly introduced from database 12.1.0.1 onwards.
Basically, "Real-time descriptor latch" is used to protect the shared dynamic SGA structure (X$views) when inserting/removing descriptor entries in the shared structure.
Mostly, the latch sleeps are on "keomgAddNewEntry", which indicates the space pressure in SGA as oracle is not able to allocate the memory chunk to add the descriptor entries.
As part of "Automatic Report Capturing Feature", some monitoring SQLs are executed by MMON_SLAVE every 60 seconds to identify the resource-intensive SQLs and generate the SQL Monitoring report automatically for those SQLs. Those new entries (resource-intensive SQLs) are added to GV$SQL_MONITOR and other views and the latch happens when there is no adequate memory in shared pool for new entries.

 

<<
..
164.42 977 0.17 1.56 410.33 40.07 4.34 fhf8upax5cxsz MMON_SLAVE BEGIN sys.dbms_auto_report_int...
154.55 976 0.16 1.47 382.01 40.46 3.44 0w26sk6t6gq98 MMON_SLAVE SELECT XMLTYPE(DBMS_REPORT.GET...
142.06 676 0.21 1.35 325.62 43.63 3.93 dfffkcnqfystw MMON_SLAVE WITH MONITOR_DATA AS (SELECT I...
>>


The space pressure in the SGA is evident from AWR report as below.

<<
Latch Miss Sources

only latches with sleeps are shown
ordered by name, sleeps desc

Latch Name Where NoWait Misses Sleeps Waiter Sleeps
...
Real-time descriptor latch keomgAddNewEntry 0 1,050,828 1,051,813 => Heavy sleeps while adding new entry
shared pool kghalo 0 468,844 436,247 => High sleeps while allocating memory chunk in shared pool
...
>>

<<
Library Cache Activity

"Pct Misses" should be very low

Namespace Get Requests Pct Miss Pin Requests Pct Miss Reloads Invali- dations
...
SQL AREA 5,497,561 11.32 77,359,889 3.10 739,531 737,051 => Huge reloads and invalidations
...
>> 

 

SOLUTION

1. Identify the appropriate value for SGA_TARGET or MEMORY_TARGET and set higher minimum value for SHARED_POOL_SIZE to avoid memory pressure.

2. Disable Automatic Report Capturing Feature.

SQL> alter system set "_report_capture_cycle_time"=0; /* Default is 60 seconds */ /* This is system modifiable with immediate */

Guess you like

Origin www.cnblogs.com/chendian0/p/12222596.html