RE: reads by KTSJ

  • From: Noveljic Nenad <nenad.noveljic@xxxxxxxxxxxx>
  • To: "tanel@xxxxxxxxxxxxxx" <tanel@xxxxxxxxxxxxxx>, "ORACLE-L (oracle-l@xxxxxxxxxxxxx)" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 13 May 2020 22:15:31 +0000

Indeed!

SQL> @init
SQL> @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@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx> On Behalf 
Of Tanel Poder
Sent: Mittwoch, 13. Mai 2020 23:43
To: ORACLE-L (oracle-l@xxxxxxxxxxxxx) <oracle-l@xxxxxxxxxxxxx>
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> @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@xxxxxxxxxxxxxx<mailto:tanel@xxxxxxxxxxxxxx>> 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> @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 (@ses2 shows any matching metrics with non-zero 
values):

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

Other related posts: