<?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: Index Rebuilds</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Sun, 19 May 2013 12:40:29 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36937</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 09 Aug 2010 12:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36937</guid>
		<description><![CDATA[jametong,

Thanks for that. It&#039;s a useful piece of information.]]></description>
		<content:encoded><![CDATA[<p>jametong,</p>
<p>Thanks for that. It&#8217;s a useful piece of information.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jametong</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36933</link>
		<dc:creator><![CDATA[jametong]]></dc:creator>
		<pubDate>Mon, 09 Aug 2010 03:51:31 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36933</guid>
		<description><![CDATA[can check this process with the following link.

&lt;a href=&quot;http://www.dbthink.com/?p=590&quot; rel=&quot;nofollow&quot;&gt;index rebuild online full description&lt;/a&gt;]]></description>
		<content:encoded><![CDATA[<p>can check this process with the following link.</p>
<p><a href="http://www.dbthink.com/?p=590" rel="nofollow">index rebuild online full description</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jametong</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36932</link>
		<dc:creator><![CDATA[jametong]]></dc:creator>
		<pubDate>Mon, 09 Aug 2010 03:50:20 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36932</guid>
		<description><![CDATA[I have done a more detailed test on this issue.

In Oracle 9201, when index recreate process finished, 
Oracle will first apply all the changes committed to the journal log,
Then acquire an Share Lock on the Base Table,
Until it get the Share lock,
Then Oracle will apply the journal log in the IOT Table after previous apply(the changes made by the sessions blocking the acquire of the Share Lock),
Then Oracle will clear the interim state(drop the journal table),
Then Oracle will change the dictionary info about the index(mainly change the data_object_id of the index),
Then Oracle release the Share Lock and the Rebuild index process finished completely.]]></description>
		<content:encoded><![CDATA[<p>I have done a more detailed test on this issue.</p>
<p>In Oracle 9201, when index recreate process finished,<br />
Oracle will first apply all the changes committed to the journal log,<br />
Then acquire an Share Lock on the Base Table,<br />
Until it get the Share lock,<br />
Then Oracle will apply the journal log in the IOT Table after previous apply(the changes made by the sessions blocking the acquire of the Share Lock),<br />
Then Oracle will clear the interim state(drop the journal table),<br />
Then Oracle will change the dictionary info about the index(mainly change the data_object_id of the index),<br />
Then Oracle release the Share Lock and the Rebuild index process finished completely.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36456</link>
		<dc:creator><![CDATA[Stefan]]></dc:creator>
		<pubDate>Wed, 09 Jun 2010 12:45:31 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36456</guid>
		<description><![CDATA[Hello Jonathan,
afaik the feature with event &#039;10629&#039; was introduced in version 9.2.0.6 and did not changed until now (but not quite sure about 11gR2 .. not used it intensely until now)

Directly after the start and before the end of the create/rebuild, the table is completely locked. If there are no open transactions on the table in question, these locks are only retained for a short time. However, if there are open transactions on the table in question when the lock is requested (TX enqueue) for the create/rebuild, the rebuild waits until all of these transactions are committed. Event &#039;10629&#039; was introcduced to avoid such situations at the start and end.

By the way, if you are using leve = 1 the cleanup by SMON differs and an ORA-08104 can occur.

Regards
Stefan]]></description>
		<content:encoded><![CDATA[<p>Hello Jonathan,<br />
afaik the feature with event &#8217;10629&#8242; was introduced in version 9.2.0.6 and did not changed until now (but not quite sure about 11gR2 .. not used it intensely until now)</p>
<p>Directly after the start and before the end of the create/rebuild, the table is completely locked. If there are no open transactions on the table in question, these locks are only retained for a short time. However, if there are open transactions on the table in question when the lock is requested (TX enqueue) for the create/rebuild, the rebuild waits until all of these transactions are committed. Event &#8217;10629&#8242; was introcduced to avoid such situations at the start and end.</p>
<p>By the way, if you are using leve = 1 the cleanup by SMON differs and an ORA-08104 can occur.</p>
<p>Regards<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36446</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Tue, 08 Jun 2010 21:53:37 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36446</guid>
		<description><![CDATA[Stefan,

Thanks for the information.
Do you have any idea if it behaves the same way for both the starting and ending lock - and if there are any variations with version ?
I have the following from the oraus.msg file from 10.2.0.1 (which is less informative than your information):
[sourcecode]
10629, 00000, &quot;force online index build to backoff and retry DML lock upgrade&quot;
// *Cause:
// *Action: set this event only under the supervision of Oracle development
// *Comment: Change the behaviour of an online index rebuild such that it 
//           will backoff and retry a failed DML lock upgrade.
//           The event level is the number of retries the online index rebuild
//           should wait. Level 1 means backoff and retry indefinitely. Any 
//           other value less than 32 will be adjusted automatically to be 32.
[/sourcecode]]]></description>
		<content:encoded><![CDATA[<p>Stefan,</p>
<p>Thanks for the information.<br />
Do you have any idea if it behaves the same way for both the starting and ending lock &#8211; and if there are any variations with version ?<br />
I have the following from the oraus.msg file from 10.2.0.1 (which is less informative than your information):</p>
<pre class="brush: plain; title: ; notranslate">
10629, 00000, &quot;force online index build to backoff and retry DML lock upgrade&quot;
// *Cause:
// *Action: set this event only under the supervision of Oracle development
// *Comment: Change the behaviour of an online index rebuild such that it 
//           will backoff and retry a failed DML lock upgrade.
//           The event level is the number of retries the online index rebuild
//           should wait. Level 1 means backoff and retry indefinitely. Any 
//           other value less than 32 will be adjusted automatically to be 32.
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36441</link>
		<dc:creator><![CDATA[Stefan]]></dc:creator>
		<pubDate>Mon, 07 Jun 2010 13:04:19 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36441</guid>
		<description><![CDATA[Hello Jonathan,
the event &#039;10629&#039; prevents holding such long locks by REBUILD INDEX ONLINE (locking the TM enqueue permanently).

The different levels of event &#039;10629&#039; are:
- Level 1 tries as often as required to obtain the enqueue
- Level 32, 64, 96, .. attempts  times to obtain the enqueue. If it does not succeed after the specified number of attempts, ORA-00054 occurs. 

I also wrote an blog about it on my SAP page (not sure if you are able to see it without having an account on SDN): http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/9961

Regards
Stefan

P.S.: Looking forward to your event with Kyle Hailey on 10/06/2010.]]></description>
		<content:encoded><![CDATA[<p>Hello Jonathan,<br />
the event &#8217;10629&#8242; prevents holding such long locks by REBUILD INDEX ONLINE (locking the TM enqueue permanently).</p>
<p>The different levels of event &#8217;10629&#8242; are:<br />
- Level 1 tries as often as required to obtain the enqueue<br />
- Level 32, 64, 96, .. attempts  times to obtain the enqueue. If it does not succeed after the specified number of attempts, ORA-00054 occurs. </p>
<p>I also wrote an blog about it on my SAP page (not sure if you are able to see it without having an account on SDN): <a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/9961" rel="nofollow">http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/9961</a></p>
<p>Regards<br />
Stefan</p>
<p>P.S.: Looking forward to your event with Kyle Hailey on 10/06/2010.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nigel Noble</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36406</link>
		<dc:creator><![CDATA[Nigel Noble]]></dc:creator>
		<pubDate>Wed, 02 Jun 2010 11:30:26 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36406</guid>
		<description><![CDATA[Hi Jonathan,

I have just put a short note on my blog regarding some locking related to online index rebuilds. It&#039;s a bit more detail on the issue with long active transactions blocking online rebuilds.

Regards

Nigel.]]></description>
		<content:encoded><![CDATA[<p>Hi Jonathan,</p>
<p>I have just put a short note on my blog regarding some locking related to online index rebuilds. It&#8217;s a bit more detail on the issue with long active transactions blocking online rebuilds.</p>
<p>Regards</p>
<p>Nigel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Online Index Rebuilds &#171; Nigel Noble&#039;s Oracle Blog</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36405</link>
		<dc:creator><![CDATA[Online Index Rebuilds &#171; Nigel Noble&#039;s Oracle Blog]]></dc:creator>
		<pubDate>Wed, 02 Jun 2010 11:24:31 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36405</guid>
		<description><![CDATA[[...] &#8212; Nigel Noble @ 12:24 pm   I’ve just seen a note on Jonathan Lewis’s blog regarding Online Index Rebuilds. It reminds me of some issues which existed in Oracle 9i and 10g but appear to have been resolved [...]]]></description>
		<content:encoded><![CDATA[<p>[...] &#8212; Nigel Noble @ 12:24 pm   I’ve just seen a note on Jonathan Lewis’s blog regarding Online Index Rebuilds. It reminds me of some issues which existed in Oracle 9i and 10g but appear to have been resolved [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36375</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 31 May 2010 07:13:11 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36375</guid>
		<description><![CDATA[jametong,

Thanks for the comment - I&#039;ve added a further note to the OTN thread (rather than split the discussion between two places)raising the question of how Oracle handles a scenario in the interval between the lock being released and the last update being applied. If you know how Oracle handles that case I&#039;d be interested in hearing the details; it strikes me that scenarios of that type might be the reason why the code changed between 10g and 11g.]]></description>
		<content:encoded><![CDATA[<p>jametong,</p>
<p>Thanks for the comment &#8211; I&#8217;ve added a further note to the OTN thread (rather than split the discussion between two places)raising the question of how Oracle handles a scenario in the interval between the lock being released and the last update being applied. If you know how Oracle handles that case I&#8217;d be interested in hearing the details; it strikes me that scenarios of that type might be the reason why the code changed between 10g and 11g.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jametong</title>
		<link>http://jonathanlewis.wordpress.com/2010/05/30/index-rebuilds/#comment-36372</link>
		<dc:creator><![CDATA[jametong]]></dc:creator>
		<pubDate>Mon, 31 May 2010 05:49:41 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3751#comment-36372</guid>
		<description><![CDATA[hi Jonathan:
  I think the steps you post at the forum has a little flaw. When rebuild gets the index done,it will try to get a exclusive lock, but as soon as it get the lock, it will release the lock immediately. It gets the lock only to make a mark,to tell the system it know where to start the MV logging and where to stop the MV logging, and how many updated it need to apply to the rebuilt new index.
  I have posted similar info the forum.]]></description>
		<content:encoded><![CDATA[<p>hi Jonathan:<br />
  I think the steps you post at the forum has a little flaw. When rebuild gets the index done,it will try to get a exclusive lock, but as soon as it get the lock, it will release the lock immediately. It gets the lock only to make a mark,to tell the system it know where to start the MV logging and where to stop the MV logging, and how many updated it need to apply to the rebuilt new index.<br />
  I have posted similar info the forum.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
