<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Resolving HW enqueue contention</title>
	<atom:link href="http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/feed/" rel="self" type="application/rss+xml" />
	<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/</link>
	<description>Discussions about Oracle performance tuning, RAC, Oracle internal &#38; E-business suite.</description>
	<lastBuildDate>Sun, 19 May 2013 12:13:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Resolving HW enqueue contention (Slow Inserts on Table having BLOBs,10g) &#124; Data Base Internal</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-1945</link>
		<dc:creator><![CDATA[Resolving HW enqueue contention (Slow Inserts on Table having BLOBs,10g) &#124; Data Base Internal]]></dc:creator>
		<pubDate>Tue, 08 Jan 2013 03:20:49 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-1945</guid>
		<description><![CDATA[[...] http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/ [...]]]></description>
		<content:encoded><![CDATA[<p>[...] <a href="http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/" rel="nofollow">http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Namit Sehgal</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-1603</link>
		<dc:creator><![CDATA[Namit Sehgal]]></dc:creator>
		<pubDate>Tue, 31 Jul 2012 15:18:46 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-1603</guid>
		<description><![CDATA[I have the similar issue in my zOracle 10.2.0.5 on Windows. In my top waits AWR, I see enq: HW - contention waits but when i trace out my session I see I/O slaves (something related to 1300021.1 which I think I can ignore). But in trace file I see many HW numbers.
Does the above mentioned Bug applied on 10.2.0.5? Should I set this event for 10.2.0.5?]]></description>
		<content:encoded><![CDATA[<p>I have the similar issue in my zOracle 10.2.0.5 on Windows. In my top waits AWR, I see enq: HW &#8211; contention waits but when i trace out my session I see I/O slaves (something related to 1300021.1 which I think I can ignore). But in trace file I see many HW numbers.<br />
Does the above mentioned Bug applied on 10.2.0.5? Should I set this event for 10.2.0.5?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: saurabh mishra</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-703</link>
		<dc:creator><![CDATA[saurabh mishra]]></dc:creator>
		<pubDate>Tue, 10 May 2011 23:17:31 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-703</guid>
		<description><![CDATA[Hi,

I have a typical after migration issue, we had i/o issues visible in prod after migration to 11gr2. Oracle recommended to set the parameter &quot;_partition_large_extents to false&quot; and after doing that we are observing lots of HW contentions and buffer busy waits in database, mostly the truncate is getting slowed down.

Please suggest.

Thank
Saurabh]]></description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I have a typical after migration issue, we had i/o issues visible in prod after migration to 11gr2. Oracle recommended to set the parameter &#8220;_partition_large_extents to false&#8221; and after doing that we are observing lots of HW contentions and buffer busy waits in database, mostly the truncate is getting slowed down.</p>
<p>Please suggest.</p>
<p>Thank<br />
Saurabh</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: orainternals</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-494</link>
		<dc:creator><![CDATA[orainternals]]></dc:creator>
		<pubDate>Tue, 30 Mar 2010 19:18:33 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-494</guid>
		<description><![CDATA[Hello Marcel

   You haven&#039;t provided much information, what version of RDBMS?

   Mode of the request and hold is very important to diagnose the locking performance issue.

   Can you send the output of the script below when you have locking contention? If you don&#039;t want to post here, you can send to rshamsud@orainternals.com.

col inst format A10
col module format A30
col lmode format 999
col request format 999
SELECT DECODE(request,0,&#039;Holder: &#039;,&#039;   Waiter: &#039;)&#124;&#124;a.sid sess,
            decode(request,0,to_char(a.inst_id),&#039;  &#039;&#124;&#124;to_char(a.inst_id)) inst,
            id1, id2, lmode, request, a.type, a.sid,
        b.sql_hash_value hash,module,round(last_call_et/60,0) min
        FROM gV$LOCK a, gv$session b
      WHERE (id1, id2, a.type) IN
        (SELECT  id1, id2, type FROM gV$LOCK WHERE request&gt;0)
        and   a.sid = b.sid
        and   a.inst_id = b.inst_id
   ORDER BY id1, request
;]]></description>
		<content:encoded><![CDATA[<p>Hello Marcel</p>
<p>   You haven&#8217;t provided much information, what version of RDBMS?</p>
<p>   Mode of the request and hold is very important to diagnose the locking performance issue.</p>
<p>   Can you send the output of the script below when you have locking contention? If you don&#8217;t want to post here, you can send to <a href="mailto:rshamsud@orainternals.com">rshamsud@orainternals.com</a>.</p>
<p>col inst format A10<br />
col module format A30<br />
col lmode format 999<br />
col request format 999<br />
SELECT DECODE(request,0,&#8217;Holder: &#8216;,&#8217;   Waiter: &#8216;)||a.sid sess,<br />
            decode(request,0,to_char(a.inst_id),&#8217;  &#8216;||to_char(a.inst_id)) inst,<br />
            id1, id2, lmode, request, a.type, a.sid,<br />
        b.sql_hash_value hash,module,round(last_call_et/60,0) min<br />
        FROM gV$LOCK a, gv$session b<br />
      WHERE (id1, id2, a.type) IN<br />
        (SELECT  id1, id2, type FROM gV$LOCK WHERE request&gt;0)<br />
        and   a.sid = b.sid<br />
        and   a.inst_id = b.inst_id<br />
   ORDER BY id1, request<br />
;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcel Rosa</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-491</link>
		<dc:creator><![CDATA[Marcel Rosa]]></dc:creator>
		<pubDate>Tue, 30 Mar 2010 01:28:02 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-491</guid>
		<description><![CDATA[I am having a problem with lock , the developers are saying the application logic is correct , i have an oracle trace level 12, and the processes have 2 tx enqueue:
enq: TX - row lock contention                  32        2.93         28.47
enq: TX - index contention                     14        0.05          0.18

the wait process is in a update ,also there is a important table , always inserting ( millions of rows a day ) , with a CLOB column.

Is there a way to check if the problem is for this bug? looking the oracle trace.

thanks.]]></description>
		<content:encoded><![CDATA[<p>I am having a problem with lock , the developers are saying the application logic is correct , i have an oracle trace level 12, and the processes have 2 tx enqueue:<br />
enq: TX &#8211; row lock contention                  32        2.93         28.47<br />
enq: TX &#8211; index contention                     14        0.05          0.18</p>
<p>the wait process is in a update ,also there is a important table , always inserting ( millions of rows a day ) , with a CLOB column.</p>
<p>Is there a way to check if the problem is for this bug? looking the oracle trace.</p>
<p>thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Md. Zafar Ahsan</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-484</link>
		<dc:creator><![CDATA[Md. Zafar Ahsan]]></dc:creator>
		<pubDate>Mon, 29 Mar 2010 12:41:25 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-484</guid>
		<description><![CDATA[Hi Riyaj,

Sorry for missing some important parameters . Ok it is windows XP 32 bits, filesystem- ntfs, the database version is 10.1.0.2
Insert operation done through 3 simultaneous session. Yes it has clob as in your script.In fact i am using the same scripts, but even having 3 sessions running in parallel for insert opertaion still i am not able to produce the Hw-enq wait. Statistics are fine but I need to be inline with wait and produce HW-enq  wait and then after increasing the segment size to 5m check how the waits are reduced with larger extent size.
Test case useed:
@enq_hw1 &quot;uniform size 40K segment space management manual&quot;
@enq_hw1 &quot;uniform size 40K segment space management auto&quot;.

So if possible please let me know how to go for it what changes to make to get the above goal? We canot reduce the extent size further as at least 5 block size(8k) is required while creating the tablespace. Other details i have provided in previous post if anyother information is required then please let me know.
Regarding filesystem_options to setall, . i set this but still didnot find any change for &quot;direct path write&quot; wait event on TS_LMT_AUTO_1M_01.DBF&#039; file . 

Regards,
Zafar]]></description>
		<content:encoded><![CDATA[<p>Hi Riyaj,</p>
<p>Sorry for missing some important parameters . Ok it is windows XP 32 bits, filesystem- ntfs, the database version is 10.1.0.2<br />
Insert operation done through 3 simultaneous session. Yes it has clob as in your script.In fact i am using the same scripts, but even having 3 sessions running in parallel for insert opertaion still i am not able to produce the Hw-enq wait. Statistics are fine but I need to be inline with wait and produce HW-enq  wait and then after increasing the segment size to 5m check how the waits are reduced with larger extent size.<br />
Test case useed:<br />
@enq_hw1 &#8220;uniform size 40K segment space management manual&#8221;<br />
@enq_hw1 &#8220;uniform size 40K segment space management auto&#8221;.</p>
<p>So if possible please let me know how to go for it what changes to make to get the above goal? We canot reduce the extent size further as at least 5 block size(8k) is required while creating the tablespace. Other details i have provided in previous post if anyother information is required then please let me know.<br />
Regarding filesystem_options to setall, . i set this but still didnot find any change for &#8220;direct path write&#8221; wait event on TS_LMT_AUTO_1M_01.DBF&#8217; file . </p>
<p>Regards,<br />
Zafar</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: orainternals</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-483</link>
		<dc:creator><![CDATA[orainternals]]></dc:creator>
		<pubDate>Sat, 27 Mar 2010 18:58:59 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-483</guid>
		<description><![CDATA[Zafar

   Thanks for reading my blog and your kind words.

   For HW enqueue test, what version of software and what tablespace management type (ASSM or non-ASSM) are you using? You might need to increase concurrency, but keep the transaction smaller, typically, few blocks. That might trigger HW enqueue contention.

   If your SQL inserts are suffering from  direct path write wait events, then are you using conventional insert or direct mode insert? Do you have lob columns in that table? What software version please. Better thing is to understand why writes are slower? What kind of file system? Instead of setting disk_asynch_io parameter, you need to have filesystem_options to setall, Oracle RDBMS code will use both asynchronous I/O and direct I/O if the file system supports it. 

Cheers
Riyaj]]></description>
		<content:encoded><![CDATA[<p>Zafar</p>
<p>   Thanks for reading my blog and your kind words.</p>
<p>   For HW enqueue test, what version of software and what tablespace management type (ASSM or non-ASSM) are you using? You might need to increase concurrency, but keep the transaction smaller, typically, few blocks. That might trigger HW enqueue contention.</p>
<p>   If your SQL inserts are suffering from  direct path write wait events, then are you using conventional insert or direct mode insert? Do you have lob columns in that table? What software version please. Better thing is to understand why writes are slower? What kind of file system? Instead of setting disk_asynch_io parameter, you need to have filesystem_options to setall, Oracle RDBMS code will use both asynchronous I/O and direct I/O if the file system supports it. </p>
<p>Cheers<br />
Riyaj</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Md. Zafar Ahsan</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-481</link>
		<dc:creator><![CDATA[Md. Zafar Ahsan]]></dc:creator>
		<pubDate>Sat, 27 Mar 2010 11:00:35 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-481</guid>
		<description><![CDATA[Hello

It is very pleasing to see your practical approach and demonstration for various issues.
Here may be i am just deviating some from the article but it is all related to the same. I tried to do the test and the result was very satisfactory and was in accordance to your observation. As we have to face different types of client in many cases they even donot agree with these statistics i mean HW resuest .so itried to aggrevate it by using 40K extent size and inserting data through 3 different sessions in test environment so that it could comeup with the HW enqueue wait event but unfortunately it didnot show any HW wait event . Could you please provide the test scenerio in which we can also create this wait event and then we can check if the wait event has gone by increasing the extent size. I have used  manual allocate enough space to avoid this wait event( using alter table modify lob... allocate extent  command).
other observation is:
I am finding lots of &quot;direct path write&quot;  on the datafile &quot;TS_LMT_AUTO_1M_01.DBF &quot; contention for each session that is doing the insert .
So could you please provide some  help to reduce this &quot;direct path write&quot; on data file.
I have disk_asynch_io =  TRUE. As this wait is not on temp file i hope it has nothing to take with pga and sort area and worksize_area_policy even then if it is required i have the following setting for them:

pga_aggregate_target =200000000

workarea_size_policy =AUTO


increasing the pga didnot help as it is coming on datafile?

Your early  suggestions and solutions  for both the points are very much appriciated.
Regards,
Md. zafar Ahsan Oracle DBA]]></description>
		<content:encoded><![CDATA[<p>Hello</p>
<p>It is very pleasing to see your practical approach and demonstration for various issues.<br />
Here may be i am just deviating some from the article but it is all related to the same. I tried to do the test and the result was very satisfactory and was in accordance to your observation. As we have to face different types of client in many cases they even donot agree with these statistics i mean HW resuest .so itried to aggrevate it by using 40K extent size and inserting data through 3 different sessions in test environment so that it could comeup with the HW enqueue wait event but unfortunately it didnot show any HW wait event . Could you please provide the test scenerio in which we can also create this wait event and then we can check if the wait event has gone by increasing the extent size. I have used  manual allocate enough space to avoid this wait event( using alter table modify lob&#8230; allocate extent  command).<br />
other observation is:<br />
I am finding lots of &#8220;direct path write&#8221;  on the datafile &#8220;TS_LMT_AUTO_1M_01.DBF &#8221; contention for each session that is doing the insert .<br />
So could you please provide some  help to reduce this &#8220;direct path write&#8221; on data file.<br />
I have disk_asynch_io =  TRUE. As this wait is not on temp file i hope it has nothing to take with pga and sort area and worksize_area_policy even then if it is required i have the following setting for them:</p>
<p>pga_aggregate_target =200000000</p>
<p>workarea_size_policy =AUTO</p>
<p>increasing the pga didnot help as it is coming on datafile?</p>
<p>Your early  suggestions and solutions  for both the points are very much appriciated.<br />
Regards,<br />
Md. zafar Ahsan Oracle DBA</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: orainternals</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-407</link>
		<dc:creator><![CDATA[orainternals]]></dc:creator>
		<pubDate>Mon, 21 Sep 2009 21:50:31 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-407</guid>
		<description><![CDATA[Hello Khair
   I don&#039;t think, there is an event to print when an extent is added, at least, not that aware of. My recommendation is to write a small piece of code to get timestamp and # of extents every hour or so for that tablespace/object. With that output, you can pin down the hour at which extent is added and dump the log file during that time period.

   Correct approach here is to understand root cause by dumping the log files. This might also mean that you may have to dump the ASSM segments with dbms_Space_admin.segment_dump to see block status of various blocks. With these two trace files, you may be able to understand, why extents are allocated even when not needed.

   There are many bugs in 10.2.0.3 in ASSM for extent management. You may be hitting one of that. So, you might want to consider upgrading to version 10.2.0.4 and see if this problem reproduces.

Cheers
Riyaj]]></description>
		<content:encoded><![CDATA[<p>Hello Khair<br />
   I don&#8217;t think, there is an event to print when an extent is added, at least, not that aware of. My recommendation is to write a small piece of code to get timestamp and # of extents every hour or so for that tablespace/object. With that output, you can pin down the hour at which extent is added and dump the log file during that time period.</p>
<p>   Correct approach here is to understand root cause by dumping the log files. This might also mean that you may have to dump the ASSM segments with dbms_Space_admin.segment_dump to see block status of various blocks. With these two trace files, you may be able to understand, why extents are allocated even when not needed.</p>
<p>   There are many bugs in 10.2.0.3 in ASSM for extent management. You may be hitting one of that. So, you might want to consider upgrading to version 10.2.0.4 and see if this problem reproduces.</p>
<p>Cheers<br />
Riyaj</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kostas Hairopoulos</title>
		<link>http://orainternals.wordpress.com/2008/05/16/resolving-hw-enqueue-contention/#comment-405</link>
		<dc:creator><![CDATA[Kostas Hairopoulos]]></dc:creator>
		<pubDate>Sun, 20 Sep 2009 15:30:25 +0000</pubDate>
		<guid isPermaLink="false">http://orainternals.wordpress.com/?p=38#comment-405</guid>
		<description><![CDATA[I noticed in our 10.2.0.3 database with ASSM in AIX 5.3 box that some staging table (with insert and delete operations) are using a huge number of extents and is continuously growing. It seems that for some reason even if there are deletions, oracle cannot reclaim back the space and lower the HHWM. Is any way or any event we can set at instance level to trace the time of the extent is added in the staging table.
 I noticed some notes from Steve Adams email that this can be shown dumping the redo log with layer 14.4 but the problem is that we don&#039;t when it happens, thus we cannot check every log

Thank you in advance,
khair]]></description>
		<content:encoded><![CDATA[<p>I noticed in our 10.2.0.3 database with ASSM in AIX 5.3 box that some staging table (with insert and delete operations) are using a huge number of extents and is continuously growing. It seems that for some reason even if there are deletions, oracle cannot reclaim back the space and lower the HHWM. Is any way or any event we can set at instance level to trace the time of the extent is added in the staging table.<br />
 I noticed some notes from Steve Adams email that this can be shown dumping the redo log with layer 14.4 but the problem is that we don&#8217;t when it happens, thus we cannot check every log</p>
<p>Thank you in advance,<br />
khair</p>
]]></content:encoded>
	</item>
</channel>
</rss>
