<?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>Commenti a: Bind Peeking e lista dei desideri</title>
	<atom:link href="http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/feed/" rel="self" type="application/rss+xml" />
	<link>http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/</link>
	<description>Appunti di lavoro di un DBA Oracle</description>
	<lastBuildDate>Tue, 01 Dec 2009 16:31:04 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Di: Bind Variable Peeking &#171; Oracle and other</title>
		<link>http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/#comment-853</link>
		<dc:creator>Bind Variable Peeking &#171; Oracle and other</dc:creator>
		<pubDate>Mon, 31 Dec 2007 11:48:14 +0000</pubDate>
		<guid isPermaLink="false">http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/#comment-853</guid>
		<description>[...] 31 Dicembre 2007   Oggi ho trovato un bel regalo di fine anno fra le mie mail un commento di Alberto Dell&#8217;Era a un mio post di qualche mese fa su cui mi interrogavo sulla possibilità di reperire i valori [...]</description>
		<content:encoded><![CDATA[<p>[...] 31 Dicembre 2007   Oggi ho trovato un bel regalo di fine anno fra le mie mail un commento di Alberto Dell&#8217;Era a un mio post di qualche mese fa su cui mi interrogavo sulla possibilità di reperire i valori [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: cristiancudizio</title>
		<link>http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/#comment-852</link>
		<dc:creator>cristiancudizio</dc:creator>
		<pubDate>Mon, 31 Dec 2007 08:20:13 +0000</pubDate>
		<guid isPermaLink="false">http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/#comment-852</guid>
		<description>FANTASTICO!,
grazie Alberto! Secondo me questa è un&#039;informazione di grandissimo valore. Anche recentemente mi sono trovato a discutere sui pro e contro dell&#039;ottimizzatore COST BASED accoppiato all&#039;uso di bind variables. Il meccanismo del bind peeking è stata una buona soluzione, ma non completa. Secondo me capitano abbastanza spesso problemi, come sono capitati a me, in cui l&#039;ottimizzatore fa delle scelte sbagliate e non si capisce se la causa è un comportamento errato dell&#039;ottimizzatore (bachi difficili da trovare) o se l&#039;applicazione ha lanciato query con valori poco selettivi. Poter recuperare l&#039;informazione sul contenutto delle &quot;peeked binds&quot; può aiutare molto nella diagnosi di questi problemi.</description>
		<content:encoded><![CDATA[<p>FANTASTICO!,<br />
grazie Alberto! Secondo me questa è un&#8217;informazione di grandissimo valore. Anche recentemente mi sono trovato a discutere sui pro e contro dell&#8217;ottimizzatore COST BASED accoppiato all&#8217;uso di bind variables. Il meccanismo del bind peeking è stata una buona soluzione, ma non completa. Secondo me capitano abbastanza spesso problemi, come sono capitati a me, in cui l&#8217;ottimizzatore fa delle scelte sbagliate e non si capisce se la causa è un comportamento errato dell&#8217;ottimizzatore (bachi difficili da trovare) o se l&#8217;applicazione ha lanciato query con valori poco selettivi. Poter recuperare l&#8217;informazione sul contenutto delle &#8220;peeked binds&#8221; può aiutare molto nella diagnosi di questi problemi.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Alberto Dell'Era</title>
		<link>http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/#comment-851</link>
		<dc:creator>Alberto Dell'Era</dc:creator>
		<pubDate>Sun, 30 Dec 2007 22:32:09 +0000</pubDate>
		<guid isPermaLink="false">http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/#comment-851</guid>
		<description>In 10g, il valore delle bind variables al momento del parse (&quot;peeked binds&quot;) è presente nella v$sql_plan.other_xml nella riga con id=1.

Recentemente ho scoperto che si possono leggere facilmente con un valore non documentato della dbms_xplan.display() e sorelle:
&lt;code&gt;
SQL&gt; create table t (x) as select rownum from dual connect by level  create index t_idx on t(x);

Index created.

SQL&gt; exec dbms_stats.gather_table_stats (user, &#039;t&#039;, cascade=&gt;true, method_opt=&gt;&#039;for all columns size 1&#039;);

PL/SQL procedure successfully completed.

SQL&gt; variable x number
SQL&gt; exec :x := 42;

PL/SQL procedure successfully completed.

SQL&gt; select * from t where x = :x;

         X
----------
        42

SQL&gt; select * from table (dbms_xplan.display_cursor (null, null, &#039;ADVANCED&#039;));  
...
Peeked Binds (identified by position):
--------------------------------------

   1 - :X (NUMBER): 42
...
&lt;/code&gt;

Puoi certamente anche estrarre i valori dalla other_xml direttamente, non è difficile - se cerchi su google la mia utility sga_xplan vedi un esempio di come le estraggo io.</description>
		<content:encoded><![CDATA[<p>In 10g, il valore delle bind variables al momento del parse (&#8220;peeked binds&#8221;) è presente nella v$sql_plan.other_xml nella riga con id=1.</p>
<p>Recentemente ho scoperto che si possono leggere facilmente con un valore non documentato della dbms_xplan.display() e sorelle:<br />
<code><br />
SQL&gt; create table t (x) as select rownum from dual connect by level  create index t_idx on t(x);</p>
<p>Index created.</p>
<p>SQL&gt; exec dbms_stats.gather_table_stats (user, 't', cascade=&gt;true, method_opt=&gt;'for all columns size 1');</p>
<p>PL/SQL procedure successfully completed.</p>
<p>SQL&gt; variable x number<br />
SQL&gt; exec <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' />  := 42;</p>
<p>PL/SQL procedure successfully completed.</p>
<p>SQL&gt; select * from t where x = <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> ;</p>
<p>         X<br />
----------<br />
        42</p>
<p>SQL&gt; select * from table (dbms_xplan.display_cursor (null, null, 'ADVANCED'));<br />
...<br />
Peeked Binds (identified by position):<br />
--------------------------------------</p>
<p>   1 - :X (NUMBER): 42<br />
...<br />
</code></p>
<p>Puoi certamente anche estrarre i valori dalla other_xml direttamente, non è difficile &#8211; se cerchi su google la mia utility sga_xplan vedi un esempio di come le estraggo io.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Alessandro Deledda</title>
		<link>http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/#comment-565</link>
		<dc:creator>Alessandro Deledda</dc:creator>
		<pubDate>Tue, 07 Aug 2007 15:16:15 +0000</pubDate>
		<guid isPermaLink="false">http://cristiancudizio.wordpress.com/2007/07/30/bind-peeking-e-lista-dei-desideri/#comment-565</guid>
		<description>se ti va ti suggerisco di esplorare, sotto la tua assolutà responsabilità ovviamente ;-), le possibilità offerte dal package dbms_advanced_rewrite (e la nota Metalink 392214.1) questo ti dovrebbe consentire di invalidare un numero minore di cursori rispetto al flush della pool

Alessandro</description>
		<content:encoded><![CDATA[<p>se ti va ti suggerisco di esplorare, sotto la tua assolutà responsabilità ovviamente <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> , le possibilità offerte dal package dbms_advanced_rewrite (e la nota Metalink 392214.1) questo ti dovrebbe consentire di invalidare un numero minore di cursori rispetto al flush della pool</p>
<p>Alessandro</p>
]]></content:encoded>
	</item>
</channel>
</rss>
