<?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: DDL triggers</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Tue, 18 Jun 2013 17:11:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Jared</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-51435</link>
		<dc:creator><![CDATA[Jared]]></dc:creator>
		<pubDate>Wed, 14 Nov 2012 00:21:48 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-51435</guid>
		<description><![CDATA[It certainly would be nice to find a method to take some action when a new partition is added to an interval partitioned table.
So far all efforts have been stymied.
In my case I would like to set some statistics on the new partition, so as to avoid any possible chance of the optimizer deciding to use dynamic sampling due to missing statistics.
On very large tables we have seen parses take up to 40 minutes due to CBO induced dynamic sampling, all the time holding the library cache lock.
I had hoped that some other idea would occur to me while typing this, but so far nothing...]]></description>
		<content:encoded><![CDATA[<p>It certainly would be nice to find a method to take some action when a new partition is added to an interval partitioned table.<br />
So far all efforts have been stymied.<br />
In my case I would like to set some statistics on the new partition, so as to avoid any possible chance of the optimizer deciding to use dynamic sampling due to missing statistics.<br />
On very large tables we have seen parses take up to 40 minutes due to CBO induced dynamic sampling, all the time holding the library cache lock.<br />
I had hoped that some other idea would occur to me while typing this, but so far nothing&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mirek</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-51388</link>
		<dc:creator><![CDATA[Mirek]]></dc:creator>
		<pubDate>Sun, 11 Nov 2012 11:37:08 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-51388</guid>
		<description><![CDATA[Adding interval partition cannot  be ordinary DDL because of „before DDL commit” .]]></description>
		<content:encoded><![CDATA[<p>Adding interval partition cannot  be ordinary DDL because of „before DDL commit” .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-50128</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 13 Sep 2012 08:17:32 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-50128</guid>
		<description><![CDATA[Guest.

Nice thought - too bad it was doomed to fail.]]></description>
		<content:encoded><![CDATA[<p>Guest.</p>
<p>Nice thought &#8211; too bad it was doomed to fail.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: guest</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-50105</link>
		<dc:creator><![CDATA[guest]]></dc:creator>
		<pubDate>Wed, 12 Sep 2012 15:34:27 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-50105</guid>
		<description><![CDATA[When you trace the insert statement into transactions table with 10046 event, you can see that Oracle is actually running DML statements to create new interval partition: insert into seg$, insert into tabpart$ etc. So internally it is not a DDL. So I tried to add row level trigger (after insert) on sys.tabpart$ table and check :new.obj# and :new.bo# for the object I wanted and raise error if found. However, I got ORA-04089: cannot create triggers on objects owned by SYS. Oh well...]]></description>
		<content:encoded><![CDATA[<p>When you trace the insert statement into transactions table with 10046 event, you can see that Oracle is actually running DML statements to create new interval partition: insert into seg$, insert into tabpart$ etc. So internally it is not a DDL. So I tried to add row level trigger (after insert) on sys.tabpart$ table and check :new.obj# and :new.bo# for the object I wanted and raise error if found. However, I got ORA-04089: cannot create triggers on objects owned by SYS. Oh well&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-50075</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Tue, 11 Sep 2012 18:10:55 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-50075</guid>
		<description><![CDATA[Adrian,

Thanks for that - it&#039;s an excellent justification for why the trigger should be fired.]]></description>
		<content:encoded><![CDATA[<p>Adrian,</p>
<p>Thanks for that &#8211; it&#8217;s an excellent justification for why the trigger should be fired.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Billington</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-50072</link>
		<dc:creator><![CDATA[Adrian Billington]]></dc:creator>
		<pubDate>Tue, 11 Sep 2012 17:24:29 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-50072</guid>
		<description><![CDATA[Jonathan,

I also tried this technique some time back. I wanted to respond to the creation of interval partitions by immediately copying stats into them.

Regards
Adrian]]></description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>I also tried this technique some time back. I wanted to respond to the creation of interval partitions by immediately copying stats into them.</p>
<p>Regards<br />
Adrian</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Uwe Hesse</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-50057</link>
		<dc:creator><![CDATA[Uwe Hesse]]></dc:creator>
		<pubDate>Tue, 11 Sep 2012 10:08:55 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-50057</guid>
		<description><![CDATA[That happens from time to time also, but in this case, I was planning to investigate because I published postings about interval partitioning and wondered myself whether the tablespace could be specified in other ways apart from the &#039;store in&#039; clause. It looks like you watch the OTN forum much closer resp. more often than I do :-)]]></description>
		<content:encoded><![CDATA[<p>That happens from time to time also, but in this case, I was planning to investigate because I published postings about interval partitioning and wondered myself whether the tablespace could be specified in other ways apart from the &#8216;store in&#8217; clause. It looks like you watch the OTN forum much closer resp. more often than I do :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-50054</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Tue, 11 Sep 2012 09:16:34 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-50054</guid>
		<description><![CDATA[Jared,

You can rename them, but only if you find out that they&#039;ve been added in time to rename them (and possibly move them) before the other automatic jobs kick in; and this is where the problem of the (ineffictive) DDL trigger comes in.]]></description>
		<content:encoded><![CDATA[<p>Jared,</p>
<p>You can rename them, but only if you find out that they&#8217;ve been added in time to rename them (and possibly move them) before the other automatic jobs kick in; and this is where the problem of the (ineffictive) DDL trigger comes in.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-50053</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Tue, 11 Sep 2012 09:15:18 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-50053</guid>
		<description><![CDATA[Uwe,

I wonder if you saw the same question on OTN as I did and went through the same thought processes, as in: &quot;all you have to do is ...., oh, it doesn&#039;t work.&quot;]]></description>
		<content:encoded><![CDATA[<p>Uwe,</p>
<p>I wonder if you saw the same question on OTN as I did and went through the same thought processes, as in: &#8220;all you have to do is &#8230;., oh, it doesn&#8217;t work.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/09/08/ddl-triggers/#comment-50052</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Tue, 11 Sep 2012 09:14:26 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9417#comment-50052</guid>
		<description><![CDATA[Wissem,
The note gives some idea about spreading partitions across tablespaces - but it doesn&#039;t cover deal with the problems of &quot;future&quot; partitions arriving at random points in time and having to be relocated to a suitable tablespace asap.

One detail that isn&#039;t obvious from that note, by the way - if the code adds (say) the 99th partition when partitions 4 to 98 have not yet appeared, would that partition go into the next tablespace in the ring, or would it go into the tablespace that it would have gone into if all the other partitions had been added in order first ?  (That&#039;s only a rhetorical question - it&#039;s easy enough to check - it was just a nice example of an Oracle note that doesn&#039;t quite tell you what you might think it&#039;s telling you.)]]></description>
		<content:encoded><![CDATA[<p>Wissem,<br />
The note gives some idea about spreading partitions across tablespaces &#8211; but it doesn&#8217;t cover deal with the problems of &#8220;future&#8221; partitions arriving at random points in time and having to be relocated to a suitable tablespace asap.</p>
<p>One detail that isn&#8217;t obvious from that note, by the way &#8211; if the code adds (say) the 99th partition when partitions 4 to 98 have not yet appeared, would that partition go into the next tablespace in the ring, or would it go into the tablespace that it would have gone into if all the other partitions had been added in order first ?  (That&#8217;s only a rhetorical question &#8211; it&#8217;s easy enough to check &#8211; it was just a nice example of an Oracle note that doesn&#8217;t quite tell you what you might think it&#8217;s telling you.)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
