RE: [EXTERNAL] RE: AQ process waiting on "library cache: mutex X"

  • From: Noveljic Nenad <nenad.noveljic@xxxxxxxxxxxx>
  • To: "Hameed, Amir" <amir.hameed@xxxxxxxxxxxxxxx>, "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 14 Jul 2021 15:42:00 +0000

CPU load is, in my opinion, the primary problem, not the mutex wait.

Based on call stacks, I assume that Q002 is spinning on CPU while Q003 is 
waiting on mutex.

To be sure about that, it would have been better if you had replaced "program2" 
with "program" in the expression sql username||':'||program2||event2.

The MOS note Bug 14639348 - High number of waits on "latch: shared pool" with 
Integrated Extract (Doc ID 14639348.8) mentions a similar problem (knglcpurge 
on the stack) and gives a hint about memory pressure on the streams pool.

Therefore, I would try to increase the streams_pool_size.

Apart from this, and obviously upgrade, I don't have any other ideas.

Best regards,

Nenad



From: Hameed, Amir <amir.hameed@xxxxxxxxxxxxxxx>
Sent: Mittwoch, 14. Juli 2021 17:10
To: Noveljic Nenad <nenad.noveljic@xxxxxxxxxxxx>; oracle-l@xxxxxxxxxxxxx
Subject: RE: [EXTERNAL] RE: AQ process waiting on "library cache: mutex X"

Thank you! Output (three for each process) from oradebug SHORT_STACK is shown 
below for Q003 and Q002

SQL> oradebug setospid 10689
Oracle pid: 192, Unix process pid: 10689, image: oracle@ebststdb11 (Q003)
SQL> oradebug SHORT_STACK
ksedsts()+380<-ksdxfstk()+52<-ksdxcb()+3592<-sspuser()+140<-__sighndlr()+12<-call_user_handler()+868<-sigacthandler()+92<-kglGetMutex()+100<-kglpnal()+760<-kglpin()+4796<-kglgob()+916<-kwqicgob()+268<-kwqicrqo0()+1088<-kwqbmspmain()+1204<-kwqmnslv()+3108<-ksvrdp()+1928<-opirip()+1972<-opidrv()+748<-sou2o()+88<-opimai_real()+512<-ssthrdmain()+324<-main()+316<-_start()+380
SQL>
SQL> oradebug SHORT_STACK
ksedsts()+380<-ksdxfstk()+52<-ksdxcb()+3592<-sspuser()+140<-__sighndlr()+12<-call_user_handler()+868<-sigacthandler()+92<-kglpin()+4744<-kglgob()+916<-kwqicgob()+268<-kwqicrqo0()+1088<-kwqbmspmain()+1204<-kwqmnslv()+3108<-ksvrdp()+1928<-opirip()+1972<-opidrv()+748<-sou2o()+88<-opimai_real()+512<-ssthrdmain()+324<-main()+316<-_start()+380
SQL>
SQL> oradebug SHORT_STACK
ksedsts()+380<-ksdxfstk()+52<-ksdxcb()+3592<-sspuser()+140<-__sighndlr()+12<-call_user_handler()+868<-sigacthandler()+92<-kssrmf_numa_intl()+664<-ksudlc()+692<-kssdel()+196<-ksupop()+712<-kwqbmspmain()+2156<-kwqmnslv()+3108<-ksvrdp()+1928<-opirip()+1972<-opidrv()+748<-sou2o()+88<-opimai_real()+512<-ssthrdmain()+324<-main()+316<-_start()+380

SQL> oradebug setospid 24300
Oracle pid: 28, Unix process pid: 24300, image: oracle@ebststdb11 (Q002)
SQL> oradebug SHORT_STACK
ksedsts()+380<-ksdxfstk()+52<-ksdxcb()+3592<-sspuser()+140<-__sighndlr()+12<-call_user_handler()+868<-sigacthandler()+92<-knglcpblt()+1304<-knglcpurge()+28<-kwqbmfrmain()+168<-kwqmnslv()+3108<-ksvrdp()+1928<-opirip()+1972<-opidrv()+748<-sou2o()+88<-opimai_real()+512<-ssthrdmain()+324<-main()+316<-_start()+380
SQL>
SQL> oradebug SHORT_STACK
ksedsts()+380<-ksdxfstk()+52<-ksdxcb()+3592<-sspuser()+140<-__sighndlr()+12<-call_user_handler()+868<-sigacthandler()+92<-knglcpblt()+1300<-kwqbmfrmain()+168<-kwqmnslv()+3108<-ksvrdp()+1928<-opirip()+1972<-opidrv()+748<-sou2o()+88<-opimai_real()+512<-ssthrdmain()+324<-main()+316<-_start()+380
SQL>
SQL> oradebug SHORT_STACK
ksedsts()+380<-ksdxfstk()+52<-ksdxcb()+3592<-sspuser()+140<-__sighndlr()+12<-call_user_handler()+868<-sigacthandler()+92<-knglcpblt()+1304<-kwqbmfrmain()+168<-kwqmnslv()+3108<-ksvrdp()+1928<-opirip()+1972<-opidrv()+748<-sou2o()+88<-opimai_real()+512<-ssthrdmain()+324<-main()+316<-_start()+380

@ash_wait_chains.sql username||':'||program2||event2 "program2 like '%Qnn%'" 
sysdate-1/24 sysdate
%This     SECONDS        AAS #Blkrs WAIT_CHAIN                                  
                                     FIRST_SEEN          LAST_SEEN
------ ---------- ---------- ------ 
--------------------------------------------------------------------------------
 ------------------- -------------------
  96%        6273        1.7      3 -> SYS:(Qnnn) ON CPU                        
                                     2021-07-14 09:04:32 2021-07-14 10:04:31
   3%         205         .1      2 -> SYS:(Qnnn) library cache: mutex X        
                                     2021-07-14 09:06:36 2021-07-14 10:04:26
   0%          25          0      1 -> SYS:(Qnnn) library cache: mutex X  -> 
SYS:(Qnnn) ON CPU                       2021-07-14 09:17:00 2021-07-14 10:04:30

How can I add columns to the ash_wait_chains.sql script output? I would like to 
add session_id to the output.

Thanks!
____________________________________________________
Please consider the environment before printing this e-mail.
Bitte denken Sie an die Umwelt, bevor Sie dieses E-Mail drucken.

Important Notice

This message is intended only for the individual named. It may contain 
confidential or privileged information. If you are not the named addressee you 
should in particular not disseminate, distribute, modify or copy this e-mail. 
Please notify the sender immediately by e-mail, if you have received this 
message by mistake and delete it from your system.
Without prejudice to any contractual agreements between you and us which shall 
prevail in any case, we take it as your authorization to correspond with you by 
e-mail if you send us messages by e-mail. However, we reserve the right not to 
execute orders and instructions transmitted by e-mail at any time and without 
further explanation.
E-mail transmission may not be secure or error-free as information could be 
intercepted, corrupted, lost, destroyed, arrive late or incomplete. Also 
processing of incoming e-mails cannot be guaranteed. All liability of Vontobel 
Holding Ltd. and any of its affiliates (hereinafter collectively referred to as 
"Vontobel Group") for any damages resulting from e-mail use is excluded. You 
are advised that urgent and time sensitive messages should not be sent by 
e-mail and if verification is required please request a printed version.
Please note that all e-mail communications to and from the Vontobel Group are 
subject to electronic storage and review by Vontobel Group. Unless stated to 
the contrary and without prejudice to any contractual agreements between you 
and Vontobel Group which shall prevail in any case, e-mail-communication is for 
informational purposes only and is not intended as an offer or solicitation for 
the purchase or sale of any financial instrument or as an official confirmation 
of any transaction.
The legal basis for the processing of your personal data is the legitimate 
interest to develop a commercial relationship with you, as well as your consent 
to forward you commercial communications. You can exercise, at any time and 
under the terms established under current regulation, your rights. If you 
prefer not to receive any further communications, please contact your client 
relationship manager if you are a client of Vontobel Group or notify the 
sender. Please note for an exact reference to the affected group entity the 
corporate e-mail signature. For further information about data privacy at 
Vontobel Group please consult www.vontobel.com <https://www.vontobel.com>.

Other related posts: