<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4924761592080147339</id><updated>2012-01-22T15:43:27.404-08:00</updated><title type='text'>Ric Ramblings</title><subtitle type='html'>&lt;b&gt;&lt;i&gt;A blog about this guy named Ric who travels around the country teaching folks how to write better SQL in Oracle and in constant search of the best BBQ in any town he happens to find himself.&lt;/i&gt;&lt;/b&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-737925096628065317</id><published>2011-12-24T09:28:00.000-08:00</published><updated>2011-12-24T09:28:00.840-08:00</updated><title type='text'>Did someone get me this for Christmas?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-q-UQ_qfdEcU/TvYLb8YMBOI/AAAAAAAAAQg/oZpUo5l7Xyo/s1600/SQL_Shirt.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-q-UQ_qfdEcU/TvYLb8YMBOI/AAAAAAAAAQg/oZpUo5l7Xyo/s320/SQL_Shirt.jpg" width="243" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-737925096628065317?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/737925096628065317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/12/did-someone-get-me-this-for-christmas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/737925096628065317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/737925096628065317'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/12/did-someone-get-me-this-for-christmas.html' title='Did someone get me this for Christmas?'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-q-UQ_qfdEcU/TvYLb8YMBOI/AAAAAAAAAQg/oZpUo5l7Xyo/s72-c/SQL_Shirt.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-8905483798862269322</id><published>2011-11-07T12:48:00.000-08:00</published><updated>2011-11-07T12:48:55.218-08:00</updated><title type='text'>The speakers have been chosen for Sym ’12!!</title><content type='html'>Check it out &lt;a href="http://www.hotsos.com/sym12/sym_speakers.html"&gt;here&lt;/a&gt;.&amp;nbsp; Looks like a super line up of speakers as always.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Make sure you &lt;a href="http://www.hotsos.com/sym12/sym_reg.html"&gt;sign up&lt;/a&gt; soon if you haven't already.&lt;br /&gt;&lt;br /&gt;See you there!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-8905483798862269322?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/8905483798862269322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/11/speakers-have-been-chosen-for-sym-12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/8905483798862269322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/8905483798862269322'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/11/speakers-have-been-chosen-for-sym-12.html' title='The speakers have been chosen for Sym ’12!!'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-6516714261202545300</id><published>2011-11-03T08:57:00.000-07:00</published><updated>2011-11-03T08:57:45.361-07:00</updated><title type='text'>4th ANNUAL MICHIGAN ORACLE USER SUMMIT</title><content type='html'>Everyone come on down to the &lt;a href="http://www.mous.us/"&gt;4th Annual Michigan Oracle User Summit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Wednesday, November 30th, 2011&amp;nbsp; 8AM to 5PM&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Schoolcraft College-VisTaTech Center, Livonia, MI&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;This event has it all: &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Vendor Meet &amp;amp; Greet and Continental Breakfast&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Sessions Galore with 50+ Presentations!&lt;br /&gt;&lt;br /&gt;Presentations and Product Reviews Running throughout &lt;br /&gt;&lt;br /&gt;Oracle User Groups Update&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;*LUNCH*&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;Wine &amp;amp; Cheese – Social Networking Hour&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I'll be speaking there with many others.&amp;nbsp; It's sure to be a good time and a great time to meet with other Oracle folks.&lt;i&gt;&amp;nbsp; See you there!! &lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-6516714261202545300?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/6516714261202545300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/11/4th-annual-michigan-oracle-user-summit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/6516714261202545300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/6516714261202545300'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/11/4th-annual-michigan-oracle-user-summit.html' title='4th ANNUAL MICHIGAN ORACLE USER SUMMIT'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-2957466746166991961</id><published>2011-09-07T14:19:00.000-07:00</published><updated>2011-09-07T14:19:47.864-07:00</updated><title type='text'>Jonathan Lewis, for Hotsos Training Day 2012</title><content type='html'>&amp;nbsp;As if you really need another reason to come to the 10th anniversary Hotsos Symposium extravaganza, this has got to be way up there on the list: Jonathan Lewis is doing the training day on the 8th of March!!&lt;br /&gt;&lt;br /&gt;Go here for details: &lt;a href="http://www.hotsos.com/sym12/sym_training.html"&gt;Hotsos Training Day&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is going to be a great event.&amp;nbsp; Be there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-2957466746166991961?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/2957466746166991961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/09/jonathan-lewis-for-hotsos-training-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2957466746166991961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2957466746166991961'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/09/jonathan-lewis-for-hotsos-training-day.html' title='Jonathan Lewis, for Hotsos Training Day 2012'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-4102918158146526186</id><published>2011-09-01T18:03:00.000-07:00</published><updated>2011-09-01T18:03:38.228-07:00</updated><title type='text'>Lex DeHaan</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-LUCkWz3nGBM/TmAqt9T9CfI/AAAAAAAAAQY/XP40acAWesQ/s1600/Lex.bmp" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-LUCkWz3nGBM/TmAqt9T9CfI/AAAAAAAAAQY/XP40acAWesQ/s200/Lex.bmp" width="150" /&gt;&lt;/a&gt;Today I was leafing thru "Master Oracle SQL and SQL*PLUS" by Lex DeHaan looking up some SQLPlus command that I had forgotten the exact syntax for and in the back I found some printed notes of my last communications with Lex.&amp;nbsp; One was a short chat we had via Skype and the other was a note that I sent just before he passed on.&lt;br /&gt;&lt;br /&gt;It was January 2006 when Lex moved on to the next adventure.&amp;nbsp; I had the extreme pleasure to call him both a friend and a colleague.&amp;nbsp; He and I worked together at Oracle.&amp;nbsp; My first contact with him was while I was an instructor and he sent me some scripts to demo something in class, I've long forgotten exactly what it was.&amp;nbsp; Then I work with him while in Curriculum Development in the Server Technologies group. We were in different teams but worked together often.&lt;br /&gt;&lt;br /&gt;I truly miss him and his every ready "I disagree" when we'd get off into slightly more theoretical talk, typically over tall glasses of dark brew!&lt;br /&gt;&lt;br /&gt;He is still helping me today thru this book and his other ones.&lt;br /&gt;&lt;br /&gt;Lex, as I said in my note to you back then, you will be missed in small and large places in small and large ways.&amp;nbsp; Thanks for everything Lex.&amp;nbsp; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-4102918158146526186?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/4102918158146526186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/09/lex-dehaan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/4102918158146526186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/4102918158146526186'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/09/lex-dehaan.html' title='Lex DeHaan'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-LUCkWz3nGBM/TmAqt9T9CfI/AAAAAAAAAQY/XP40acAWesQ/s72-c/Lex.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-7661279256200011548</id><published>2011-08-30T12:41:00.000-07:00</published><updated>2011-08-30T12:41:24.912-07:00</updated><title type='text'>Wanted: An Oracle Instructor</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-o-dvA_INutk/Tl08NPBErSI/AAAAAAAAAPY/ZQjfR61Rd9Y/s1600/teachin.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://4.bp.blogspot.com/-o-dvA_INutk/Tl08NPBErSI/AAAAAAAAAPY/ZQjfR61Rd9Y/s200/teachin.JPG" width="200" /&gt;&lt;/a&gt;Hotsos is looking for an instructor who can teach 5 days of intensive SQL optimization techniques to classes of up to 15 students anywhere in the world. Expect travel to be near 100% and to teach up to 3-4 weeks a month.  Extensive Oracle SQL experience is a must as is a good understanding of basic Oracle instance and database architecture. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Do you think you have what it takes?  Send a resume to jobs@hotsos.com &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-7661279256200011548?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/7661279256200011548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/08/wanted-oracle-instructor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7661279256200011548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7661279256200011548'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/08/wanted-oracle-instructor.html' title='Wanted: An Oracle Instructor'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-o-dvA_INutk/Tl08NPBErSI/AAAAAAAAAPY/ZQjfR61Rd9Y/s72-c/teachin.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-5997557338200047503</id><published>2011-05-10T14:26:00.000-07:00</published><updated>2011-05-10T14:26:48.313-07:00</updated><title type='text'>Registration is now open for Hotsos Symposium 2012!</title><content type='html'>Don't wait!! &lt;br /&gt;&lt;br /&gt;Visit the &lt;a href="https://www.badgeguys.com/reg/2012/hotsos/register.aspx"&gt;registration page&lt;/a&gt; today to sign up!&lt;br /&gt;&lt;br /&gt;This will be a great one!  Ten years in the making!!  &lt;br /&gt;&lt;br /&gt;If you haven't been to a Symposium before, check out this short &lt;a href="http://www.hotsos.com/sym11/Sym2011Recap/Sym%202011%20Recap.htm"&gt;video&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;BE THERE!! &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hp2IPnPrfZw/TcmtIqMB6MI/AAAAAAAAAOM/P5cecNnqsbE/s1600/sym12%2B%2Blogo.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="186" width="400" src="http://3.bp.blogspot.com/-hp2IPnPrfZw/TcmtIqMB6MI/AAAAAAAAAOM/P5cecNnqsbE/s400/sym12%2B%2Blogo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-5997557338200047503?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/5997557338200047503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/05/registration-is-now-open-for-hotsos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/5997557338200047503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/5997557338200047503'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/05/registration-is-now-open-for-hotsos.html' title='Registration is now open for Hotsos Symposium 2012!'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-hp2IPnPrfZw/TcmtIqMB6MI/AAAAAAAAAOM/P5cecNnqsbE/s72-c/sym12%2B%2Blogo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-2807623287141447437</id><published>2011-03-30T08:43:00.000-07:00</published><updated>2011-03-30T08:43:11.290-07:00</updated><title type='text'>It's the little things....</title><content type='html'>That can really mess up your day.  &lt;br /&gt;&lt;br /&gt;I'm using this little script:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;declare&lt;br /&gt;   v_flush varchar2(3) := '&amp;1';&lt;br /&gt;   err_mesg     varchar2(250);&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;      if substr(upper(v_flush),1,2) = 'BP' then&lt;br /&gt;      sys.hotsos_pkg.flush_bp;&lt;br /&gt;      dbms_output.put_line ('*** Buffer Pool Flushed ***') ;&lt;br /&gt;   end if;&lt;br /&gt;   if substr(upper(v_flush),1,2) = 'SP' then&lt;br /&gt;      sys.hotsos_pkg.flush_sp;&lt;br /&gt;      dbms_output.put_line ('*** Shared pool flushed ***') ;      &lt;br /&gt;   end if; &lt;br /&gt;exception&lt;br /&gt;   when others then &lt;br /&gt;      err_mesg := SQLERRM;&lt;br /&gt;      dbms_output.put_line ('****** Error! '||err_mesg) ;&lt;br /&gt;end ;&lt;br /&gt;/&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;And it's not working, as in, it's not flushing the pools.  I get no errors.  For the life of me I can't figure it out.  I put in several DBMS_OUTPUT.PUT_LINE commands to print out what is going on as it runs.  Eventually I notice that the variable v_flush is set to literally &lt;b&gt;&amp;1&lt;/b&gt; while this thing runs.  WHAT?  &lt;br /&gt;&lt;br /&gt;It turned out that DEFINE had some how gotten turned OFF in the session. How I'm not exactly sure, but now this script file has:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;set define on&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;at the top of it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-2807623287141447437?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/2807623287141447437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/03/its-little-things.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2807623287141447437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2807623287141447437'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/03/its-little-things.html' title='It&apos;s the little things....'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-2790421992435298243</id><published>2011-03-17T08:18:00.000-07:00</published><updated>2011-03-17T08:18:09.464-07:00</updated><title type='text'>New read events in 11G DIRECT PATH READ and DIRECT PATH READ TEMP</title><content type='html'>In prior version of Oracle, Oracle used the &lt;b&gt;SEQUENTIAL READ&lt;/b&gt; event to read temp objects into the PGA.  With 11 Oracle seems to use some new read events. The &lt;b&gt;DIRECT PATH READ&lt;/b&gt; appears to be used to read information from the data files into the temp segment, then &lt;b&gt;DIRECT PATH READ TEMP&lt;/b&gt; will be used while manipulating the temp segment. There is also a &lt;b&gt;DIRECT PATH WRITE TEMP&lt;/b&gt; event.  This was always writing out a max of 31 blocks in my tests. (Which sure seemed like an strange number to me.)&lt;br /&gt;&lt;br /&gt;In my simple test I have a query on a table with @2.3 Million rows and no indexes. Oracle version 11.2.0.1 on a Dell Inspiron. The query has a order by on the 3 columns I'm selecting and there is no choice other then to read the entire table via a full table scan and then sort the rows in temp. &lt;br /&gt;&lt;code&gt;&lt;br /&gt;SELECT OWNER, OBJECT_NAME, STATUS FROM AHWM ORDER BY 1,2,3;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;I wanted to see if the setting of  DB_FILE_MULTIBLOCK_READ_COUNT had any affect on the &lt;b&gt;DIRECT PATH READ&lt;/b&gt; and &lt;b&gt;DIRECT PATH READ TEMP&lt;/b&gt; events. Here is the findings:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;With DB_FILE_MULTIBLOCK_READ_COUNT set to 8 I didn’t see a read more then 8 in my trace:&lt;br /&gt;WAIT #8: nam='direct path read' ela= 9760 file number=4 first dba=5120 block cnt=8 obj#=76480 tim=102097583805&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With DB_FILE_MULTIBLOCK_READ_COUNT set to 16 I didn’t see a read more then 16 in my trace:&lt;br /&gt;WAIT #8: nam='direct path read' ela= 9916 file number=4 first dba=5728 block cnt=16 obj#=76480 tim=104104097173&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With DB_FILE_MULTIBLOCK_READ_COUNT set to 32 I didn’t see a read more then 32 in my trace:&lt;br /&gt;WAIT #9: nam='direct path read' ela= 1965 file number=4 first dba=5600 block cnt=32 obj#=76480 tim=106136990814&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With DB_FILE_MULTIBLOCK_READ_COUNT set to 0 (128) I didn’t see a read more then 128 in my trace:&lt;br /&gt;WAIT #4: nam='direct path read' ela= 516 file number=4 first dba=29952 block cnt=128 obj#=76480 tim=109775067490&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ah!  So YES the setting of good old DB_FILE_MULTIBLOCK_READ_COUNT will impact how many blocks are requested with each &lt;b&gt;DIRECT PATH READ&lt;/b&gt; event.  &lt;br /&gt;&lt;br /&gt;Now for &lt;b&gt;DIRECT PATH READ TEMP&lt;/b&gt;, the setting of DB_FILE_MULTIBLOCK_READ_COUNT made no difference.  It was a max of 7 in all my tests, and only for very few events.  For the most part it was reading 1 block at a time. &lt;br /&gt;&lt;br /&gt;Did the changes have any performance impact?  Well not really.  Looking at the stat lines for each one they all did the same LIOs, PIOs and really ran in about the same amount of time:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Actual lines from extended SQL trace for a_sort:a_sort_8&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;STAT #7 id=1 cnt=2291136 pid=0 pos=1 obj=0 op='SORT ORDER BY (cr=32542 pr=45112 pw=12575 time=9488819 us cost=31576 size=87063168 card=2291136)'&lt;br /&gt;STAT #7 id=2 cnt=2291136 pid=1 pos=1 obj=76480 op='TABLE ACCESS FULL AHWM (cr=32542 pr=32537 pw=0 time=5905761 us cost=8895 size=87063168 card=2291136)'&lt;br /&gt;&lt;br /&gt;Actual lines from extended SQL trace for a_sort:a_sort_16&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;STAT #8 id=1 cnt=2291136 pid=0 pos=1 obj=0 op='SORT ORDER BY (cr=32542 pr=45112 pw=12575 time=9409541 us cost=29880 size=87063168 card=2291136)'&lt;br /&gt;STAT #8 id=2 cnt=2291136 pid=1 pos=1 obj=76480 op='TABLE ACCESS FULL AHWM (cr=32542 pr=32537 pw=0 time=5615230 us cost=7199 size=87063168 card=2291136)'&lt;br /&gt;&lt;br /&gt;Actual lines from extended SQL trace for a_sort:a_sort_32&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;STAT #9 id=1 cnt=2291136 pid=0 pos=1 obj=0 op='SORT ORDER BY (cr=32542 pr=45112 pw=12575 time=8508505 us cost=29032 size=87063168 card=2291136)'&lt;br /&gt;STAT #9 id=2 cnt=2291136 pid=1 pos=1 obj=76480 op='TABLE ACCESS FULL AHWM (cr=32542 pr=32537 pw=0 time=5264382 us cost=6351 size=87063168 card=2291136)'&lt;br /&gt;&lt;br /&gt;Actual lines from extended SQL trace for a_sort:a_sort_0&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;STAT #4 id=1 cnt=2291136 pid=0 pos=1 obj=0 op='SORT ORDER BY (cr=32542 pr=45112 pw=12575 time=9435964 us cost=28396 size=87063168 card=2291136)'&lt;br /&gt;STAT #4 id=2 cnt=2291136 pid=1 pos=1 obj=76480 op='TABLE ACCESS FULL AHWM (cr=32542 pr=32537 pw=0 time=4780372 us cost=5715 size=87063168 card=2291136)'&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-2790421992435298243?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/2790421992435298243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/03/new-read-events-in-11g-direct-path-read.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2790421992435298243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2790421992435298243'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/03/new-read-events-in-11g-direct-path-read.html' title='New read events in 11G DIRECT PATH READ and DIRECT PATH READ TEMP'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-1765099253452744881</id><published>2011-02-08T16:31:00.000-08:00</published><updated>2011-03-23T15:46:21.359-07:00</updated><title type='text'>MBRC and DB_FILE_MULTIBLOCK_READ_COUNT</title><content type='html'>Maybe you have this down but I found out today that I had understood this completely backwards.  It was my understanding that &lt;b&gt;DB_FILE_MULTIBLOCK_READ_COUNT&lt;/b&gt; (if set) was only used to COST the plan but &lt;b&gt;MBRC&lt;/b&gt; (if set) would be used for each scattered read.  This doesn’t appear to be the case, in fact it appears I have this exactly opposite. &lt;br /&gt;&lt;br /&gt;I have on my test box collected workload system stats and MBRC is set to 8.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I tried it with DB_FILE_MULTIBLOCK_READ_COUNT set to 0, in which case the system sets it to 128.  I expected to get scattered reads of 8.  But I got my first read on the table at 128, and then next got what was left. (I created the table with 1024 blocks in the first extent.) &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;WAIT #10: nam='db file scattered read' ela= 16051 file#=4 block#=290066 blocks=128 obj#=77649 tim=891367221237&lt;br /&gt;&lt;br /&gt;WAIT #10: nam='db file scattered read' ela= 1341 file#=4 block#=290194 blocks=24 obj#=77649 tim=891367282208&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OK, not what I expected.  Then I set DB_FILE_MULTIBLOCK_READ_COUNT to 16 and dag-nab-bit, I got a bunch of 16 block reads.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;file scattered read' ela= 903 file#=4 block#=290082 blocks=16 obj#=77649 tim=891493998398&lt;br /&gt;&lt;br /&gt;file scattered read' ela= 807 file#=4 block#=290098 blocks=16 obj#=77649 tim=891493999573&lt;br /&gt;&lt;br /&gt;file scattered read' ela= 839 file#=4 block#=290114 blocks=16 obj#=77649 tim=891494000751&lt;br /&gt;&lt;br /&gt;file scattered read' ela= 824 file#=4 block#=290130 blocks=16 obj#=77649 tim=891494001988&lt;br /&gt;&lt;br /&gt;file scattered read' ela= 815 file#=4 block#=290146 blocks=16 obj#=77649 tim=891494003176&lt;br /&gt;&lt;br /&gt;file scattered read' ela= 23783 file#=4 block#=290162 blocks=16 obj#=77649 tim=891494027343&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Well then I looked at the COST of the plan, I get the same COST for a setting of 8, 16, and 32 for DB_FILE_MULTIBLOCK_READ_COUNT (it's kinda hard to read, the cost is 50 in the plan below):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;SQL&gt; get zz_test1&lt;br /&gt;1  select *&lt;br /&gt;2    from MBRC_TEST&lt;br /&gt;3*  where object_id between 1 and 4&lt;br /&gt;&lt;br /&gt;SQL&gt; @hxplan&lt;br /&gt;&lt;br /&gt;Enter .sql file name (without extension): zz_test1&lt;br /&gt;&lt;br /&gt;Enter the display level (TYPICAL, ALL, BASIC, SERIAL) [TYPICAL]  :&lt;br /&gt;&lt;br /&gt;Plan hash value: 3059191348&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------------&lt;br /&gt;| Id  | Operation         | Name      | Rows  | Bytes | Cost (%CPU)| Time     |&lt;br /&gt;-------------------------------------------------------------------------------&lt;br /&gt;|   0 | SELECT STATEMENT  |           |   503 | 52312 |    50   (0)| 00:47:06 |&lt;br /&gt;|*  1 |  TABLE ACCESS FULL| MBRC_TEST |   503 | 52312 |    50   (0)| 00:47:06 |&lt;br /&gt;-------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Predicate Information (identified by operation id):&lt;br /&gt;---------------------------------------------------&lt;br /&gt;&lt;br /&gt;1 - filter("OBJECT_ID"&lt;=4 AND "OBJECT_ID"&gt;=1)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So there you have it, the MBRC value is used to COST the plan but NOT for the scattered read event.  Honestly reading the docs it was less then clear, hence my confusion. Nothing beats a test! (or more then one really, I did this several times just to make sure I was seeing it right.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-1765099253452744881?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/1765099253452744881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/02/mbrc-and-dbfilemultiblockreadcount.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1765099253452744881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1765099253452744881'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/02/mbrc-and-dbfilemultiblockreadcount.html' title='MBRC and DB_FILE_MULTIBLOCK_READ_COUNT'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-1822245444753464220</id><published>2011-02-07T11:25:00.000-08:00</published><updated>2011-02-07T11:25:05.050-08:00</updated><title type='text'>This number keeps coming up....</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_quD-4sB2n9I/TVBG_BwQfMI/AAAAAAAAANY/4aMWxCC8VNQ/s1600/WHATABUGER42.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="400" width="300" src="http://3.bp.blogspot.com/_quD-4sB2n9I/TVBG_BwQfMI/AAAAAAAAANY/4aMWxCC8VNQ/s400/WHATABUGER42.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-1822245444753464220?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/1822245444753464220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2011/02/this-number-keeps-coming-up.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1822245444753464220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1822245444753464220'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2011/02/this-number-keeps-coming-up.html' title='This number keeps coming up....'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/TVBG_BwQfMI/AAAAAAAAANY/4aMWxCC8VNQ/s72-c/WHATABUGER42.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-5880878680364939121</id><published>2010-12-23T16:09:00.000-08:00</published><updated>2010-12-23T16:09:49.403-08:00</updated><title type='text'>Happy Holidays!  Hawaiian style...</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_quD-4sB2n9I/TRPkquRRDWI/AAAAAAAAANI/KBKsXm5n_GE/s1600/Happy_Holidays.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="400" width="354" src="http://1.bp.blogspot.com/_quD-4sB2n9I/TRPkquRRDWI/AAAAAAAAANI/KBKsXm5n_GE/s400/Happy_Holidays.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-5880878680364939121?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/5880878680364939121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/12/happy-holidays-hawaiian-style.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/5880878680364939121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/5880878680364939121'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/12/happy-holidays-hawaiian-style.html' title='Happy Holidays!  Hawaiian style...'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_quD-4sB2n9I/TRPkquRRDWI/AAAAAAAAANI/KBKsXm5n_GE/s72-c/Happy_Holidays.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-8287725124850757877</id><published>2010-12-19T14:34:00.000-08:00</published><updated>2010-12-19T14:34:39.123-08:00</updated><title type='text'>Baby Blues BBQ in Philadelphia</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_quD-4sB2n9I/TQ6Hi2C-DNI/AAAAAAAAANA/wWD31G0f4Yw/s1600/Baby_BLue_BBQ_Philly.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="300" width="400" src="http://2.bp.blogspot.com/_quD-4sB2n9I/TQ6Hi2C-DNI/AAAAAAAAANA/wWD31G0f4Yw/s400/Baby_BLue_BBQ_Philly.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I visited &lt;a href="http://www.babybluesphilly.com/#/home"&gt;Baby Blues BBQ&lt;/a&gt; in Philly this past week and had the “Mason Dixon” (1/2 RACK of MEMPHIS RIBS, 1/4 of a CHICKEN).  The Mac and Cheese is great with the hot sauce by the way.  If you're in Philly and want some ribs instead of a cheese stake sandwich, try them out.  Great folks working the grill and super servers. &lt;br /&gt;&lt;br /&gt;I sat where I was looking right on to the grill and watched the guys making the food. Makes ya more hungry watching the food get prepared.  They were cooking up ribs and chicken and shrimp and corn on the cob all on the grill!  It was great. &lt;br /&gt;&lt;br /&gt;The place is a little of the beaten path, and worth the time to find:&lt;br /&gt;&lt;br /&gt;3402 Sansom St&lt;br /&gt;Philadelphia, PA 19104&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-8287725124850757877?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/8287725124850757877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/12/baby-blues-bbq-in-philadelphia.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/8287725124850757877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/8287725124850757877'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/12/baby-blues-bbq-in-philadelphia.html' title='Baby Blues BBQ in Philadelphia'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_quD-4sB2n9I/TQ6Hi2C-DNI/AAAAAAAAANA/wWD31G0f4Yw/s72-c/Baby_BLue_BBQ_Philly.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-6964910883295885900</id><published>2010-11-23T10:08:00.000-08:00</published><updated>2010-11-23T10:08:31.517-08:00</updated><title type='text'>Error Logging in SQLPlus</title><content type='html'>This is pretty cool.  You can now log errors in to table within SQLPlus.  I think when this feature first came out it was just for DML (insert, update and delete) but now it seems to work for any error that is raised within a SQLplus session. &lt;br /&gt;&lt;br /&gt;The command to turn this on is a SQLPlus SET command, it's simplest format is:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SET ERRORLOGGING on&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;With this SQLPlus will start putting errors into a table called sperrorlog.  What's cool about this statement is that if the table doesn't exist it will created it. In the more verbose format it would look something like this:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SET ERRORLOGGING on TABLE hsperrorlog TRUNCATE IDENTIFIER HARNESS&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;With this I have to create a table named hsperrorlog.  The TRUNCATE option truncates the contents of the table before it starts logging anything into it.  The IDENTIFIER option allows you to populate a column in the table, with the name of (you guessed it) IDENTIFIER. (Pretty cleaver eh?)&lt;br /&gt;&lt;br /&gt;The table has these columns (all can be null):&lt;br /&gt;&lt;br /&gt;&lt;b&gt;USERNAME&lt;/b&gt; data type VARCHAR2(256) the user running the command.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;TIMESTAMP&lt;/b&gt; data type TIMESTAMP(6) when the error was encountered. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;SCRIPT&lt;/b&gt; data type VARCHAR2(1024) the name of the script being run.  If this is an interactively entered command this will be null. &lt;br /&gt;&lt;b&gt;&lt;br /&gt;IDENTIFIER&lt;/b&gt; data type VARCHAR2(256) the optional id used when turning on error logging. You can change the identifier by just doing a set command like this:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;set errorlogging ON IDENTIFIER RVD&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This doesn't change the table that the errors are being logged into.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MESSAGE&lt;/b&gt; data type CLOB this is the error message.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;STATEMENT&lt;/b&gt; data type CLOB this is the statement that raised the error. &lt;br /&gt;&lt;br /&gt;I've been using it to add some needed functionality to the Hotsos Harness and it's already helped me clean up a few minor errors in the harness that have been quite hard to track down with out this.  &lt;br /&gt;&lt;br /&gt;Here is a very simple example, the output was reformatted to make this easier to read:&lt;br /&gt;&lt;br /&gt;OP@ORCL112&gt; SET ERRORLOGGING on TABLE hsperrorlog TRUNCATE IDENTIFIER HARNESS&lt;br /&gt;OP@ORCL112&gt; select * from XYZ;&lt;br /&gt;select * from XYZ&lt;br /&gt;              *&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-00942: table or view does not exist&lt;br /&gt;&lt;br /&gt;OP@ORCL112&gt; select * from hsperrorlog;&lt;br /&gt;&lt;br /&gt;USERNAME&lt;br /&gt;-----------&lt;br /&gt;OP&lt;br /&gt;&lt;br /&gt;TIMESTAMP&lt;br /&gt;----------------------------&lt;br /&gt;23-NOV-10 12.59.39.000000 PM&lt;br /&gt;&lt;br /&gt;SCRIPT&lt;br /&gt;----------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;IDENTIFIER&lt;br /&gt;----------&lt;br /&gt;HARNESS&lt;br /&gt;&lt;br /&gt;MESSAGE&lt;br /&gt;---------------------------------------&lt;br /&gt;ORA-00942: table or view does not exist&lt;br /&gt;&lt;br /&gt;STATEMENT&lt;br /&gt;-----------------&lt;br /&gt;select * from XYZ&lt;br /&gt;&lt;br /&gt;Check this out, it should make debugging SQL scripts a lot easier!! There are some limitations to it of course, it's not on for recursive SQL which makes a lot of sense since it could easily get into an infinite loop. Also if your scripts do reconnections, you'll have to turn it back on each time you reconnect.  It is off by default. &lt;br /&gt;&lt;br /&gt;Oh and to turn it off it looks like:&lt;br /&gt;&lt;br /&gt;OP@ORCL112&gt; SET ERRORLOGGING off&lt;br /&gt;OP@ORCL112&gt;&lt;br /&gt;OP@ORCL112&gt; show errorl&lt;br /&gt;errorlogging is OFF&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-6964910883295885900?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/6964910883295885900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/11/error-logging-in-sqlplus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/6964910883295885900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/6964910883295885900'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/11/error-logging-in-sqlplus.html' title='Error Logging in SQLPlus'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-4710646940439465607</id><published>2010-10-12T19:23:00.000-07:00</published><updated>2010-10-12T19:23:45.640-07:00</updated><title type='text'>Kerry Osborne - Keynote Speaker for Hotsos Symposium 2011!!</title><content type='html'>&lt;b&gt;WOW! &lt;/b&gt;The 2011 Sym is lining up to be a great one!! Clear your schedule for &lt;b&gt;March 6-11 2011&lt;/b&gt; and be &lt;b&gt;Omni Mandalay Hotel&lt;/b&gt; in Las Colinas (Dallas) Texas, USA!  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://kerryosborne.oracle-guy.com/"&gt;&lt;br /&gt;Kerry Osborne&lt;/a&gt; has just been named the Keynote Speaker, and &lt;a href="http://karenmorton.blogspot.com/"&gt;Karen Morton&lt;/a&gt; is doing the one day of training.  &lt;br /&gt;&lt;br /&gt;This is certainly a sym you don't want to miss.  Have you signed up yet?  &lt;a href="http://www.hotsos.com/sym11/sym_reg.html"&gt;Click here and do it now! &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-4710646940439465607?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/4710646940439465607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/10/kerry-osborne-keynote-speaker-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/4710646940439465607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/4710646940439465607'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/10/kerry-osborne-keynote-speaker-for.html' title='Kerry Osborne - Keynote Speaker for Hotsos Symposium 2011!!'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-1355665372472245371</id><published>2010-08-20T10:30:00.000-07:00</published><updated>2010-08-25T08:22:37.197-07:00</updated><title type='text'>So who will Oracle buy next.?</title><content type='html'>Here's an interesting look forward. This is a survey by Stephen Jannise.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.softwareadvice.com/articles/enterprise/oracle-mergers-acquisitions-whos-next-1080310/"&gt;Oracle Mergers &amp; Acquisitions: Who’s Next?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I worked with Teradata years ago and have some familiarity with their architecture (at least what it was like back then) and I'm not so sure they would such a "Fairly Straightforward Ideas" at least from a technical point of view.  They have a shared nothing approach to the data storage and Oracle is a shared everything.  Merging systems like that would be tricky at best.  But from a market share point of view, that's a whole different beast. &lt;br /&gt;&lt;br /&gt;It will be interesting to see the results.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;UPDATE!!&lt;/i&gt;&lt;/b&gt;  The results are in!  Click &lt;a href="http://www.softwareadvice.com/articles/enterprise/oracle-mergers-acquisitions-whos-next-1080310/"&gt;here&lt;/a&gt; to see the results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-1355665372472245371?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/1355665372472245371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/08/so-who-will-oracle-buy-next.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1355665372472245371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1355665372472245371'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/08/so-who-will-oracle-buy-next.html' title='So who will Oracle buy next.?'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-1748287270576124980</id><published>2010-07-13T06:42:00.001-07:00</published><updated>2010-07-13T06:48:24.667-07:00</updated><title type='text'>Branded Steer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_quD-4sB2n9I/TDxtboVmWpI/AAAAAAAAAMw/m83am59VtMw/s1600/Branded_Steer.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_quD-4sB2n9I/TDxtboVmWpI/AAAAAAAAAMw/m83am59VtMw/s400/Branded_Steer.jpg" alt="" id="BLOGGER_PHOTO_ID_5493385966937070226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yes I do still eat ribs.  This was at a place call &lt;a href="http://www.brandedsteer2.com/"&gt;Branded Steer&lt;/a&gt;.  Great fall off the bone ribs and the beans were nice and sweet, maybe a touch too sweet.  The place certainly had a "Texas" feel to it, even my waitress gave a decent shot at a Taxes drawl.  Not bad considering I'm in Wisconsin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-1748287270576124980?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/1748287270576124980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/07/branded-steer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1748287270576124980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1748287270576124980'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/07/branded-steer.html' title='Branded Steer'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/TDxtboVmWpI/AAAAAAAAAMw/m83am59VtMw/s72-c/Branded_Steer.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-2412093461017675065</id><published>2010-07-08T05:58:00.000-07:00</published><updated>2010-07-08T06:20:18.931-07:00</updated><title type='text'>Postings</title><content type='html'>I have been trying to make some posts recently but my HTML skills are apparently not where they need to be.  When trying to post code or an explain plan they just come out unreadable. And given that my goal is to talk about Oracle SQL (oh and food too) this really hampers my ability to post things.  I may just have to find a different hosting service, or I might just have to buckle down and really learn HTML so I can make readable posts here.  I know it can be done, I see lots of other folks posting code and such.  Some I know are using screen shots which are OK, but I'm really hoping to not have to do that.   I hope every one is having a good summer here in the Northern Hemisphere, and that the winter is kind to you in the Southern.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_quD-4sB2n9I/TDXQFCZpf7I/AAAAAAAAAMo/d6eFNCS_Unc/s1600/ducks_dock.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 127px;" src="http://1.bp.blogspot.com/_quD-4sB2n9I/TDXQFCZpf7I/AAAAAAAAAMo/d6eFNCS_Unc/s400/ducks_dock.jpg" alt="" id="BLOGGER_PHOTO_ID_5491524105610559410" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-2412093461017675065?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/2412093461017675065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/07/postings.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2412093461017675065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2412093461017675065'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/07/postings.html' title='Postings'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_quD-4sB2n9I/TDXQFCZpf7I/AAAAAAAAAMo/d6eFNCS_Unc/s72-c/ducks_dock.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-7513692452947891121</id><published>2010-05-11T07:05:00.000-07:00</published><updated>2010-05-11T08:04:00.689-07:00</updated><title type='text'>What’s going on with STAT lines in 10046 trace data?</title><content type='html'>I’ve long been teaching folks about the value of using the STAT lines in 10046 Trace data to help in optimizing queries. With STAT lines it’s been quite easy to see which part of a plan takes up the most time and does the most LIOs (Logical IOs).&lt;br /&gt;&lt;br /&gt;This is a simple plan from 10.2:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;STAT #8 id=1 cnt=348 pid=0 pos=1 obj=0&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;op='SORT GROUP BY (cr=494 pr=19 pw=0 time=603190 us)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #8 id=2 cnt=2399 pid=1 pos=1 obj=0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='HASH JOIN (cr=494 pr=19 pw=0 time=595897 us)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #8 id=3 cnt=437 pid=2 pos=1 obj=57036&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='TABLE ACCESS FULL ORD2 (cr=184 pr=11 pw=0 time=24947 us)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;STAT #8 id=4 cnt=70975 pid=2 pos=2 obj=57039&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='TABLE ACCESS FULL ORD_ITEM2 (cr=310 pr=8 pw=0 time=212985 us)'&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Each of the above is one line; I’ve broken it into two to make it a bit easier to read.&lt;br /&gt;&lt;br /&gt;The ID and PID show the relationship between the steps. The ID shows the order of the steps in the plan, and the PID shows which step is the parent of a step. Hence the last two lines are children of the second line, they each have a PID of 2. And the second step is the only child of the first step. The first step has no parent since its PID is 0 (zero).&lt;br /&gt;&lt;br /&gt;The numbers in the parenthesis are the really cool ones. These numbers tell us about how much work was done for each row source operation, including its children. So for example, the CR value (which is the LIOs) in the HASH JOIN line of 494 includes the 184 and the 310 of the next two lines. So the HASH JOIN didn’t really do any LIOs. All the LIOs were in the two other steps. 184 + 310 = 494&lt;br /&gt;&lt;br /&gt;Of particular interest can be the TIME value. It also includes the children of a step. Here we can see which step took up the most time. The HASH JOIN shows a TIME of 595, 897, if we subtract out of that the TIME of the next two steps 24,947 + 212,985 = 237,932 so 595,897 – 237,932 = 357,965. This tells us that even though the HASH JOIN didn’t do any LIOs it did take the longest time to run.&lt;br /&gt;&lt;br /&gt;These TIME values are in Micro Seconds (that’s what the “us” is after the time, it’s really a µs.)&lt;br /&gt;&lt;br /&gt;This is great stuff and I use this to drill right to the problem step of a plan. However things are not looking good with 11.&lt;br /&gt;&lt;br /&gt;Here is a simple plan in 11.1.0.6 (side note, this is the good old EMP - DEPT join, which has been a NESTED LOOP join forever, notice in 11 it’s now a SORT MERGE plan):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #6 id=1 cnt=13 pid=0 pos=1 obj=0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='MERGE JOIN (cr=6 pr=0 pw=0 time=144 us cost=5 size=767 card=13)‘&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #6 id=2 cnt=4 pid=1 pos=1 obj=71198&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='TABLE ACCESS BY INDEX ROWID DEPT (cr=4 pr=0 pw=0 time=44 us cost=2 size=80 card=4)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #6 id=3 cnt=4 pid=2 pos=1 obj=71199&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='INDEX FULL SCAN DEPT_DEPTNO_PK (cr=2 pr=0 pw=0 time=26 us cost=1 size=0 card=4)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #6 id=4 cnt=13 pid=1 pos=2 obj=0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='SORT JOIN (cr=2 pr=0 pw=0&lt;span style="color: rgb(255, 0, 0);"&gt; time=22 us &lt;/span&gt;cost=3 size=507 card=13)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #6 id=5 cnt=13 pid=4 pos=1 obj=71200&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='TABLE ACCESS BY INDEX ROWID EMP (cr=2 pr=0 pw=0 &lt;span style="color: rgb(255, 0, 0);"&gt;time=72 us&lt;/span&gt; cost=2 size=507 card=13)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #6 id=6 cnt=13 pid=5 pos=1 obj=71205&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='INDEX FULL SCAN EMP_DEPT_IDX (cr=1 pr=0 pw=0 time=24 us cost=1 size=0 card=13)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Well it may not be clear from just looking at the stat lines but the timings are a miss. The SORT JOIN step (ID 4) shows a TIME of 22 and it has one child (ID 5). This 22 can't included the time of step 5 which is 72 (the 24 in step 6 is part of the 72.) There seems to be a pattern of any time there is a sort in the plan, the timings seem to be off.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;But wait it gets worse!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In 11.1.0.7 we see this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #17 id=1 cnt=13 pid=0 pos=1 obj=0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='MERGE JOIN (cr=6 pr=0 pw=0 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;time=0 us&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; cost=5 size=767 card=13)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #17 id=2 cnt=4 pid=1 pos=1 obj=77595&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='TABLE ACCESS BY INDEX ROWID DEPT (cr=4 pr=0 pw=0 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;time=0 us&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; cost=2 size=80 card=4)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #17 id=3 cnt=4 pid=2 pos=1 obj=77596&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='INDEX FULL SCAN DEPT_DEPTNO_PK (cr=2 pr=0 pw=0 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;time=0 us&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; cost=1 size=0 card=4)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #17 id=4 cnt=13 pid=1 pos=2 obj=0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='SORT JOIN (cr=2 pr=0 pw=0 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;time=0 us&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; cost=3 size=507 card=13)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #17 id=5 cnt=13 pid=4 pos=1 obj=77597&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='TABLE ACCESS BY INDEX ROWID EMP (cr=2 pr=0 pw=0 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;time=0 us&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; cost=2 size=507 card=13)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STAT #17 id=6 cnt=13 pid=5 pos=1 obj=77602&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;op='INDEX FULL SCAN EMP_DEPT_IDX (cr=1 pr=0 pw=0 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;time=0 us&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; cost=1 size=0 card=13)'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now all the TIME values are Zero!! Well maybe this is better, at least we don’t have numbers that don’t add up! Oh and before you ask, yes STATISTICS_LEVEL was set to ALL for these tests.&lt;br /&gt;&lt;br /&gt;I’m not sure what is going on but this is a bad sign. We at one time had a great way to see what was happening for each line in a SQL statement. Now it appears that we are getting either bad data or no data. This is quite distressing.&lt;br /&gt;&lt;br /&gt;I don’t have an 11.2 database currently to test on. Maybe it’s fixed, but I’m doubtful. Based on the bugs I’ve seen on Metalink that address this issue, the problem still seems to be there in 11.2.&lt;br /&gt;&lt;br /&gt;In 11.1.0.6 the data in the view V$SQL_PLAN_STATISTICS and $SQL_PLAN_STATISTICS_ALL seemed to be unaffected by this. But in 11.1.0.7 this “feature” has gotten into those views as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-7513692452947891121?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/7513692452947891121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/05/whats-going-on-with-stat-lines-in-10046.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7513692452947891121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7513692452947891121'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/05/whats-going-on-with-stat-lines-in-10046.html' title='What’s going on with STAT lines in 10046 trace data?'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-581322499098117223</id><published>2010-03-22T06:06:00.001-07:00</published><updated>2010-03-22T06:21:04.649-07:00</updated><title type='text'>My Oracle Book list</title><content type='html'>This is a list of books that I've pulled together over the years.  I hand out this list in most of my classes and several folks have mentioned that I should post it here as well. They are not in any particular order.&lt;br /&gt;&lt;br /&gt;These are books that every Oracle professional should have on hand.  It's not intended to be the "be all end all" list, just a list of books to start with.  With these and the Oracle Documentation, you will be well on your way to understanding how the Oracle Database works.  Some are a little old but those still have great information in them.&lt;br /&gt;&lt;br /&gt;No I don't get any kick back on sales of these books, maybe I should... Hummmm....&lt;br /&gt;&lt;br /&gt;·  Cost-Based Oracle Fundamentals (Apress) By: Jonathon Lewis&lt;br /&gt;&lt;br /&gt;·  Practical Oracle8i(TM): Building Efficient Databases (Addison-Wesley) By:&lt;br /&gt;Jonathon Lewis&lt;br /&gt;&lt;br /&gt;·  Optimizing Oracle Performance  By: Cary Milsap, Jeff Holt&lt;br /&gt;&lt;br /&gt;·  Relational Database Index Design and the Optimizers By: Tapio Lahdenmaki,&lt;br /&gt;Mike Leach&lt;br /&gt;&lt;br /&gt;·  Effective Oracle by Design (Osborne ORACLE Press Series) By: Tom Kyte&lt;br /&gt;&lt;br /&gt;·  Expert Oracle, Signature Edition Programming Techniques and Solutions for&lt;br /&gt;Oracle 7.3 through 8.1.7 (Expert One-On-One) By: Tom Kyte&lt;br /&gt;&lt;br /&gt;·  The Art of SQL (Art of) [Illustrated] By: Stephane Faroult, Peter Robson&lt;br /&gt;&lt;br /&gt;·  Database in Depth: Relational Theory for Practitioners By: C.J. Date&lt;br /&gt;&lt;br /&gt;·  Expert Oracle Database Architecture: 9i and 10g Programming Techniques and&lt;br /&gt;Solutions By: Tom Kyte&lt;br /&gt;&lt;br /&gt;·  Oracle Database 10g High Availability with RAC, Flashback, and Data Guard&lt;br /&gt;(Osborne ORACLE Press Series) By: Matthew Hart, (and others)&lt;br /&gt;&lt;br /&gt;·  Oracle Dataguard : Standby Database Failover Handbook (Oracle In-Focus series)&lt;br /&gt;By: Bipul Kumar&lt;br /&gt;&lt;br /&gt;·  Mastering Oracle SQL and SQL*Plus By: Lex de Haan&lt;br /&gt;&lt;br /&gt;·  Oracle Insights: Tales of the Oak Table By: Dave Ensor, (and others)&lt;br /&gt;&lt;br /&gt;·  Oracle Wait Interface: A Practical Guide to Performance Diagnostics &amp;amp; Tuning&lt;br /&gt;(Osborne ORACLE Press Series) By: Richmond Shee, (and others)&lt;br /&gt;&lt;br /&gt;·  For PL/SQL – anything by Steven Feuerstein&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-581322499098117223?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/581322499098117223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/03/my-oracle-book-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/581322499098117223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/581322499098117223'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/03/my-oracle-book-list.html' title='My Oracle Book list'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-3943741747879803534</id><published>2010-02-14T11:02:00.000-08:00</published><updated>2010-02-14T11:17:33.801-08:00</updated><title type='text'>Oak Table Comes to Michigan!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_quD-4sB2n9I/S3hK7cojpdI/AAAAAAAAAME/CumDJI9qtPc/s1600-h/P1000711.JPG"&gt;&lt;img style="cursor: pointer; width: 342px; height: 257px;" src="http://3.bp.blogspot.com/_quD-4sB2n9I/S3hK7cojpdI/AAAAAAAAAME/CumDJI9qtPc/s400/P1000711.JPG" alt="" id="BLOGGER_PHOTO_ID_5438178935208912338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The first Michigan Oak Table Symposium (MOTS) is happening this September! On the 16th and 17th.&lt;br /&gt;&lt;br /&gt;Go here NOW to see more info and sign up, only 300 attendees will be allowed -&gt;  &lt;a href="http://michigan.oaktable.net/"&gt;http://michigan.oaktable.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There is a great set of speaker for this event and you wouldn't want to miss this!!&lt;br /&gt;&lt;br /&gt;A partial list of speakers includes:  Jonathan Lewis, Cary Millsap, Christian Antognini, Riyaj Shamsudeen, Randolf Geist, Charles Hooper, and many more.&lt;br /&gt;&lt;br /&gt;(Find the Oak Tree in the above picture for a prize!  Hint: There isn't one....)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-3943741747879803534?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/3943741747879803534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2010/02/oak-table-comes-to-michigan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3943741747879803534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3943741747879803534'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2010/02/oak-table-comes-to-michigan.html' title='Oak Table Comes to Michigan!'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/S3hK7cojpdI/AAAAAAAAAME/CumDJI9qtPc/s72-c/P1000711.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-323452507757005289</id><published>2009-12-18T12:13:00.001-08:00</published><updated>2009-12-18T12:17:32.195-08:00</updated><title type='text'>Ho-ho-ho!</title><content type='html'>Check it out! All of us at Hotsos have some seasons greetings for you at the &lt;a href="http://www.hotsos.com/media/Holiday%202009.htm"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Hotsos&lt;/span&gt; web site!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Happy holidays everyone!&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_quD-4sB2n9I/Syvi4ErGSNI/AAAAAAAAAL8/gD1xfRQCTc0/s1600-h/X_Mas_Wreath.jpg"&gt;&lt;img style="cursor: pointer; width: 308px; height: 314px;" src="http://4.bp.blogspot.com/_quD-4sB2n9I/Syvi4ErGSNI/AAAAAAAAAL8/gD1xfRQCTc0/s400/X_Mas_Wreath.jpg" alt="" id="BLOGGER_PHOTO_ID_5416672429798213842" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-323452507757005289?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/323452507757005289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/12/ho-ho-ho.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/323452507757005289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/323452507757005289'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/12/ho-ho-ho.html' title='Ho-ho-ho!'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_quD-4sB2n9I/Syvi4ErGSNI/AAAAAAAAAL8/gD1xfRQCTc0/s72-c/X_Mas_Wreath.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-7752326923883949139</id><published>2009-11-24T09:33:00.000-08:00</published><updated>2009-12-01T10:06:11.789-08:00</updated><title type='text'>The 2010 Hotsos Symposium</title><content type='html'>Hey everyone the Hotsos Sym is coming soon! &lt;span style=""&gt; &lt;/span&gt;March 7&lt;sup&gt;th &lt;/sup&gt;to the 11&lt;sup&gt;th&lt;/sup&gt; of 2010. &lt;span style=""&gt; &lt;/span&gt;There is a great group off speakers, including me!&lt;span style=""&gt;  &lt;/span&gt;(Wow, how’d I slip in again, someone must not have been watching carefully! Hehehe.. )&lt;span style=""&gt;  &lt;/span&gt;Make sure you are there and sign up now.&lt;span style=""&gt;  &lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://www.hotsos.com/sym10.html"&gt;Click here for a link to the official page.&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Make sure to check out the videos on the page.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Tom Kyte is the Keynote and is sure to deliver an awesome presentation he will also do two more presentations during the Symposium. Tanel Põder as the trainer for the optional training day on the 11&lt;sup&gt;th&lt;/sup&gt;. &lt;span style=""&gt; &lt;/span&gt;Make sure to sign up for the training day when you sign up. &lt;span style=""&gt; &lt;/span&gt;Seating is limited for the training day, don’t miss it.&lt;span style=""&gt;  &lt;/span&gt;Tanel is a fantastic presenter and trainer.  His presentations are standing room only around the world.  Don't miss this opportunity.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;I hear the party night is schedule to be Disco!&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_quD-4sB2n9I/SwwhCWkD1HI/AAAAAAAAAL0/J9nJ0dYWep4/s1600/diso_ball.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 192px; height: 136px;" src="http://3.bp.blogspot.com/_quD-4sB2n9I/SwwhCWkD1HI/AAAAAAAAAL0/J9nJ0dYWep4/s400/diso_ball.jpg" alt="" id="BLOGGER_PHOTO_ID_5407733576865404018" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Where are my white bell-bottom slacks, vest, big collar shirt and jacket.... &lt;span style="font-style: italic;"&gt;Staying-alive-ah-ah-ah! &lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-7752326923883949139?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/7752326923883949139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/11/2010-hotsos-symposium.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7752326923883949139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7752326923883949139'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/11/2010-hotsos-symposium.html' title='The 2010 Hotsos Symposium'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/SwwhCWkD1HI/AAAAAAAAAL0/J9nJ0dYWep4/s72-c/diso_ball.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-2174041429596509418</id><published>2009-11-02T15:03:00.000-08:00</published><updated>2009-11-02T15:09:27.491-08:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_quD-4sB2n9I/Su9lW6f5AZI/AAAAAAAAALk/CGgj6e8vDSI/s1600-h/Dinner_TX_RDHouse.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 320px;" src="http://2.bp.blogspot.com/_quD-4sB2n9I/Su9lW6f5AZI/AAAAAAAAALk/CGgj6e8vDSI/s400/Dinner_TX_RDHouse.jpg" alt="" id="BLOGGER_PHOTO_ID_5399645922575057298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was recently in Houston TX teaching for two weeks and had the excellent opportunity to eat at a &lt;a href="http://www.texasroadhouse.com/store-sites/restaurant-detail/tx-houston-fm1960-w/"&gt;TEXAS ROADHOUSE&lt;/a&gt; while I was there. Yes it is a chain and sort of more know for stakes rather then ribs, but these were darn good ribs.  I'm adding them to my list of restaurants worth going to if I find one in a town I'm in. And heck with free peanuts that you toss the shells on the floor, yeehaw!  Count me in!  :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-2174041429596509418?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/2174041429596509418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/11/i-was-recently-in-houston-tx-teaching.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2174041429596509418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2174041429596509418'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/11/i-was-recently-in-houston-tx-teaching.html' title=''/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_quD-4sB2n9I/Su9lW6f5AZI/AAAAAAAAALk/CGgj6e8vDSI/s72-c/Dinner_TX_RDHouse.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-2086178274009949332</id><published>2009-10-03T11:32:00.000-07:00</published><updated>2009-10-03T11:34:20.687-07:00</updated><title type='text'>Yes, this is the performance problem.</title><content type='html'>Recently in a class of mine we were all reviewing a trace file (10046) of a transaction that ran on the client’s system.  There was one SQL statement that consumed about 70% of the total time for the run.  The statement was rather simple one table and one predicate.  The predicate was a concatenation of several columns (each had an index) with an equality operator to a concatenation of a couple of binds.&lt;br /&gt;&lt;br /&gt;The predicate looked something like this (it was longer and slightly more complicated, then this but this captures the flavor): &lt;br /&gt;&lt;br /&gt;where COL1 || '-' || COL2  = :B1 || '-' || :B2&lt;br /&gt;&lt;br /&gt;Pretty clearly the Optimizer can’t use the indexes on the columns because they are concatenated together in the predicate.  The STAT lines weren’t in the trace data so we couldn’t see for sure but it was likely doing a full table scan which was driving about 60,000 LIOs for the statement. After some discussion several options were bantered about on how to fix the SQL, with a new index and rewriting the predicate being the top two. &lt;br /&gt;&lt;br /&gt;As we were finishing up the discussion, the person who brought in the trace said “But this statement isn’t the performance problem.” &lt;br /&gt;&lt;br /&gt;To which I replied “Oh yes it is.”  &lt;br /&gt;&lt;br /&gt;This is something that I’ve experienced before.  Folks will think another SQL statement is the problem before they start and when it isn’t they still focus on the statement they think is the problem. We all do it.  We have a preconceived idea of what the problem is and when faced with something else, we have a hard time getting over our preconceived idea.&lt;br /&gt;&lt;br /&gt;This is the root of why having some one with little knowledge of the system can seem to have such great insight.  Really it’s just that they have no preconceived idea of what is wrong.  They can then follow the clues without prejudice and see what everyone else may have missed.&lt;br /&gt;&lt;br /&gt;Cardinal Thomas Wosley (1471-1530) was an advisor to King Henry the VIII. He gave the King the advice of &lt;span style="font-weight:bold;"&gt;"Be very, very careful what you put into that head, because you will never, ever get it out."&lt;/span&gt;  Several 100 years later this advice still rings true.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-2086178274009949332?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/2086178274009949332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/10/yes-this-is-performance-problem.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2086178274009949332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2086178274009949332'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/10/yes-this-is-performance-problem.html' title='Yes, this is the performance problem.'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-322506588456494541</id><published>2009-08-13T10:02:00.001-07:00</published><updated>2009-10-15T07:43:29.597-07:00</updated><title type='text'>Temperatures</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_quD-4sB2n9I/SoRHyyG3lCI/AAAAAAAAALM/ROeAZQngdm8/s1600-h/Temp_Range.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 171px;" src="http://1.bp.blogspot.com/_quD-4sB2n9I/SoRHyyG3lCI/AAAAAAAAALM/ROeAZQngdm8/s400/Temp_Range.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5369495593502086178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Living in the Great State of Michigan in the USA gives me the opportunity to experience weather in all its ways.  This is my thermometer on my back porch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-322506588456494541?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/322506588456494541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/08/tempatures.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/322506588456494541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/322506588456494541'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/08/tempatures.html' title='Temperatures'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_quD-4sB2n9I/SoRHyyG3lCI/AAAAAAAAALM/ROeAZQngdm8/s72-c/Temp_Range.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-2837990149297317357</id><published>2009-07-23T13:34:00.000-07:00</published><updated>2009-07-23T13:55:35.917-07:00</updated><title type='text'>Ribs In New Jersey</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_quD-4sB2n9I/SmjN3pHRh7I/AAAAAAAAALE/_CX4DJIOLIU/s1600-h/ribs+houstons+NJ.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="http://2.bp.blogspot.com/_quD-4sB2n9I/SmjN3pHRh7I/AAAAAAAAALE/_CX4DJIOLIU/s400/ribs+houstons+NJ.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5361761712197437362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm here in New Jersey the Garden state of the USA. Went out for some good ribs at Houston's (181 Riverside Sq Mall Hackensack, NJ).  Quite good.  Very nice atmosphere and friendly staff. Although I do prefer a dry rub on the ribs the sauce they used was excellent. I also really liked the shoe string fries, they were nice and crunchy. The coleslaw was different from my norm and quite tasty as well.  Great meal!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-2837990149297317357?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/2837990149297317357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/07/ribs-in-new-jersey.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2837990149297317357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2837990149297317357'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/07/ribs-in-new-jersey.html' title='Ribs In New Jersey'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_quD-4sB2n9I/SmjN3pHRh7I/AAAAAAAAALE/_CX4DJIOLIU/s72-c/ribs+houstons+NJ.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-2129253100416076797</id><published>2009-05-23T09:14:00.000-07:00</published><updated>2009-05-23T09:19:49.341-07:00</updated><title type='text'>Were you there?</title><content type='html'>&lt;a href="http://www.hotsos.com/sym10/video/What%20you%20missed.htm"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_quD-4sB2n9I/Shghg0_iSUI/AAAAAAAAAK8/_84UizlF4i8/s1600-h/ChrisDate_RicVD_SM.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 333px;" src="http://4.bp.blogspot.com/_quD-4sB2n9I/Shghg0_iSUI/AAAAAAAAAK8/_84UizlF4i8/s400/ChrisDate_RicVD_SM.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5339054206112385346" /&gt;&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hotsos.com/sym10/video/What%20you%20missed.htm"&gt;Click here for a video of the 2009 Hotsos Symposium.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Will you be there next year?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-2129253100416076797?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/2129253100416076797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/05/were-you-there.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2129253100416076797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2129253100416076797'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/05/were-you-there.html' title='Were you there?'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_quD-4sB2n9I/Shghg0_iSUI/AAAAAAAAAK8/_84UizlF4i8/s72-c/ChrisDate_RicVD_SM.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-2602080138991115988</id><published>2009-05-14T10:24:00.000-07:00</published><updated>2009-05-14T10:29:54.062-07:00</updated><title type='text'>BBQ in Phoenix AZ</title><content type='html'>Ahhh... a great lunch at the&lt;a href="http://www.thebbqco.com/"&gt; BBQ Company&lt;/a&gt;  here in Phoenix AZ.  I got a 1/3 rack of ribs for lunch with some sweet beans and a corn medley.  Excellent sauce, and the corn medley was particularly good. The only bummer about this place is that it's only open for lunch.  This is now added to the list of places to get to while in Phoenix. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_quD-4sB2n9I/SgxUvzm3pEI/AAAAAAAAAK0/DJWSLNeEWf8/s1600-h/BBQ_Company.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="http://1.bp.blogspot.com/_quD-4sB2n9I/SgxUvzm3pEI/AAAAAAAAAK0/DJWSLNeEWf8/s400/BBQ_Company.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5335732838811018306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;OK, now back to some SQL optimization... How many LIOs is that thing doing?!?!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-2602080138991115988?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/2602080138991115988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/05/bbq-in-phoenix-az.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2602080138991115988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/2602080138991115988'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/05/bbq-in-phoenix-az.html' title='BBQ in Phoenix AZ'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_quD-4sB2n9I/SgxUvzm3pEI/AAAAAAAAAK0/DJWSLNeEWf8/s72-c/BBQ_Company.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-1263534463475607953</id><published>2009-05-13T09:48:00.001-07:00</published><updated>2009-05-13T09:48:51.958-07:00</updated><title type='text'>Breakfast at Matt's</title><content type='html'>One of my other favorite foods is Breakfast Food and in particular Waffles.   &lt;a href="http://www.mattsbigbreakfast.com/"&gt;Matt's Big Breakfast&lt;/a&gt; has the best Waffles I've ever had.  And the other food there is excellent as well.  I try to get to Matt's at least once each time I'm in the Phoenix/Tempe area in Arizona. This morning was the day for this week and my waffle was excellent as always!!  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_quD-4sB2n9I/Sgr5N7_7a4I/AAAAAAAAAKs/l6Nt7MzjSAo/s1600-h/Matts_Big_Brkfst.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="http://3.bp.blogspot.com/_quD-4sB2n9I/Sgr5N7_7a4I/AAAAAAAAAKs/l6Nt7MzjSAo/s400/Matts_Big_Brkfst.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5335350726413216642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;They open at 06:30 and the best thing to do is to be there at opening if you want a seat.  There aren't many and they go fast!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-1263534463475607953?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/1263534463475607953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/05/breakfast-at-matts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1263534463475607953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1263534463475607953'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/05/breakfast-at-matts.html' title='Breakfast at Matt&apos;s'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/Sgr5N7_7a4I/AAAAAAAAAKs/l6Nt7MzjSAo/s72-c/Matts_Big_Brkfst.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-3176635535033085034</id><published>2009-05-12T07:41:00.000-07:00</published><updated>2009-05-12T09:41:44.186-07:00</updated><title type='text'>The SQL runs fast but....</title><content type='html'>For the most part I don't think any one would get to excited about dealing with a SQL statement that runs in .3 seconds. Most of us are worried about the statements that run for hours and we tend to focus on them.  Which is not necessarily a bad thing. But how many statements on your system fit into this category I'm about to describe? &lt;br /&gt;&lt;br /&gt;This statement on a per execution runs in .336 seconds, and does 1,627 Logical IOs. It's a pretty simple 3 way table join. All the predicates are simple equality ones that are ANDed together. The kicker is that this statement was called 5,935 times in a 40 minute window for a total of &lt;span style="font-weight:bold;"&gt;9,658,869 LIOs&lt;/span&gt; and 275,527 Physical IOs and &lt;span style="font-style:italic;"&gt;didn't return any rows&lt;/span&gt;. For this 40 minute trace this statement consumed 69% of the total response time and nearly all the PIOs via Sequential Read events.  All this to get back nothing. &lt;br /&gt;&lt;br /&gt;Maybe the statement can be optimized to do less work, but the real question is why do this at all?  Is there a way to avoid running this statement at all?  &lt;br /&gt;&lt;br /&gt;It's easy to see why no one would have even looked at this SQL in the conventional tuning type engagement.  It's fast, the LIOs per execution aren't necessarily bad either given that the tables involved are rather large. Looking at it from a per execution basis, there isn't much reason to get excited.  But when looked at with in the context of a running application, it's easy to see that this statement is doing a lot of work for nothing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-3176635535033085034?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/3176635535033085034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/05/sql-runs-fast-but.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3176635535033085034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3176635535033085034'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/05/sql-runs-fast-but.html' title='The SQL runs fast but....'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-94820985889784493</id><published>2009-05-02T17:24:00.000-07:00</published><updated>2009-05-02T17:29:16.372-07:00</updated><title type='text'>Use the Force!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_quD-4sB2n9I/SfzlNV6HAvI/AAAAAAAAAKk/huq5qGSIqIc/s1600-h/Ric_Dark_side.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="http://3.bp.blogspot.com/_quD-4sB2n9I/SfzlNV6HAvI/AAAAAAAAAKk/huq5qGSIqIc/s400/Ric_Dark_side.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5331388076281758450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was out this morning and saw this group at a local comic book store.  I just couldn't resist getting a picture with them.  They didn't have any BBQ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-94820985889784493?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/94820985889784493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/05/use-force.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/94820985889784493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/94820985889784493'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/05/use-force.html' title='Use the Force!'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/SfzlNV6HAvI/AAAAAAAAAKk/huq5qGSIqIc/s72-c/Ric_Dark_side.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-7742706897365850348</id><published>2009-04-08T12:27:00.000-07:00</published><updated>2009-04-08T12:31:19.247-07:00</updated><title type='text'>Intelligent Cursor Sharing in 11.1.0.7 More testing</title><content type='html'>I’m continuing my research on Intelligent Cursor Sharing (Adaptive Cursor Sharing).  At the symposium this year one thing I pointed out was the range in the view v$sql_cs_selectivity view.  There is a high and low to each range.  Looking at these values for a set of queries there is a pattern to what is going on but exactly what it means is a bit less then clear to me.&lt;br /&gt;&lt;br /&gt;It starts out pretty simple.  When I run my simple query:&lt;br /&gt;&lt;br /&gt;select /* RVD */ count(*) from big_tab where object_type = :obj_typ&lt;br /&gt;&lt;br /&gt;With a couple of values is seems pretty simple.  I run it with the values “RULE”, then “SYNONYM” twice, this kicks in Cursor Sharing.  And I see this in the v$sql_cs_selectivity view:&lt;br /&gt;&lt;br /&gt;LOW = 0.351151   &lt;br /&gt;HIGH = 0.429185&lt;br /&gt;&lt;br /&gt;Doing a bit of arithmetic and it is easy to find that the midpoint of this range is .390168.  The selectivity for SYNONYM in this table is 0.390168 so it’s very clear that this is the midpoint of this range.  The span of the range is .078034 from the low to the high values.&lt;br /&gt;&lt;br /&gt;I run another query with the value set to INDEX, and a new range is created with:&lt;br /&gt;&lt;br /&gt;LOW = 0.044807   &lt;br /&gt;HIGH = 0.054764&lt;br /&gt;&lt;br /&gt;Doing the arithmetic again the selectivity of INEX (.049785470) falls on the mid point, .0497855.  But the span of the range from low to high is different: .009957.&lt;br /&gt;&lt;br /&gt;If I run with several other values I end up with 6 child cursors and the low high look like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_quD-4sB2n9I/Sdz7GlgM7RI/AAAAAAAAAKE/McFgc0LPzqs/s1600-h/selectivity_chart.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 132px;" src="http://1.bp.blogspot.com/_quD-4sB2n9I/Sdz7GlgM7RI/AAAAAAAAAKE/McFgc0LPzqs/s400/selectivity_chart.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322404950210047250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A couple of interesting points about this, the span between high and low generally fluctuates,  child number 5 and 4 are nearly the same, but the others differ by quite a bit.  Only cursor number 5 and 6 are sharable from V$SQL which means they are the only ones that are useable. &lt;br /&gt;&lt;br /&gt;Cursor 5 is uses and INDEX RANGE SCAN and cursor 6 uses a INDEX FAST FULL SCAN.  Cursor 5 has a Span from low to high of 0.000013 to 0.077194&lt;br /&gt;The selectivity for the queries that use cursor 5 are:&lt;br /&gt;&lt;br /&gt;0.000015 (RULE)&lt;br /&gt;0.049785 (INDEX)&lt;br /&gt;0.000073 (LOB)&lt;br /&gt;0.039517 (TABLE)&lt;br /&gt;0.070177 (VIEW)&lt;br /&gt;0.000102 (CONTEXT)&lt;br /&gt;0.000160 (JOB)&lt;br /&gt;0.000145 (CLUSTER)&lt;br /&gt;0.000015 (EDITION)&lt;br /&gt;0.018602 (PACKAGE)&lt;br /&gt;&lt;br /&gt;Cursor 6 has a span from low to high of 0.290623 to 0.429185.  The selectivity for the queries that use cursor 6 are:&lt;br /&gt;&lt;br /&gt;0.390168 (SYNONYM)&lt;br /&gt;0.322915 (JAVA CLASS)&lt;br /&gt;&lt;br /&gt;So there seems to be some correlation between the selectivity and the range.  It appears that after a few runs the Cursor Sharing is able to figure out it doesn’t need more cursors.  Somehow it also seems to come up with a decent ranger for each, how the range is calculated is still a bit of a mystery.  Also there is a gap between the ranges used for 5 and 6.  So far this is just with one BIND in the statement.  Next to move on to multiple BINDs and see what happens there.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Note:&lt;/span&gt; If you are looking at doing some test like this on your own, the high and low values are stored as varchar2 data.  And at least on my windows box were stored in a multi-byte char set.  To do any arithmetic with them I had to do this to get the values as a number:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;(TO_NUMBER(TO_SINGLE_BYTE(HIGH))&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-7742706897365850348?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/7742706897365850348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/04/intelligent-cursor-sharing-in-11107.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7742706897365850348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7742706897365850348'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/04/intelligent-cursor-sharing-in-11107.html' title='Intelligent Cursor Sharing in 11.1.0.7 More testing'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_quD-4sB2n9I/Sdz7GlgM7RI/AAAAAAAAAKE/McFgc0LPzqs/s72-c/selectivity_chart.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-7546678017224187828</id><published>2009-04-02T08:59:00.000-07:00</published><updated>2009-04-02T12:55:06.351-07:00</updated><title type='text'>BINDs and Selectivity Calculations</title><content type='html'>One of the issues with doing an explain plan vs an execution plan is that if at explain time you use a bind the optimizer will "assume" a selectivity for the bind.  If it's an equality operator it will use the density value from the stats, which is 1/NDV (NDV - Number of district values).  &lt;br /&gt;&lt;br /&gt;(&lt;span style="font-weight:bold;"&gt;Note&lt;/span&gt;: These test runs on a 11.1.0.7 database, but I have seen the same values on a 10.2.0.1 database as well.) &lt;br /&gt;&lt;br /&gt;Given this SQL:&lt;br /&gt;select /* RVD */ count(*) from big_tab where object_type = :obj_typ1&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;An explain plan shows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;INDEX RANGE SCAN on BIG_OBJTYPE_IDX with estimated rows of 59464&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The table has 2,200,160 rows in it, the desity is 1/37 = .02702702702703&lt;br /&gt;&lt;br /&gt;Doing the arithmetic: 2200160*.02702702702703 = 59463.78378379 so it sure looks like that is the calculation going on.&lt;br /&gt;&lt;br /&gt;Interesting note is that when there is a histogram on the column, the stored density in the stats shows a .00000, not the .02070207 number.  The optimizer must just do the calculation during the parse of the statement. &lt;br /&gt;&lt;br /&gt;OK, how about when we use other operators?  What selectivity does it use for them? &lt;br /&gt;&lt;br /&gt;With &lt;, &lt;=, &gt;,&gt;=, LIKE, and BETWEEN I got this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;INDEX RANGE SCAN on BIG_OBJTYPE_IDX with estimated rows of 110K&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Doing a bit of arithmetic, this is 5% (2200160*.05=110008).&lt;br /&gt;&lt;br /&gt;This seems to prove that with a BIND it will go with 5% selectivity, except for the equality operator where it will use the 1/NDV calculation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-7546678017224187828?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/7546678017224187828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/04/binds-and-selectivity-calculations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7546678017224187828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/7546678017224187828'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/04/binds-and-selectivity-calculations.html' title='BINDs and Selectivity Calculations'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-350900959130705154</id><published>2009-04-01T14:12:00.001-07:00</published><updated>2009-04-01T15:08:45.598-07:00</updated><title type='text'>BBQ in Vancouver BC Canada</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_quD-4sB2n9I/SdPY-7JTMII/AAAAAAAAAJ0/nJ78DVjMQQw/s1600-h/033009-dinner-dixbbq.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="http://4.bp.blogspot.com/_quD-4sB2n9I/SdPY-7JTMII/AAAAAAAAAJ0/nJ78DVjMQQw/s400/033009-dinner-dixbbq.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5319834160394875010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The other night I went to &lt;a href="http://www.markjamesgroup.com/dix.html"&gt;Dix BBQ and Brewery&lt;/a&gt; here in Vancouver.  The food was good, but the beer is really their trade.  I had ordered a Margareta, mostly because I really like tequila.  Beer and I haven't been getting along as well these days... I'll head back there again and try some more of the beer, I did have a small sample the other night and it was very good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-350900959130705154?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/350900959130705154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/04/bbq-in-vancouver-bc-canada.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/350900959130705154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/350900959130705154'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/04/bbq-in-vancouver-bc-canada.html' title='BBQ in Vancouver BC Canada'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_quD-4sB2n9I/SdPY-7JTMII/AAAAAAAAAJ0/nJ78DVjMQQw/s72-c/033009-dinner-dixbbq.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-6369512417845867930</id><published>2009-03-27T05:51:00.000-07:00</published><updated>2009-03-27T06:07:19.330-07:00</updated><title type='text'>Fogo de Chão - Chicago</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_quD-4sB2n9I/SczPbkBm5eI/AAAAAAAAAJs/Ot96dQJt2lY/s1600-h/fogo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 181px; height: 181px;" src="http://3.bp.blogspot.com/_quD-4sB2n9I/SczPbkBm5eI/AAAAAAAAAJs/Ot96dQJt2lY/s400/fogo.jpg" alt="" id="BLOGGER_PHOTO_ID_5317853332451550690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;OK not exactly the BBQ I usually get, but some darn good meat for sure!  I think I eat enough meat last night to feed a village some where.  Excellent cuts and salty which I really like.  Had great conversion with a SQL Server guy, whom I'm working on converting to the light side.  Great place for a good dinner for those coming to Chi-Town, &lt;a href="http://www.fogodechao.com/locations/chicagoIL.htm"&gt;Fogo de Chão&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-6369512417845867930?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/6369512417845867930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/03/fogo-de-chao-chicago.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/6369512417845867930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/6369512417845867930'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/03/fogo-de-chao-chicago.html' title='Fogo de Chão - Chicago'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/SczPbkBm5eI/AAAAAAAAAJs/Ot96dQJt2lY/s72-c/fogo.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-1605938211172625350</id><published>2009-03-26T08:28:00.001-07:00</published><updated>2009-03-26T10:16:12.058-07:00</updated><title type='text'>Count(*)</title><content type='html'>For years I've heard folks promote the idea that COUNT(1) is better then COUNT(*).  This is not true, and I'm pretty sure this has never been true.  Here is a very simple test in 11.1.0.7.  If some one can prove to me that this works different in a different version of Oracle, please let me know.&lt;br /&gt;&lt;br /&gt;Here is a count(*):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_quD-4sB2n9I/ScushfQridI/AAAAAAAAAJU/EsXyFAgr2J0/s1600-h/count_star.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 187px;" src="http://2.bp.blogspot.com/_quD-4sB2n9I/ScushfQridI/AAAAAAAAAJU/EsXyFAgr2J0/s400/count_star.jpg" alt="" id="BLOGGER_PHOTO_ID_5317533476368124370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is count of a constant:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_quD-4sB2n9I/Scus7LCTtRI/AAAAAAAAAJc/LSUFi4ZvB3Y/s1600-h/count_const.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 186px;" src="http://1.bp.blogspot.com/_quD-4sB2n9I/Scus7LCTtRI/AAAAAAAAAJc/LSUFi4ZvB3Y/s400/count_const.jpg" alt="" id="BLOGGER_PHOTO_ID_5317533917615731986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Both plans do exactly the same thing, a fast full index scan on the primary key column of the table.  Oracle will use an index on a non-null column for the count, it doesn't have to be the primary key.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-1605938211172625350?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/1605938211172625350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/03/count.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1605938211172625350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/1605938211172625350'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/03/count.html' title='Count(*)'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_quD-4sB2n9I/ScushfQridI/AAAAAAAAAJU/EsXyFAgr2J0/s72-c/count_star.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-3641355395014578121</id><published>2009-03-20T11:28:00.000-07:00</published><updated>2009-03-25T11:57:39.328-07:00</updated><title type='text'>Intelligent Cursor Sharing in 11.1.0.7</title><content type='html'>I've installed 11.1.0.7 and it does seem that Intelligent Cursor Sharing is smarter in this version.  When I did the testing in 11.1.0.6, I had a SQL statement that generated 10 child cursors, with 11.1.0.7 the same test only generates 6 child cursors.  So it's better.&lt;br /&gt;&lt;br /&gt;The test case is this SQL:&lt;br /&gt;&lt;br /&gt;select /* RVD */ count(*) from big_tab where object_type = :obj_typ&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;The object type column has some good skew to it, some values only appear tens of times and others many thousands.  The bind (:obj_typ) is then set to 12 different values.&lt;br /&gt;&lt;br /&gt;With 11.1.0.6 I got the following when I looked at V$SQL:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_quD-4sB2n9I/ScS50BZZKyI/AAAAAAAAAIk/G0PQxTPV87w/s1600-h/ICS_11106_v%24sql.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 212px;" src="http://4.bp.blogspot.com/_quD-4sB2n9I/ScS50BZZKyI/AAAAAAAAAIk/G0PQxTPV87w/s400/ICS_11106_v%24sql.jpg" alt="" id="BLOGGER_PHOTO_ID_5315577763583306530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With 11.1.0.7 I got the following when I looked at V$SQL:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_quD-4sB2n9I/ScS6ckw5RqI/AAAAAAAAAIs/l-njztqsPv0/s1600-h/ICS_11107_v%24sql.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 159px;" src="http://2.bp.blogspot.com/_quD-4sB2n9I/ScS6ckw5RqI/AAAAAAAAAIs/l-njztqsPv0/s400/ICS_11107_v%24sql.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5315578460271888034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I know the code here is hard to read, an important column is the first one which is the "IS_SHARABLE" column.  This more of less says will this cursor be used in the future. With it set to N it wouldn't be.  So in both these versions only the last two cursors are sharable (usable).  &lt;br /&gt;&lt;br /&gt;There are only two different plan for each version.  An index range scan, and an index fast full scan.  &lt;br /&gt;&lt;br /&gt;For the 11.1.0.6 version the index range scan is use for child cursor 0, 2, 3, 4, 5, 6, 7, 8, and 9.  Only child cursor 1 and 10 have the index fast full scan.&lt;br /&gt;&lt;br /&gt;For the 11.1.0.7 version the index range scan is used for child cursors 0, 2, 3, 4, and 5.  Again only the second and last (child number 1 and 6) have the index fast full scan.  &lt;br /&gt;&lt;br /&gt;This is definitely an improvement.  I hope to see that we get to a point with a simple query like this that we only have 3 plans, cursor 0 and then the two plans that are used. Because of the nature of how Intelligent Cursor Sharing works, cursor 0 will always be an unused cursor once Intelligent Cursor Sharing kicks in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-3641355395014578121?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/3641355395014578121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/03/intelligent-cursor-sharing-in-11107.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3641355395014578121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3641355395014578121'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/03/intelligent-cursor-sharing-in-11107.html' title='Intelligent Cursor Sharing in 11.1.0.7'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_quD-4sB2n9I/ScS50BZZKyI/AAAAAAAAAIk/G0PQxTPV87w/s72-c/ICS_11106_v%24sql.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-3781159682272452305</id><published>2009-03-19T13:17:00.000-07:00</published><updated>2009-03-20T11:28:42.108-07:00</updated><title type='text'>Windows....</title><content type='html'>Last night I was trying to apply the 11.1.0.7 patch to my 11 Database on my laptop.  I kept getting this error:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_quD-4sB2n9I/ScKpbTHZhTI/AAAAAAAAAIM/F9VhUcUFvJg/s1600-h/patch_erroe.bmp"&gt;&lt;img style="cursor: pointer; width: 400px; height: 318px;" src="http://3.bp.blogspot.com/_quD-4sB2n9I/ScKpbTHZhTI/AAAAAAAAAIM/F9VhUcUFvJg/s400/patch_erroe.bmp" alt="" id="BLOGGER_PHOTO_ID_5314996796703474994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I checked and checked, all services were shutdown, no other programs were running.  I check MetaLink for anything like this, I search with Google.  Nothing.&lt;br /&gt;&lt;br /&gt;So out of desperation I reboot my laptop.  Sure enough the install runs without a hitch...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-3781159682272452305?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/3781159682272452305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/03/windows.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3781159682272452305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3781159682272452305'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/03/windows.html' title='Windows....'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/ScKpbTHZhTI/AAAAAAAAAIM/F9VhUcUFvJg/s72-c/patch_erroe.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-801647052740488868</id><published>2009-03-16T07:36:00.000-07:00</published><updated>2009-03-16T07:48:37.333-07:00</updated><title type='text'>Intelligent Cursor Sharing in 11.1.0.6</title><content type='html'>In my presentation at the 2009 Hotsos Symposium I talked about a new 11g feature called Intelligent Cursor Sharing.  It was originally called Adaptive Cursor Sharing.  The basic premises of the new feature is that a cursor with a bind might have more then one best path depending on which value the bind happens to be.  This is a classic problem that we all have had to deal with at one level or another.  We have a data column with just enough skew in it that a maybe a full table scan is the right thing to do for some values and that an index scan is right for others.&lt;br /&gt;&lt;br /&gt;A histogram will let the optimizer know about the skew but with bind peeking, that histogram will only be used at the initial hard parse.  So who ever gets there first will get the right plan of them, however if the next run would be better with a different plan then the performance will suffer for queries wanting a different plan.&lt;br /&gt;&lt;br /&gt;Intelligent Cursor Sharing to the rescue!  Now with this feature you will still suffer some pain, but over time the pain will subside, that’s the plan anyway.  Now the sequence of event should go like this.&lt;br /&gt;&lt;br /&gt;Someone runs a plan with a value that is best done with an index scan for example.&lt;br /&gt;&lt;br /&gt;The next person’s value would be best with a full table scan. This person will still suffer the pain of having the wrong plan for this initial run.  But the next time they run this Oracle will know that it wasn’t such a good idea and re-parse the plan.  There will now be a couple of child cursors for the statement.  The idea being based on which value comes in Oracle will pick the right plan for the given values. &lt;br /&gt;&lt;br /&gt;The problem appears to be that the optimizer doesn’t seem to know that the plan it came up with might be the same one it just used.  I showed a very simple statement, ran it with 12 different values, and ended up with 11 cursors, but only 2 plans.  8 of the cursors had one plan (an index range scan), only the second one and that last one had a different plan (both were an index fast full scan).  One member of the audience told me he had a client with over 32,000 child cursors! Clearly this isn’t working quite as expected.  &lt;br /&gt;&lt;br /&gt;I had a few folks tell me this is fixed in 11.1.0.7, I have just pulled that patch set down and will be testing this over the next few days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-801647052740488868?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/801647052740488868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/03/intelligent-cursor-sharing-in-11106.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/801647052740488868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/801647052740488868'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/03/intelligent-cursor-sharing-in-11106.html' title='Intelligent Cursor Sharing in 11.1.0.6'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-3215797422797097389</id><published>2009-03-16T06:28:00.000-07:00</published><updated>2009-03-16T07:46:46.278-07:00</updated><title type='text'>BBQ in Rochester NY</title><content type='html'>Speaking of BBQ, the week before I was in Dallas for the Sym I was in Rochester NY.  I hit two quite good BBQ places.  &lt;a href="http://www.dinosaurbarbque.com/"&gt;Dinosaurs BBQ&lt;/a&gt; and &lt;a href="http://www.stickylipsbbq.com/stickylips/main.html"&gt;Sticky Lips&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is pulled pork at Dinosaurs:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_quD-4sB2n9I/Sb5V861j_CI/AAAAAAAAAHU/M-HD_MlmiXg/s1600-h/Photo_030309_001.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 320px;" src="http://3.bp.blogspot.com/_quD-4sB2n9I/Sb5V861j_CI/AAAAAAAAAHU/M-HD_MlmiXg/s400/Photo_030309_001.jpg" alt="" id="BLOGGER_PHOTO_ID_5313779115418188834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And a full rack of ribs at Sticky Lips, one half with sauce and the other with a dry rub.  I really like a good dry rub and this was a good one!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_quD-4sB2n9I/Sb5WQ5IdZjI/AAAAAAAAAHc/gDHSuPbFA38/s1600-h/Photo_030509_001.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 320px;" src="http://1.bp.blogspot.com/_quD-4sB2n9I/Sb5WQ5IdZjI/AAAAAAAAAHc/gDHSuPbFA38/s400/Photo_030509_001.jpg" alt="" id="BLOGGER_PHOTO_ID_5313779458557961778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Both are good.  I'd recommend both to anyone wanting some BBQ.  Sticky Lips was a bit harder to find.  But not that hard.  Neither one has parking really close by.  Dinosaurs is right down town on the river so if your lucky (like I was) you can parallel park on the street out front, or you parallel parking gives you the shakes, across the bridge there is a lot you can park in.  Sticky Lips there is a large parking lot just a short walk behind the restaurant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-3215797422797097389?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/3215797422797097389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/03/speaking-of-bbq-week-before-i-was-in.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3215797422797097389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/3215797422797097389'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/03/speaking-of-bbq-week-before-i-was-in.html' title='BBQ in Rochester NY'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/Sb5V861j_CI/AAAAAAAAAHU/M-HD_MlmiXg/s72-c/Photo_030309_001.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4924761592080147339.post-5742550668121797321</id><published>2009-03-14T08:23:00.000-07:00</published><updated>2009-03-16T07:17:18.900-07:00</updated><title type='text'>Hotsos Sym 2009</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_quD-4sB2n9I/SbwW-yNVfCI/AAAAAAAAAG8/RF9qUHutxzU/s1600-h/DSC_0082.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 203px; height: 400px;" src="http://3.bp.blogspot.com/_quD-4sB2n9I/SbwW-yNVfCI/AAAAAAAAAG8/RF9qUHutxzU/s400/DSC_0082.jpg" alt="" id="BLOGGER_PHOTO_ID_5313146928275749922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Once again a great symposium has come to an end.  Outstanding speakers great friends and coworkers, super food and of course a great Pirate Party on Tuesday night!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Chris Date started us off with a drop back to academia to let us all know what we are doing wrong with our databases.  Always good to get back to the Fundamentals.  Just like in sports if your team  doesn't do the fundamentals right, then it unlikely that your team will reach the playoffs.&lt;br /&gt;&lt;br /&gt;I had the honor of working directly with Chris to help him set things up and keep things moving smoothly for him.  We had the opportunity to just sit and chat a couple of times.  He was quite interested in talking about many other things outside of the database world and that was refreshing to step out of the professional world for a moment.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_quD-4sB2n9I/SbxtIVgiNDI/AAAAAAAAAHM/jZZ3OwZSiRU/s1600-h/ChrisDate_RicVD_SM.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 333px;" src="http://2.bp.blogspot.com/_quD-4sB2n9I/SbxtIVgiNDI/AAAAAAAAAHM/jZZ3OwZSiRU/s400/ChrisDate_RicVD_SM.jpg" alt="" id="BLOGGER_PHOTO_ID_5313241650370327602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I did  a presentation on the new 11g feature "Intelligent Cursor Sharing", I must admit I was a bit hung over from the party the night before so I did get off to a rough start.  But we had a lively conversation  with about what appears to be a bug with this in 11.1.0.6, hopefully this is fixed in the .7 patch set and I will be checking that shortly.&lt;br /&gt;&lt;br /&gt;Jonathan Lewis gave the one day of training on Thursday and it was great as always. Great talk on troubleshooting.&lt;br /&gt;&lt;br /&gt;One disappointment was there was not much on the BBQ fount for food this year. I'll have to make a comment about that...&lt;br /&gt;&lt;br /&gt;Do what you can to get there next year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4924761592080147339-5742550668121797321?l=ricramblings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ricramblings.blogspot.com/feeds/5742550668121797321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ricramblings.blogspot.com/2009/03/hotsos-sym-2009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/5742550668121797321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4924761592080147339/posts/default/5742550668121797321'/><link rel='alternate' type='text/html' href='http://ricramblings.blogspot.com/2009/03/hotsos-sym-2009.html' title='Hotsos Sym 2009'/><author><name>Ric Van Dyke</name><uri>http://www.blogger.com/profile/13372723714711916938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_quD-4sB2n9I/ScTE4Q2Z9fI/AAAAAAAAAI0/F-s1QD5XneU/S220/me_20mar09.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_quD-4sB2n9I/SbwW-yNVfCI/AAAAAAAAAG8/RF9qUHutxzU/s72-c/DSC_0082.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
