AQ process waiting on "library cache: mutex X"

From: Hameed, Amir <amir.hameed_at_sleepnumber.com>
Date: Tue, 13 Jul 2021 13:18:36 +0000
Message-ID: <CH0PR14MB50122C46FE6D867C07D82BACE0149_at_CH0PR14MB5012.namprd14.prod.outlook.com>



Hi,
The database version is 11.2.0.4 and the OS is Solaris 11. We are noticing that all of a sudden, one of the background AQ processes starts to wait on event library cache: mutex X.

  SID USERNAME SQL_ID        LOCKWAIT   STATUS   SERVER    MODULE     PROGRAM                   TYPE       EVENT                          P1         P2         P3
----- -------- ------------- ---------- -------- --------- ---------- ------------------------- ---------- ---------------------- ---------- ---------- ----------
   28                                   ACTIVE   DEDICATED Streams    oracle_at_ebststdb11 (Q000)  BACKGROUND library cache: mutex X  868929898          0         85


When the situation occurs, that AQ process consistently shows up in TOP as one of the highest CPU consuming processes. The snapper script shows the following output confirming that the process is churning CPU:


  ActSes   %Thread | INST | SQL_ID          | SQL_CHILD | EVENT                               | WAIT_CLASS
---------------------------------------------------------------------------------------------------------------

.90 (90%) | 1 | | | ON CPU | ON CPU
.10 (10%) | 1 | | | library cache: mutex X | Concurrency
  • End of ASH snap 5, end=2021-07-12 12:36:32, seconds=5, samples_taken=20, AAS=1

When the AQ process that was waiting on the event is killed, the wait shifts to another AQ process. I don't have access to the oracle account in this environment and therefore, cannot run TRUSS on the process. Can someone please shed some light on what would cause an AQ process to get stuck on the library cache: mutex X wait with no SQL_ID associated with it.

Thanks,
Amir

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Jul 13 2021 - 15:18:36 CEST

Original text of this message