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@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