<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5325670787505784691</atom:id><lastBuildDate>Sat, 14 Feb 2026 08:53:07 +0000</lastBuildDate><category>Oracle 10g</category><category>Oracle 11g</category><category>Oracle 9i</category><category>Maintenance</category><category>Tuning</category><category>Compression</category><category>News</category><category>Events</category><category>Innerworkings</category><category>Linkedin</category><category>Books</category><category>Troubleshooting</category><category>Database Machine</category><category>Exadata</category><category>ITIL</category><category>Replication</category><category>Streams</category><category>Tricks</category><category>MySQL</category><category>Performance</category><category>RAC</category><category>Recovery-Restore-Backup</category><category>Security</category><title>Oracle-MySQL Databases Dissected</title><description>This blog is devoted to discuss Oracle&#39;s Databases internals... and externals that influence their behavior.&#xa;&#xa;Everyone is welcome to participate and enrich this knowledge place.&#xa;&#xa;[COMMIT]</description><link>http://oracledisect.blogspot.com/</link><managingEditor>noreply@blogger.com (Ignacio Ruiz)</managingEditor><generator>Blogger</generator><openSearch:totalResults>51</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-652173195307453548</guid><pubDate>Mon, 24 Nov 2014 14:10:00 +0000</pubDate><atom:updated>2014-11-24T08:10:26.193-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">News</category><title>I am back</title><description>&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img alt=&quot;Add to Technorati Favorites&quot; src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;cursor: pointer; float: right; margin: 0pt 10px 10px 0pt;&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/35&quot;&gt;Ver este articulo en Español&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
It&#39;s been a very long time not coming here, about 2 years and half ... and I missed it big time.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Now I moved to Oracle Systems (formerly Sun Microsystems) on a role support-programmer mixed, within RPE (Revenue Product Engineering) on the Extra Care team, with focus on Solaris, Engineered Systems with Solaris, ZFS Storage Appliance and Ops Center. I&#39;m very happy since my job is closer to development, something was looking for since some years now.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9RQetHPhyofVdzn9riy2n2Ha4MN5Dd2GU3glW-WUAKMlAocHtpAeBvJZxoeaIHvWpoEEEBlB-ijEVWS_8Aeb1sv-Ao0sbmy_UsVQF3Pk9Tu1G8USmTvVGL_c1MGeo6-LPBCrJzV-GSist/s1600/csh_half_h.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9RQetHPhyofVdzn9riy2n2Ha4MN5Dd2GU3glW-WUAKMlAocHtpAeBvJZxoeaIHvWpoEEEBlB-ijEVWS_8Aeb1sv-Ao0sbmy_UsVQF3Pk9Tu1G8USmTvVGL_c1MGeo6-LPBCrJzV-GSist/s1600/csh_half_h.jpg&quot; height=&quot;400&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
A cycle closes, full of good experiences, learnings and miles!!! lots of miles, hotel nights, Engineered Systems installations and migrations!&lt;br /&gt;
&lt;br /&gt;
Went up and down, all over the continent, helping customers to adopt &lt;a href=&quot;http://www.oracle.com/us/products/database/exadata/overview/&quot; target=&quot;_blank&quot;&gt;Exadata&lt;/a&gt;, &lt;a href=&quot;http://www.oracle.com/us/solutions/ent-performance-bi/business-intelligence/exalytics-bi-machine/overview/&quot; target=&quot;_blank&quot;&gt;Exalytics&lt;/a&gt; and &lt;a href=&quot;http://www.oracle.com/us/products/servers-storage/servers/sparc/supercluster/overview/index.html&quot; target=&quot;_blank&quot;&gt;SuperCluster&lt;/a&gt; . Was a very exciting time, meeting very interesting people within Oracle and outside!&lt;br /&gt;
&lt;br /&gt;
What&#39;s ahead of the road? since less travel will mean more time available, you may expect more new content here! fresh, maybe with different perspective now that I&#39;m getting into the inner workings of Solaris/Linux and storage.&lt;br /&gt;
&lt;br /&gt;
I&#39;m very excited and looking forward to resume contributing a little to this huge sea of knowledge!!!&lt;br /&gt;
&lt;br /&gt;
Stay tuned!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;

&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img alt=&quot;Follow IgnacioRuizMX on Twitter&quot; src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; /&gt;&lt;/a&gt;

&lt;img alt=&quot;Delicious&quot; src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; height=&quot;10&quot; width=&quot;10&quot; /&gt;
&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;&lt;/div&gt;
</description><link>http://oracledisect.blogspot.com/2014/11/i-am-back.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-3487913723818674408</guid><pubDate>Mon, 02 Apr 2012 16:50:00 +0000</pubDate><atom:updated>2012-04-02T12:14:39.295-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Books</category><category domain="http://www.blogger.com/atom/ns#">Innerworkings</category><category domain="http://www.blogger.com/atom/ns#">MySQL</category><category domain="http://www.blogger.com/atom/ns#">Performance</category><category domain="http://www.blogger.com/atom/ns#">Tuning</category><title>Book Review - High Performance MySQL 3rd Edition</title><description>&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img alt=&quot;Add to Technorati Favorites&quot; src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; style=&quot;cursor: pointer; float: right; margin: 0pt 10px 10px 0pt;&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://www.databases-la.com/&quot;&gt;Ver este articulo en Español&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
This is &lt;i&gt;&lt;b&gt;THE&lt;/b&gt;&lt;/i&gt; MySQL performance book. Period! &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://shop.oreilly.com/product/0636920022343.do&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx26mEdrQ3bNN5-n1QNJHowogd20wNaqhPCQKdADGBcF4oN1EpBIuGMY8EC6aJyF0hDqvd0mWhttVVlqBabxG6UrHLe5tJTdnZD61FqchWvVsYzQ72Aux-uXBgNeTVocecQai2lUZtHCpW/s1600/MySQLs.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Every chapter is very well crafted, with a precise balance between theory and practice, and full of invaluable nuggets, sometimes transcending the MySQL arena and applicable to any database!
Such cases are Chapter 2-Benchmarking MySQL and Chapter 3-Profiling Server Performance, very solid foundations for the reading ahead.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
All over the text, authors propose tools, examples of use and proven diagnostic techniques, that will greatly improve your performance firefighter skills and enhance your knowledge of MySQL internals. Nevertheless, what I liked the most from this book is taking into consideration the physical part of database structures in play when speaking about performance, which is something most authors don&#39;t include; plus treatment on MySQL high availability and cloud features, which we&#39;ll increasingly see on customers.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
As you may know, MySQL architecture relies on what is called “Storage Engines” and this book provides resolution down to that level, describing behavior, pros and cons among each major storage engine, plus some improvements coming for MySQL 5.6 (now in beta stage). That is cool!!!&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
However, there is something that kind of bugged me at times and was references to a specific commercial MySQL offering and tools, but after taking a look to that company web-site, found that is a great contributor to the MySQL community and you can actually use the tools!&lt;/div&gt;
&lt;br /&gt;
At the O&#39;Reilly website you can take a look to the book&#39;s TOC, bet you will find it very complete; hey! you can even peek the content with Google Preview, just follow the link: &lt;a href=&quot;http://shop.oreilly.com/product/0636920022343.do&quot; target=&quot;_blank&quot;&gt;High Performance MySQL&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you are interested on Mathematical Rigorous methods for performance tuning see &lt;a href=&quot;http://oracledisect.blogspot.com/2012/03/performance-enlightening-craig-effect.html&quot; target=&quot;_blank&quot;&gt;Performance Enlightening - The Craig Effect (Tropa de Elite)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;

&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img alt=&quot;Follow IgnacioRuizMX on Twitter&quot; src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; /&gt;&lt;/a&gt;

&lt;img alt=&quot;Delicious&quot; height=&quot;10&quot; src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; width=&quot;10&quot; /&gt;
&lt;a href=&quot;http://delicious.com/save&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2012/04/book-review-high-performance-mysql-3rd.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-7374851858278043644</guid><pubDate>Fri, 30 Mar 2012 01:55:00 +0000</pubDate><atom:updated>2012-03-29T21:07:48.238-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Events</category><category domain="http://www.blogger.com/atom/ns#">Linkedin</category><category domain="http://www.blogger.com/atom/ns#">Tuning</category><title>Performance Enlightening - Craig Effect (Tropa de Elite)</title><description>&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img alt=&quot;Add to Technorati Favorites&quot; src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; style=&quot;cursor: pointer; float: right; margin: 0pt 10px 10px 0pt;&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://www.databases-la.com/&quot;&gt;Ver este articulo en Español&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;During the past week I had the opportunity to assist both the Oracle Performance Firefighting and the&amp;nbsp;&lt;/pre&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Advanced Oracle Performance Analysis and only can say: awesome!!!&lt;/pre&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;font-family: Arial,Helvetica,sans-serif; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Craig Shallahamer is a great teacher and has a lot of resources to effectively share knowledge, even if&amp;nbsp;&lt;/pre&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;the subject is complex like buffer cache structures or arid like the mathematical foundation required for&amp;nbsp;&lt;/pre&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;perf analysis. That is not all, he provides valuable tips of the trade or anecdote nuggets, dipped on a&amp;nbsp;&lt;/pre&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;very fresh and sometimes humorist perspective.&lt;/pre&gt;
&lt;/div&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The result: we started searching for those AWRs and Statspack reports that were difficult to analyze, I even&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;recalled some unsolved performance cases that stained my record; difference now, is we all have the&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif; font-size: small;&quot;&gt;analytical elements to properly handle these and new challenges.&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Here a group picture of &quot;The Elite Squad&quot; (Tropa de Élite)&lt;/pre&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvsSO60bmsPIXFzktlllfz1ll-oNXI_RqjrPYoXtMJjUiEE2GKppQAgcXD0-vZXSbkUD3ntVgt7stUbrbBr5OA9gPVCKUayjtZVmW1omDaA43f-4vaip9_8HSfzlz2Hb5hqfkEObiEB2tK/s1600/DSC_1135_eq_clip_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Tropa de Élite&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvsSO60bmsPIXFzktlllfz1ll-oNXI_RqjrPYoXtMJjUiEE2GKppQAgcXD0-vZXSbkUD3ntVgt7stUbrbBr5OA9gPVCKUayjtZVmW1omDaA43f-4vaip9_8HSfzlz2Hb5hqfkEObiEB2tK/s1600/DSC_1135_eq_clip_01.jpg&quot; title=&quot;Tropa de Élite&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Sao Paulo, Brazil / March 19th-23th 2012&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;pre&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif; font-size: small;&quot;&gt;If you want to know more about these trainings or get more insight on Craig&#39;s methodologies and research, please click&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif; font-size: small;&quot;&gt;the image below (a new window will show up, you may need to allow this pop-up).&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.orapub.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;142&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3P7BeqPsXVv42EnneC6cuFVJWy2ijwjOq0qejoRS2-vOfKAWdDzArCY1BoplFavtQSw2nMMKQnyeI-k3qFige-q9kXNo5iWxIwjPAE-uBom6P2Cnh2shwGSmVv4YBN7D7OjGcTM1wwmHQ/s200/OraPub-Logo-02.jpg&quot; width=&quot;200&quot; /&gt; Go to OraPub.com&lt;/a&gt;&lt;/div&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;

&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img alt=&quot;Follow IgnacioRuizMX on Twitter&quot; src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; /&gt;&lt;/a&gt;

&lt;img alt=&quot;Delicious&quot; height=&quot;10&quot; src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; width=&quot;10&quot; /&gt;
&lt;a href=&quot;http://delicious.com/save&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2012/03/performance-enlightening-craig-effect.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-2206378831146080055</guid><pubDate>Sun, 04 Mar 2012 18:25:00 +0000</pubDate><atom:updated>2012-03-04T12:35:55.434-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Books</category><title>Book Review - iOS 5 Programming Cookbook</title><description>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: right; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/35&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;h3&gt;You will write iOS apps in less than you think&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://shop.oreilly.com/product/0636920021728.do&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 145px; height: 190px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdeOxzExS8TXsIRj0j_kXkcpbz6deLdkACH8Zdt1Z1zjSgqoHySCoWOQhxSs4hAG0r5h6DccEx9BZnTGRdaCbrY3tEHQ7hwCRrhVq4XC6ogPmU1ToqtiXF1AqCZn2n4fWNXpxw4m4zEb_4/s400/ios5s.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5716110711192308258&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Being a C/BASIC hardcore programmer for mobile devices in a past life, I enjoyed very much this book because it really helped me grasp quickly many basic and intermediate topics on iOS 5 Objective-C programming, would say after reading the full book I have all needed to program good basic applications; and even after getting practice and experience, guess I will eventually resort on this book as reference. In my opinion this book is awesome and a must for beginners and intermediates.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Honestly, I consider myself not very much fan to the Cookbook format, however this is one case where the author, Vandad Nahavandipoor, exploits it wonderfully to show and develop case after case of what you will face as an iOS programmer, both for iPad and iPhone! He misses nothing and includes good explanations and concise screenshots when needed.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Now, the table of contents covers almost everything is needed to develop any type of application: Location &amp;amp; Maps, Networking, Audio &amp;amp; Video, plus some “must-have” topics like Multitasking, Graphics &amp;amp; Animations or Core Motion. My favorite chapter is #2, because it provides the building blocks for GUI programming, including corresponding source code examples!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Something I would like to see is bluetooth or network programming basics, but maybe I&#39;m  overreaching and those are advanced topics, out of the scope if this book.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;If you want to take a closer look go to the Product Page at O&#39;Reilly website: &lt;a href=&quot;http://shop.oreilly.com/product/0636920021728.do&quot;&gt;iOS Programming Cookbook - Book&lt;/a&gt; I&#39;m sure you will get interested!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot; /&gt;&lt;/a&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; height=&quot;10&quot; width=&quot;10&quot; /&gt;&lt;a onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot; href=&quot;http://delicious.com/save&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2012/03/book-review-ios-5-programming-cookbook.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-7909406528339316242</guid><pubDate>Sun, 27 Nov 2011 23:08:00 +0000</pubDate><atom:updated>2012-05-10T14:46:38.065-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">RAC</category><category domain="http://www.blogger.com/atom/ns#">Troubleshooting</category><title>Who is using your Undo space? - Improved Script</title><description>&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img alt=&quot;Add to Technorati Favorites&quot; src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; style=&quot;cursor: pointer; float: right; margin: 0pt 10px 10px 0pt;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://www.databases-la.com/&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Hi folks!&lt;br /&gt;
I have extended the Undo usage scripts to include two additional indicators:&lt;br /&gt;
1) undo change vector size statistics&lt;br /&gt;
2) Used undo records/blocks&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
and support for RAC infrastructure, so you can spot the hungriest UNDO eaters for any given instance.&lt;/div&gt;
&lt;br /&gt;
Then the script for Oracle 11g is as follows:&lt;br /&gt;
&lt;pre&gt;set pagesize 400
set linesize 140
col name for a25
col program for a50
col username for a12
col osuser for a12
SELECT a.inst_id, a.sid, c.username, c.osuser, c.program, b.name,
a.value, d.used_urec, d.used_ublk
FROM gv$sesstat a, v$statname b, gv$session c, gv$transaction d
WHERE a.statistic# = b.statistic#
AND a.inst_id = c.inst_id
AND a.sid = c.sid
AND c.inst_id = d.inst_id
AND c.saddr = d.ses_addr
AND a.statistic# = 284
AND a.value &amp;gt; 0
ORDER BY a.value DESC&lt;/pre&gt;
&lt;br /&gt;
If you want to run this script on versions 10g1 and 10g2, just replace the statistic# with 176; 216 if your database is 11gR1... or use the following version independent script!!! (Hope we don&#39;t change the statistic name).&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;set pagesize 400
set linesize 140
col name for a25
col program for a50
col username for a12
col osuser for a12
SELECT a.inst_id, a.sid, c.username, c.osuser, c.program, b.name,
a.value, d.used_urec, d.used_ublk
FROM gv$sesstat a, v$statname b, gv$session c, gv$transaction d
WHERE a.statistic# = b.statistic#
AND a.inst_id = c.inst_id
AND a.sid = c.sid
AND c.inst_id = d.inst_id
AND c.saddr = d.ses_addr
AND b.name = &#39;undo change vector size&#39;
AND a.value &amp;gt; 0
ORDER BY a.value DESC&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
Read the popular 2008 article &lt;a href=&quot;http://oracledisect.blogspot.com/2008/05/who-is-using-your-undo-space.html&quot;&gt;Who is using your UNDO space?&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRThOgAsDymzMDi5byGU2g-FJ8XjUqJQV5gTw4sMXHsTgp4TEoi7Wvf5fjcJ4tvPSTWFAYZNM5HvlSZ2-UCi1CTF519lvszv6bdZEBiu-GiZYYoSp8sPIntI21k4pFcuMYfElMwAht5ySF/s1600/arrowrtmed_e0.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRThOgAsDymzMDi5byGU2g-FJ8XjUqJQV5gTw4sMXHsTgp4TEoi7Wvf5fjcJ4tvPSTWFAYZNM5HvlSZ2-UCi1CTF519lvszv6bdZEBiu-GiZYYoSp8sPIntI21k4pFcuMYfElMwAht5ySF/s1600/arrowrtmed_e0.gif&quot; /&gt;&lt;/a&gt;Interested on MySQL Performance? Read&amp;nbsp; &lt;a href=&quot;http://oracledisect.blogspot.com/2012/04/book-review-high-performance-mysql-3rd.html&quot; target=&quot;_blank&quot;&gt;Book Review - High Performance MySQL&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img alt=&quot;Follow IgnacioRuizMX on Twitter&quot; src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;Delicious&quot; height=&quot;10&quot; src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; width=&quot;10&quot; /&gt;&lt;br /&gt;
&lt;a href=&quot;http://delicious.com/save&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2011/11/who-is-using-your-undo-space-improved.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-5266980296103285448</guid><pubDate>Thu, 24 Nov 2011 03:10:00 +0000</pubDate><atom:updated>2011-11-27T16:59:29.577-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">News</category><title>First pervasive-post</title><description>&lt;div&gt;&lt;p&gt;Today I&#39;m writing this post from a Samsung Galaxy, my hand sized tablet, camera included, microphone and lots of fun.&lt;/p&gt;&lt;p&gt;I have been busy this year and that is thanks to the tremendous success of the Database Machine/Exadata.&lt;/p&gt;&lt;p&gt;Traveled all over the caribbean and south america, plus my first OOW experience as Oracle employee: always exciting!&lt;/p&gt;&lt;br /&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggdR626Noiag-hgqyG-CvHA-L1wd5jhxBKOPq5M4l_9OBz1TvwvcPS_W8YOG3h50F64BGPEBhz7krE2k6pOKpgMQtu33EpfKP4OqsI9sT-qTVSb1rTNAnnGu_PMf7fctempChNZr5KeMJN/&quot; /&gt;&lt;br /&gt;Bandeja Paisa / Paisa &quot;tray&quot; - Medellin, Colombia&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPo_0bOHODHQ79vflomKkOF_FJ7PC1aZsHzbdv1Y6Mo8S3pYyU_zh8CJYNevY7jPSm0UxsSqBPnSdybq-rt-btGpYAu3I4_AC6MQqPnPVHSqLCEba0QgYsHqxolZE1U6PHGwp_yRohXeL_/&quot; /&gt;&lt;br /&gt;Sao Paulo Subway System&lt;br /&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKchk2Zwpv_5aWI-2P9IWZIeQamcCea01Fl3fJ-5DOJgE7uxM4f6eBLarGbTM9BYOFivK_yANh9Cj_XEXII2s0dQZFWuHAhSKzerNW4s30I8a1diRjzDTY_pBdtKIvhLJXHfddQJ6Tw5Os/&quot; /&gt;&lt;br /&gt;Oracle Open World 2011&lt;br /&gt;&lt;/div&gt;</description><link>http://oracledisect.blogspot.com/2011/11/first-pervasive-post.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggdR626Noiag-hgqyG-CvHA-L1wd5jhxBKOPq5M4l_9OBz1TvwvcPS_W8YOG3h50F64BGPEBhz7krE2k6pOKpgMQtu33EpfKP4OqsI9sT-qTVSb1rTNAnnGu_PMf7fctempChNZr5KeMJN/s72-c" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-8594538152609782504</guid><pubDate>Fri, 15 Jul 2011 14:46:00 +0000</pubDate><atom:updated>2011-07-15T10:01:23.003-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database Machine</category><category domain="http://www.blogger.com/atom/ns#">Exadata</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><title>The Oracle Exadata: latest Business Weapon</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/35&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:donotoptimizeforbrowser/&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;mso-ansi-language:ES-MX&quot; lang=&quot;ES-MX&quot;&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;ES-MX&quot;&gt;Sorry I’ve been having a lot of work installing, maintaining and migrating to Database Machines all over Latinamerica for the latest 10 months; that means lot of travels abroad, all of them very exciting, but the real excitement comes from my job working with this wonderful Machine. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;mso-ansi-language:ES-MX&quot; lang=&quot;ES-MX&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot;&gt;  &lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;mso-ansi-language:ES-MX&quot; lang=&quot;ES-MX&quot;&gt;Was on the last project when realized how important is this investment for our customers, having this big caribbean Telco installed their first Exadata and later migrated their databases meant for them dramatic performance improvements and the ability to get more up-to-date analytical information and compete better and more agile.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;ES-MX&quot;&gt;Of course the Database Machine fulfilled expectations when we achieved a processing reduction of 6x on their nightly batch processes, going from 8-9hrs processing time, down-to 1.5-2hrs processing time. What this means: now they’re able to increase the refreshing time of their analysis tools 12 times a day and on demand, instead of having latest information one day behind.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;ES-MX&quot;&gt;Read my related article on Exadata Hybrid Columnar Compression&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;mso-ansi-language:ES-MX&quot; lang=&quot;ES-MX&quot;&gt;&lt;a href=&quot;http://oracledisect.blogspot.com/2010/11/my-steps-to-implement-exadata-ehcc.html&quot;&gt;My steps to implement EHCC&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;Recommended reading on My Oracle Support notes that helped make this happen:&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;a href=&quot;http://www.oracle.com/technology/products/bi/db/exadata/pdf/migration-to-exadata-whitepaper.pdf&quot;&gt;Migrating to Oracle Exadata Storage Server Paper (PDF) &lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot; class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;https://support.oracle.com/CSP/main/article?cmd=show&amp;amp;type=NOT&amp;amp;id=1067520.1&quot;&gt;Oracle Sun Database Machine Performance Best Practices [ID 1067520.1]&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Dissected by Email&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; height=&quot;10&quot; width=&quot;10&quot; /&gt;&lt;a onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot; href=&quot;http://delicious.com/save&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2011/07/oracle-exadata-latest-business-weapon.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-7166578352182192408</guid><pubDate>Tue, 30 Nov 2010 15:08:00 +0000</pubDate><atom:updated>2011-07-15T09:59:10.066-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Compression</category><category domain="http://www.blogger.com/atom/ns#">Database Machine</category><category domain="http://www.blogger.com/atom/ns#">Exadata</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><title>My Steps to Implement Exadata EHCC</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/35&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Last time I was engaged with an Exadata migration, customer asked me about EHCC and how to implement it for their datamarts.&lt;br /&gt;&lt;br /&gt;My approach (at that time) consisted on the following:&lt;br /&gt;1) Get a sample of very big objects to play with&lt;br /&gt;2) Used DBMS_COMPRESSION in order to get estimations for compression rates&lt;br /&gt;3) Try every compression type: Basic, Query Low, Query High, Archive Low, Archive High and recorded size reductions, time to import and time for FTS.&lt;br /&gt;4) Recorded and compared timings for various batch processes and important queries&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;With all those statistics, went to the customer and then he was able to take a decision based on nature of data, popular timeframe of querying within the data window, parallel degree, partitioning defined (BTW customer already had it on place, best practice!), and so on.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I&#39;ve used Datapump to import because it uses direct path load and Basic compression needs it to kick in.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Further thinking on this matter resulted on proposals to include table usage (V$SEGMENT_STATISTICS) &amp;amp; table data dynamics (Monitoring+DBA_TAB_MODIFICATIONS) in order to fine tune the compression mode selected. The next time I&#39;ve the opportunity to include this on the process, I&#39;ll share with you the results...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Thank you very much for your time, and if you liked this post please share with others freely...&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; height=&quot;10&quot; width=&quot;10&quot; /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/11/my-steps-to-implement-exadata-ehcc.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-4654848054496098188</guid><pubDate>Tue, 23 Nov 2010 13:58:00 +0000</pubDate><atom:updated>2010-11-23T08:54:04.670-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Compression</category><category domain="http://www.blogger.com/atom/ns#">Linkedin</category><category domain="http://www.blogger.com/atom/ns#">Maintenance</category><category domain="http://www.blogger.com/atom/ns#">Oracle 10g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><title>From 3Tb to 1.5Tb Using standard COMPRESS and PCTFREE</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/35&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;I&#39;ve been working on a migration project, with very aggressive dates and a couple of requirements that increase difficulty: switch from filesystem to ASM, using 50% of new storage... yes, you got the right picture, we don&#39;t have full set of disks for ASM to fit all data, therefore I need to move data trying to release complete datafiles in order to free those logical volumes or LUNs, and later add them to ASM.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Anyway, I realized that given this is a DSS or Datawarehouse, there is some margin to increase &quot;data density&quot; per block, in other words decrease the amount of space within one data block that is wasted reducing &lt;span style=&quot;font-weight: bold;&quot;&gt;PCTFREE&lt;/span&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Another opportunity to decrease storage usage came from the fact customer is upgrading from 10.2.0.4 to 11.1.0.7, so I can use STANDARD improved compression features on DATA!!!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The final touch came from a long time (and some times under-used feature), Index Key Compression. If you want more detail, can see my posts back from 2008 about this feature &lt;a href=&quot;http://oracledisect.blogspot.com/2008/04/honey-i-shrunk-index.html&quot;&gt;Index Key Compression - part I&lt;/a&gt;, &lt;a href=&quot;http://oracledisect.blogspot.com/2008/04/honey-i-shrunk-indexes-part-2.html&quot;&gt;Index Key Compression - part II&lt;/a&gt; and &lt;a href=&quot;http://oracledisect.blogspot.com/2008/05/honey-i-shrunk-indexes-part-3.html&quot;&gt;Index Key Compression - part III&lt;/a&gt;. Well, thanks the customer provided an environment dedicated to this project I was able to start doing som very expensive analysis on Index compression, with this strategy on mind: choose the biggest indexes to compress, then doing the &lt;span style=&quot;font-weight: bold;&quot;&gt;ANALYZE INDEX ... VALIDATE STRUCTURE OFFLINE&lt;/span&gt; and &lt;span style=&quot;font-weight: bold;&quot;&gt;SELECT * FROM INDEX_STATS&lt;/span&gt; for each candidate. (Please note you can consider not only massive indexes, but those heavily used too... for that you need to get usage info from &lt;span style=&quot;font-weight: bold;&quot;&gt;V$SEGMENT_STATISTICS&lt;/span&gt;). Some indexes compressed very well, with 40%-50% space savings, while others didn&#39;t got that good rates on 4% or 6%, just depends on information nature/distribution.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;First got all my tables with current allocated space, from &lt;span style=&quot;font-weight: bold;&quot;&gt;DBA_SEGMENTS,&lt;/span&gt; filled one spreadsheet with this info and considered extra columns for &lt;span style=&quot;font-weight: bold;&quot;&gt;PARALLEL&lt;/span&gt; degree for movement and compression flag, and so on. Using a formula was able to get 3000+ statements like this one:&lt;br /&gt;&lt;/div&gt;&lt;code&gt;&lt;br /&gt;ALTER TABLE ... MOVE PCTFREE 2 TABLESPACE DAT_ASM_HP NOLOGGING COMPRESS PARALLEL 8;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;or like this one for indexes:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;ALTER INDEX ... REBUILD TABLESPACE IDX_AHP COMPRESS 1 PARALLEL 8 NOLOGGING PCTFREE 2;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Well, final figures were:&lt;br /&gt;&lt;br /&gt;Tables    &lt;span style=&quot;color: rgb(51, 51, 255); font-weight: bold;&quot;&gt;Starting:1.9Tb&lt;/span&gt;        &lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;Ending:1Tb&lt;/span&gt;&lt;br /&gt;Indexes   &lt;span style=&quot;font-weight: bold; color: rgb(51, 51, 255);&quot;&gt;Starting:1.0Tb&lt;/span&gt;        &lt;span style=&quot;font-weight: bold; color: rgb(255, 0, 0);&quot;&gt;Ending:0.5Tb&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;I have to remark that this space reductions:&lt;br /&gt;1) Depend on this particular data distribution or patterns&lt;br /&gt;2) After index rebuild, with time flowing and info gets inserted, Indexes will tend to &quot;stabilize&quot; and make block splits thus free space. (see this post on &lt;a href=&quot;http://oracledisect.blogspot.com/2008/10/index-dynamics.html&quot;&gt;Index Dynamics&lt;/a&gt;)&lt;br /&gt;3) Inserts and updates on tables will tend to &quot;expand&quot; some data, therefore next step will be to implement Partitioning to isolate some other regions of data blocks AND enf-of-period maintenance tasks in order to keep data compressed.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Well, if you want to follow this route, please share with us on the comments section how it went for your database or what your findings were, we will appreciate hearing (or better said, reading) from You!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Thanks for your time, have a good time...&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Dissected by Email&lt;/a&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot; /&gt;&lt;/a&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; height=&quot;10&quot; width=&quot;10&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/11/from-3tb-to-15tb-using-standard.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-8859263676312586400</guid><pubDate>Wed, 10 Nov 2010 07:16:00 +0000</pubDate><atom:updated>2010-11-23T08:53:19.040-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database Machine</category><title>Migration time: Oracle Database Machine/Exadata</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/35&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;Guess what I&#39;ve been doing lately??!! taking vacations? well, that was on September (and that&#39;s another post) watching movies? wish I could... none of that, but something more exciting: migrating multi-terabyte datamarts to some Oracle DBMs/Exadatas!!!&lt;br /&gt;&lt;br /&gt;My first attempt back in March was Datapump, and it worked fine up-to database sizes around 2Tb using import over the network (DB Link) which is cool, but has the following caveat: cannot disable estimation when using DB Link and therefore much time is spent just measuring how much info Datapump is going to transfer.&lt;br /&gt;&lt;br /&gt;However, lately I&#39;ve been using something we call O2O migration (Oracle-to-Oracle) that is a set of tools and procedures developed by Oracle with SAP database systems in mind, which easily get into the Terabyte league and on top of that critical downtimes, then need to perform super-fast... and it does!!!&lt;br /&gt;&lt;br /&gt;On my last migration, took about 36 hours to make a clone of 10Tb datamart ... results may vary according to source hardware config, and things like storage setup and maker or number of cpus factor in; of course on the other side you need to take into account the DBM/Exadata sizing. Summarizing, results may vary according to your hardware and database sizing.&lt;br /&gt;&lt;br /&gt;This is an excellent alternative you may take into account, but remember this tool is not included with the database: is sold as a service from Oracle.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; height=&quot;10&quot; width=&quot;10&quot; alt=&quot;Delicious&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/11/migration-time-oracle-database.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-2012942803573025830</guid><pubDate>Fri, 10 Sep 2010 17:34:00 +0000</pubDate><atom:updated>2010-09-15T04:52:46.210-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Maintenance</category><category domain="http://www.blogger.com/atom/ns#">News</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><title>Oracle patchset 11.2.0.2 released (and docs updated)</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;***Sep 13th, Patchset has been released&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: rgb(255, 0, 0);&quot;&gt;***&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Today Oracle released latest patchset for Database Server 11g2: &lt;span style=&quot;font-weight: bold; color: rgb(51, 51, 255);&quot;&gt;11.2.0.2&lt;/span&gt; which packs some very interesting improvements and new features; for now, release covers &lt;span style=&quot;font-weight: bold; color: rgb(255, 0, 0);&quot;&gt;Linux x86&lt;/span&gt; and &lt;span style=&quot;font-weight: bold; color: rgb(255, 0, 0);&quot;&gt;x86_64&lt;/span&gt;, with download measuring near 5Gb(!)  .&lt;br /&gt;&lt;br /&gt;Also updated all documents for release 11.2, in order to reflect improvements introduced by 11.2.0.2. You can see on following picture a New Features addition &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAY8ZVYYt2ybLnlXAhiRREODw7SdsvAUR0PEL4JS_5CWAXHIWwEMFb8oxZelYa4B4RUqKN-fInds-6dJ3BCvWri1LD4R8DX5MisyFaj7bK-0JFOSv4bgA4Aw3kb_zItyMEXvENLGNs2mfT/s1600/New+docs-11202.PNG&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 119px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAY8ZVYYt2ybLnlXAhiRREODw7SdsvAUR0PEL4JS_5CWAXHIWwEMFb8oxZelYa4B4RUqKN-fInds-6dJ3BCvWri1LD4R8DX5MisyFaj7bK-0JFOSv4bgA4Aw3kb_zItyMEXvENLGNs2mfT/s200/New+docs-11202.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5515342198962811490&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;From now on you will see full distribution instead of a patchset (MyOracle Support Note 1189783.1 ), that&#39;s why seven ZIP files are listed for download. First two belong to database/RAC&lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;:  p10098816_112020_{platform}_1of7.zip and &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;p10098816_112020_{platform}_&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;2of7.zip.&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;If you&#39;re looking for Grid Infrastructure then you must download file&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;p10098816_112020_{platform}_3of7.zip&lt;/span&gt;&lt;/code&gt;.&lt;br /&gt;&lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;For client and gateways, download &lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;p10098816_112020_{platform}_4of7.zip&lt;/span&gt;&lt;/code&gt; or &lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;p10098816_112020_{platform}_5of7.zip&lt;/span&gt;&lt;/code&gt; files respectively.&lt;br /&gt;&lt;br /&gt;You want to update Examples? then file &lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;p10098816_112020_{platform}_6of7.zip&lt;/span&gt;&lt;/code&gt; contains what is needed.&lt;br /&gt;&lt;br /&gt;Finally, you may want to de-install, then is needed file &lt;code&gt;&lt;span style=&quot;font-family: Georgia,serif;&quot;&gt;p10098816_112020_{platform}_7of7.zip.&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href=&quot;http://www.oracle.com/pls/db112/homepage&quot;&gt;See Oracle 11.2 documentation library&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; height=&quot;10&quot; width=&quot;10&quot; /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/09/oracle-patchset-11202-released-and-docs.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-3717414122324685690</guid><pubDate>Fri, 03 Sep 2010 01:18:00 +0000</pubDate><atom:updated>2010-09-02T22:13:41.946-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle 10g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 9i</category><category domain="http://www.blogger.com/atom/ns#">Recovery-Restore-Backup</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><title>Oracle database recovery with data unloading</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img alt=&quot;Add to Technorati Favorites&quot; src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.databases.com.mx/?q=node/85&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;FLOAT: left; MARGIN: 0pt 10px 10px 0pt; CURSOR: pointer&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What I&#39;m going to share with you is an example of how you can recover from an apparently dead-end situation when a database crashes due to storage failure and gets corrupted.&lt;br /&gt;&lt;br /&gt;During past two days I was engaged with a customer where the disk array had a double failure on a RAID-5 arrangement, hence lossing information. When asking for backup... &lt;span style=&quot;color:#ff0000;&quot;&gt;none!!!&lt;/span&gt;; unfortunately this database wasn&#39;t backed-up regularly (was managed by an application team, not customer&#39;s formal Storage-OS-DB areas), database was in NOARCHIVE mode and on top of that NOLOGGING for all objects, including objects (remember we can turnoff logging on indexes),&lt;br /&gt;&lt;br /&gt;Well this seems like a terminal case, one that you cannot escape ... but &lt;span style=&quot;color:#ff0000;&quot;&gt;&lt;strong&gt;Oracle provides a Data Unloading service&lt;/strong&gt;&lt;/span&gt; for this cases when either corruption or hardware failure renders a database unable to open, I&#39;m part of Support - Advanced Customer Services within Oracle Corporation and our team is entitled to realize those services, under a service contract. There is no guarantee of how much information can be recovered and our tool only recovers data within datafiles/blocks, but hey! that&#39;s good help. (Hint: database dictionary included)&lt;br /&gt;&lt;br /&gt;But this case was difficult, since customer didn&#39;t had QA nor DEV environments, where we can get DDL for objects like stored procedures or indexes, I had to &lt;em&gt;individually extract database dictionary objects,&lt;/em&gt; load them on new database distinct schema (of course not SYS) and modify some DBA_ views in order to point these objects. Of course wasn&#39;t able to use DBMS_METADATA.GET_DDL because it uses SYS objects, and I didn&#39;t wanted to mess with database&#39;s DD. So, I had to &lt;em&gt;handcraft&lt;/em&gt; scripts to get DDL for sequences, indexes, constraints, views and stored procedures/functions ... lot of work!!! but customer got almost all data back, all structure and very happy, so worth the time invested ... this experience is something they won&#39;t forget, as a matter of fact they are going to transfer administration to operational departments.&lt;br /&gt;&lt;br /&gt;Thank you for your time and see you later!&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img alt=&quot;Follow IgnacioRuizMX on Twitter&quot; src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height=&quot;10&quot; alt=&quot;Delicious&quot; src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; width=&quot;10&quot; /&gt;&lt;a onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot; href=&quot;http://delicious.com/save&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/09/oracle-database-recovery-with-data.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-3627460654601140324</guid><pubDate>Mon, 30 Aug 2010 18:44:00 +0000</pubDate><atom:updated>2010-09-02T22:11:31.922-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">News</category><title>Back home and writing</title><description>&lt;div style=&quot;font-family:times new roman,new york,times,serif;font-size:10pt&quot;&gt;&lt;br /&gt;After a few trips abroad and very interesting projects with vip-big customers &amp; new features that demanded lot of time and concentration ... I&#39;m back!&lt;br /&gt;&lt;br /&gt;Want to share with you some goodies from my trips ... and advice.&lt;br /&gt;&lt;br /&gt;Trinidad &amp;amp; Tobago: be aware of displicent and slow service, lot of chinese places.&lt;br /&gt;&lt;br /&gt;Brazil, Rio de Janeiro: try Feijoada at Rondinella Rest. (Av. Atlantica, Copacabana Beach); if you go alone, ask for 1 person sizing ... you won&#39;t regret!!&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd9kL5A-a6Rn72EnqdzrF1jxehhN6e6rOhTjAwt9egMVkovVcLOwFvw5OxR8b74EbRJ0danmGwXcNAi-DXPKHm9-EluklAa06TcL7WbmXYfNaJ6FiZ_gEXAWOQ2WiuDz0vIhamPzcnkOdA/s1600/Feijoada.JPG&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd9kL5A-a6Rn72EnqdzrF1jxehhN6e6rOhTjAwt9egMVkovVcLOwFvw5OxR8b74EbRJ0danmGwXcNAi-DXPKHm9-EluklAa06TcL7WbmXYfNaJ6FiZ_gEXAWOQ2WiuDz0vIhamPzcnkOdA/s320/Feijoada.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5511280663905788546&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://oracledisect.blogspot.com/2010/08/back-home-and-writing.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd9kL5A-a6Rn72EnqdzrF1jxehhN6e6rOhTjAwt9egMVkovVcLOwFvw5OxR8b74EbRJ0danmGwXcNAi-DXPKHm9-EluklAa06TcL7WbmXYfNaJ6FiZ_gEXAWOQ2WiuDz0vIhamPzcnkOdA/s72-c/Feijoada.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-8298675089850386484</guid><pubDate>Tue, 27 Apr 2010 07:47:00 +0000</pubDate><atom:updated>2010-05-30T13:43:55.850-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Innerworkings</category><category domain="http://www.blogger.com/atom/ns#">Linkedin</category><category domain="http://www.blogger.com/atom/ns#">Maintenance</category><category domain="http://www.blogger.com/atom/ns#">Oracle 10g</category><title>Update under the hood ... and some extreme side effects</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot;&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.databases-la.com/?q=node/81&quot;&gt;Ver este artículo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;At first glance, this topic may look trivial, but may be the source for severe performance issues, unnecessary maintenance tasks and/or storage waste.&lt;br /&gt;&lt;br /&gt;Yes, you can say &quot;update is so basic, why I should care about it?!&quot;, well it may be some cases when using update without care, things may get ugly. I found it playing with my old friend ALTER SYSTEM DUMP BLOCK and a few inserts and updates, over a table with a few columns, two of them VARCHAR2 type.&lt;br /&gt;&lt;br /&gt;This was done on an Oracle 10.2.0.4 release database, let&#39;s see how it goes&lt;br /&gt;&lt;code&gt;&lt;br /&gt;create table table5 (col1 number, col2 varchar(10), col3 varchar(46));&lt;br /&gt;&lt;br /&gt;insert into table5 (col1,col2,col3) values (1,&#39;&lt;font style=&quot;color: rgb(0, 0, 153);&quot;&gt;row one&lt;/font&gt;&#39;,&#39;&lt;font style=&quot;color: rgb(0, 0, 153);&quot;&gt;This is the first row&lt;/font&gt;&#39;);&lt;br /&gt;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;insert into table5 (col1,col2,col3) values (2,&#39;&lt;font style=&quot;color: rgb(204, 0, 0);&quot;&gt;row two&lt;/font&gt;&#39;,&#39;&lt;font style=&quot;color: rgb(204, 0, 0);&quot;&gt;This is the 2nd row,updates will be Committed&lt;/font&gt;!&#39;);&lt;br /&gt;&lt;br /&gt;commit;&lt;br /&gt;alter session set tracefile_identifier=&#39;table5_04_b103&#39;;&lt;br /&gt;alter system dump datafile 6 block 103;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;I strongly recommend using parameter TRACEFILE_IDENTIFIER, because helps you differentiate your trace quickly.&lt;br /&gt;&lt;br /&gt;Initial state dump for block where rows were inserted:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CF8F390 C1023320 01FFFF02 C102FF80 0203022C  [ 3..........,...]&lt;br /&gt;CF8F3A0 720703C1 7420776F 542D6F77 20736968  [...&lt;font style=&quot;color: rgb(204, 0, 0);&quot;&gt;row two-This&lt;/font&gt; ]&lt;br /&gt;CF8F3B0 74207369 32206568 7220646E 752C776F  [&lt;font style=&quot;color: rgb(204, 0, 0);&quot;&gt;is the 2nd row,u&lt;/font&gt;]&lt;br /&gt;CF8F3C0 74616470 77207365 206C6C69 43206562  [&lt;font style=&quot;color: rgb(204, 0, 0);&quot;&gt;pdates will be C&lt;/font&gt;]&lt;br /&gt;CF8F3D0 696D6D6F 21646574 0203012C 720702C1  [&lt;font style=&quot;color: rgb(204, 0, 0);&quot;&gt;ommitted&lt;/font&gt;!,.....&lt;font style=&quot;color: rgb(0, 0, 153);&quot;&gt;r&lt;/font&gt;]&lt;br /&gt;CF8F3E0 6F20776F 5415656E 20736968 74207369  [&lt;font style=&quot;color: rgb(0, 0, 153);&quot;&gt;ow one.This is t&lt;/font&gt;]&lt;br /&gt;CF8F3F0 66206568 74737269 776F7220 14A30601  [&lt;font style=&quot;color: rgb(0, 0, 153);&quot;&gt;he first row&lt;/font&gt;....]&lt;br /&gt;Block header dump:  0x01800067&lt;br /&gt;...&lt;br /&gt;0xe:pti[0] &lt;font style=&quot;font-weight: bold;&quot;&gt;nrow=2&lt;/font&gt; offs=0&lt;br /&gt;0x12:pri[0] offs=0x1f74&lt;br /&gt;0x14:pri[1] offs=0x1f38&lt;br /&gt;block_row_dump:&lt;br /&gt;tab 0, row 0, @0x1f74&lt;br /&gt;tl: 36 fb: --H-FL-- lb: 0x1  cc: 3&lt;br /&gt;col  0: [ 2]  c1 02&lt;br /&gt;col  1: [ 7]  72 6f 77 20 6f 6e 65&lt;br /&gt;col  2: [21]&lt;br /&gt;54 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 72 6f 77&lt;br /&gt;tab 0, row 1, @0x1f38&lt;br /&gt;tl: 60 fb: --H-FL-- lb: 0x2  cc: 3&lt;br /&gt;col  0: [ 2]  c1 03&lt;br /&gt;col  1: [ 7]  72 6f 77 20 74 77 6f&lt;br /&gt;col  2: [45]&lt;br /&gt;54 68 69 73 20 69 73 20 74 68 65 20 32 6e 64 20 72 6f 77 2c 75 70 64 61 74&lt;br /&gt;65 73 20 77 69 6c 6c 20 62 65 20 43 6f 6d 6d 69 74 65 64 21&lt;br /&gt;end_of_block_dump&lt;br /&gt;End dump data blocks tsn: 7 file#: 6 minblk 103 maxblk 103&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It shows our two records: starting bottom with first row; on top of it, second row (that&#39;s why a &#39;regular&#39; Oracle table is properly named HEAP ORGANIZED TABLE)&lt;br /&gt;&lt;br /&gt;Now let&#39;s issue some updates on row #2, column 2 (col2) will change value from &#39;row two&#39; and &#39;row two-02&#39; to &#39;row two-25&#39;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;update table5b set col2 = &#39;row two-02&#39; where col1 = 2;&lt;br /&gt;...&lt;br /&gt;update table5b set col2 = &#39;&lt;span style=&quot;color: rgb(204, 0, 0); font-weight: bold;&quot;&gt;row two-25&lt;/span&gt;&#39; where col1 = 2;&lt;/code&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CF8F350 C3041100 FF373005 1702C102 03012C2F  [.....07...../,..]&lt;br /&gt;CF8F360 0A03C102 20776F72 2D6F7774 542D3532  [....&lt;span style=&quot;color: rgb(204, 0, 0); font-weight: bold;&quot;&gt;row two-25&lt;/span&gt;-T]&lt;br /&gt;CF8F370 20736968 74207369 32206568 7220646E  [his is the 2nd r]&lt;br /&gt;CF8F380 752C776F 74616470 77207365 206C6C69  [ow,updates will ]&lt;br /&gt;CF8F390 43206562 696D6D6F 21646574 0203002C  [be Commited!,...]&lt;br /&gt;CF8F3A0 720703C1 7420776F 542D6F77 20736968  [...&lt;font style=&quot;color: rgb(51, 51, 255); font-weight: bold;&quot;&gt;row two&lt;/font&gt;-This ]&lt;br /&gt;CF8F3B0 74207369 32206568 7220646E 752C776F  [is the 2nd row,u]&lt;br /&gt;CF8F3C0 74616470 77207365 206C6C69 43206562  [pdates will be C]&lt;br /&gt;CF8F3D0 696D6D6F 21646574 0203002C 720702C1  [ommited!,......r]&lt;br /&gt;CF8F3E0 6F20776F 5415656E 20736968 74207369  [ow one.This is t]&lt;br /&gt;CF8F3F0 66206568 74737269 776F7220 14F10602  [he first row....]&lt;br /&gt;Block header dump:  0x01800067&lt;br /&gt;...&lt;br /&gt;0xe:pti[0] nrow=2 offs=0&lt;br /&gt;0x12:pri[0] offs=0x1f74&lt;br /&gt;0x14:pri[1] offs=0x1ef9&lt;br /&gt;block_row_dump:&lt;br /&gt;tab 0, row 0, @0x1f74&lt;br /&gt;tl: 36 fb: --H-FL-- lb: 0x0  cc: 3&lt;br /&gt;col  0: [ 2]  c1 02&lt;br /&gt;col  1: [ 7]  72 6f 77 20 6f 6e 65&lt;br /&gt;col  2: [21]&lt;br /&gt;54 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 72 6f 77&lt;br /&gt;tab 0, row 1, @0x1ef9&lt;br /&gt;tl: 63 fb: --H-FL-- lb: 0x1  cc: 3&lt;br /&gt;col  0: [ 2]  c1 03&lt;br /&gt;col  1: [10]  72 6f 77 20 74 77 6f 2d 32 35&lt;br /&gt;col  2: [45]&lt;br /&gt;54 68 69 73 20 69 73 20 74 68 65 20 32 6e 64 20 72 6f 77 2c 75 70 64 61 74&lt;br /&gt;65 73 20 77 69 6c 6c 20 62 65 20 43 6f 6d 6d 69 74 65 64 21&lt;br /&gt;end_of_block_dump&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Changing col2 from &#39;&lt;font style=&quot;color: rgb(51, 51, 255);&quot;&gt;row two&lt;/font&gt;&#39; to &#39;row two-02&#39;, required to duplicate the whole row... of course, the register with col2=&#39;row two&#39; was logically deleted, remaining in the block.&lt;br /&gt;Is this a dead record? yes, it&#39;s a dead record...&lt;br /&gt;&lt;br /&gt;The 24 consecutive updates, didn&#39;t duplicate any information ... sorry to disappoint you if expected to see duplication in this case. But what happened? Seems that Oracle update algorithm has intelligence to identify that old and new values have the same length, then simply updating col2 on the spot. Update on CHAR columns (fixed length datatypes) behave the same way.&lt;br /&gt;&lt;br /&gt;Ok, now let&#39;s try modifying length of updated value between transactions. First alternate updates on col2 and col3:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;update table5 set col2 = &#39;row two-38&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col3 = &#39;Now update the second row, shorter text!&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col2 = &#39;row 2-39&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col3 = &#39;Now re-update the second row, another text!&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col2 = &#39;row two-40&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col3 = &#39;Now re-re-update the second row, another text!&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col2 = &#39;row 2-41&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col3 = &#39;Now re-re-re-update the second row, will fit?&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col2 = &#39;row two-42&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;                    &lt;br /&gt;update table5 set col3 = &#39;Now re-re-re-re-update the 2nd row, changed?&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col2 = &#39;row two-43&#39; where col1 = 2;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;and later, updates only on col2...&lt;br /&gt;&lt;code&gt;&lt;br /&gt;update table5 set col2 = &#39;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;row two-44&lt;/span&gt;&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col2 = &#39;row 2-45&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col2 = &#39;row two-46&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col2 = &#39;row 2-47&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;update table5 set col2 = &#39;&lt;span style=&quot;color: rgb(102, 0, 204); font-weight: bold;&quot;&gt;row two-48&lt;/span&gt;&#39; where col1 = 2;&lt;br /&gt;commit;&lt;br /&gt;                    &lt;br /&gt;update table5 set col2 = &#39;&lt;span style=&quot;color: rgb(0, 102, 0); font-weight: bold;&quot;&gt;row 2-49&lt;/span&gt;&#39; where col1 = 2;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;And see how looks now the block dump, suddenly the block is filled like we issued inserts instead of updates, strange to say the least&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;D84D000 61623763 4E5F3163 2C6F6765 C1020302  [c7bac1_Nego,....]&lt;br /&gt;D84D010 6F720803 2D322077 4E2C3934 7220776F  [..&lt;span style=&quot;color: rgb(0, 102, 0); font-weight: bold;&quot;&gt;row 2-49&lt;/span&gt;,&lt;span style=&quot;font-weight: bold;&quot;&gt;Now r&lt;/span&gt;]&lt;br /&gt;D84D020 65722D65 2D65722D 752D6572 74616470  [&lt;span style=&quot;font-weight: bold;&quot;&gt;e-re-re-re-updat&lt;/span&gt;]&lt;br /&gt;D84D030 68742065 6E322065 6F722064 63202C77  [&lt;span style=&quot;font-weight: bold;&quot;&gt;e the 2nd row, c&lt;/span&gt;]&lt;br /&gt;D84D040 676E6168 2C3F6465 C1020300 6F720A03  [&lt;span style=&quot;font-weight: bold;&quot;&gt;hanged?&lt;/span&gt;,......&lt;span style=&quot;color: rgb(102, 0, 204); font-weight: bold;&quot;&gt;ro&lt;/span&gt;]&lt;br /&gt;D84D050 77742077 38342D6F 776F4E2C 2D657220  [&lt;span style=&quot;color: rgb(102, 0, 204); font-weight: bold;&quot;&gt;w two-48&lt;/span&gt;,Now re-]&lt;br /&gt;D84D060 722D6572 65722D65 6470752D 20657461  [re-re-re-update ]&lt;br /&gt;D84D070 20656874 20646E32 2C776F72 61686320  [the 2nd row, cha]&lt;br /&gt;...... 46 rows not shown  .....&lt;br /&gt;D84D360 0A03C102 20776F72 2D6F7774 542D3833  [....row two-25-T]&lt;br /&gt;D84D370 20736968 74207369 32206568 7220646E  [his is the 2nd r]&lt;br /&gt;D84D380 752C776F 74616470 77207365 206C6C69  [ow,updates will ]&lt;br /&gt;D84D390 43206562 696D6D6F 21646574 0203002C  [be Commited!,...]&lt;br /&gt;D84D3A0 720703C1 7420776F 542D6F77 20736968  [...row two-This ]&lt;br /&gt;D84D3B0 74207369 32206568 7220646E 752C776F  [is the 2nd row,u]&lt;br /&gt;D84D3C0 74616470 77207365 206C6C69 43206562  [pdates will be C]&lt;br /&gt;D84D3D0 696D6D6F 21646574 0203002C 720702C1  [ommited!,......r]&lt;br /&gt;D84D3E0 6F20776F 5415656E 20736968 74207369  [ow one.This is t]&lt;br /&gt;D84D3F0 66206568 74737269 776F7220 61470602  [he first row..Ga]&lt;br /&gt;Block header dump:  0x01800067&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Seems that the block contains a lot of records, but look at the block header &lt;span style=&quot;font-weight: bold;&quot;&gt;nrow&lt;/span&gt; figures: block contains 2 live rows, and everything else is logically deleted, dead... space wasted.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;ntab=1&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(255, 0, 0);&quot;&gt;nrow=2&lt;/span&gt;&lt;br /&gt;frre=-1&lt;br /&gt;fsbo=0x16&lt;br /&gt;fseo=0x1ba7&lt;br /&gt;avsp=0x1f20&lt;br /&gt;tosp=0x1f22&lt;br /&gt;0xe:pti[0] &lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;nrow=2&lt;/span&gt; offs=0&lt;br /&gt;0x12:pri[0] offs=0x1f74&lt;br /&gt;0x14:pri[1] offs=0x1ba7&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Yep, this is something you must take care of... conclusion: you cannot take lightly update operations on variable length fields.&lt;br /&gt;&lt;br /&gt;Remember there is always a trade-off, in this case update algorithm for variable length update is optimized for performance, which is one of Oracle&#39;s virtues &amp;amp; pillar.&lt;br /&gt;&lt;br /&gt;It&#39;s desirable to prevent this behavior at the design or programing stages, avoiding repeating updates over same record or making a weighted decision over CHAR, meaning a fixed and constant waste of space versus VARCHAR with this corner case.&lt;br /&gt;&lt;br /&gt;If preventive solution is not possible, then Oracle provides ALTER TABLE instructions to cope with this and give maintenance to table, removing this &quot;dead rows&quot;.&lt;br /&gt;&lt;br /&gt;Quiz: ALTER TABLE {table} SHRINK SPACE or ALTER TABLE {table} SHRINK SPACE COMPACT are our saving sentences?&lt;br /&gt;Which pre-requisite have in order to use any of them?&lt;br /&gt;Are they interchangeable or what is the behavior distinction?&lt;br /&gt;&lt;br /&gt;Thanks for your time reading today, I&#39;ll engage next time with updates on tables having INDEXES...&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Dissected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; height=&quot;10&quot; width=&quot;10&quot;&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/04/update-under-hood-and-some-extreme-side.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-1361816047957483713</guid><pubDate>Mon, 12 Apr 2010 14:41:00 +0000</pubDate><atom:updated>2010-05-30T13:44:19.947-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Books</category><category domain="http://www.blogger.com/atom/ns#">Linkedin</category><title>Starting Oracle Coherence 3.5 book review</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=node/79&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Past Friday, Packt Publishing gave me a copy of his newest &lt;b&gt;&quot;Oracle Coherence 3.5&quot;&lt;/b&gt; book, which you can find clicking the book cover image below.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.packtpub.com/oracle-coherence-3-5/book?utm_source=oracledisect.blogspot.com&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_002933&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 125px; height: 152px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz19pdWS_sn81ukTKRQCgxe3iVifkmx1kSt-8rOESEb6eU-URW7g6339BLO3HKzfLodLkRjyTxmYmSRev8HJoq0H7CgpJl1ZEJ42gT863PmKGPvF5ZuqKJggOk691zMia9Y2yYaZ7kp4zV/s320/6125_MockupCover_0.jpg.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5459263068183358146&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Coherence is a Middleware product from Oracle which main purpose is being a high performance Cache on the 2nd tier, thus improving performance reducing unnecessary traffic or requests to the database server. On next weeks my comments on this book...&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.packtpub.com/oracle-11g-streams-implementers-guide/book/mid/230210qjwb6w+?utm_source=oracledisect.blogspot.com&amp;amp;utm_medium=affiliate&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_002589&quot;&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; height=&quot;10&quot; width=&quot;10&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/04/starting-oracle-coherence-35-book.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-4241235030016645910</guid><pubDate>Sat, 10 Apr 2010 07:00:00 +0000</pubDate><atom:updated>2010-04-13T07:42:12.956-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database Machine</category><category domain="http://www.blogger.com/atom/ns#">Exadata</category><category domain="http://www.blogger.com/atom/ns#">Linkedin</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><title>Oracle Exadata/Database Machine... nice to meet you</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=node/78&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;During the last four or five weeks I&#39;ve had the rare privilege of working with this amazing piece of engineering, the Oracle Database Machine.&lt;br /&gt;&lt;br /&gt;Engaged during deployment of it, I&#39;ve faced the setup steps on the SW side, applied upgrade patches &amp; side-to-side with Oracle Sun engineers bringing this marvel to life... it&#39;s just exciting, watching all the slightly-bluish-green leds showing HD activity or admiring the most precise cabling I&#39;ve ever seen... there is just one word: precision. I remember my first experience with an HP XP12000 SAN, five years ago, being not that exciting as this recent experience.&lt;br /&gt;&lt;br /&gt;Few months ago, started my preparation taking a web seminar for Oracle Exadata, appeared to me quite revolutionary the way it works, had to admit that first perception quickly got surpassed once started working directly with this beauty. &lt;br /&gt;&lt;br /&gt;A new paradigma is needed when working with Exadata, it&#39;s clear the tuning role will change, one (for instance) that may consider an index useless or even harmful. &lt;br /&gt;&lt;br /&gt;Please stay with me on this exciting journey, I&#39;ll try to share my experience on this as much as I can. Thank you for your attention.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; height=&quot;10&quot; width=&quot;10&quot; alt=&quot;Delicious&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/04/oracle-exadatadatabase-machine-nice-to.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-6963670810629182022</guid><pubDate>Fri, 02 Apr 2010 08:10:00 +0000</pubDate><atom:updated>2010-05-30T13:44:42.639-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Books</category><category domain="http://www.blogger.com/atom/ns#">Linkedin</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Replication</category><category domain="http://www.blogger.com/atom/ns#">Streams</category><title>Oracle 11g Streams Implementer&#39;s Guide - Highlights - Part I</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/35&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I finished reading this very nice book on Oracle Streams... yes, the one I shared you weeks ago (See post &lt;a href=&quot;http://oracledisect.blogspot.com/2010/02/my-first-assignment-on-book-reviews.html&quot;&gt;My first assignment on book reviews&lt;/a&gt;). Now as promised, getting back to you and share my comments on the book, starting with those chapters that clearly make the difference against other Oracle Streams books on the market, those which are more like &quot;rephrasing&quot; the manual.&lt;br /&gt;&lt;br /&gt;Chapter 2 and Chapter 3 provide the foundation for success on implementing Streams, this is the Analysis and Design phase that is often overlooked ... but pays high rewards to those who comply with it!!!&lt;br /&gt;&lt;br /&gt;Particularly those chapters provide you with a practical ready-to-use framework, if you may tweak it to fit your needs, that is your call.&lt;br /&gt;&lt;br /&gt;Chapter 8 is packed with a useful list of recipes for change, like adding a new replication site, detailed with full steps. Also recommendations to keep an eye on when changes are implemented. However, I liked most the troubleshooting cases, very handy BTW, which authors shown mapped against the replication process diagram... that is cool!!!&lt;br /&gt;&lt;br /&gt;Wait for final part next week, this Transaction is not committed yet!&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; height=&quot;10&quot; width=&quot;10&quot; alt=&quot;Delicious&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/04/oracle-11g-streams-implementers-guide.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-8449089039228936533</guid><pubDate>Sun, 21 Feb 2010 08:07:00 +0000</pubDate><atom:updated>2010-04-12T09:57:26.294-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Books</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Replication</category><category domain="http://www.blogger.com/atom/ns#">Streams</category><title>My first assignment on book reviews</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=node/77&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;During the past week, Packt Publishing gave me a copy of his newest &quot;Oracle 11g Streams Implementer&#39;s Guide&quot; book, which you can find clicking the book cover image below. &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.packtpub.com/oracle-11g-streams-implementers-guide/book/mid/230210qjwb6w+?utm_source=oracledisect.blogspot.com&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002589&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 125px; height: 152px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkUQrGoob5_KBloHwnFY4IiTD96fgoD-pHltfa_TsonFOmLkSHZskqnQiSnrgdhdJDX3QSMBeFxm1fCiBJTj4C2a_m85_SQeBlSjs-3IDk8zUrNjFzYJIUNnp_WKf4GEHFwqavRXFLBs3Q/s400/9706_MockupCover_0.jpg.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5455289690306889794&quot; border=&quot;0&quot; /&gt; &lt;/a&gt;&lt;br /&gt; &lt;br /&gt;There you may even get a free sample chapter (Ch 5 on N-Way Replication), for free!!!.&lt;br /&gt;&lt;br /&gt;So, on days to come you may see here postings related to this endeavor... stay tuned!&lt;br /&gt;&lt;br /&gt;See comments on the book, follow link to post &lt;a href=&quot;http://oracledisect.blogspot.com/2010/04/oracle-11g-streams-implementers-guide.html&quot;&gt;Oracle 11g Streams Implementer&#39;s Guide - Highlights - Part I&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; height=&quot;10&quot; width=&quot;10&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2010/02/my-first-assignment-on-book-reviews.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-8698243512127040723</guid><pubDate>Fri, 30 Oct 2009 16:31:00 +0000</pubDate><atom:updated>2010-05-30T13:45:04.304-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Innerworkings</category><category domain="http://www.blogger.com/atom/ns#">Oracle 10g</category><title>How to innocently corrupt a data table block</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This really happened to me when trying to learn how the &lt;span style=&quot;font-weight: bold;&quot;&gt;INITRANS&lt;/span&gt;&lt;br /&gt;attribute works, was very surprising how easily you can have this&lt;br /&gt;transitory error state.&lt;p&gt;Replicate the error is very straightforward, you just need one table and&lt;br /&gt;4 transactions. It happened on a 10.2.0.4 database.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;code&gt;CREATE TABLESPACE UNIF&lt;br /&gt;DATAFILE &#39;/u01/MASTER/unif.dbf&#39;&lt;br /&gt;SIZE 20M&lt;br /&gt;EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K&lt;br /&gt;SEGMENT SPACE MANAGEMENT AUTO;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;create table scott.t2 (c1 number, c2 char(10)) tablespace unif;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Table is created with storage defaults, therefore INITRANS is 2 initially.&lt;/p&gt;&lt;p&gt;&lt;code&gt;insert into scott.t2 (c1, c2) values (0,&#39;TEST me!&#39;);&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;commit;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;delete from scott.t2 where c1 = 0;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;commit;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;See this block dump after the DELETE/COMMIT pair... well, that is also&lt;br /&gt;something to think about too: seems that data is logically erased.&lt;br /&gt;Please observe the 2 ITL (Interested Transaction List) slots, which&lt;br /&gt;corresponds to INITRANS=2.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;DFAA3E0 00000000 00000000 00000000 0102012C  [............,...]&lt;br /&gt;DFAA3F0 45540A80 6D205453 20202165 1CE60601  [..TEST me!  ....]&lt;br /&gt;Block header dump:  0x01800017&lt;br /&gt;Object id on Block? Y&lt;br /&gt;seg/obj: 0xd580  csc: 0x00.e1c2e  itc: 2  flg: E  typ: 1 - DATA&lt;br /&gt;  brn: 0  bdba: 0x1800011 ver: 0x01 opc: 0&lt;br /&gt;  inc: 0  exflg: 0&lt;br /&gt;&lt;br /&gt;Itl           Xid                  Uba         Flag  Lck        Scn/Fsc&lt;br /&gt;0x01   0x0001.013.000001ac  0x0080b037.01c8.17  --U-    1  fsc&lt;br /&gt;0x0000.000e1ce6&lt;br /&gt;0x02   0x0000.000.00000000  0x00000000.0000.00  ----    0  fsc&lt;br /&gt;0x0000.00000000&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Now we change the INITRANS attribute for T2, and increment to say 8.&lt;/p&gt;&lt;p&gt;&lt;code&gt;alter table scott.t2 initrans 8;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Another block dump and you can see the new ITL slots are not allocated&lt;br /&gt;right away (a detailed explanation of ITL may be seen at this place&lt;br /&gt;&lt;a href=&quot;http://advait.wordpress.com/2008/06/16/interested-transaction-list-itl/&quot;&gt;http://advait.wordpress.com/2008/06/16/interested-transaction-list-itl/&lt;/a&gt;&lt;br /&gt;and there you can see that this allocation is dynamic).&lt;/p&gt;&lt;p&gt;Now we are going to try something trivial, throw some transactions into&lt;br /&gt;this table and see what happens. For that, we need at least 3 sqlplus&lt;br /&gt;sessions, because ITLs seem to be allocated on a session/block basis&lt;br /&gt;(this to be confirmed on a later article).&lt;/p&gt;&lt;p&gt;&lt;code&gt;Session 1:&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;insert into scott.t2 (c1, c2) values (1,&#39;TEST y0u!&#39;);&lt;br /&gt;commit;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;update scott.t2&lt;br /&gt;set c2 = &#39;TeST You!&#39;&lt;br /&gt;where c1 = 1;&lt;br /&gt;(no commit for the moment, we want all transactions in pending state)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;Session 2:&lt;br /&gt;insert into scott.t2 (c1, c2) values (2,&#39;kiSS him!&#39;);&lt;br /&gt;(no commit for the moment, same as above session)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;Session 3:&lt;br /&gt;insert into scott.t2 (c1, c2) values (4,&#39;TeaCH DeY!&#39;);&lt;br /&gt;(no commit for the moment, same as above session)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;What our knowledge and logic may tell us, is that up to now the database&lt;br /&gt;should have created a new ITL slot, counting 3.&lt;br /&gt;However this data block dump shows us a distinct reality:&lt;br /&gt;1) The database engine didn&#39;t create a new ITL slot&lt;br /&gt;2) It did the 3rd insert on same block as the other transactions&lt;br /&gt;3) A careful look to the dump, shows that the block appears to be&lt;br /&gt;&quot;corrupted&quot;... this is the shocking part.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;buffer tsn: 7 rdba: 0x01800016 (6/22)&lt;br /&gt;scn: 0x0000.000e1cad seq: 0x01 flg: 0x04 tail: 0x1cad0601&lt;br /&gt;frmt: 0x02 chkval: 0x89f7 type: 0x06=trans data&lt;br /&gt;Hex dump of corrupt header 3 = CHKVAL&lt;br /&gt;Dump of memory from 0x0DA66400 to 0x0DA66414&lt;br /&gt;DA66400 0000A206 01800016 000E1CAD 04010000  [................]&lt;br /&gt;DA66410 000089F7                             [....]        &lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;Hex dump of corrupt block  &amp;lt;&amp;lt;--&lt;/span&gt;&lt;br /&gt;Dump of memory from 0x0DA66414 to 0x0DA683FC&lt;br /&gt;DA66410          00000001 0000D580 000E1C2E      [............]&lt;br /&gt;DA66420 00000000 00320002 01800011 0001000A  [......2.........]&lt;br /&gt;DA66430 000001BC 00800AB7 001302B1 00000001  [................]&lt;br /&gt;DA66440 00000000 00000000 00000000 00000000  [................]&lt;br /&gt;     Repeat 1 times&lt;br /&gt;DA66460 00000000 00010100 0014FFFF 1F731F87  [..............s.]&lt;br /&gt;DA66470 00001F73 1F870001 00000000 00000000  [s...............]&lt;br /&gt;DA66480 00000000 00000000 00000000 00000000  [................]&lt;br /&gt;     Repeat 501 times&lt;br /&gt;DA683E0 00000000 00000000 2C000000 C1020201  [...........,....]&lt;br /&gt;DA683F0 65540A05 20484361 21596544           [..TeaCH DeY!]&lt;br /&gt;Dump of memory from 0x0DA66414 to 0x0DA683FC&lt;br /&gt;DA66410          00000001 0000D580 000E1C2E      [............]&lt;br /&gt;DA66420 00000000 00320002 01800011 0001000A  [......2.........]&lt;br /&gt;DA66430 000001BC 00800AB7 001302B1 00000001  [................]&lt;br /&gt;DA66440 00000000 00000000 00000000 00000000  [................]&lt;br /&gt;     Repeat 1 times&lt;br /&gt;DA66460 00000000 00010100 0014FFFF 1F731F87  [..............s.]&lt;br /&gt;DA66470 00001F73 1F870001 00000000 00000000  [s...............]&lt;br /&gt;DA66480 00000000 00000000 00000000 00000000  [................]&lt;br /&gt;     Repeat 501 times&lt;br /&gt;DA683E0 00000000 00000000 2C000000 C1020201  [...........,....]&lt;br /&gt;DA683F0 65540A05 20484361 21596544           [..TeaCH DeY!]    &lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;-- 3rd Trx&lt;/span&gt;&lt;br /&gt;buffer tsn: 7 rdba: 0x01800017 (6/23)&lt;br /&gt;scn: 0x0000.000e219d seq: 0x01 flg: 0x00 tail: 0x219d0601&lt;br /&gt;frmt: 0x02 chkval: 0x0000 type: 0x06=trans data&lt;br /&gt;Hex dump of block: st=0, typ_found=1&lt;br /&gt;Dump of memory from 0x0DA66400 to 0x0DA68400&lt;br /&gt;DA66400 0000A206 01800017 000E219D 00010000  [.........!......]&lt;br /&gt;DA66410 00000000 00000001 0000D580 000E2163  [............c!..]&lt;br /&gt;DA66420 00000000 00320002 01800011 000E0002  [......2.........]&lt;br /&gt;DA66430 000001E5 0080001E 0009028F 00000001  [................]&lt;br /&gt;DA66440 00000000 00000004 000001B0 008017B6  [................]&lt;br /&gt;DA66450 000701D2 00000001 00000000 00000000  [................]&lt;br /&gt;DA66460 00000000 00030100 00180000 1F5E1F66  [............f.^.]&lt;br /&gt;DA66470 00001F5E FFFF0003 1F661F77 00000000  [^.......w.f.....]&lt;br /&gt;DA66480 00000000 00000000 00000000 00000000  [................]&lt;br /&gt;     Repeat 499 times&lt;br /&gt;DA683C0 00000000 00000000 022C0000 03C10202  [..........,.....]&lt;br /&gt;DA683D0 53696B0A 69682053 2C20216D C1020201  [.kiSS him! ,....] &lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;-- 2nd Transaction&lt;/span&gt;&lt;br /&gt;DA683E0 65540A02 59205453 2021756F 0102023C  [..TeST You! &amp;lt;...] &lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;-- 1st Transaction&lt;/span&gt;&lt;br /&gt;DA683F0 45540A80 6D205453 20202165 219D0601  [..TEST me!  ...!]  &lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;-- dead row&lt;/span&gt;&lt;br /&gt;Block header dump:  0x01800017&lt;br /&gt;Object id on Block? Y&lt;br /&gt;seg/obj: 0xd580  csc: 0x00.e2163  itc: 2  flg: E  typ: 1 - DATA&lt;br /&gt;  brn: 0  bdba: 0x1800011 ver: 0x01 opc: 0&lt;br /&gt;  inc: 0  exflg: 0&lt;br /&gt;&lt;br /&gt;Itl           Xid                  Uba         Flag  Lck        Scn/Fsc&lt;br /&gt;0x01   0x0002.00e.000001e5  0x0080001e.028f.09  ----    1  fsc&lt;br /&gt;0x0000.00000000&lt;br /&gt;0x02   0x0004.000.000001b0  0x008017b6.01d2.07  ----    1  fsc&lt;br /&gt;0x0000.00000000&lt;br /&gt;&lt;br /&gt;data_block_dump,data header at 0xda66464&lt;br /&gt;===============&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;At this point, we may ask ourselves &#39;Where is the rdbms keeping track of&lt;br /&gt;ITL for the last transaction?&#39;&lt;br /&gt;... we need to get that answer.&lt;/p&gt;&lt;p&gt;This needed a confirmation which tried to found with&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;DBMS_REPAIR.CHECK_OBJECT&lt;/span&gt; , however everything looked just fine&lt;/p&gt;&lt;p&gt;&lt;code&gt;SQL&amp;gt; set serveroutput on&lt;br /&gt;declare&lt;br /&gt;v_corrupted_blocks number;&lt;br /&gt;begin&lt;br /&gt;dbms_repair.check_object(&#39;SCOTT&#39;,&#39;T2&#39;, object_type =&amp;gt;&lt;br /&gt;dbms_repair.table_object,&lt;br /&gt;repair_table_name=&amp;gt;&#39;REPAIR_TABLEAU&#39;,corrupt_count=&amp;gt;v_corrupted_blocks);&lt;br /&gt;dbms_output.put_line(&#39;Corrupted Blocks = &#39;||v_corrupted_blocks);&lt;br /&gt;end;&lt;br /&gt;/&lt;br /&gt;SQL&amp;gt;   2    3    4    5    6    7&lt;br /&gt;Corrupted Blocks = 0&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;PL/SQL procedure successfully completed.&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Confused I&#39;ve tried a second block dump for same table, and surprisingly&lt;br /&gt;this time no corruption was present, no new ITL slot was created but&lt;br /&gt;instead database used another block for last transaction.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;buffer tsn: 7 rdba: 0x01800016 (6/22)&lt;br /&gt;scn: 0x0000.000e222b seq: 0x01 flg: 0x04 tail: 0x222b0601&lt;br /&gt;frmt: 0x02 chkval: 0x3930 type: 0x06=trans data&lt;br /&gt;Hex dump of block: st=0, typ_found=1&lt;br /&gt;Dump of memory from 0x0D26B400 to 0x0D26D400&lt;br /&gt;...&lt;br /&gt;D26B480 00000000 00000000 00000000 00000000  [................]&lt;br /&gt;     Repeat 501 times&lt;br /&gt;D26D3E0 00000000 00000000 2C000000 C1020201  [...........,....]&lt;br /&gt;D26D3F0 65540A05 20484361 21596544 222B0601  [..TeaCH DeY!..+&quot;]&lt;br /&gt;Block header dump:  0x01800016&lt;br /&gt;Object id on Block? Y&lt;br /&gt;seg/obj: 0xd580  csc: 0x00.e1c2e  itc: 2  flg: E  typ: 1 - DATA&lt;br /&gt;  brn: 0  bdba: 0x1800011 ver: 0x01 opc: 0&lt;br /&gt;  inc: 0  exflg: 0&lt;br /&gt;&lt;br /&gt;Itl           Xid                  Uba         Flag  Lck        Scn/Fsc&lt;br /&gt;0x01   0x000a.001.000001bc  0x00800ab7.02b1.13  ----    1  fsc&lt;br /&gt;0x0000.00000000&lt;br /&gt;0x02   0x0000.000.00000000  0x00000000.0000.00  ----    0  fsc&lt;br /&gt;0x0000.00000000&lt;br /&gt;&lt;br /&gt;data_block_dump,data header at 0xd26b464&lt;br /&gt;===============&lt;p&gt;&lt;/p&gt;&lt;p&gt;buffer tsn: 7 rdba: 0x01800017 (6/23)&lt;br /&gt;scn: 0x0000.000e219d seq: 0x01 flg: 0x04 tail: 0x219d0601&lt;br /&gt;frmt: 0x02 chkval: 0x5eaa type: 0x06=trans data&lt;br /&gt;Hex dump of block: st=0, typ_found=1&lt;br /&gt;Dump of memory from 0x0D26B400 to 0x0D26D400&lt;br /&gt;...&lt;br /&gt;D26B480 00000000 00000000 00000000 00000000  [................]&lt;br /&gt;     Repeat 499 times&lt;br /&gt;D26D3C0 00000000 00000000 022C0000 03C10202  [..........,.....]&lt;br /&gt;D26D3D0 53696B0A 69682053 2C20216D C1020201  [.kiSS him! ,....]&lt;br /&gt;D26D3E0 65540A02 59205453 2021756F 0102023C  [..TeST You! &amp;lt;...]&lt;br /&gt;D26D3F0 45540A80 6D205453 20202165 219D0601  [..TEST me!  ...!]&lt;br /&gt;Block header dump:  0x01800017&lt;br /&gt;Object id on Block? Y&lt;br /&gt;seg/obj: 0xd580  csc: 0x00.e2163  itc: 2  flg: E  typ: 1 - DATA&lt;br /&gt;  brn: 0  bdba: 0x1800011 ver: 0x01 opc: 0&lt;br /&gt;  inc: 0  exflg: 0&lt;br /&gt;&lt;br /&gt;Itl           Xid                  Uba         Flag  Lck        Scn/Fsc&lt;br /&gt;0x01   0x0002.00e.000001e5  0x0080001e.028f.09  ----    1  fsc&lt;br /&gt;0x0000.00000000&lt;br /&gt;0x02   0x0004.000.000001b0  0x008017b6.01d2.07  ----    1  fsc&lt;br /&gt;0x0000.00000000&lt;br /&gt;&lt;br /&gt;data_block_dump,data header at 0xd26b464&lt;br /&gt;===============&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Try to replicate this on your environments and share with us your&lt;br /&gt;release and behavior. Note: I tried this on 11g2 and at least no block&lt;br /&gt;corruption showed up.&lt;/p&gt;&lt;p&gt;Thank you for your time, and see you next time&lt;/p&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; width=&quot;10&quot; height=&quot;10&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2009/10/how-to-innocently-corrupt-data-table.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-8588645155039944565</guid><pubDate>Mon, 19 Oct 2009 15:43:00 +0000</pubDate><atom:updated>2009-10-19T11:41:43.289-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle 10g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Troubleshooting</category><title>Latest storage Adventure</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/35&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Datamarts/Datawarehouse performance issues can be scaring events, taking into account the massive amount of data they handle; the tuning task is even more daunting if they&#39;re used for operational day-to-day decision making.&lt;br /&gt;&lt;br /&gt;During the last week and days, I&#39;ve been involved on a 15 Tb datamart with performance issues on dataloading, not querying.  Tablespaces for indexes and data share filesystems, nowadays this is not a concern anymore, however I prefer to encourage customers to allocate independent storage for each type, that way they are able to discriminate the source of IO.&lt;br /&gt;&lt;br /&gt;They have concurrent schedules for dataloading processes and parallelism degree for tables and indexes involved; a very good meassure to speed up data loading is to use /*+ APPEND */ hint on INSERT ... AS SELECT, which they&#39;re using also with PARALLEL. The parallelism has a multiplying factor and if you&#39;ve experienced the downsides of it you may be suspecting when the wall is going to be hitted: at the storage level.&lt;br /&gt;&lt;br /&gt;I generated a heat map for filesystems and focusing on write statistics found the correlation expected: very high average write times on filesystems starting at the time dataloading processes were scheduled... huge avg times around seconds!&lt;br /&gt;&lt;br /&gt;After a quick chat with the Sysadmin and Storage guys, something very important arose: the striping factor for all those overheated filesystems was 2, said in other words: &quot;storage you have, performance ... what&#39;s that?&quot; That is a common mistake and results from working on almost isolated process, then is when I say: &quot;Guys, you need to talk to each other, learn the jargon, the  working of the &quot;machines&quot; the other teams deal with... end even the inner workings, why not?!&quot;&lt;br /&gt;&lt;br /&gt;After identified a set of objects that participated heavily on the filesystem overheating, brand new filesystems with striping factor of 8 were allocated and new tablespaces created to receive this objects. As expected, just the maintenance task of moving all tables/partitions/subpartitions took a breeze. Timings for uploading processes even on high load days improved dramatically... and all this for a subtle &quot;configuration number&quot; on the OS storage options.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; width=&quot;10&quot; height=&quot;10&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2009/10/latest-adventure.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-19511690564284847</guid><pubDate>Mon, 15 Jun 2009 10:38:00 +0000</pubDate><atom:updated>2009-06-15T06:09:06.123-05:00</atom:updated><title>Resuming and the search for the 4Mb lost</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/35&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It&#39;s been a while this place has been quiet, not anymore. I changed jobs on February and was on a stabilization process, a very long one if you like, or at least for me.&lt;br /&gt;&lt;br /&gt;I missed very much the moment to face the keyboard and share something to you, however since today I&#39;m committing to thoroughly give an update every 2 weeks, at least.&lt;br /&gt;&lt;br /&gt;Have you been through the Oracle Server startup process, step by step? Here is an excercise for you:&lt;br /&gt;&lt;br /&gt;As you may know, we already have an instance, background processes and memory, after having the database started up in &lt;span style=&quot;font-weight: bold;&quot;&gt;NOMOUNT&lt;/span&gt; state. If you don&#39;t believe me do the test, best if you try this on a Unix/Linux environment.&lt;br /&gt;&lt;br /&gt;1) &lt;span style=&quot;font-family: courier new;&quot;&gt;startup nomount&lt;/span&gt; at SQL*Plus prompt.&lt;br /&gt;2) on another OS shell, issue a &lt;span style=&quot;font-family: courier new;&quot;&gt;ps -ef | grep ora_&lt;/span&gt;   you&#39;ll see all background processes started.&lt;br /&gt;3) now issue an &lt;span style=&quot;font-family: courier new;&quot;&gt;ipcs -m&lt;/span&gt;  and you&#39;ll see all shared memory segments allocated to Oracle server.&lt;br /&gt;&lt;br /&gt;Take note the amount of memory allocated for oracle, write down this figure, we&#39;ll need it.&lt;br /&gt;&lt;br /&gt;Now go all the way and manually go thru all steps of database startup, issue following commands on SQL*Plus.&lt;br /&gt;1) &lt;span style=&quot;font-family: courier new;&quot;&gt;alter database mount&lt;/span&gt;&lt;br /&gt;2) &lt;span style=&quot;font-family: courier new;&quot;&gt;alter database open&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you have all memory allocated to Oracle server, this internally reported set of information provides a grand total labeled &quot;Total System Global Area&quot;. If you convert the memory reported by ipcs and this one to bytes, you&#39;ll see we have missing 4Mb.&lt;br /&gt;&lt;br /&gt;It happens the same on your databases? Somebody has the answer for this result?&lt;br /&gt;I did this test under 10.2.0.4 and on Linux, this behavior may not be present on another releases and/or platforms; please, share with us your results on a comment.&lt;br /&gt;&lt;br /&gt;I want to thank you for giving me your attention, hope to see you real soon.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; width=&quot;10&quot; height=&quot;10&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2009/06/resuming-and-search-for-4mb-lost.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-2242297673995012009</guid><pubDate>Tue, 11 Nov 2008 11:00:00 +0000</pubDate><atom:updated>2010-05-30T13:45:31.291-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Innerworkings</category><category domain="http://www.blogger.com/atom/ns#">Maintenance</category><category domain="http://www.blogger.com/atom/ns#">Oracle 10g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 9i</category><title>Index Dynamics - Part 3</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/44&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See previous post &lt;a href=&quot;http://oracledisect.blogspot.com/2008/10/index-dynamics-part-2-halloween-on.html&quot;&gt;Index Dynamics - Part II&lt;/a&gt;  or  first part &lt;a href=&quot;http://oracledisect.blogspot.com/2008/10/index-dynamics.html&quot;&gt;Index Dynamics - Part I&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On this part, I’m going to share with you the final results for my 2 week experiment with indexes on their habitat, a production environment.&lt;br /&gt;&lt;br /&gt;I’ve to forewarn that some data was not available, as the ANALYZE method fails for objects currently locked, given that our environment is a “live” production database and for consistency we scheduled all tests for a given time, which some days collided with business process. The Used Space graph shows those NA data points; however for INDEX1 and INDEX4 the Nov 7th data for Deltas was interpolated, the only index for which we have all samples is INDEX2, coincidentally our research subject.&lt;br /&gt;&lt;br /&gt;First let’s see the Used Space graph, here you may see how the Used Space percentage continues the decay trend, which means that free space within the index nodes is increasing.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkoF_emlNlq8omh2frP5zWZtEEeMkuxjW3TGIJUKO49CJhhgXh9fNroK5eZ20kNXuXHs4UX8zH5OsZ12J4i8tZn41k371LaWsEsy03pdqWW8qojcGGQqp3jWkCq4TGUjPOv_kYioOJibt9/s1600-h/idx_usp3.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 244px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkoF_emlNlq8omh2frP5zWZtEEeMkuxjW3TGIJUKO49CJhhgXh9fNroK5eZ20kNXuXHs4UX8zH5OsZ12J4i8tZn41k371LaWsEsy03pdqWW8qojcGGQqp3jWkCq4TGUjPOv_kYioOJibt9/s400/idx_usp3.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5267450983071407282&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Compare the current Used Space figures to those sampled before the rebuild, observe that after 15 days some indexes are midway to have the same amount of free space. That recalls the frequent doubts regarding index maintenance: “&lt;span style=&quot;font-style: italic;&quot;&gt;Must&lt;/span&gt; rebuild indexes? &lt;span style=&quot;font-style: italic;&quot;&gt;How long&lt;/span&gt; will last the structure ‘&lt;span style=&quot;font-style: italic;&quot;&gt;optimus&lt;/span&gt;’ state?”&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Used Space    First    Now&lt;br /&gt;INDEX1(10c)    69%     99%&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;INDEX4(6c)     63%     74%&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;INDEX2(4c)     53%     77%&lt;/span&gt;&lt;br /&gt;INDEX3(2c)     45%     92%&lt;/pre&gt;&lt;br /&gt;Given our partial-conclusion stated last post (&lt;a href=&quot;http://oracledisect.blogspot.com/2008/10/index-dynamics-part-2-halloween-on.html&quot;&gt;Index Dynamics - Part II&lt;/a&gt;)&lt;br /&gt;”The branch blocks are the stressed part of the B-Tree right after the rebuild”&lt;br /&gt;We now might see less activity for Branch Blocks during the following days, which actually occurred.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUg0YbeWTAHNqTXYRsYI-0qsC2to3jx89dUXesesZkTo-HE60zCdyBVEo8CEQzIVd-9ZOKKFpKjUVlYdVEKUCsEHQA6HTg-9_xDM9opSiopnvxVKy5c6y24UgmoX8miaF2GW7_YqeJZbKY/s1600-h/idx_brbdp3.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 236px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUg0YbeWTAHNqTXYRsYI-0qsC2to3jx89dUXesesZkTo-HE60zCdyBVEo8CEQzIVd-9ZOKKFpKjUVlYdVEKUCsEHQA6HTg-9_xDM9opSiopnvxVKy5c6y24UgmoX8miaF2GW7_YqeJZbKY/s400/idx_brbdp3.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5267451641521505730&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;One remark: observe the Nov 6th high for INDEX1 and the previous behavior, was on that day the transaction rate motivated a higher reorganization within the index, showing us the impact business patterns have on data structures.&lt;br /&gt;&lt;br /&gt;I have to mention that my production environment went through a period close week, therefore increased activity and closing processes made their mark on observations. An example of this is the resulting graphs for Leaf Blocks, with noticeable inter-day spikes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiltaF-RDGSmit5FYLaxzE82Fm67roW4BII9Ht6eWru9u5DU7Bww0eJWS1uYVHOm2_kX16cwdWn3wF7mkiFXafhtxZwqJ_PATM6dlGqDiqoG3YrIketNWJa55Za2MTtPCxb5OAb8JeM8xwM/s1600-h/idx_lfbdzp3.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 239px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiltaF-RDGSmit5FYLaxzE82Fm67roW4BII9Ht6eWru9u5DU7Bww0eJWS1uYVHOm2_kX16cwdWn3wF7mkiFXafhtxZwqJ_PATM6dlGqDiqoG3YrIketNWJa55Za2MTtPCxb5OAb8JeM8xwM/s400/idx_lfbdzp3.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5267452000939264834&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let’s pay a visit to our research subject, INDEX2. This chart is online with everything previously stated, no surprises here.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlouz0K8A6W6hZ0UdS2qNTzGbYi84ZPwi_icXanc18f9_lPSzdr62b2mgGb9BKfrnZJz5_8T399Lf6fRzkUi1E0Qx3-8Yoc0Mh2a6o9wQ6GEFVwFe8lu-sFZ3pZhmbWbv-iB8rkW6pGrQ/s1600-h/idx2usdp3.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 246px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlouz0K8A6W6hZ0UdS2qNTzGbYi84ZPwi_icXanc18f9_lPSzdr62b2mgGb9BKfrnZJz5_8T399Lf6fRzkUi1E0Qx3-8Yoc0Mh2a6o9wQ6GEFVwFe8lu-sFZ3pZhmbWbv-iB8rkW6pGrQ/s400/idx2usdp3.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5267452415250204898&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;This study motivated the following questions (that’s the problem with research, you answer one question and many new take the place):&lt;br /&gt;1) How PCT_FREE (or PCT_USED) impacts the decay curve?&lt;br /&gt;2) Are the splitting constants embedded in the code, optimal figures?&lt;br /&gt;3) Do we need a feature for PCT_FREE change after rebuild has been done? &lt;br /&gt;&lt;br /&gt;Conclusions&lt;br /&gt;&lt;br /&gt;* High stress within the branch blocks may be observed as soon as transactions start to modify the index structure; the stress period or intensity, will depend on transaction rate and index attributes.&lt;br /&gt;&lt;br /&gt;Recommendation&lt;br /&gt;&lt;br /&gt;* Do not rebuild indexes right before processes or high load days, if heavy writing is expected: the index leaf block split overhead may impact performance.&lt;br /&gt;&lt;br /&gt;I’ve the pending assignment of proposing a mathematical model for the Index Decay Rate… I’m working on that, with the help of Calculus. My next delivery will talk about that, I’m pretty close…&lt;br /&gt;&lt;br /&gt;Thank you for reading, don’t forget to leave your comments.&lt;br /&gt;&lt;br /&gt;See previous post &lt;a href=&quot;http://oracledisect.blogspot.com/2008/10/index-dynamics-part-2-halloween-on.html&quot;&gt;Index Dynamics - Part II&lt;/a&gt;  or  first part &lt;a href=&quot;http://oracledisect.blogspot.com/2008/10/index-dynamics.html&quot;&gt;Index Dynamics - Part I&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; alt=&quot;Delicious&quot; width=&quot;10&quot; height=&quot;10&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2008/11/index-dynamics-part-3.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-285096606650393647</guid><pubDate>Fri, 31 Oct 2008 06:20:00 +0000</pubDate><atom:updated>2010-05-30T13:45:48.041-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Innerworkings</category><category domain="http://www.blogger.com/atom/ns#">Maintenance</category><category domain="http://www.blogger.com/atom/ns#">Oracle 10g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 9i</category><title>Index Dynamics - Part 2 (Halloween on the Block)</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/42&quot;&gt;Ver este artículo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;View starting post: &lt;a href=&quot;http://oracledisect.blogspot.com/2008/10/index-dynamics.html&quot;&gt;Index Dynamics - Part 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As I&#39;ve promised, today will share with you mid-term results for my index observations.&lt;br /&gt;&lt;br /&gt;First we may see a graph of Used Space, as reported by column PCT_USED of table INDEX_STATS (right after an ANALYZE over each index). This percentage accounts the space allocated to the B-Tree that is used.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2-38F9vIdZBKIOwiQuSZ4gve38gOrQo_4ftvrgmLO4NepyfuOQqIm25V5AkgFW9akS2UL1THvPK0mqzTVoCc9c8F5B7z0gHgpN6gTjpOwNm9ZGEWrQ_OhH-PAU18x8qwWr0hyMErqQ76T/s1600-h/idx_us.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 244px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2-38F9vIdZBKIOwiQuSZ4gve38gOrQo_4ftvrgmLO4NepyfuOQqIm25V5AkgFW9akS2UL1THvPK0mqzTVoCc9c8F5B7z0gHgpN6gTjpOwNm9ZGEWrQ_OhH-PAU18x8qwWr0hyMErqQ76T/s400/idx_us.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5264922501593625602&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;There is one line for every index we are considering, and note the legend on the graph showing the index name and the number of columns inside parenthesis.&lt;br /&gt;&lt;br /&gt;What can be observed in this chart?&lt;br /&gt;1) After rebuild (done on saturday), every index starts with 95% used space.&lt;br /&gt;2) First day is sunday, the system had almost 0 activity, therefore our indexes&#39; space usage show slight changes.&lt;br /&gt;3) Starting on monday, INDEX1 reported wrong data for PCT_USED and the other indexes began their &quot;decay&quot; trend.&lt;br /&gt;4) After a whole week of activity, indexes gained free space, some of them faster than others (for instance INDEX4 went from 95% to 84% used space, that is 11% on 5 days).&lt;br /&gt;&lt;br /&gt;Point 3 raised a service request with Oracle.&lt;br /&gt;Point 4 may be explained in terms of:&lt;br /&gt;a) Table transactionality (how many insertions/deletes/updates it had)&lt;br /&gt;b) Index type, if unique or non-unique.&lt;br /&gt;c) Number of columns conforming the index.&lt;br /&gt;d) Type of every indexed column.&lt;br /&gt;&lt;br /&gt;I may propose the following hypothesis: the index used space decay rate is directly proportional to the table&#39;s transactionality, to the number of columns and types of them, and inversely proportional to the type of the index (Unique or non-Unique) and block size.&lt;br /&gt;&lt;br /&gt;As you already know, B-Tree indexes have two types of nodes: called Branches and Leafs.&lt;br /&gt;&lt;br /&gt;Now, let&#39;s see where is that space allocated, look this chart that shows increment or delta on daily samples taken from column LF_BLKS.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinY8CehjzvI2kuQlppn6e3k9NS1jVslzP9Hir6FGYdvH4gUPYu6QgRpsYqHJnd81_upwOtU9PgnJ_RljfWjcGZP1YMOUjorKwmOAnl8AL_-peLeqU3kRvpGU9XWZwUYX4oRYgXPIJmpdPx/s1600-h/idx_lfbd.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 195px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinY8CehjzvI2kuQlppn6e3k9NS1jVslzP9Hir6FGYdvH4gUPYu6QgRpsYqHJnd81_upwOtU9PgnJ_RljfWjcGZP1YMOUjorKwmOAnl8AL_-peLeqU3kRvpGU9XWZwUYX4oRYgXPIJmpdPx/s320/idx_lfbd.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5264959175114447458&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;You may see a great saving due to rebuild, however that saving fades slowly during the following days. Next chart makes a zoom, in order to watch closely the variation rate experimented during those days.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha1SjLKLSjFIaeEUSt56RJl-DnskjCRnyeYskOQOI6hyphenhyphenohmRhGg9NXxMelYJJzSFbyG1TSM9tAkhIX0ohhCMa33hyVefLVWM1z0Obo8JzgZgrLMXqG88xKDVHY-WJDokPVGv7AePepVPRs/s1600-h/idx_lfbdz.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 244px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha1SjLKLSjFIaeEUSt56RJl-DnskjCRnyeYskOQOI6hyphenhyphenohmRhGg9NXxMelYJJzSFbyG1TSM9tAkhIX0ohhCMa33hyVefLVWM1z0Obo8JzgZgrLMXqG88xKDVHY-WJDokPVGv7AePepVPRs/s400/idx_lfbdz.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5264968516766113554&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Keep in mind the rate at which leaf blocks are incremented, later you&#39;ll see how it&#39;s related to new key insertions (transactionality).&lt;br /&gt;&lt;br /&gt;What about the branches? ... that&#39;s what we&#39;re going to see on next chart: the behavior of those indexes for branch blocks. I&#39;ve taken the sampled value for BR_BLKS and got the variation rate versus the previous day.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3hO1kH74TwQ1vqxxgy8upm-wcl27PKtr54hVsQbOSBcTUgfWQ0CtZJAApw-IBHHxnpr4snTTDGMJmA0CzmtNRIoP4nVqfFHD3QmwBJZJEaPZCiYFTvTEHXhcWn0gnPJkIRSPhc4wTHg63/s1600-h/idx_brbd.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 244px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3hO1kH74TwQ1vqxxgy8upm-wcl27PKtr54hVsQbOSBcTUgfWQ0CtZJAApw-IBHHxnpr4snTTDGMJmA0CzmtNRIoP4nVqfFHD3QmwBJZJEaPZCiYFTvTEHXhcWn0gnPJkIRSPhc4wTHg63/s400/idx_brbd.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5264971600761428386&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Please observe, the stepped peak for INDEX2 and INDEX4, during the first day of activity the number of branch blocks almost doubled, that means an intense reorganization within the index. That may be caused due to the nature of these indexes (all are UNIQUE) and a high transactionality rate.&lt;br /&gt;&lt;br /&gt;For the INDEX3, we observe that the increase is splited between 2 days, Sunday and Monday. This table presented activity the day after the rebuild was done.&lt;br /&gt;&lt;br /&gt;We have to ignore the INDEX4, cause their figures are not reliable.&lt;br /&gt;&lt;br /&gt;Why is there a higher increase on the number of branch blocks? We may answer that question recalling the percentage of free space (5%) we had after the rebuild, that is a very small margin for a leaf block, and the chances of split increase if we have a UNIQUE index. We must remember that a leaf block split, may involve a branch block split.&lt;br /&gt;&lt;br /&gt;Our partial conclusions may be stated as follow:&lt;br /&gt;1) Depending on the percentage of free space, after rebuilding indexes, their state becomes &quot;less&quot; stable.&lt;br /&gt;2) Indexes tend to take a &quot;stable&quot; form, with the pass of time.&lt;br /&gt;3) The branch blocks are the stressed part of the B-Tree right after the rebuild.&lt;br /&gt;&lt;br /&gt;I will finish this experiment next Saturday, and share with you all remaining findings next Tuesday; yes, seven days from now... or eight days? anyway...&lt;br /&gt;I hope to get near a mathematical model for the Index Decay Rate, cross fingers.&lt;br /&gt;&lt;br /&gt;Thank you for reading, keep in touch!&lt;br /&gt;&lt;br /&gt;Follow to next post &lt;a href=&quot;http://oracledisect.blogspot.com/2008/11/index-dynamics-part-3.html&quot;&gt;Index Dynamics - Part 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; height=&quot;10&quot; width=&quot;10&quot; alt=&quot;Delicious&quot; /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2008/10/index-dynamics-part-2-halloween-on.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-2094507830945812514</guid><pubDate>Wed, 29 Oct 2008 03:36:00 +0000</pubDate><atom:updated>2012-05-10T14:18:43.364-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Maintenance</category><category domain="http://www.blogger.com/atom/ns#">Oracle 10g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 9i</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><title>How to Flush your database caches</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img alt=&quot;Add to Technorati Favorites&quot; src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; style=&quot;cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/41&quot;&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Flushing the SGA memory areas, Shared Pool and Buffer Cache, it&#39;s an uncommon task, however, it gets useful when you&#39;re doing some tests and want to override the memory and go direct to disk, or when you have shared pool issues (here is a workaround, however I encourage you to find the root cause).&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Shared Pool flush&lt;/span&gt;&lt;br /&gt;
This is the only sentence you have to know for releases 9i and up...&lt;br /&gt;
&lt;pre&gt;alter system flush shared_pool&lt;/pre&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Buffer Cache flush&lt;/span&gt;&lt;br /&gt;
For Oracle 9i I didn&#39;t know how to do this, fortunately found it today on &lt;a href=&quot;http://ragivetova.blogspot.com/2008/09/flush-buffer-cache.html&quot;&gt;Rahat Agivetova&#39;s blog&lt;/a&gt;&lt;br /&gt;
&lt;pre&gt;alter session set events = &#39;immediate trace name flush_cache&#39;;&lt;/pre&gt;
&lt;br /&gt;
I&#39;ve tested it and does the job well...&lt;br /&gt;
&lt;br /&gt;
And for Oracle 10g and up, the syntaxis is as follows:&lt;br /&gt;
&lt;pre&gt;alter system flush buffer_cache;&lt;/pre&gt;
&lt;br /&gt;
But you already knew that, isn&#39;t it? ...well, this was a &quot;snack&quot; post until Friday&#39;s follow up to &lt;a href=&quot;http://oracledisect.blogspot.com/2008/10/index-dynamics.html&quot;&gt;Index Dynamics&lt;/a&gt;, which I may anticipate interesting results...&lt;br /&gt;
&lt;br /&gt;
Thanks for reading... and for your comments, too!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRThOgAsDymzMDi5byGU2g-FJ8XjUqJQV5gTw4sMXHsTgp4TEoi7Wvf5fjcJ4tvPSTWFAYZNM5HvlSZ2-UCi1CTF519lvszv6bdZEBiu-GiZYYoSp8sPIntI21k4pFcuMYfElMwAht5ySF/s1600/arrowrtmed_e0.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRThOgAsDymzMDi5byGU2g-FJ8XjUqJQV5gTw4sMXHsTgp4TEoi7Wvf5fjcJ4tvPSTWFAYZNM5HvlSZ2-UCi1CTF519lvszv6bdZEBiu-GiZYYoSp8sPIntI21k4pFcuMYfElMwAht5ySF/s1600/arrowrtmed_e0.gif&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;color: red;&quot;&gt;You have UNDO space issues?&lt;/span&gt;: please read &lt;a href=&quot;http://oracledisect.blogspot.com/2011/11/who-is-using-your-undo-space-improved.html&quot;&gt;Who is using your UNDO space? Improved Script&quot;&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;
&lt;br /&gt;
&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img alt=&quot;Follow IgnacioRuizMX on Twitter&quot; src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;Delicious&quot; height=&quot;10&quot; src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; width=&quot;10&quot; /&gt;&lt;br /&gt;
&lt;a href=&quot;http://delicious.com/save&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2008/10/how-to-flush-your-database-caches.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5325670787505784691.post-736624663562868832</guid><pubDate>Mon, 27 Oct 2008 05:38:00 +0000</pubDate><atom:updated>2010-05-30T13:46:28.213-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Innerworkings</category><category domain="http://www.blogger.com/atom/ns#">Maintenance</category><category domain="http://www.blogger.com/atom/ns#">Oracle 10g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 9i</category><title>Index dynamics</title><description>&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://oracledisect.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/tech-fav-1.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s1600-h/mx.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191388563710565666&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; alt=&quot;Sigue el link&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s200/mx.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.databases-la.com/?q=es/node/39&quot;&gt;&lt;br /&gt;Ver este articulo en Español&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Today I will start with a series of 3 posts depicting the follow up of 4 index behavior on a Production database.&lt;br /&gt;&lt;br /&gt;The purpose of this exercise is try to unveil the morphology these four indexes take during a given period of time, under what kind of load, model it in a graphical way. Since indexes are quite a black box, this exercises also proposes a complementary procedure for index quality measure.&lt;br /&gt;&lt;br /&gt;Experiment subjects were selected using information on DBA_SEGMENTS+DBA_HIST_SEGMENTS, with focus on size and activity, indexes were choosen within the 400Mb-500Mb range thinking on fast ALTER INDEX REBUILD and fast ANALYZE VALIDATE STRUCTURE.&lt;br /&gt;&lt;br /&gt;Our four candidates are (names were replaced in order to protect their identity)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;OBJNAME                  BLOCKS      BYTES HEIGHT PCTUSED&lt;br /&gt;-------------------- ---------- ---------- ------ -------&lt;br /&gt;INDEX1                    62464  511705088      4      69&lt;br /&gt;INDEX2                    60416  494927872      4      53&lt;br /&gt;INDEX3                    61056  500170752      4      45&lt;br /&gt;INDEX4                    54272  444596224      4      63&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We have our &quot;Before&quot; snapshots, now we need to rebuild all four indexes and take &quot;Initial&quot; snapshots to start the experiment. After this operation our figures are:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;OBJNAME                  BLOCKS      BYTES HEIGHT PCT_USED&lt;br /&gt;-------------------- ---------- ---------- ------ --------&lt;br /&gt;INDEX1                    41600  340787200     4       95&lt;br /&gt;INDEX2                    34176  279969792     4       95&lt;br /&gt;INDEX3                    28032  229638144     3       95&lt;br /&gt;INDEX4                    37888  270445017     4       95&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Note the amount of space &quot;empty&quot; the indexes had before rebuild, for INDEX2 and INDEX2 we may ask ourselves &quot;How are the tables used in order to get index keys so dispersed?&quot;. INDEX1 and INDEX4 seem within normal parameters. All four indexes now have the same initial condition on 5% free space.&lt;br /&gt;&lt;br /&gt;On October 31th, Friday ... Hallowen, we are going to see what has been happening with our indexes;and who knows, you may testify witchcraft... or, is it science? What do you think?&lt;br /&gt;&lt;br /&gt;Keep in touch...&lt;br /&gt;&lt;br /&gt;Jump to Part II &lt;a href=&quot;http://oracledisect.blogspot.com/2008/10/index-dynamics-part-2-halloween-on.html&quot;&gt;Index Dynamics - Part 2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1867657&amp;amp;loc=en_US&quot;&gt;Subscribe to Oracle Database Disected by Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/IgnacioRuizMX&quot;&gt;&lt;img src=&quot;http://twitter-badges.s3.amazonaws.com/follow_me-c.png&quot; alt=&quot;Follow IgnacioRuizMX on Twitter&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://static.delicious.com/img/delicious.small.gif&quot; height=&quot;10&quot; width=&quot;10&quot; alt=&quot;Delicious&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://delicious.com/save&quot; onclick=&quot;window.open(&#39;http://delicious.com/save?v=5&amp;amp;noui&amp;amp;jump=close&amp;amp;url=&#39;+encodeURIComponent(location.href)+&#39;&amp;amp;title=&#39;+encodeURIComponent(document.title), &#39;delicious&#39;,&#39;toolbar=no,width=550,height=550&#39;); return false;&quot;&gt; Bookmark this on Delicious&lt;/a&gt;</description><link>http://oracledisect.blogspot.com/2008/10/index-dynamics.html</link><author>noreply@blogger.com (Ignacio Ruiz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-sxk83pDrhGP164Ef6RWBV2AhJ6-hapy6cEcwLWS0WpnIFzl5BtjD62XUAMMj0FoAIexHuD0GSLGpwuPYWiUXXQbqdZqd3viXkpqTM5IkRPd2aIV80He5Z9r6ry6OEJ6BCJ5BKAO-5KP/s72-c/mx.gif" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>