RE: reads by KTSJ

From: Noveljic Nenad <nenad.noveljic_at_vontobel.com>
Date: Wed, 13 May 2020 22:15:31 +0000
Message-ID: <29456_1589408149_5EBC7195_29456_2949_1_00eb22f945734a0a82ee9340219aeef7_at_vontobel.com>



Indeed!

SQL> _at_init
SQL> _at_sys ASSM%fix

NAME                                                                                  VALUE
---------------------------------------------------------------- --------------------------
ASSM bg: segment fix monitor                                                            789
ASSM fg: submit segment fix task                                                          0
ASSM bg:mark segment for fix                                                              0
ASSM bg:create segment fix task                                                         321
ASSM bg:slave fix one segment                                                           169
ASSM bg:slave fix state                                                             8281891

Do you ever run out of good ideas?

Yes, that’s actually my main concern that KTSJs are thrashing the file system.

I’ve already used the hidden parameter, when, e.g. many slaves were started to extend a LOB segment or several slaves tried to do the flashback archive maintenance for the same table, which ended in deadlock. The high default value doesn’t make any sense, especially on a consolidated system. I won’t though change the parameter for now, to get alerted in the case of excessive free buffer waits – it’s a test system anyway.

Best regards,

Nenad

https://nenadnoveljic.com/blog

From: oracle-l-bounce_at_freelists.org <oracle-l-bounce_at_freelists.org> On Behalf Of Tanel Poder Sent: Mittwoch, 13. Mai 2020 23:43
To: ORACLE-L (oracle-l_at_freelists.org) <oracle-l_at_freelists.org> Subject: Re: reads by KTSJ

If it's lots of single block reads, then the free buffer waits may just show up as a result of high concurrency of reads + block changes (due to whatever perceived need to "fix" the segment blocks). The DBWR wasn't able to keep up with syncing the modified blocks to disk fast enough. The Space management slaves may have inadvertently executed a SLOB-like I/O benchmark workload in your machine :-)

Until you find out if it's segment repair-related and why it kicked in, you could greatly reduce the _max_spacebg_slaves parameter value. It's semi-documented in a couple of MOS notes - in my test lab machine the max number is 1024 (and I have 62 Wnnn processes just waiting around right now):

SQL> _at_pd _max_spacebg_slaves
Show all parameters and session values from x$ksppi/x$ksppcv...

       NUM NAME                                                     VALUE
---------- -------------------------------------------------------- -----
      2604 _max_spacebg_slaves                                      1024
      2605 _minmax_spacebg_slaves                                   8


That way, even if a repair kicks in, it won't get more than say 8 workers doing all this I/O concurrently.

--
Tanel
http://tanelpoder.com

On Wed, May 13, 2020 at 5:34 PM Tanel Poder <tanel_at_tanelpoder.com<mailto:tanel_at_tanelpoder.com>> wrote: Ok I managed to forget which events you saw as I read through the thread :-)

There are also V$SYSSTAT/V$SESSTAT metrics related to ASSM segment fixing:

SQL> _at_sys ASSM%fix

NAME                                                                                  VALUE
---------------------------------------------------------------- --------------------------
ASSM bg: segment fix monitor                                                           1845
ASSM fg: submit segment fix task                                                          0
ASSM bg:mark segment for fix                                                              0
ASSM bg:create segment fix task                                                           0
ASSM bg:slave fix one segment                                                             0
ASSM bg:slave fix state                                                                   0


You could look into AWR and check if you have any unusual numbers there - or run Snapper on the Wnnn processes when the problem happens again.

Also, assuming that the Wnnn slaves haven't exited, you can just check the current V$SESSTAT values (_at_ses2 shows any matching metrics with non-zero values):

SQL> _at_ses2 "select sid from v$session where program like '%(W%'" ASSM%fix

       SID NAME                                                                  VALUE
---------- ---------------------------------------------------------------- ----------
       124 ASSM bg: segment fix monitor                                             40
       851 ASSM bg: segment fix monitor                                             41
      1213 ASSM bg: segment fix monitor                                             41
      1578 ASSM bg: segment fix monitor                                             42
...

Tanel
https://tanelpoder.com



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

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">p { font-family: Arial;font-size:9pt }</style>
</head>
<body>
<p>
<br>Important Notice</br>
<br />
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.<br /> 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.<br /> 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.</br> 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.<br /> 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 <a href="https://www.vontobel.com">www.vontobel.com</a>.<br />
</p>
</body>
</html>

--
http://www.freelists.org/webpage/oracle-l
Received on Thu May 14 2020 - 00:15:31 CEST

Original text of this message