QMON Slaves Processes Consuming High Amount of CPU after Upgrade to 11.2.0.4

(Doc ID 1615165.1)

Last updated on MAY 16, 2017

Applies to:

Oracle Database - Enterprise Edition - Version 11.2.0.4 and later
Information in this document applies to any platform.

Symptoms

After upgrade to 11.2.0.4, you have observed that qmon slave processes (qXXX) are consuming a high amount of CPU.

To determine if you are suffering this problem, the following conditions should be met.

1) In AQ HC script (provided on Doc ID 1193854.1) html output, you can see :

a) At Statistics --> QMON section, the process consuming CPU are in status RUNNING and the task assigned are related to spilling like :   QMON_SPILL or QMON_DEALLOC_SPILLED.

It can be idenfied using the following query too:

select * from gv$qmon_tasks order by inst_id, task_type, task_name, task_number; 

b) At Statistics --> Queues --> Buffered, there are buffered queues, but there are not buffered messages to spill:

select inst_id, queue_schema, queue_name, queue_id, queue_state, startup_time,
       num_msgs, spill_msgs, waiting, ready, expired, cnum_msgs, cspill_msgs, expired_msgs,
       total_wait, average_wait
from gv$buffered_queues, gv$aq
where queue_id=qid
order by 1,2,3;

 

2) A 10046/SQL trace for qmon slaves consuming cpu shows continous waits on 'library cache: mutex X' for the same idn all the time.

Changes

Upgrade to 11.2.0.4.

This issue has been observed on customer running EBS Workflow module, but can be observed on any type of queues.

It is more frequent to observe this issue on environment with ASMM (sga_target > 0) is being used and streams_pool_size parameter is not defined.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms