<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blog.gerwinhendriksen.com</title>
	<atom:link href="http://blog.gerwinhendriksen.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.gerwinhendriksen.com</link>
	<description>Home of Method-&#34;General Approach Performance Profiling&#34; (GAPP)</description>
	<lastBuildDate>Wed, 20 Mar 2013 14:35:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Hotsos 2013 A personal Touch 3/4 – Third Day</title>
		<link>http://blog.gerwinhendriksen.com/?p=389</link>
		<comments>http://blog.gerwinhendriksen.com/?p=389#comments</comments>
		<pubDate>Tue, 19 Mar 2013 21:45:40 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[GAPP]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AWR]]></category>
		<category><![CDATA[HOTSOS 2013]]></category>
		<category><![CDATA[Method-GAPP]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=389</guid>
		<description><![CDATA[After having a good sleep I attended the first session in the morning from George Djerdj Srdanov with a presentation called “How to Get the Most Out of Your I/O Subsystem?”. George dived deep into the I/O subsystem, with the &#8230; <a href="http://blog.gerwinhendriksen.com/?p=389">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>After having a good sleep I attended the first session in the morning from George Djerdj Srdanov with a presentation called “How to Get the Most Out of Your I/O Subsystem?”. George dived deep into the I/O subsystem, with the following important subjects:</p>
<ul>
<li>Different RAID configurations (Read and Write penalties)</li>
<li>SSD usage</li>
<li>SAN configuration</li>
<li>Block alignment and recommendation</li>
</ul>
<div id="attachment_390" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1865.jpg"><img class="size-medium wp-image-390" alt="George Djerdj Srdanov presenting at Hotos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1865-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">George Djerdj Srdanov presenting at Hotos 2013</p></div>
<p>The presentation was good and triggered me to check some things at a customer I am currently working for. In the customer case the block alignment in regard of the online redolog files might be a point of investigation.<span id="more-389"></span></p>
<p>After the presentation from George, I attended a presentation of John Clarke with a presentation titled “Exadata Storage Indexes, Inside and Out”. In this presentation John showed how Exadata is dynamically creates indexes at Exadata level and how the queries benefit of these indexes. It was pretty cool to see in his demo’s how the indexes actually work and how the queries were executed faster. You can find more info on the subject at: <a href="http://www.oaktable.net/blog/when-exadata's-storage-indexes-used">http://www.oaktable.net/blog/when-exadata’s-storage-indexes-used</a></p>
<div id="attachment_391" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1869.jpg"><img class="size-medium wp-image-391" alt="John Clarke presenting at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1869-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">John Clarke presenting at Hotsos 2013</p></div>
<p>When looking at presentations as from John I always get a little jealous knowing I am not able to test the demos easy myself, simply due to the fact I can’t put my hands on an Exadata storage myself on the moment. The technology though is really cool and picking up knowledge about them is for me a great thing to do…</p>
<p>After the Exadata presentation it was time to attend the second presentation from Gwen Shapira titled “Building an Integrated Data Warehouse with Oracle Database and Hadoop”. This presentation was more the introduction to Hadoop, how Hadoop is working and how BIG data is getting more important for Oracle. Gwen had a very strong statement regarding the usage of Hadoop when it should be chosen above an Oracle database, it said as how I got it:</p>
<p>“<i>Database server cpu’s are very expensive, due to the Oracle database licensing. So if your data is almost not mutated, you have to store very much (unstructured) data to search through and data availability is not very critical, the data is probably a very good candidate to store in Hadoop.</i>”</p>
<div id="attachment_392" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1872.jpg"><img class="size-medium wp-image-392" alt="Gwen Shapira presenting at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1872-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Gwen Shapira presenting at Hotsos 2013</p></div>
<p>The presentation further showed how Oracle can use Hadoop and how data can be exchanged between them. The presentation gave a very clear overview of the usage and possibilities of Hadoop. For me personal it is good to see Oracle making the connection with the BIG data world. On the long run I am sure Oracle has to do this to be able to stay a very big player in the future market. To read Gwen her vision, you can read: <a href="http://www.pythian.com/blog/hadoops-everywhere/">http://www.pythian.com/blog/hadoops-everywhere/</a></p>
<p>After the lunch break I had some doubts, which presentation I should attend. On one track there was Toon Koppelaars with his presentation titled “SQL Plan Management” and on the other track the presentation titled “Is Your Database Stressed? Load Testing for Peak Performance” from Noelle Stimely. I choose for the presentation from Noelle, because of the fact I will be able to see the presentation from Toon probably in the Netherlands.</p>
<p>The presentation from Noelle started a bit difficult due to some technical difficulties, according some of the attendees it had to do with some kind of curse of this room. I guess I was very lucky because I had my presentation in the same room without any trouble…. Anyway Noelle used an emergency laptop and further more “the bug” from Hotsos bugged her, like it had bugged me the night prior to my presentation.</p>
<div id="attachment_393" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1884.jpg"><img class="size-medium wp-image-393" alt="Noelle Stimely presenting at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1884-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Noelle Stimely presenting at Hotsos 2013</p></div>
<p>Noelle was due to her laptop trouble not able to show the live demo of the load testing she wanted to show, but overall she did a good job by showing how a load test should look like and what important things are to consider and think about. She also discussed Oracle Real Application Testing (RAT) and what is important to know about it when used for testing. If you like to read more you can checkout an older presentation from Noelle here: <a href="http://www.nocoug.org/download/2012-08/Noelle_Stimely_Load_Testing_Presentation.pdf">http://www.nocoug.org/download/2012-08/Noelle_Stimely_Load_Testing_Presentation.pdf</a></p>
<p>After the presentation from Noelle I attended the presentation from Kerry Osborne titled “Adaptive Optimization”. The presentation showed a new feature of the still not released 12c database. Kerry had to be very careful what to tell and what not to tell to the audience, of course very closely watched by Maria Colgan and Tom Kyte. The feature involved “Adaptive Optimization” looks to be pretty cool. It basically checks at runtime if the calculated execution plan is not sub optimal and if so it can adapt by exchanging a NESTED LOOP join by a HASH join or the other way around.</p>
<div id="attachment_395" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1892.jpg"><img class="size-medium wp-image-395" alt="Kerry Osborne presenting at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1892-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Kerry Osborne presenting at Hotsos 2013</p></div>
<p>It is always fun to get a presentation from Kerry because of his special way of presenting and interaction with the audience. When the 12c database version has been released more of his presentation material will be available.</p>
<p>After the presentation from Kerry the two rooms were consolidated to one big hall again and Maria Colgan gave her presentation titled “What to Expect from the Latest Version of the Oracle Optimizer”. Maria as being the Senior Principal Product Manager for the Oracle database optimizer presented some of the new optimizer features in 12c what was awesome to hear from the first hand. Because I also would be present the next day for the training day with Maria I enjoyed the moment…</p>
<div id="attachment_396" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1900.jpg"><img class="size-medium wp-image-396" alt="Maria Colgan presenting at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1900-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Maria Colgan presenting at Hotsos 2013</p></div>
<p>After the presentation from Maria… I became a bit sad knowing the official Hotsos 2013 conference part was over…</p>
<p>Gary Goodman Founder/CEO from Hotsos thanked all the speakers and gave his farewell words to the attendees… Luckily the there was still a training day, so for me it was not the official farewell yet…</p>
<div id="attachment_397" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1906.jpg"><img class="size-medium wp-image-397" alt="Gary Goodman giving his farewell at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1906-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Gary Goodman giving his farewell at Hotsos 2013</p></div>
<p>After this conference day I was invited by Cary Millsap to join them for a dinner. It was really great to get this invitation (Thanks again Cary for the invitation!).</p>
<p>When we went to the restaurant Cary made a very true remark regarding Texas, when we saw some kind of bird, I guess a wild turkey. He remarked <i>“In Texas everything is bigger, even the pigeons are”</i>…. You can look for yourself, the so-called Texan pigeon….</p>
<div id="attachment_398" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/P1010004.jpg"><img class="size-medium wp-image-398" alt="Texan Pigeon - Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/P1010004-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Texan Pigeon &#8211; Hotsos 2013</p></div>
<p>At the restaurant it was quite awesome to have conversations with so many experts and at the same time enjoy the food and the drinks…</p>
<div id="attachment_399" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1911.jpg"><img class="size-medium wp-image-399" alt="Dinner at Rafas 1 - Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1911-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Dinner at Rafas 1 &#8211; Hotsos 2013</p></div>
<div id="attachment_400" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1912.jpg"><img class="size-medium wp-image-400" alt="Dinner at Rafas 2 - Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1912-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Dinner at Rafas 2 &#8211; Hotsos 2013</p></div>
<p>After this great evening, this concluded an awesome third, but official last day of Hotsos 2013….</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=389</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hotsos 2013 A personal Touch 2/4 – Second Day</title>
		<link>http://blog.gerwinhendriksen.com/?p=368</link>
		<comments>http://blog.gerwinhendriksen.com/?p=368#comments</comments>
		<pubDate>Sun, 17 Mar 2013 19:52:20 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[AWR]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[GAPP]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[OEM 12c]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[HOTSOS 2013]]></category>
		<category><![CDATA[Method-GAPP]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=368</guid>
		<description><![CDATA[Due to a cold or “the bug” some at the symposium called it, I had a very bad night sleep. In the morning I was not able to follow the sessions and I ended up having a good breakfast and &#8230; <a href="http://blog.gerwinhendriksen.com/?p=368">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Due to a cold or “the bug” some at the symposium called it, I had a very bad night sleep. In the morning I was not able to follow the sessions and I ended up having a good breakfast and released the new white paper and latest presentation to Hotsos for distribution.</p>
<p>At 13:00 I attended the presentation of Dr. N.J.G. Gunther titled “Superlinear Scalability: The Perpetual Motion of Parallel Performance”.  Because of his subjects I like to be present at his presentations, although on the other track Gwen Shapira had her first presentation titled “Visualizing Database Performance Using R” which was for me also a subject I would love to be present. The presentation from Neil discussed an important topic regarding the effect of increasing the amount of servers giving better throughput than expected on linearity, this phenomenon has been baptized by Neil as “Superlinear Scalability”. During the past couple of years he struggled to have his USL to fit with this phenomenon and at first he just ignored it, but after seeing the phenomenon more he had to admit the fact it really exists and his USL should be able to cope with it. After a long process he came to the conclusion that his USL is still able to apply if he would loosen the limitation of accepting negative numbers for his alpha parameter (Contention) in his USL. It basically means that by increased number of servers you get a kind of hybrid effect temporary (the throughput has increased with a factor more than expected on the number of added threads based on linear scalability). On a certain moment you still have to face the music and throughput degradation starts to appear due to coherency (Beta parameter in the USL formula). Based on the gathered proof, based on different data sets, he concluded that his USL still is valid, also in situations the “Superlinear Scalability” phenomenon is occurring. As usual Neil really showed in a very good scientific way that his claims were accurate and as he always says, “Models come from God and data comes from the devil!”. If you like to read more you can checkout his blog at: <a href="http://perfdynamics.blogspot.nl/2012/11/hotsos-2013-superlinear-scalability.html">http://perfdynamics.blogspot.nl/2012/11/hotsos-2013-superlinear-scalability.html</a></p>
<div id="attachment_369" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1847.jpg"><img class="size-medium wp-image-369" alt="Dr. N.J.G. Gunther at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1847-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Dr. N.J.G. Gunther at Hotsos 2013</p></div>
<p>After the presentation from Neil it was my turn to give my own presentation as I mentioned earlier, titled “&#8221;Method GAPP&#8221; Used to Mine OEM 12c Repository and AWR Data”. <span id="more-368"></span>In my presentation I showed how Method-GAPP could use data from the Oracle Enterprise Manager 12c Repository to find out bottlenecks in your end-user process response times. OEM is most of the time very centrally placed in the system and so the repository contains almost all the input you need to use the method. In the method it is important to have your data synchronized at timestamps and basically this job is done for you by using the data from the OEM repository. In most of the Method-GAPP projects I have been the data collection and synchronization steps from the method took the most time, so by have this done by OEM you can gain a lot of valuable time in this kind of projects. Next to the usage of OEM I gave examples of the power of the method by making factorial analyses of AWR, SQL-statement response time data and AWR, event data. In the graph below is shown what Method-GAPP in base can do with the primary components, as defined in the method, in a very simplified way.</p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/Simplified_CapabilitiesNEW2.tiff"><img class="size-medium wp-image-370 aligncenter" alt="Simplified Capabilities of Method-GAPP" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/Simplified_CapabilitiesNEW2.tiff" /></a> Next to this Method-GAPP can use secondary components, as defined in the method, to find for example which SQL is involved in causing biggest amount of variance in the end user response time (as Cary said the variance is much more important as the mean). The picture below shows how the factorial analyses to explain the response time of “Warehouse Query”, which was using data of a test when different transactions where running are compared with the Top Activity SQL when a test was done with only the “Warehouse Query” running.</p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/TransWarehouseQ.tiff"><img class="size-medium wp-image-371 aligncenter" alt="Compare between factorial analyses and OEM12c most used sql" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/TransWarehouseQ.tiff" /></a> The picture shows clearly that although the factorial analyses was done on data with a mixed workload of transactions, the factorial analyses still can find the SQL involved in one specific transaction. This shows how powerful the data mining actual is.</p>
<p>At the end of the presentation I got several questions from the audience locally present and from the audience remotely present. One of the questions I got a lot of times is what to use to get your end-user response time measurement. One of the tools I have seen to be very helpful with this is Oracle Real User Experience Insight (RUEI). The newest version has a very good integration with OEM 12c, what makes it even better to be used in Method-GAPP.</p>
<p>Based on the reactions I got from the audience and the people I spoke afterwards, like Neil Gunther and Cary Millsap, and of course my own feeling, I guess the presentation just contained too much information for one hour to explain the whole method in this detailed way. In the future I will break down my presentation into smaller presentations to only deal with a part of the whole method and be able to explain the steps in higher detail. The presentation can be found <a title="Method-GAPP presentation at Hotsos 2013" href="http://blog.gerwinhendriksen.com/wp-content/uploads/2008/10/Method_GAPP_HOTSOS2013_v1.2_pres_pub.pdf" target="_blank"><b>here</b></a>, and the new white paper can be found <a title="Official Method-GAPP white paper version 1.1" href="http://blog.gerwinhendriksen.com/wp-content/uploads/2008/10/Method-Gapp_v1_1_HOTSOS2013_Whitepaper_pub.pdf" target="_blank"><b>here</b></a>.</p>
<p>After my presentation I attended the presentation from Kellyn Pot&#8217;Vin titled “EM12c: Metric Extensions — Designing, Deploying and Dynamic Success”. In her presentation she showed how the new OEM 12c feature “Metric Extensions” could be used. Basically the “Metric Extensions” are replacing the good old “User Defined Metrics”. The big advantages of “Metric Extensions” over “User Defined Metrics” are:</p>
<ul>
<li>Library to store and view.</li>
<li>Development cycle support, (dev., test, deploy)</li>
<li>Versioning.
<p><div id="attachment_380" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1849.jpg"><img class="size-medium wp-image-380" alt="Kellyn Pot'Vin presenting at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1849-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Kellyn Pot&#8217;Vin presenting at Hotsos 2013</p></div></li>
</ul>
<p>To get more information on the “Metric Extensions”, see also the Oracle documentation: <a href="http://docs.oracle.com/cd/E25178_01/doc.1111/e24473/metric_extension.htm#autoId0">http://docs.oracle.com/cd/E25178_01/doc.1111/e24473/metric_extension.htm#autoId0</a></p>
<p>After attending the presentation from Kellyn I attended the presentation from Kyle Hailey with his presentation titled “Database Virtualization Comes of Age”. In this presentation Kyle talked about Database Virtualization, which is a technology to reduce the amount of storage for (virtual) copies of the database. It basically only stores the original database and the changed blocks in comparison of the original database. In lots of organizations a lot of copies of the production database exist for test purposes. The database virtualization concept is basically used to help in this kind of situations. Kyle showed that CloneDB is a very cool tool to use, you can read more about it at: <a href="http://www.oracle-base.com/articles/11g/clonedb-11gr2.php">http://www.oracle-base.com/articles/11g/clonedb-11gr2.php</a></p>
<div id="attachment_381" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1853.jpg"><img class="size-medium wp-image-381" alt="Kyle Hailey presenting at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/IMG_1853-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Kyle Hailey presenting at Hotsos 2013</p></div>
<p>After this long second day I had a nice talk with Kyle Hailey, Neil Gunther and Karl Arao. Karl explained about his extensive testing on some big systems. It was great to see that Karl gathered so much data from different systems, including Exadata systems. You can read more about it in the blog post “cores vs threads, v2 vs x2” at <a href="http://karlarao.tiddlyspot.com">http://karlarao.tiddlyspot.com</a></p>
<div id="attachment_382" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/hotsos2013-1.jpg"><img class="size-medium wp-image-382" alt="Dr. Neil Gunther, Karl Arao and me" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/hotsos2013-1-300x191.jpg" width="300" height="191" /></a><p class="wp-caption-text">Dr. Neil Gunther, Karl Arao and me</p></div>
<p>For the dinner that evening I was invited by Neil to join him for Japanese. The dinner was great and we had a good chance to catch up with each other again as old friends (Thanks again Neil for the invitation!).</p>
<p>After having dinner we peeked in into the on going party from Hotsos. Hotsos organized this time a kind of retro evening with all kinds of games. After the party we had with several other speakers a drink. It is always fun to be able to have fun and great discussion in the field with so many of you…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=368</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hotsos 2013 A personal Touch 1/4 – First Days</title>
		<link>http://blog.gerwinhendriksen.com/?p=338</link>
		<comments>http://blog.gerwinhendriksen.com/?p=338#comments</comments>
		<pubDate>Sat, 16 Mar 2013 23:56:24 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[GAPP]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AWR]]></category>
		<category><![CDATA[HOTSOS 2013]]></category>
		<category><![CDATA[Method-GAPP]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=338</guid>
		<description><![CDATA[It is the first of March 2013 finally… I will travel to Dallas for (one of) the best Oracle performance symposia in the world, Hotsos 2013. The flight to get there will be from Amsterdam to Philadelphia and from Philadelphia &#8230; <a href="http://blog.gerwinhendriksen.com/?p=338">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><!--[if !mso]> <mce:style><!<br />
v\:* {behavior:url(#default#VML);}<br />
o\:* {behavior:url(#default#VML);}<br />
w\:* {behavior:url(#default#VML);}<br />
.shape {behavior:url(#default#VML);}<br />
--> <!--[endif] --><!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Revision>0</o:Revision> <o:TotalTime>0</o:TotalTime> <o:Pages>1</o:Pages> <o:Words>1255</o:Words> <o:Characters>6904</o:Characters> <o:Company>codecentric</o:Company> <o:Lines>57</o:Lines> <o:Paragraphs>16</o:Paragraphs> <o:CharactersWithSpaces>8143</o:CharactersWithSpaces> <o:Version>14.0</o:Version> </o:DocumentProperties> <o:OfficeDocumentSettings> <o:AllowPNG /> </o:OfficeDocumentSettings> </xml><![endif]--> <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves>false</w:TrackMoves> <w:TrackFormatting /> <w:HyphenationZone>21</w:HyphenationZone> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>NL</w:LidThemeOther> <w:LidThemeAsian>JA</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:EnableOpenTypeKerning /> <w:DontFlipMirrorIndents /> <w:OverrideTableStyleHps /> <w:UseFELayout /> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="&#45;-" /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="276"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <mce:style><!<br />
/* Style Definitions */<br />
table.MsoNormalTable<br />
{mso-style-name:Standaardtabel;<br />
mso-tstyle-rowband-size:0;<br />
mso-tstyle-colband-size:0;<br />
mso-style-noshow:yes;<br />
mso-style-priority:99;<br />
mso-style-parent:"";<br />
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;<br />
mso-para-margin:0cm;<br />
mso-para-margin-bottom:.0001pt;<br />
mso-pagination:widow-orphan;<br />
font-size:12.0pt;<br />
font-family:Cambria;<br />
mso-ascii-font-family:Cambria;<br />
mso-ascii-theme-font:minor-latin;<br />
mso-hansi-font-family:Cambria;<br />
mso-hansi-theme-font:minor-latin;}<br />
--> <!--[endif] --> <!--StartFragment--></p>
<p class="MsoNormal"><span lang="EN-US">It is the first of March 2013 finally… I will travel to Dallas for (one of) the best Oracle performance symposia in the world, Hotsos 2013. The flight to get there will be from Amsterdam to Philadelphia and from Philadelphia to Dallas. Against all odds I will not travel alone but an old Amis colleague and friend Marco Gralike with his colleague will be on the same flight (even going back). After departure from Schiphol at 13:00 in the afternoon, and having our stop in Philadelphia we arrive at the Omni Mandalay Hotel in Las Colinas (Irving / Dallas) at 22:30 local time… This is the real start of an awesome time at this great symposium…</span></p>
<div id="attachment_342" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1924.jpg"><img class="size-medium wp-image-342" title="Hotsos 2013 Logo" alt="Hotsos 2013 a great start !" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1924-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Hotsos 2013 a great start !</p></div>
<p><!--[endif]--></p>
<p class="MsoNormal"><span lang="EN-US"><span id="more-338"></span>The weekend I work on my still not finished white paper what I have promised myself to release prior to my presentation at Tuesday 5 march… In the meanwhile I met and ate with old friends and it is great to meet so many of you again after a long time… At Sunday evening most of the attendees and speakers are in and including me, they collected their Hotsos batch…</span></p>
<div id="attachment_344" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_2097.jpg"><img class="size-medium wp-image-344" title="Gerwin Hendriksen Speaker Batch Hotsos 2013" alt="Gerwin Hendriksen Speaker Batch Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_2097-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Gerwin Hendriksen Speaker Batch Hotsos 2013</p></div>
<p><!--[endif]--></p>
<p class="MsoNormal"><span lang="EN-US">To have something different than other years… I had Hotsos placed the text as shown instead of my old text saying “Mind the GAPP !!”. Based on the reactions and the fact that on a lot of stations I got free advertisement the best one would be the old one…</span></p>
<p class="MsoNormal"><strong><span style="text-decoration: underline;"><span lang="EN-US">First Day</span></span></strong></p>
<p class="MsoNormal"><span lang="EN-US">Anyway Monday morning Hotsos starts with as keynote speaker Tom Kyte… At such moments I remember how each start of Hotsos is a very special event, and how this 2013 one can be extra special due to the big amount of Dutch speakers. Toon Koppelaars even proposed to Hotsos to create a special Dutch track next time… As some of the other speakers mentioned… we were part of the Dutch invasion this time, consisting of Toon Koppelaars, Frits Hoogland, Marco Gralike, Jacco Landlust and myself…</span></p>
<div id="attachment_345" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1800.jpg"><img class="size-medium wp-image-345" title="Tom Kyte speaking at Hotsos 2013" alt="Tom Kyte speaking at Hotsos 2013 as keynote speaker" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1800-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Tom Kyte speaking at Hotsos 2013 as keynote speaker</p></div>
<p>Every start of Hotsos makes you remind about the ones you did attend before and how the current symposium will give you new ideas and new knowledge. Hotsos is special due to its limited amount of just two tracks and the level of the presentations. The presentations are most of the time of deep technical level and are not sales oriented, so you hear the real story, the story that can help you do a better job…</p>
<div id="attachment_346" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1799.jpg"><img class="size-medium wp-image-346" title="Tom Kyte and all the Hotsos 2013 attendees" alt="Tom Kyte and all the Hotsos 2013 attendees" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1799-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Tom Kyte and all the Hotsos 2013 attendees</p></div>
<p class="MsoNormal"><span lang="EN-US">After the keynote, Tom Kyte gave a presentation called “Five Things You Want to Know &#8220;Go Faster&#8221; “. The important things I got from it are:</span></p>
<ul>
<li>Queue on your application server tier and not on your database tier. Tom Kyte gave in his presentation the link to the following Youtube video: <a href="http://www.youtube.com/watch?v=xNDnVOCdvQ0">http://www.youtube.com/watch?v=xNDnVOCdvQ0</a></li>
<li>In general use especially bind variables in highly frequently executed queries and think about using literals in your queries if a lot of skew in your data is expected. By using in these cases no-binds the optimizer is better able to create a good plan due to the fact you actually give more data to the optimizer.</li>
</ul>
<p class="MsoNormal"><span lang="EN-US">After the presentation the hall was split-up for the two tracks and the track I followed started with the first Dutch speaker Marco Gralike… Marco presented on of course XML-DB (see: <a href="http://www.liberidu.com/blog/2013/03/05/hotsos-2013-presentation-creating-structure-in-unstructured-data/">http://www.liberidu.com/blog/2013/03/05/hotsos-2013-presentation-creating-structure-in-unstructured-data/</a>). In the presentation Marco mentioned some XML-DB 12c features and syntaxes, which made the presentation extra refreshing.</span></p>
<div id="attachment_347" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1807.jpg"><img class="size-medium wp-image-347" title="Marco Gralike giving his XML-DB presentation" alt="Marco Gralike giving his XML-DB presentation at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1807-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Marco Gralike giving his XML-DB presentation at Hotsos 2013</p></div>
<p>At 12:00 noon we had lunch and at such times it is awesome to connect with new people and talk with old friends… I am sure this is one of the most important reasons it is so important to go to conferences in the first place. Learn something, bring something and make connections with people.</p>
<p class="MsoNormal"><span lang="EN-US">At 13:00 I went to a presentation of Cary Millsap, which is titled “Performance is a Feature: Here Is the Specification”. As usual Cary gave a mind tickling presentation and for me the highlights were:</span></p>
<ul>
<li>“Our customers feel the variance, not the mean”. Cary’s idea to deal with this phenomenon is to use quantile and not the mean. So it is of less importance to have a nice mean of the response time (R), it is more important to have an acceptable 95% quantile. This is something I am using a long time in my own performance related performance projects. The variance in the response time is the real problem within of course some boundaries. That is why my own method, method-GAPP is focusing on the variance of the end-users response time. This is the real pain the end-user is feeling.</li>
<li>Start tracing individual users, by putting hooks in your application code and identify each transaction with its own unique experience id. In this way you can find specific patterns, which are present for a specific user or location. In a way it is a way to find skew and why the skew is there in your response-time data.</li>
</ul>
<div id="attachment_348" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1815.jpg"><img class="size-medium wp-image-348" title="Cary Millsap getting questions after his presentation" alt="Cary Millsap getting questions after his presentation at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1815-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Cary Millsap getting questions after his presentation at Hotsos 2013</p></div>
<p>After Cary I attended the presentation from Alex Gorbachev called “Data Science for the Oracle DBA”. The presentation of Alex started with the story of the gift Cary gave to Alex, and due to this Alex asked Cary to come forward. At this point Alex gave Cary a wooden device to build histograms. To get a bit of the funny situation you can find a small movie below of the actual event.</p>
<div id="attachment_349" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1822.jpg"><img class="size-medium wp-image-349" title="Alex Gorbatchev giving Cary Millsap the wooden histogram builder" alt="Alex Gorbatchev giving Cary Millsap the wooden histogram builder at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1822-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Alex Gorbatchev giving Cary Millsap the wooden histogram builder at Hotsos 2013</p></div>
<p class="MsoNormal"><span lang="EN-US"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1825-wi-fi.m4v">Alex Gorbachev giving Cary Millsap the wooden histogram builder!</a><!--[endif]--></span></p>
<p class="MsoNormal"><span lang="EN-US">After the gift to Cary, Alex carried on with his presentation. In his presentation he talked about mean vs. median and some other useful statistical terminologies (see also the free courses on Http://Coursera.org). Further more he showed demos of Project-R visualization and Oracle Data Mining (ODM). I personal was surprised to see Alex doing some demoing on ODM. As you probably know I am using ODM inside Method-GAPP for Oracle oriented systems. It was really nice to see other people starting to see the great power of this Oracle software. I will try to post in the near future some post on Project-R used with Method-GAPP.</span></p>
<p class="MsoNormal"><span lang="EN-US">After the presentation from Alex I went to the presentation from the second Dutch man, Frits Hoogland. Frits presentation was titled “About Multiblock Reads”. In this presentation Frits showed in a very clear way, how multiblock reads actually are done in different versions of Oracle. The most important things for me were:</span></p>
<ul>
<li>strace lies ! I always thought that strace was showing every system call the process was doing, but after seeing the presentation and the discussion we had earlier at breakfast. I only can conclude that Frits is very right with his statements.</li>
<li>The wait event for “Direct path read” does not show the actual time the read used. In real the direct path read is far more complicated and is basically putting I/O’s in flight. The wait event is reporting time only in some cases, in other cases it is not reporting at all and the wait event is not triggered at all. This makes the wait event not reliable to find out how many reads actually were done.</li>
<li>To see in the strace where a wait event was starting it is calling Oracle kernel function “kslwtbctx” (<strong>b</strong>egin), when the event is stopped it is calling Oracle kernel function “kslwtectx” (<strong>e</strong>nd).</li>
</ul>
<div id="attachment_351" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1829.jpg"><img class="size-medium wp-image-351" title="Frits Hoogland giving his presentation at Hotsos 2013" alt="Frits Hoogland giving his presentation at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1829-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Frits Hoogland giving his presentation at Hotsos 2013</p></div>
<p><!--[endif]--></p>
<p class="MsoNormal"><span lang="EN-US">In general I want to give compliments to Frits for his very in-depth presentation. It showed very good what is really happening and it gives a lot of ideas to think about. For me it was also nice to remember the old days when I was working for Oracle and I had to solve problems by using truss, strace, etc. like tools.</span></p>
<p class="MsoNormal"><span lang="EN-US">After the presentation from Frits I went to the presentation from Kyle Towle, with a presentation titled “Successful Performance Testing and Benchmarking Practices”. It is always nice to see how Kyle is dealing with the big systems he is working in at PayPal. Kyle gave a nice presentation on testing in this large kind of systems.</span></p>
<div id="attachment_352" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1836.jpg"><img class="size-medium wp-image-352" title="Kyle Towle giving his presentation at Hotsos 2013" alt="Kyle Towle giving his presentation at Hotsos 2013" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1836-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Kyle Towle giving his presentation at Hotsos 2013</p></div>
<p><!--[endif]--></p>
<p class="MsoNormal"><span lang="EN-US">At 18:00 the first Hotsos day was finished… a lot of information to deal with, but a satisfied feeling to be part of such a great day and able to see and hear the information from the first hand.</span></p>
<p class="MsoNormal"><span lang="EN-US">After a quick drink and having some food I went to my hotel room (the 27<sup>th </sup>floor)…. enjoyed the view…</span></p>
<div id="attachment_353" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1838.jpg"><img class="size-medium wp-image-353" title="Nice evening view from the 27th floor - 1" alt="Nice evening view from the 27th floor - 1" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1838-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Nice evening view from the 27th floor &#8211; 1</p></div>
<div id="attachment_354" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1841.jpg"><img class="size-medium wp-image-354" title="nice evening view from the 27th floor - 2" alt="nice evening view from the 27th floor - 2" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2013/03/img_1841-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">nice evening view from the 27th floor &#8211; 2</p></div>
<p><!--[endif]--></p>
<p class="MsoNormal">…and started working on my white paper again, the next day I would present my own presentation called “&#8221;Method GAPP&#8221; Used to Mine OEM 12c Repository and AWR Data”…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=338</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AWR Data further mined with Method-GAPP</title>
		<link>http://blog.gerwinhendriksen.com/?p=323</link>
		<comments>http://blog.gerwinhendriksen.com/?p=323#comments</comments>
		<pubDate>Mon, 12 Dec 2011 14:19:40 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[AWR]]></category>
		<category><![CDATA[GAPP]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Response Time]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Method-GAPP]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=323</guid>
		<description><![CDATA[Last week I got the great opportunity to present on Method-GAPP again at the UKOUG 2011 (see presentation of the UKOUG2011). This time the focus in the presentation was partly on the multi linear regression and for the other part &#8230; <a href="http://blog.gerwinhendriksen.com/?p=323">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Last week I got the great opportunity to present on Method-GAPP again at the UKOUG 2011 (see <a title="Presentation UKOUG 2011" href="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/12/method_gapp_ukoug2011_v1_2_presentation.pdf" target="_blank">presentation</a> of the UKOUG2011). This time the focus in the presentation was partly on the multi linear regression and for the other part especially on AWR data. The multi linear regression makes it possible to get a linear equation to calculate the end user response time, what makes it possible to get a complete breakdown of all involved components in the end user response time as show in the graph below. In the graph the test and modelling from the <a title="Method-GAPP official white paper" href="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/03/method-gapp_v1_0_pubwhitepaper.pdf" target="_blank">white paper</a> is shown:</p>
<div id="attachment_326" class="wp-caption alignnone" style="width: 510px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/12/slide_breakdown.jpg"><img class="size-medium wp-image-326" title="slide_breakdown" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/12/slide_breakdown-300x173.jpg" alt="Breakdown of all the involved components for the end-user response time" width="500" height="288" /></a><p class="wp-caption-text">Breakdown of all the involved components for the end-user response time</p></div>
<p>In the breakdown, the UTILR80 is the utilization of the I/O and the UTILRAU is the utilization of the CPU. The breakdown shows that basically the REST is time which is always there but might be split out in more components if the involved model is enhanced. So more time is explained from the found variance of the end-user (R) response time.<span id="more-323"></span></p>
<p>So Method-GAPP is in a way always working in two important steps:</p>
<p>1. Which components are involved in the technical infra structure (mostly based on primairy components). So is it for example the database server, application server, etc.</p>
<p>2. Which details are involved in the found component from step 1. For example involved SQL, involved waitevents in the database.</p>
<p>To continue with the second step as we already know from step 1 that the database server is the most involved, we can start focussing on AWR data. As shown in the whitepaper and in earlier blog post, the AWR data can be seen as secondary component data in the method.</p>
<p>While gathering the end-user response time (R) data from the client, the gathered data in AWR from the tables DBA_HIST_SQLSTAT (columns elapsed_time_delta/executions_delta) and DBA_HIST_SYSTEM_EVENT (column time_waited_micro_fg) can help to find relations between the involved SQL and involved events. First I show a graph with all the involved SQL statements.</p>
<div id="attachment_325" class="wp-caption alignnone" style="width: 510px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/12/slide_sql.jpg"><img class="size-medium wp-image-325" title="SQL Statements Method-GAPP" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/12/slide_sql-300x182.jpg" alt="Mining SQL information via Method-GAPP" width="500" height="303" /></a><p class="wp-caption-text">Mining SQL information via Method-GAPP</p></div>
<p>The graph shows that the involved statements in the transactions in the researched case are indeed statements which are doing things for the transactions. The found statements are also important in the AWR report, so this shows that Method-GAPP gives via statistics similar information as when hard measured like in AWR reporting. Method-GAPP will get the correct SQL out, which is involved in your researched end-user process and will not only show the sql which was the most used on that specific database.</p>
<p>If we look a the wait events than we can find also a similar picture, the graph is shown below.</p>
<div id="attachment_328" class="wp-caption alignnone" style="width: 510px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/12/slide_events.jpg"><img class="size-medium wp-image-328" title="slide_events" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/12/slide_events-300x177.jpg" alt="Wait events mined by Method-GAPP" width="500" height="294" /></a><p class="wp-caption-text">Wait events mined by Method-GAPP</p></div>
<p>The found SQL and wait events can help to optimize the end-user process, by tuning SQL or make other changes. In general we can say that there are three ways to optimize a system:</p>
<p>1. Schedule, do task on other moments. In the end a system is always tuned for the top utilization, so by schedule tasks better we have our workload better spread over the available capacity. The amount of resources per task doesn&#8217;t change but because work is better distributed the current capacity can be used better and so more tasks can in the end be handled by the system than before.</p>
<p>2. Optimalization, change application / sql code so less resources are used. In other words more work can be done with the same capacity. Because one task cost less resources as before.</p>
<p>3. Capacity, put more hardware in. Most of the time this solution is fast, but most of the time far from the best solution. Nowadays a lot of customers have good agreements with hardware vendors. So in case a customer needs capacity for a short period of time, the capacity is only added for this period and given back afterwards.</p>
<p>In general can be said that optimizing and scheduling tasks is the best way forward. This is most of all due to the fact that more licence fees have to be paid when added more machine capacity. Method-GAPP can help a lot with a good way to do performance management and find out where in a complicated technical infrastructure problems are. Further more it can help with capacity planning by doing performance predictions before changing or adding extra hardware.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=323</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mining AWR data with Method-GAPP, profiling response time of end-user processes</title>
		<link>http://blog.gerwinhendriksen.com/?p=267</link>
		<comments>http://blog.gerwinhendriksen.com/?p=267#comments</comments>
		<pubDate>Thu, 10 Mar 2011 16:16:51 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[AWR]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[GAPP]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[Queuing]]></category>
		<category><![CDATA[Response Time]]></category>
		<category><![CDATA[Trace]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Method-GAPP]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=267</guid>
		<description><![CDATA[In a lot of cases you like to know which SQL, wait-events, metrics, etc. in AWR is important for your specific end-user process response time. So it could be very well possible that the most important SQL, wait-events, metrics, etc. &#8230; <a href="http://blog.gerwinhendriksen.com/?p=267">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In a lot of cases you like to know which SQL, wait-events, metrics, etc. in AWR is important for your specific end-user process response time. So it could be very well possible that the most important SQL, wait-events, metrics, etc. are show-in up in your &#8220;Top Activity&#8221; in your OEM grid control and AWR reports are actually not the most important for your end-user process response time.</p>
<p>After you know the share of time of your end-user process is taken by the database server (Method-GAPP primary components),  you actual can use all the AWR (and ASH) information as secondary components as input in Method-GAPP (see the white paper). Basically we simply can use the &#8220;Data Mining &#8211; Explain&#8221; step in the method and create a factorial analyses as shown below (see the white paper).</p>
<div id="attachment_268" class="wp-caption aligncenter" style="width: 395px"><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/03/explainsql.jpg"><img class="size-medium wp-image-268" title="Factorial Analyses of some some sql statements response times (secondary components)" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/03/explainsql-300x186.jpg" alt="AWR data used with Method-GAPP" width="385" height="238" /></a><p class="wp-caption-text">AWR data used with Method-GAPP</p></div>
<p><span id="more-267"></span>The created bar graph shows which SQL, wait-events, metrics, etc are the most important for your end-user response time. If you know which SQL it is, you can just start tuning that specific piece of code. The same is the fact which wait-event is important for your end-user process response time, this can be an indication where to look further. You can also go a step further and go on with the &#8220;Data Mining &#8211; Model&#8221; step in the method and create a linear equation of the different secondary components involved. So you can also see mathematically how the different secondary components have impact on your end-user response time.</p>
<p>I got the question what &#8220;Method-GAPP&#8221; would do with skew in the data. Basically you could calculate of every averaged metrics (ASH level data) the variance inside the data (I got this idea from a presentation of Robyn Sands, back in 2008/2009) and have the variance of that specific secondary component as an extra component in the factorial analyses. This will make it possible to find out if a spike in your end-user response time data be caused by skew in the data, basically the variance secondary component would come up as being of high importance explaining the variance in the end-user response time. In this case with skew in the data I mean the fact that we have big outliners in the data.</p>
<p>Just to summarize:</p>
<ul>
<li>Method-GAPP will determine with the primary components the most important tier influencing the specific end-user process response time.</li>
</ul>
<ul>
<li>Method-GAPP will determine with the secondary components (AWR / ASH input) the most important SQL, wait events, metrics, etc. influencing the specific end-user process response time.</li>
</ul>
<ul>
<li>Method-GAPP will be able to see if skew in the data is of high importance for the end user process, by using as a secondary component the variance of e.g. SQL-elapsed times, events, metrics, etc.</li>
</ul>
<p>The AWR data used in the database could be things like Heap size, java treads, etc on the application server, so basically be able to drill down on the application server the same way as in the database tier. So I can really claim to say that Method-GAPP is a real general approach.</p>
<p>As a final note: If you want to know more please read the white paper. The white paper will be revised and updated with new examples to improve it, so please check the web site of new versions of the white paper.</p>
<p>Regards,<br />
Gerwin</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=267</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Official Method-GAPP Whitepaper can be downloaded</title>
		<link>http://blog.gerwinhendriksen.com/?p=261</link>
		<comments>http://blog.gerwinhendriksen.com/?p=261#comments</comments>
		<pubDate>Mon, 07 Mar 2011 16:29:32 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[AWR]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[GAPP]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[Queuing]]></category>
		<category><![CDATA[Response Time]]></category>
		<category><![CDATA[Trace]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Method-GAPP]]></category>
		<category><![CDATA[white paper]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=261</guid>
		<description><![CDATA[After a long time of not able to finish my whitepaper, I finally finished it. Just struggling with time constraints made it hard to get my whole method on paper. I really wanted to have it finished before I would &#8230; <a href="http://blog.gerwinhendriksen.com/?p=261">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>After a long time of not able to finish my whitepaper, I finally finished it. Just struggling with time constraints made it hard to get my whole method on paper. I really wanted to have it finished before I would present the new improvements on the method at the HOTSOS Symposium 2011. In a couple of hours at 13:00 Dallas time I will do my talk based on the whitepaper and really hope I get a packed room of people.</p>
<p>Of course I hope the audience will see it&#8217;s potential and I will be able to put the message in the presentation as good as possible. I am just nervous on the demo I try to give&#8230; As some people may recall from HOTSOS 2009 I had a big issue with my laptop and in the end started 10 minutes late without a demo. So really hope this time everything will go smoothly.</p>
<p>The presentation will also become available on the blog, but for now you can download the official Method-GAPP whitepaper in the download section. As a last note I like to thank Cary Millsap and Dr. Neil Gunther for their inspiration and support.</p>
<p>Regards,</p>
<p>Gerwin</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=261</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Method-GAPP in Real system modelling and making predictions before investment</title>
		<link>http://blog.gerwinhendriksen.com/?p=255</link>
		<comments>http://blog.gerwinhendriksen.com/?p=255#comments</comments>
		<pubDate>Fri, 14 Jan 2011 14:52:26 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[GAPP]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Queuing]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[load profile]]></category>
		<category><![CDATA[Method-GAPP]]></category>
		<category><![CDATA[Real Systems]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=255</guid>
		<description><![CDATA[Since I am working on my method-GAPP (see method-GAPP overview presentation) I have been challenged with the task to model a real system and not a Lab system with a programmed load profile. The big issue with a real system &#8230; <a href="http://blog.gerwinhendriksen.com/?p=255">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Since I am working on my method-GAPP (<a title="Method-GAPP overview presentation January 2011" href="http://blog.gerwinhendriksen.com/wp-content/uploads/2011/01/method_gapp_overview_v10.pdf" target="_blank">see method-GAPP overview presentation</a>) I have been challenged with the task to model a real system and not a Lab system with a programmed load profile. The big issue with a real system is that the load profile is changing all the time and the only thing we can recognize are periods of time we have a not to changing workload profile. For example an OLTP system will do during production hours from 9:30 in the morning till 11:30 and from 14:00 till 16:00 in the afternoon comparable things, but will do from 01:00 till 06:00 in the night something totally different. The given example could match maybe some OLTP systems but could be totally different for your OLTP production system.<span id="more-255"></span></p>
<p>When busy modelling response times from end-user processes you need to take in account that the above fact is the case in real systems. In method-GAPP I am trying to map known queueing model curves to the data. For example the application server cpu metric can be modelled with an M/M/n queings model curve. So it could be very well possible that the application server has 8 cores available, but that in real the M6 curve will fit on average the best to the data during production hours, and the M2 curve will fit on average the best to the data during night hours. This difference in modelling of the data can be explained by the fact that certain cores are on average occupied by long running processes and not available to your OLTP business process, leaving you in effect with less cores than you think looking at the specs.</p>
<p>The great power of using data mining within Method-GAPP, makes it possible to calculate the best fitting average curve to each component in the architecture for a given time period. It stays very important to know your production system and to know when your production system has a comparable load profile. The better you can differentiate similar workload profiles for your analysis the better in the end the predicting curves and formula’s will be. Due to the fact that for the data mining a linear ridge regression model is used and that the queings models are known you are able to calculate easy what the effect will be if the application server now is modified from 8 cores to 16 cores. You can judge based on the new calculated model graph if an investment in the hardware will have the desired effect for your end-user performance.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=255</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GAPP version 2 will be present at HOTSOS 2011</title>
		<link>http://blog.gerwinhendriksen.com/?p=232</link>
		<comments>http://blog.gerwinhendriksen.com/?p=232#comments</comments>
		<pubDate>Sat, 06 Nov 2010 02:25:04 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[advertisement]]></category>
		<category><![CDATA[AWR]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[GAPP]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Queuing]]></category>
		<category><![CDATA[Response Time]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Method-GAPP]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=232</guid>
		<description><![CDATA[The last couple of months I have worked very hard on method GAPP and have finally made a very big improvement to it. In the past GAPP was only able to pin point where in the architecture the biggest variance &#8230; <a href="http://blog.gerwinhendriksen.com/?p=232">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The last couple of months I have worked very hard on method GAPP and have finally made a very big improvement to it. In the past GAPP was only able to pin point where in the architecture the biggest variance in response time was caused. The improvement to GAPP makes it now also possible to find within certain error also the service time per measured component in the architecture. The point is that sometimes the component causing the biggest variance in end user response time is not always the component responsible for the most service time of the total response time.</p>
<p>The second version of GAPP has now an extra step inside the method, which is &#8220;data modeling&#8221;, the data is first modeled by using normalized response times for different amount of servers by using the Erlang C formula. Next to this data mining is used with a generalized linear model and ridge regression, to solve near collinearities in the data. With this extra step in place the prediction of service time and wait time per measured component became possible. When I first verified it against real system data I was really happy to find out that it works very well. More information will follow soon in blogs and hopefully for the end of this year in a white paper.</p>
<p>I am very happy I get the opportunity from Hotsos to be able to present  it next year in march 2011. Via this way I also like to thank everybody  who inspired me and made this possible, especially Cary Millsap and Dr.  Neil Gunther.</p>
<p>The link to the presentation abstract: <a title="GAPP Abstract Hotsos 2011" href="http://www.hotsos.com/sym11/sym_speakers_hendriksen.html" target="_blank">http://www.hotsos.com/sym11/sym_speakers_hendriksen.html</a></p>
<p><img src="file:///C:/Users/GHENDR~1.IT-/AppData/Local/Temp/moz-screenshot.png" alt="" /></p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/11/hotsos2011.jpg"><img class="alignnone size-medium wp-image-233" title="Hotsos 2011" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/11/hotsos2011.jpg" alt="" width="391" height="219" /></a></p>
<p>Regards,</p>
<p>Gerwin</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=232</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erlang formula&#8217;s programmed in PL/SQL</title>
		<link>http://blog.gerwinhendriksen.com/?p=218</link>
		<comments>http://blog.gerwinhendriksen.com/?p=218#comments</comments>
		<pubDate>Tue, 12 Oct 2010 21:53:05 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[GAPP]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Queuing]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[Erlang-B]]></category>
		<category><![CDATA[Erlang-C]]></category>
		<category><![CDATA[Queueing]]></category>
		<category><![CDATA[Queueing Theory]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=218</guid>
		<description><![CDATA[Since a long time I am busy using queuing formula&#8217;s to be able to calculate cpu queue&#8217;s and I/O queues. One of the big problems I was facing that the formula&#8217;s I like to use on big data sets with &#8230; <a href="http://blog.gerwinhendriksen.com/?p=218">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Since a long time I am busy using queuing formula&#8217;s to be able to calculate cpu queue&#8217;s and I/O queues. One of the big problems I was facing that the formula&#8217;s I like to use on big data sets with my GAPP analysis were only available in perl. For a long time I was using proximity functions to avoid the perl programmed Erlang-C formula and some other. Last weekend I just had the time to start programming the formula&#8217;s in PLSQL, just to have them easily accessible in my database. After finish programming the package I realized that the package can also be very handy for other people, so I decided to create this blog. The created package has the following important functions: Erlang-C, Erlang-B, Response Time in multi-server environments (ErlangR in the package), Queue length in multi-server environments (ErlangQ in the package) and Response Time in multi-queue environments like IO (paratqr in the package).</p>
<p>The formula&#8217;s are described in the book &#8220;Analyzing Computer System Performance with Perl::PDQ&#8221; from Dr. Neil J. Gunther 2005. In the source of the package are the exact locations in the documentation documented.<span id="more-218"></span></p>
<p>The code of the package looks like (<a href="../wp-content/uploads/2010/10/erlangghh_pkg_v1_0.pls">erlangghh_pkg_v1_0</a>):</p>
<blockquote><p>CREATE OR REPLACE PACKAGE GHH_PKG AS<br />
/* ==### Package GHH_PKG 12-10-2010 by G. Hendriksen v1.0 ###==<br />
**<br />
**  Formula&#8217;s from book:<br />
** &#8220;Analyzing Computer System Performance with Perl::PDQ&#8221;<br />
**  by Dr. Neil J. Gunther 2005<br />
**<br />
** Initial creation   10-10-2010    G.Hendriksen    v0.1<br />
** Updated formula    11-10-2010    G.Hendriksen    v0.2<br />
** Updated formula    12-10-2010    G.Hendriksen    v1.0<br />
*/</p>
<p>/* Function erlangb is used to get the Erlang-B (multiserver queueing system)<br />
** probability that all the servers are busy and calls are dropped completely<br />
** rather than being queued up. The function has input values number of servers<br />
** (m) and utilization (p) &#8212; See pag. 83 formula 2.67<br />
*/<br />
function erlangb (m number, p number)           return number;</p>
<p>/* Function erlangc is used to get the Erlang-C, this is the probability that<br />
** all the servers are busy and therefore calls arriving causing utilization p<br />
** will have to wait for service. The function has input values number of<br />
** servers (m) and utilization (p) &#8212; See pag. 81 formula 2.66<br />
*/<br />
function erlangc (m number, p number)           return number;</p>
<p>/* Function erlangr is used to calculate the exact multiserver residence time.<br />
** The function has input values number of servers (m), utilization (p) and<br />
** service time (s) &#8212; See pag. 81 formula 2.64<br />
*/<br />
function erlangr (m number, p number, s number) return number;</p>
<p>/* Function erlangq is used to calculate the queue length in a multiserver<br />
** environment. The function has input values number of servers (m) and<br />
** utilization (p) &#8212; See pag. 81 formula 2.65<br />
*/<br />
function erlangq (m number, p number)           return number;</p>
<p>/* Function PDF is used to calculate the Discrete Probability Function of a<br />
** Poison distribution with mean equal to the traffic intensity mp. The function<br />
** has input values number of servers (m) and utilization (p) &#8212; See pag. 83<br />
** formula 2.68<br />
*/<br />
function PDF     (m number, p number)           return number;</p>
<p>/* Function CDF is used to calculate the Cumulative Distriburion Function of a<br />
** Poison distribution with mean equal to the traffic intensity mp. The function<br />
** has input values number of servers (m) and utilization (p) &#8212; See pag. 83<br />
** formula 2.68<br />
*/<br />
function CDF     (m number, p number)           return number;</p>
<p>/* Function PoisonR is used to calculate the Poison Ratio. The function has<br />
** input values number of servers (m) and utilization (p) &#8212; See pag. 83<br />
** formula 2.69<br />
*/<br />
function PoisonR (m number, p number)           return number;</p>
<p>/* Function Utilp is used to calculate the utilization (p). The function has<br />
** input values calls per time lambda (l), service time (s) and number of queues<br />
** (q) &#8212; See pag. 74 formula 2.45<br />
*/<br />
function Utilp   (l number, s number, q number) return number;</p>
<p>/* Function Paralqr is used to calculate the response time (r) for parallel<br />
** queues, with utilization per queue. The function has input values<br />
** utilization (p) and service time (s) &#8212; See pag. 75 formula 2.46<br />
*/<br />
function Paralqr (p number, s number)           return number;</p>
<p>/* Function Paratqr is used to calculate the response time (r) for parallel<br />
** queues, with utilization over all queues. The function has input values<br />
** number of queues (q), utilization (p) and service time (s) &#8212; See pag. 75<br />
** formula 2.46<br />
*/<br />
function Paratqr (q number, p number, s number) return number;</p>
<p>/* Function fact is used to get the factorial value with given number<br />
*/<br />
function fact    (v number          )           return number;</p>
<p>END GHH_PKG;<br />
/</p>
<p>CREATE OR REPLACE PACKAGE BODY GHH_PKG AS<br />
/* ==### Package GHH_PKG 12-10-2010 by G. Hendriksen v1.0 ###==<br />
**<br />
**  Formula&#8217;s from book:<br />
** &#8220;Analyzing Computer System Performance with Perl::PDQ&#8221;<br />
**  by Dr. Neil J. Gunther 2005<br />
**<br />
** Initial creation   10-10-2010    G.Hendriksen    v0.1<br />
** Updated formula    11-10-2010    G.Hendriksen    v0.2<br />
** Updated formula    12-10-2010    G.Hendriksen    v1.0<br />
*/</p>
<p>/* Function erlangb is used to get the Erlang-B (multiserver queueing system)<br />
** probability that all the servers are busy and calls are dropped completely<br />
** rather than being queued up. The function has input values number of servers<br />
** (m) and utilization (p) &#8212; See pag. 83 formula 2.67<br />
*/<br />
function erlangb (m number, p number)           return number AS<br />
b number;<br />
&#8211; Sigma inside formula is calculated here:<br />
function sigm (v_m number, v_p number)        return number AS<br />
s number;<br />
begin<br />
s := 0;<br />
for n in 0..(v_m)<br />
loop<br />
s := s + ( power((v_m*v_p),n)/fact(n) );<br />
end loop;<br />
return s;<br />
end sigm;<br />
BEGIN<br />
b:=( power((m*p),m)/fact(m) ) / ( sigm(m,p) );<br />
RETURN b;<br />
END erlangb;</p>
<p>/* Function erlangc is used to get the Erlang-C, this is the probability that<br />
** all the servers are busy and therefore calls arriving causing utilization p<br />
** will have to wait for service. The function has input values number of<br />
** servers (m) and utilization (p) &#8212; See pag. 81 formula 2.66<br />
*/<br />
function erlangc (m number, p number)           return number AS<br />
c number;<br />
function sigm (v_m number, v_p number)        return number AS<br />
s number;<br />
begin<br />
s := 0;<br />
for n in 0..(v_m-1)<br />
loop<br />
s := s + ( power((v_m*v_p),n)/fact(n) );<br />
end loop;<br />
return s;<br />
end sigm;<br />
BEGIN<br />
c:=( power((m*p),m)/fact(m) ) /( ( (1-p)* sigm(m,p)) + ( (power((m*p),m)/fact(m)) )  );<br />
RETURN c;<br />
END erlangc;</p>
<p>/* Function erlangr is used to calculate the exact multiserver residence time.<br />
** The function has input values number of servers (m), utilization (p) and<br />
** service time (s) &#8212; See pag. 81 formula 2.64<br />
*/<br />
function erlangr (m number, p number, s number) return number AS<br />
r number;<br />
BEGIN<br />
r := ( ( erlangc(m,p)*s ) / ( m*(1-p) ) ) + s;<br />
RETURN r;<br />
END erlangr;</p>
<p>/* Function erlangq is used to calculate the queue length in a multiserver<br />
** environment. The function has input values number of servers (m) and<br />
** utilization (p) &#8212; See pag. 81 formula 2.65<br />
*/<br />
function erlangq (m number, p number)           return number AS<br />
q number;<br />
BEGIN<br />
q := ( ( p*erlangc(m,p) ) / ( m*(1-p) ) ) + (m*p);<br />
RETURN q;<br />
END erlangq;</p>
<p>/* Function PDF is used to calculate the Discrete Probability Function of a<br />
** Poison distribution with mean equal to the traffic intensity mp. The function<br />
** has input values number of servers (m) and utilization (p) &#8212; See pag. 83<br />
** formula 2.68<br />
*/<br />
function PDF (m number, p number)           return number AS<br />
pdf number;<br />
BEGIN<br />
pdf := ( exp(-m*p)* ( power((m*p),m) / fact(m) ) );<br />
RETURN pdf;<br />
END pdf;</p>
<p>/* Function CDF is used to calculate the Cumulative Distriburion Function of a<br />
** Poison distribution with mean equal to the traffic intensity mp. The function<br />
** has input values number of servers (m) and utilization (p) &#8212; See pag. 83<br />
** formula 2.68<br />
*/<br />
function CDF (m number, p number)           return number AS<br />
cdf number;<br />
function sigm (v_m number, v_p number)        return number AS<br />
s number;<br />
begin<br />
s := 0;<br />
for n in 0..(v_m)<br />
loop<br />
s := s + ( power((v_m*v_p),n)/fact(n) );<br />
end loop;<br />
return s;<br />
end sigm;<br />
BEGIN<br />
cdf := ( exp(-m*p)*(sigm(m,p)) );<br />
RETURN cdf;<br />
END CDF;</p>
<p>/* Function PoisonR is used to calculate the Poison Ratio. The function has<br />
** input values number of servers (m) and utilization (p) &#8212; See pag. 83<br />
** formula 2.69<br />
*/<br />
function PoisonR (m number, p number)           return number AS<br />
r number;<br />
BEGIN<br />
r := ( 1 &#8211; (pdf(m,p)/cdf(m,p)) );<br />
RETURN r;<br />
END PoisonR;</p>
<p>/* Function Utilp is used to calculate the utilization (p). The function has<br />
** input values calls per time lambda (l), service time (s) and number of queues<br />
** (q) &#8212; See pag. 74 formula 2.45<br />
*/<br />
function Utilp (l number, s number, q number)   return number AS<br />
p number;<br />
BEGIN<br />
p := ( (l*s)/q );<br />
RETURN p;<br />
END Utilp;</p>
<p>/* Function Paralqr is used to calculate the response time (r) for parallel<br />
** queues, with utilization per queue. The function has input values<br />
** utilization (p) and service time (s) &#8212; See pag. 75 formula 2.46<br />
*/<br />
function Paralqr (p number, s number)   return number AS<br />
r number;<br />
BEGIN<br />
r := ( s / (1-p) );<br />
RETURN r;<br />
END Paralqr;</p>
<p>/* Function Paratqr is used to calculate the response time (r) for parallel<br />
** queues, with utilization over all queues. The function has input values<br />
** number of queues (q), utilization (p) and service time (s) &#8212; See pag. 75<br />
** formula 2.46<br />
*/<br />
function Paratqr (q number, p number, s number) return number AS<br />
r number;<br />
BEGIN<br />
r := ( s / (1-(p/q)) );<br />
RETURN r;<br />
END Paratqr;</p>
<p>/* Function fact is used to get the factorial value with given number<br />
*/<br />
function fact    (v number          )           return number AS<br />
min1 number;<br />
prod number;<br />
begin<br />
min1 := v &#8211; 1;<br />
if ( min1 &gt; 0 )<br />
then<br />
prod := v*fact(min1);<br />
return prod;<br />
end if;<br />
&#8211; important correction factorial value of zero is one.<br />
if v=0 then return 1;<br />
else        return v;<br />
end if;<br />
END fact;</p>
<p>END GHH_PKG;<br />
/</p></blockquote>
<p>All the formula&#8217;s have been checked and the output is provide in this excel file (<a href="../wp-content/uploads/2010/10/erlangpacktest.xls">erlangpacktest) </a>. When checking the output of the functions, the response time in multiple servers situation will look like the picture:</p>
<dl id="attachment_226" class="wp-caption alignnone" style="width: 682px;">
<dt class="wp-caption-dt"><a href="../wp-content/uploads/2010/10/erlanggraph.jpg"><img class="size-medium wp-image-226" title="erlanggraph" src="../wp-content/uploads/2010/10/erlanggraph-300x224.jpg" alt="Graph from the output of Response Time function in Multiple server situation." width="672" height="501" /></a></dt>
</dl>
<p>I hope I made some people happy by programming the functions in PLSQL. If something is wrong with them, please comment on the blog or of course for any suggestion. I will probably enhance the package in future, if so I will keep you posted.</p>
<p>Regards, Gerwin</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=218</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Back to HOTSOS, HOTSOS 2010 Day 1</title>
		<link>http://blog.gerwinhendriksen.com/?p=197</link>
		<comments>http://blog.gerwinhendriksen.com/?p=197#comments</comments>
		<pubDate>Mon, 15 Mar 2010 01:21:02 +0000</pubDate>
		<dc:creator>Gerwin</dc:creator>
				<category><![CDATA[error]]></category>
		<category><![CDATA[EXADATA]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[parameters]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[Trace]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Dan Norris]]></category>
		<category><![CDATA[Doug Burns]]></category>
		<category><![CDATA[Gary Goodman]]></category>
		<category><![CDATA[HOTSOS]]></category>
		<category><![CDATA[HOTSOS 2010]]></category>
		<category><![CDATA[Kerry Osborne]]></category>
		<category><![CDATA[Kevin Closson]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Richard Foote]]></category>
		<category><![CDATA[Tom Kyte]]></category>

		<guid isPermaLink="false">http://blog.gerwinhendriksen.com/?p=197</guid>
		<description><![CDATA[As always Hotsos started off with a nice keynote, this time done by Tom Kyte. Tom Kyte was introduced by Hotsos president Gary Goodman after the HOTSOS 2010 opening. Tom&#8217;s keynote theme was “Should we be less smart some times”. &#8230; <a href="http://blog.gerwinhendriksen.com/?p=197">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>As always Hotsos started off with a nice keynote, this time done by Tom Kyte. Tom Kyte was introduced by Hotsos president Gary Goodman after the HOTSOS 2010 opening. Tom&#8217;s keynote theme was “Should we be less smart some times”. Tom told about own experiences, that he in the past gave sometimes too fast an answer. It is very important to think about an answer before giving it… Why? Well some things applied in the past or for a specific version, and now they don’t anymore… this can be a problem, a real issue. Always make sure you talk about the same definitions, and agree on them. Make sure talking about the same version and of course about similar circumstances. When you start giving answers in general be sure to work with facts and not some assumptions which might be wrong. So you should always think about the information, about the circumstances and the assumptions you do, it means “Continuous Thinking”.</p>
<p><img src="file:///C:/My_Projects/HOTSOS2010/New%20folder%20(2)/DSC04855.JPG" alt="" /><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc04855.jpg"><img class="alignnone size-medium wp-image-198" title="HOTOS2010 Here we come" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc04855-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p><span id="more-197"></span></p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc04859.jpg"><img class="alignnone size-medium wp-image-199" title="Gary Goodman opening HOTSOS 2010" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc04859-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc04870.jpg"><img class="alignnone size-medium wp-image-200" title="Tom Kyte doing the keynote at HOTSOS 2010" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc04870-300x225.jpg" alt="" width="479" height="358" /></a><br />
After the keynote Tom Kyte had a talk on “All about Metadata”. Tom Kyte told about how wrong metadata in the database is influencing the performance. So actual explaining the different reasons the performance can be wrong only due to wrong metadata or the lack of it in the database. It is important to feed the database with data you know of the data, because you know your database the best. That can mean adding dimensions, adding materialized views, etc. His most important points were, “Datatypes Count”, “Proper Lengths matter”, “Constraints are important” and “Metadata Matters”, so ensure they are right and there, and the optimizer can do its job the best way possible.</p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc04886.jpg"><img class="alignnone size-medium wp-image-201" title="Tom Kyte explaining some things after his talks to some people (The beauty of Hotsos, to be able to ask things directly)" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc04886-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p>Tom Kyte’s talk was followed up by a talk from Richard Foote. His talk subject was “Oracle Indexing Myths”. When he started his presentation he seemed to be a big fan from “David Bowie” and “Radio Head”, from who he used a lot of times, names to refer to database objects, like table “BOWIE”. Richard told about a lot of different index myths and some of them where quite interesting. The myths he talked about were:<br />
•    Deleted Index Space Is Deadwood<br />
•    Indexes Always Prevent Sort Operations<br />
•    CBO won’t consider an index when retrieving &gt; x% of rows<br />
•    Put Most Discriminating Column 1st In Concatenated Index<br />
•    Small tables Don’t Benefit From Being Indexed<br />
•    Bitmap Indexes Help With Low Cardinality Conditions<br />
•    Bitmap Indexes Inefficient With High Cardinality Columns</p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc048991.jpg"><img class="alignnone size-medium wp-image-204" title="Richard Foote giving his first presentation at HOTSOS 2010 (He was moving to much for my camera)" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc048991-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p>Just to give a small impression I will give a few of the answers. In general we can say that deleted index space will be reused, so the idea of ending up with a lot of deadwood in our indexes is really a myth. For indexes and sorts it is always important to realize that “nulls” in columns are not put in the index and so having the index is not always a guarantee that the sorting will actually happen. For indexes it is important to know that the clustering factor is highly involved in choosing an index for an execution plan. Also the amount of rows which will be expected to be retrieved from the index in compare with the table are from influence. So will the index actually been used or not?</p>
<p>The myth of putting the most discriminating column first in a concatenated index, looks very challenging, but in fact it is really a myth. I was even a bit surprised to find this out, so why was my second thought. From base the most discriminating column should be first because of the to be accessed leaf blocks in the index are less, but in fact this doesn’t matter. So if another column is first in the index it will not influence the amount of the to be accessed leaf blocks. Richard showed with some small test cases that it really doesn’t matter, index performance stayed the same. Ok, this said what will happen if we place the most discriminating column at the first, it will actually give problems, like the “Index skip scan”, it will work only efficient as a little distinctive column is first in the index, instead of the other way around. Another index option like index compression will only work as the little distinctive column is first. This has to do with the way an index compression works.</p>
<p>This was just a few examples of the myth coverage Richard did. I think it is very good before starting designing index to check out the work Richard did in this area.</p>
<p>After having had lunch together and making new contacts the presentation room was split in half for two tracks of presentations. I had the choose to go to Alex Gorbachev with “Battle Against any Guess” or Dan Norris with “Consolidation Strategies for Oracle Database Machine”. I choose for Dan and got a good impression on how the Exadata was operating within the database machine. Also things like Oracle I/O Resource Manager and Oracle Database Resource Manager were discussed. After the presentation from Dan I had a small discussion with Christian Antognini, regarding the way a “smart scan” was operating. In my opinion the database is sending a “Bloom Filter” signature to the disk controllers were with the “Bloom Filter” a lot of the not interesting data is pre-filtered before sending it to the database instance. The sent data to the database instance will not be a normal database block format, so it will pass the database buffer cache. The passing of the database buffer cache was also mentioned by Dan in his presentation.</p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06073.jpg"><img class="alignnone size-medium wp-image-205" title="Dan Norris giving his presentation (too much distance, pitty)" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06073-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p>My next presentation I attended was done by Doug Burns with “How I Learned to Love Pictures- Oracle 10g/11g Performance Analysis Using OEM”. Doug tried to do a lot of demos, but due Murphy’s Law he had a lot of issues giving them. To do the load testings on his laptop system he used “Swingbench” as the load-tool. The demo showed how you can use in a very clear way Oracle Enterprise Manager (Grid). Doug showed that the first “Performace Home” screen was based on measured data and the “Top Activity” screen was based on sampled data (ASH). Although a lot of the demos were able to be shown Doug really tried hard to give the message, and in my opinion he did.</p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06090.jpg"><img class="alignnone size-medium wp-image-206" title="Doug Burns Presenting his presentation" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06090-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06090.jpg"></a><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06094.jpg"><img class="alignnone size-medium wp-image-207" title="Doug Burns Presenting his presentation" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06094-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p>Next stop was Kevin Closson with “Ten Years After Y2K, and We Still ‘Party Like It’s 1999’”. Kevin showed a lot of development over the past ten years. He explained about how the techniques over the years have changed and how bottlenecks changed for cpu, memory and I/O. He talked about experiences with Oracle Database File System (DBFS) and how he actually had installed on this file system a complete database including Oracle Home. So he built a database in a database, from a geek point of view like me that is pretty cool. While presenting he had a little buddy with him, the pics will show you how&#8230;</p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06096.jpg"><img class="alignnone size-medium wp-image-209" title="Kevin Closson doing his presentation" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06096-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06101.jpg"><img class="alignnone size-medium wp-image-210" title="Kevin Closson and his little buddy" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06101-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p>The final presentation of the day was for me Kerry Osborne with “Controlling Execution Plans (Without Touching the Code)”. In his presentation he talked about the possibilities of influencing the execution plan of a query, without actual change the query itself. A suggestion could be changing database parameters, well this can be seen as “Big Knob Tuning” and would be very unadvisable.  Some other ideas are start adding new access paths, or remove some, in plain Oracle language this means add indexes or remove some. The other idea could be by start changing stats on objects by the DBMS_STATS package. Well all these suggestion will not be very specific and a lot of different queries are influenced. Lucky Oracle did some other things too. Kerry told that Oracle made three ways, Outlines, Sql profiles and Sql Baselines. These three ways where created with different goals by Oracle, but do all basically the same, with some small twists. The use of outlines was a half baked product, one of the issues was to set every time “use_stored_outlines” to true, with every restart of the database instance. SQL profiles were three quarter baked but are not perfect either, one of the advantages over outlines is the fact that they can be applied to multiple statements. The SQL Tuning Advisor (STA) Profiles (SQL Baselines), are still not perfect but do multiple things for the stability, first of all they can add hints and second they can store metadata for the query to give the optimizer a better understanding of the data and data distribution.</p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06113.jpg"><img class="alignnone size-medium wp-image-211" title="Kerry Osborne giving his presentation" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06113-300x225.jpg" alt="" width="480" height="359" /></a></p>
<p><a href="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06118.jpg"><img class="alignnone size-medium wp-image-212" title="Kerry Osborne explaining some things after his first presentation" src="http://blog.gerwinhendriksen.com/wp-content/uploads/2010/03/dsc06118-300x225.jpg" alt="" width="480" height="358" /></a></p>
<p>The way Kerry showed the possibilities were very nice and a very good closing of HOTSOS day 1.</p>
<p>Regards,</p>
<p>Gerwin</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gerwinhendriksen.com/?feed=rss2&#038;p=197</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
