RE: ITL waits in the dictionary

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <tanel@xxxxxxxxxxxxxx>, "'Jonathan Lewis'" <jonathan@xxxxxxxxxxxxxxxxxx>
  • Date: Fri, 22 Nov 2019 10:28:48 -0500

so in addition to multiple thread suite updates where 10s of thousands of 
indexes are dropped and created, a partitioned index would presumably mimic the 
situation you found via CTAS on seg$.

 

I’ve always been mystified by large.bsq was not adopted as the default once 
storage got pretty doggone cheap. The total cost in blocks of storage is pretty 
small compared to pretty much eliminating dictionary contention.

 

mwf

 

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On ;
Behalf Of Tanel Poder
Sent: Friday, November 22, 2019 9:11 AM
To: Jonathan Lewis
Cc: oracle-l@xxxxxxxxxxxxx
Subject: Re: ITL waits in the dictionary

 

I have an old presentation of a severe SEG$ contention case (both gc buffer 
busy waits and enq: ITL waits against it) caused by highly parallel CTAS to 
partitioned table that caused many new segments (one for each partition) 
created and later extended concurrently. That caused SEG$ block modification 
contention.

 

https://www.slideshare.net/tanelp/troubleshooting-complex-performance-issues-oracle-seg-contention

 

--

Tanel Poder

https://blog.tanelpoder.com/seminar

 

 

On Thu, Nov 21, 2019 at 4:07 PM Jonathan Lewis <jonathan@xxxxxxxxxxxxxxxxxx> 
wrote:


Trying to come up with some reason why ind$ might be subject to ordinary ITL 
waits - if you're gathering stats use a level of concurrency greater than one 
the ind$ could be subject to N concurrent processes updating it.


Regards
Jonathan Lewis


________________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx> on behalf 
of Mladen Gogala <gogala.mladen@xxxxxxxxx>
Sent: 20 November 2019 17:46
To: oracle-l@xxxxxxxxxxxxx
Subject: ITL waits in the dictionary

I have a bad habit of checking whether any objects in the database are being 
used so intensely to cause ITL waits. I do occasionally encounter an object and 
if it's a user object, I can usually fix it. However, here is something that 
I'm stuck with:


SQL> select owner,object_name,object_type,value from v$segment_Statistics where 
statistic_name like 'ITL%' and value>0;   OWNER    OBJECT_NAME    OBJECT_TYPE   
 VALUE
________ ______________ ______________ ________
SYS      IND$           TABLE              1049
SYS      SEG$           TABLE                69
SYS      CDEF$          TABLE                22
SYS      I_OBJ2         INDEX                 1
SYS      I_OBJ5         INDEX                 1
SYS      I_COL1         INDEX                 4



Other related posts: