<?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></title>
	<atom:link href="/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://dboptimizer.com</link>
	<description></description>
	<lastBuildDate>Sat, 26 Mar 2011 05:01:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Finding ORACLE_HOME</title>
		<link>http://dboptimizer.com/?p=694</link>
		<comments>http://dboptimizer.com/?p=694#comments</comments>
		<pubDate>Thu, 24 Mar 2011 17:31:10 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=694</guid>
		<description><![CDATA[Once in while I work on systems that are new to me and no one is around to explain the configuration to me. In these cases, I&#8217;ve often wanted a way to clearly figure out which running database is using which ORACLE_HOME, so it was fun to see Tanel Poder&#8217;s recent posted on how to [...]]]></description>
			<content:encoded><![CDATA[<p>Once in while I work on systems that are new to me and no one is around to explain the configuration to me. In these cases, I&#8217;ve often wanted a way to clearly figure out which running database is using which ORACLE_HOME, so it was fun to see Tanel Poder&#8217;s recent posted on how to do this on <a href="http://blog.tanelpoder.com/2011/02/28/finding-oracle-homes-with/">LINUX and SOLARIS.</a> Here is a quick summary of LINUX and SOLARIS plus HPUX and AIX as well:</p>
<p><span style="text-decoration: underline;"><strong>Solaris and Linux</strong></span></p>
<table>
<tbody>
<tr>
<td></td>
<td>
<pre class="brush:c gutter: false;">       $ pgrep  -lf _pmon_
       12586 ora_pmon_ee10204

ORACLE_SID is ee10204

       $ pwdx 12586
       12586:<strong> </strong>/u01/oracle/10.2.0.4/ee1/dbs

ORACLE_HOME is /u01/oracle/10.2.0.4/ee1
</pre>
</td>
</tr>
</tbody>
</table>
<p><span style="text-decoration: underline;"><strong>HPUX</strong></span></p>
<table>
<tbody>
<tr>
<td></td>
<td>
<pre class="brush:c gutter: false;">       $ ps -ef | grep pmon
       ora1024 25611     1  0  Mar 21  ?         0:24 ora_pmon_itanic10

ORACLE_SID is itanic10

       $ pfiles 25611 | grep  bin
       25611:                  /opt/ora1024/app/db_1/bin/oracle

ORACLE_HOME is /opt/ora1024/app/db_1
</pre>
</td>
</tr>
</tbody>
</table>
<p><span style="text-decoration: underline;"><strong>AIX</strong></span></p>
<table>
<tbody>
<tr>
<td></td>
<td>
<pre class="brush:c gutter: false;">        $ ps -ef | grep pmon
      ora1024   262314        1   0   Mar 23      -  0:12 ora_pmon_mercury

ORACLE_SID is mercury

      $ ls -l /proc/262314/cwd
      lr-x------   2 ora1024  dba  0 Mar 23 19:31 cwd -&gt; /data/opt/app/product/10.2.0.4/db_1/dbs/

ORACLE_HOME is /data/opt/app/product/10.2.0.4/db_1
</pre>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=694</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Popularity vs Performance vs Productivity</title>
		<link>http://dboptimizer.com/?p=652</link>
		<comments>http://dboptimizer.com/?p=652#comments</comments>
		<pubDate>Mon, 14 Mar 2011 04:49:59 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=652</guid>
		<description><![CDATA[A more popular car will have better servicing as parts and skills will be common. A fast car is compelling but sometimes speed is easily sacrificed for comfort. Recently the question of language efficiency verses productivity has been nagging me. The nagging question includes  what  languages, frameworks and packages are best for collecting data, analyzing [...]]]></description>
			<content:encoded><![CDATA[<p>A more popular car will have better servicing as parts and skills will be common. A fast car is compelling but sometimes speed is easily sacrificed for comfort.</p>
<p>Recently the question of language efficiency verses productivity has been nagging me. The nagging question includes  what  languages, frameworks and packages are best for collecting data, analyzing data and exposing the data in a rich UI via a web browser.</p>
<h2>Productivity</h2>
<p>Here is an interesting graphic on speed of the programs in various languages</p>
<p><a href="http://hinchcliffe.org/img/weblanguagecomparison2.png"><img class="alignnone size-medium wp-image-653" title="weblanguagecomparison2" src="/wp-content/uploads/2011/03/weblanguagecomparison2-300x211.png" alt="" width="300" height="211" /></a></p>
<p><a href="http://hinchcliffe.org/img/weblanguagecomparison2.png">http://hinchcliffe.org/img/weblanguagecomparison2.png</a></p>
<p>Now the above graphic might be hard to read (wish it was larger) but what it is indicating is that Python is  roughly 10x times slower in execution time to than the equivalent programs in Java. On the other hand the expect productivity gain for a programmer is 5-10x faster in Python than Java. Now on the surface my reaction is &#8220;OK, it&#8217;s faster to program in Python, ok, but Java is 10x faster so it&#8217;s clearly the choice!&#8221;, but if I put the numbers into real life I&#8217;m like OMG &#8211; imagine a Python program that takes me 1 day to write, now that same program would take me 5-10 days in Java!? Thats a huge deal. Hands down, I&#8217;m going to program in Python (or something other than Java).  I can deal with some runtime performance issues.</p>
<p>Should a company program in Java or Python? What if Python would take a year to bring to market? What if the Java verison took 5-10 years ?!  When asked whether if he could go back and recreate Slideshare in some other language than Ruby, <a href="http://www.jonathanboutelle.com/">Jonathan Boutelle,</a> said the question is mute. If they hadn&#8217;t written it in Ruby and had in Java they wouldn&#8217;t even be having the conversation. Sure Ruby had some scaling issues for them, but they are  released  Slideshare on the market and became successful.</p>
<p>Here is another graphic on productivity from the book &#8220;<a href="http://pragprog.com/titles/fr_j2r/from-java-to-ruby">From Java to Ruby</a>&#8221;</p>
<p><a href="http://media.pragprog.com/titles/fr_j2r/Pain.pdf"><img class="alignnone size-full wp-image-676" title="productivity" src="/wp-content/uploads/2011/03/productivity.png" alt="" width="416" height="244" /></a></p>
<p>The data is base on a study of productivity in C, Java, Perl, Python: <a href="http://page.mi.fu-berlin.de/prechelt/Biblio//jccpprt_computer2000.pdf">http://page.mi.fu-berlin.de/prechelt/Biblio//jccpprt_computer2000.pdf</a></p>
<p>As far as productivity comparisons, I think the following two images of Python vs Java explain it nicely:</p>
<p><a href="http://blog.chenzhongke.com/2010/05/why-python-is-more-productive-than-java.html"><img title="image21" src="../wp-content/uploads/2011/03/image21.png" alt="" width="297" height="122" /></a></p>
<p><a href="http://blog.chenzhongke.com/2010/05/why-python-is-more-productive-than-java.html"><img title="image20" src="../wp-content/uploads/2011/03/image20-300x251.png" alt="" width="300" height="251" /></a></p>
<p><a href="http://blog.chenzhongke.com/2010/05/why-python-is-more-productive-than-java.html">http://blog.chenzhongke.com/2010/05/why-python-is-more-productive-than-java.html</a></p>
<p>For a down and out dirty view Java sprawl that further exacerbates productivity check out:</p>
<p><a href="http://chaosinmotion.com/blog/?p=622">http://chaosinmotion.com/blog/?p=622</a></p>
<p>(as a rebuttal try pursing hello world in gnu packaging : <a href="http://ftp.gnu.org/gnu/hello/hello-2.6.tar.gz" target="_blank">http://ftp.gnu.org/gnu/hello/hello-2.6.tar.gz</a> )</p>
<h2>Performance</h2>
<p>Here is a fascinating site with empirical data on speed of languages</p>
<p><a href="http://shootout.alioth.debian.org/"><img class="alignnone size-medium wp-image-654" title="chartvs" src="/wp-content/uploads/2011/03/chartvs-300x187.png" alt="" width="300" height="187" /></a></p>
<p><a href="http://shootout.alioth.debian.org/u32/benchmark.php?test=all&amp;lang=yarv&amp;lang2=javaxint"><img class="alignnone size-medium wp-image-659" title="javaint_vs_ruby19" src="/wp-content/uploads/2011/03/javaint_vs_ruby19-300x187.png" alt="" width="300" height="187" /></a></p>
<p><a href="http://shootout.alioth.debian.org/">http://shootout.alioth.debian.org/</a></p>
<p>Current speed might be a bit misleading as popularity will impact the efforts put into the issues of a language and a language that is popular though maybe less efficient will see improvements, for example it&#8217;s interesting to see the improvements in Java over the years, and now to see the improvements in Ruby.  Though Ruby is slower than  Scala and Scala&#8217;s productivity may even be better than Ruby, Scala doesn&#8217;t, yet, have the market momentum, thus the assurances that it is a language to invest in now.</p>
<p>Also if speed of the language is an issue the solution is not to throw the baby out with the bathwater, ie throw out the productive programming language altogether and go for a fast one such as C or JAVA but to find the areas of slowness in the productive framework and replace those with a fast function in another language, ie <a href="http://memeagora.blogspot.com/2006/12/polyglot-programming.html">polyglot programming</a>.</p>
<h2>Popularity</h2>
<p>another interesting image on the current usage of languages:</p>
<p><a href="http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-langauges/"><img class="alignnone size-medium wp-image-657" title="rank_scatter1" src="/wp-content/uploads/2011/03/rank_scatter1-300x225.png" alt="" width="300" height="225" /></a></p>
<p><a href="http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-langauges/">http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-langauges/</a></p>
<p>Languages mentioned in job postings as % and % increase</p>
<p><a href="http://www.soa-at-work.com/2010/02/it-job-trends-which-technologies-you.html"><img class="alignnone size-medium wp-image-660" title="jobgraph_percent" src="/wp-content/uploads/2011/03/jobgraph_percent-300x166.png" alt="" width="300" height="166" /></a></p>
<p><a href="http://www.soa-at-work.com/2010/02/it-job-trends-which-technologies-you.html"><img class="alignnone size-medium wp-image-661" title="jobgraph_percentgrowth" src="/wp-content/uploads/2011/03/jobgraph_percentgrowth-300x166.png" alt="" width="300" height="166" /></a></p>
<p><a href="http://www.soa-at-work.com/2010/02/it-job-trends-which-technologies-you.html">http://www.soa-at-work.com/2010/02/it-job-trends-which-technologies-you.html</a></p>
<p>The issues of showing total growth  verses % growth lend itself well to heat map representation. Here is a heat map from O&#8217;Reilly:</p>
<p><a href="http://radar.oreilly.com/2009/02/state-of-the-computer-book-mar-22.html"><img class="alignnone size-full wp-image-668" title="TM_qtr_py_Prog_Lang" src="/wp-content/uploads/2011/03/TM_qtr_py_Prog_Lang.jpg" alt="" width="562" height="407" /></a></p>
<p>(Interesting to all the Oracle folks: PL/SQL shows a 51% growth 2007-2008.</p>
<p>Here is data from O&#8217;Reilly on growth over time, showing Python and C# growing steadily:</p>
<p><a href="http://radar.oreilly.com/2009/02/state-of-the-computer-book-mar-22.html"><img class="alignnone size-large wp-image-669" title="languages_all_5yrs" src="/wp-content/uploads/2011/03/languages_all_5yrs-1024x708.png" alt="" width="430" height="298" /></a></p>
<p><a href="http://radar.oreilly.com/2009/02/state-of-the-computer-book-mar-22.html">http://radar.oreilly.com/2009/02/state-of-the-computer-book-mar-22.html</a></p>
<p><a href="http://radar.oreilly.com/2011/02/2010-book-market-4.html">http://radar.oreilly.com/2011/02/2010-book-market-4.html</a></p>
<p>Tiobe Index</p>
<p><a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html"><img class="alignnone size-medium wp-image-663" title="tpci_trends" src="/wp-content/uploads/2011/03/tpci_trends-300x225.png" alt="" width="300" height="225" /></a></p>
<p><a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html</a></p>
<p>Here is google trends normalized by C programming (with out normalization all trends are down because google trends show hits normalized by all traffic and as general traffic increases verses computer geek searches general computer geek searches <a href="http://www.chrisrenner.com/2011/03/omg-php-is-losing-to-ruby-python/">trend downwards</a>)</p>
<p><a href="/wp-content/uploads/2011/03/ruby_perl_python_java_smooth.png"><img class="alignnone size-large wp-image-665" title="ruby_perl_python_java_smooth" src="/wp-content/uploads/2011/03/ruby_perl_python_java_smooth-1024x427.png" alt="" width="717" height="299" /></a></p>
<p>Interesting how Ruby seems to be trending down (as normalized against C  searches)<a href="/wp-content/uploads/2011/03/ruby_python_smooth.png"><img class="alignnone size-large wp-image-666" title="ruby_python_smooth" src="/wp-content/uploads/2011/03/ruby_python_smooth-1024x427.png" alt="" width="717" height="299" /></a></p>
<p>another perspective: Google Insights:<br />
<script src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;up__property=empty&amp;up__search_terms=c%7Cjava%7Cruby%7Cperl%7Cpython&amp;up__location=empty&amp;up__category=31&amp;up__time_range=empty&amp;up__compare_to_category=false&amp;synd=open&amp;w=320&amp;h=350&amp;lang=en-US&amp;title=Google+Insights+for+Search&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js" type="text/javascript"></script></p>
<h2>Just for Fun</h2>
<p>here  is how I started my morning, a fun video on Python, that catalyzed the above discussion:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="390" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/g4VigqrwEgI%2Em4v" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="390" src="http://blip.tv/play/g4VigqrwEgI%2Em4v" allowfullscreen="true"></embed></object></p>
<h2>other links</h2>
<p>hello world in different JVM/CLR languages <a href="http://carlosqt.blogspot.com/2010/06/most-active-net-and-jvm-languages.html">http://carlosqt.blogspot.com/2010/06/most-active-net-and-jvm-languages.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=652</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>DB Optimizer diagrams 100 tables</title>
		<link>http://dboptimizer.com/?p=593</link>
		<comments>http://dboptimizer.com/?p=593#comments</comments>
		<pubDate>Sat, 12 Feb 2011 06:20:16 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=593</guid>
		<description><![CDATA[People ask me what the limit is to the number of tables  in a SQL statement  that DB Optimizer can handle when tuning.  Above is a tiny thumbnail for a 100 table SQL statemement. The SQL actually only has a select from one view  but that view expands to 100 different tables. Pretty awesome.]]></description>
			<content:encoded><![CDATA[<p><a href="/wp-content/uploads/2011/02/image001.png"><img class="alignnone size-medium wp-image-594" title="dboptimizer_100_tables" src="/wp-content/uploads/2011/02/image001-300x39.png" alt="" width="300" height="39" /></a></p>
<p>People ask me what the limit is to the number of tables  in a SQL statement  that <a href="http://sites.google.com/site/embtdbo/">DB Optimizer</a> can handle when tuning.  Above is a tiny thumbnail for a 100 table SQL statemement. The SQL actually only has a select from one view  but that view expands to 100 different tables. Pretty awesome.</p>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=593</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redo over multiple weeks</title>
		<link>http://dboptimizer.com/?p=573</link>
		<comments>http://dboptimizer.com/?p=573#comments</comments>
		<pubDate>Thu, 10 Feb 2011 01:21:42 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=573</guid>
		<description><![CDATA[I&#8217;ve always wanted some sort of calendar view of load where I could see patterns across the same days of the week and same hours of the day and then be able to pick different periods and diff them: The first step of such a display would be selecting the data in such a way [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always wanted some sort of calendar view of load where I could see patterns across the same days of the week and same hours of the day and then be able to pick different periods and diff them:</p>
<p><a href="/wp-content/uploads/2011/02/diff_diff_new.png"><img class="alignnone size-medium wp-image-586" title="Diff-Diff" src="/wp-content/uploads/2011/02/diff_diff_new-300x171.png" alt="" width="300" height="171" /></a></p>
<p>The first step of such a display would be selecting the data in such a way to represent the graphic. A graphic should be harder to do than a similar, though less powerful, ascii representation.</p>
<p>So here is a quick sketch of looking at redo generation over time. Right now I have to monitor how well redo can be archived which depends on how it fast it is generated. (typically what I&#8217;m more interested in is the general performance which is what the above graphic addressed)</p>
<p>The output below shows the redo generated per hour on average (picking the maximum hour in the bucket which is 4 hours long below) and the maximum generation at the minute level.  I may or may not be able to archive redo at the up to the minute but I do want to make sure I can keep up with each hour.</p>
<pre>DAY    HOUR  MAX(MB)    w1     w2      w3       w4       w5
SAT     0       9               5       4       4       3
SAT     4       12              4       5       4       4
SAT     8       1               0       0       0       0
SAT     12      0               0       0       0       0
SAT     16      1               0       0       0       0
SAT     20      4               1       0       0       1
SUN     0       10              3       3       1       3
SUN     4       13              6       5       3       5
SUN     8       7               6       6       0       6
SUN     12      7               0       3       0       4
SUN     16      1               0       0       1       0
SUN     20      8               3       2       0       3
MON     0       8               3       2       3       2
MON     4       7               2       3       2       1
MON     8       5               1       0       2       0
MON     12      1               0       0       1       0
MON     16      1               0       0       0       0
MON     20      7               2       2       0       2
TUE     0       14              6       5       7       4
TUE     4       7               1       1       1       2
TUE     8       3               0       0       0       0
TUE     12      1       1       0       0       0       0
TUE     16      1       1       0       0       0       0
TUE     20      3       1       1       1       1       1
WED     0       8       3       2       3       2       2
WED     4       7       2       1       3       2       2
WED     8       8       1       0       0       2       3
WED     12      7       1       0       0       1       1
WED     16      1       1       0       0       0       1
WED     20      4       1       1       1       1       1
THU     0       15      7       8       6       6       6
THU     4       8       2       1       1       1       1
THU     8       1       1       0       0       0       1
THU     12      16      1       11      0       0       1
THU     16      1       1       0       0       0       1
THU     20      4       1       1       1       1       1
FRI     0       11      2       2       2       2       2
FRI     4       8       3       1       1       1       1
FRI     8       4       1       0       0       0       0
</pre>
<pre class="brush:sql gutter: false;" style="padding-left: 30px;">
set heading off
set feedback off
set pagesize 0

with pivot_data as (
   select
          WW pivot_col
        , DY
        , D
        , HH
        , max(maxval) mv
        , max(average) av
   from
      ( select distinct
               begin_time,
               4*trunc(to_char(begin_time,'HH24')/4)     HH,
               to_char(begin_time,'DY')       DY,
               mod(to_char(begin_time,'D'),7)  D,
               mod(to_char(begin_time,'WW'),5)       WW,
               average/(1024*1024) average,
               maxval/(1024*1024) maxval,
               snap_id
        from   DBA_HIST_SYSMETRIC_SUMMARY
        where  dbid=&#038;&#038;DBID and
               metric_name='Redo Generated Per Sec'
	       and begin_time > sysdate - 31
       )
   group by HH,D,DY,WW
)
select DY ||'	'||
       HH ||'	'||
       round(max(mv),0)    ||'	'||
       round(max(w1),0)  ||'	'||
       round(max(w2),0)  ||'	'||
       round(max(w3),0)  ||'	'||
       round(max(w4),0)  ||'	'||
       round(max(w5),0)
from (
   select *
   from  pivot_data
   pivot ( avg(av)
           for pivot_col in ( 1 as w1,2 as w2,3 as w3 ,4 as w4 ,5 as w5 )
         )
)
group by DY,D,HH
order by D,HH
/

set heading on
set feedback on
set pagesize 30
</pre>
<p><HR><br />
PS the above pivot is for 11g, for 10g here is the query without pivot</p>
<pre class="brush:sql gutter: false;" style="padding-left: 30px;">

set pagesize 100
col DY for A4
col HH for 99
col mx for 99
col w1 for 99
col w2 for 99
col w3 for 99
col w4 for 99
col w5 for 99

with pivot_data as (
   select
          WW
        , DY
        , D
        , HH
        , max(maxval) mv
        , max(average) av
   from
      ( select distinct
               begin_time,
               4*trunc(to_char(begin_time,'HH24')/4)     HH,
               to_char(begin_time,'DY')       DY,
               mod(to_char(begin_time,'D'),7)  D,
               mod(to_char(begin_time,'WW'),5)       WW,
               average/(1024*1024) average,
               maxval/(1024*1024) maxval,
               snap_id
        from   DBA_HIST_SYSMETRIC_SUMMARY
        where
               metric_name='Redo Generated Per Sec'
           and begin_time > sysdate - 31
       )
   group by HH,D,DY,WW
)
select DY, HH,
      round(max( mv ),0) mx,
      round(max( decode( WW, 0 , av, null ) ),0) w1,
      round(max( decode( WW, 1 , av, null ) ),0) w2,
      round(max( decode( WW, 2 , av, null ) ),0) w3,
      round(max( decode( WW, 3 , av, null ) ),0) w4,
      round(max( decode( WW, 4 , av, null ) ),0) w5
   from  pivot_data
group by DY,D,HH
order by D,HH
/
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=573</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AAS on AWR</title>
		<link>http://dboptimizer.com/?p=553</link>
		<comments>http://dboptimizer.com/?p=553#comments</comments>
		<pubDate>Wed, 09 Feb 2011 01:02:41 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=553</guid>
		<description><![CDATA[I&#8217;m starting this post as an ongoing discussion of research. Today I received a AWR export and wanted to get a feel for what the load is on the system. I imported the AWR report and then wanted a quick overview, so I put together a script to give the AAS over time divided up [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m starting this post as an ongoing discussion of research.<br />
Today I received a  AWR export and wanted to get a feel for what the load is on the system. I <a href="http://gavinsoorma.com/2009/07/exporting-and-importing-awr-snapshot-data/">imported the AWR report</a>  and then wanted a quick overview, so I put together a script to give the AAS over time divided up as CPU, WAIT and IO. Current drawbacks is that the script uses SYSDATE  which might not be appropriate if the AWR data is from many days ago.<br />
The query seems a bit slow on a month of data, so will be looking at optimizations in the future.<br />
+ = load demanding CPU<br />
o = load waiting for IO to complete<br />
- = load waiting for something like a lock, latch or other resource<br />
the &#8220;8&#8243; in the middle of the line is the # of CPU cores. A system that was a 100% maxed out and not waiting for IO or other resources would have pluses (&#8220;+&#8221;) right up to the number of cores, which is 8 in this case. If the pluses went over the number of cores then there would be contention on CPU resources.</p>
<pre  style="padding-left: 30px;">
TM                  AAS    CPU     IO   WAIT GRAPH
---------------- ------ ------ ------ ------ --------------------------------------------------------------------------------
03-FEB  04:00:00    3.6    1.8    1.8     .1 +++++++++ooooooooo                      8
03-FEB  05:00:00    4.1    1.9    2.1     .1 ++++++++++oooooooooo-                   8
03-FEB  06:00:00    5.1    2.8    1.9     .3 ++++++++++++++oooooooooo--              8
03-FEB  07:00:00    5.2    2.6    2.2     .3 +++++++++++++ooooooooooo--              8
03-FEB  08:00:00    5.9    3.0    2.6     .2 +++++++++++++++ooooooooooooo-           8
03-FEB  09:00:00    6.3    3.2    2.8     .3 ++++++++++++++++oooooooooooooo--        8
03-FEB  10:00:00    6.3    3.0    2.9     .3 +++++++++++++++ooooooooooooooo--        8
03-FEB  11:00:00    5.5    2.9    2.5     .2 ++++++++++++++oooooooooooo-             8
03-FEB  12:00:00    5.3    2.6    2.5     .2 +++++++++++++ooooooooooooo-             8
03-FEB  13:00:00    5.4    2.7    2.4     .3 +++++++++++++oooooooooooo-              8
03-FEB  14:00:00    5.5    2.8    2.4     .3 ++++++++++++++oooooooooooo-             8
03-FEB  15:00:00    6.1    2.8    3.1     .2 ++++++++++++++ooooooooooooooo-          8
03-FEB  16:00:00    6.3    3.1    3.0     .2 +++++++++++++++ooooooooooooooo-         8
03-FEB  17:00:00    5.6    2.7    2.6     .2 ++++++++++++++ooooooooooooo-            8
03-FEB  18:00:00    3.4    2.1    1.1     .1 +++++++++++oooooo-                      8
03-FEB  19:00:00    4.7    2.5    1.6     .6 +++++++++++++oooooooo---                8
03-FEB  20:00:00    4.7    2.8    1.8     .1 ++++++++++++++ooooooooo                 8
03-FEB  21:00:00    7.3    3.6    3.3     .4 ++++++++++++++++++ooooooooooooooooo--   8
03-FEB  22:00:00   19.2    6.4   11.5    1.2 ++++++++++++++++++++++++++++++++oooooooo8ooooooooooooooooooooooooooooooooooooooo
03-FEB  23:00:00   12.7    5.2    7.1     .5 ++++++++++++++++++++++++++oooooooooooooo8oooooooooooooooooooooo--
04-FEB  00:00:00   11.1    4.5    6.3     .3 ++++++++++++++++++++++oooooooooooooooooo8oooooooooooooo--
04-FEB  01:00:00   12.8    4.3    5.9    2.6 ++++++++++++++++++++++oooooooooooooooooo8oooooooooooo-------------
04-FEB  02:00:00    4.2    2.5    1.6     .1 ++++++++++++oooooooo                    8
04-FEB  03:00:00    2.1    1.3     .7     .1 +++++++ooo                              8
04-FEB  04:00:00    2.1    1.3     .9     .0 ++++++oooo                              8
04-FEB  05:00:00    2.3    1.2    1.0     .1 ++++++ooooo                             8
04-FEB  06:00:00    3.7    2.5    1.0     .2 +++++++++++++ooooo-                     8
</pre>
<pre class="brush:sql gutter: false;" style="padding-left: 30px;">

Def v_days=10   -- amount of days to cover in report
Def v_secs=3600 -- size of bucket in seconds, ie one row represents avg over this interval
Def v_bars=5    -- size of one AAS in characters wide
Def v_graph=80  -- width of graph in characters

undef DBID
col graph format a&#038;v_graph
col aas format 999.9
col total format 99999
col npts format 99999
col wait for 999.9
col cpu for 999.9
col io for 999.9

/* dba_hist_active_sess_history */

select
        to_char(to_date(tday||' '||tmod*&#038;v_secs,'YYMMDD SSSSS'),'DD-MON  HH24:MI:SS') tm,
        --samples npts,
        round(total/&#038;v_secs,1) aas,
        round(cpu/&#038;v_secs,1) cpu,
        round(io/&#038;v_secs,1) io,
        round(waits/&#038;v_secs,1) wait,
	-- substr, ie trunc, the whole graph to make sure it doesn't overflow
        substr(
	   -- substr, ie trunc, the graph below the # of CPU cores line
           -- draw the whole graph and trunc at # of cores line
	   substr(
	     rpad('+',round((cpu*&#038;v_bars)/&#038;v_secs),'+') ||
             rpad('o',round((io*&#038;v_bars)/&#038;v_secs),'o')  ||
             rpad('-',round((waits*&#038;v_bars)/&#038;v_secs),'-')  ||
             rpad(' ',p.value * &#038;v_bars,' '),0,(p.value * &#038;v_bars)) ||
        p.value  ||
	   -- draw the whole graph, then cut off the amount we drew before the # of cores
           substr(
	     rpad('+',round((cpu*&#038;v_bars)/&#038;v_secs),'+') ||
             rpad('o',round((io*&#038;v_bars)/&#038;v_secs),'o')  ||
             rpad('-',round((waits*&#038;v_bars)/&#038;v_secs),'-')  ||
             rpad(' ',p.value * &#038;v_bars,' '),(p.value * &#038;v_bars),( &#038;v_graph-&#038;v_bars*p.value) )
        ,0,&#038;v_graph)
        graph
from (
   select
       to_char(sample_time,'YYMMDD')                   tday
     , trunc(to_char(sample_time,'SSSSS')/&#038;v_secs) tmod
     , (max(sample_id) - min(sample_id) + 1 )      samples
     , sum(decode(session_state,'ON CPU',10,decode(session_type,'BACKGROUND',0,10)))  total
     , sum(decode(session_state,'ON CPU' ,10,0))    cpu
     , sum(decode(session_state,'WAITING',10,0)) -
       sum(decode(session_type,'BACKGROUND',decode(session_state,'WAITING',10,0)))    -
       sum(decode(event,'db file sequential read',10,
                        'db file scattered read',10,
                        'db file parallel read',10,
                        'direct path read',10,
                        'direct path read temp',10,
                        'direct path write',10,
                        'direct path write temp',10, 0)) waits
     , sum(decode(session_type,'FOREGROUND',
		 decode(event,'db file sequential read',10,
                                  'db file scattered read',10,
                                  'db file parallel read',10,
                                  'direct path read',10,
                                  'direct path read temp',10,
                                  'direct path write',10,
                                  'direct path write temp',10, 0))) IO
       /* for waits I want to subtract out the BACKGROUND
          but for CPU I want to count everyone */
   from
      dba_hist_active_sess_history
   where sample_time > sysdate - &#038;v_days
   and dbid=&#038;&#038;DBID
   and sample_time < (select min(sample_time) from v$active_session_history)
   group by  trunc(to_char(sample_time,'SSSSS')/&#038;v_secs),
             to_char(sample_time,'YYMMDD')
) ash,
  ( select  value from dba_hist_parameter where DBID=&#038;&#038;DBID and parameter_name='cpu_count' and rownum < 2 ) p
order by to_date(tday||' '||tmod*&#038;v_secs,'YYMMDD SSSSS')
/
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=553</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Information is Beautiful</title>
		<link>http://dboptimizer.com/?p=514</link>
		<comments>http://dboptimizer.com/?p=514#comments</comments>
		<pubDate>Wed, 26 Jan 2011 06:22:25 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=514</guid>
		<description><![CDATA[It&#8217;s fun to see how graphics are evolving. The title of this post is from one of my favorite blogs Information is Beautiful along with a similar blog information aesthetics. Above from left to right are My Linkedin network Population migration Race and Ethnicity map of Washington DC I just like them for the way [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://inmaps.linkedinlabs.com/"><img class="alignnone size-medium wp-image-501" title="linkedinpng" src="/wp-content/uploads/2011/01/linkedinpng-300x229.png" alt="" width="200" height="200" /></a><img src="http://farm2.static.flickr.com/1332/1315623428_792528a834_s.jpg" alt="" width="5" height="200" /><img class="alignnone size-medium wp-image-502" title="Flowstrates3" src="/wp-content/uploads/2011/01/Flowstrates3-300x164.png" alt="" width="200" height="200" /><img src="http://farm2.static.flickr.com/1332/1315623428_792528a834_s.jpg" alt="" width="5" height="200" /><a href="http://www.flickr.com/photos/walkingsf/4981417821"><img class="alignnone size-medium wp-image-500" title="flick_walkingsf" src="/wp-content/uploads/2011/01/flick_walkingsf-300x300.jpg" alt="" width="200" height="200" /></a></p>
<p>It&#8217;s fun to see how graphics are evolving.</p>
<p>The title of this post is from one of my favorite blogs <a href="http://www.informationisbeautiful.net/">Information is Beautiful </a>along with a similar blog <a accesskey="1" href="http://infosthetics.com/">information aesthetics.</a></p>
<p>Above from left to right are</p>
<ul>
<li><a href="http://farm6.static.flickr.com/5100/5389191586_9cc730113b_b.jpg">My Linkedin network</a></li>
<li><a href="http://jflowmap.googlecode.com/svn/wiki/images/flowstrates/Flowstrates3.png">Population migration</a></li>
<li><a href="http://www.flickr.com/photos/walkingsf/4981417821">Race and Ethnicity map of Washington DC</a></li>
</ul>
<p>I just like them for the way the display information. I&#8217;m more interested in systems performance data but I like these visualizations</p>
<p>The <a href="http://inmaps.linkedinlabs.com/">Linkedin visualization</a> has roots in <a href="http://code.google.com/p/jflowmap/">jflowmap</a> which is used to display the second graphic. The  third graphic is from a <a href="http://www.flickr.com/photos/walkingsf/">contact on flickr</a> who I think is doing interesting displays with geodata.</p>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=514</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best Oracle Peformance Tools?</title>
		<link>http://dboptimizer.com/?p=460</link>
		<comments>http://dboptimizer.com/?p=460#comments</comments>
		<pubDate>Wed, 12 Jan 2011 18:57:01 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=460</guid>
		<description><![CDATA[What tools do you use? What are your favorites and why? As someone who has been working  Oracle performance tools for the last 15 years, I&#8217;m always interested in what the best tools are.  Here is my list of tools that I&#8217;m aware of (what other tools are out there?) price would I use it [...]]]></description>
			<content:encoded><![CDATA[<p>What tools do you use? What are your favorites and why? As someone who has been working  Oracle performance tools for the last 15 years, I&#8217;m always interested in what the best tools are.  Here is my list of tools that I&#8217;m aware of (what other tools are out there?)</p>
<table border="0" cellspacing="0" cellpadding="0" width="608">
<col width="19"></col>
<col width="101"></col>
<col width="92"></col>
<col width="28"></col>
<col width="34"></col>
<col width="45"></col>
<col width="34"></col>
<col width="255"></col>
<tbody>
<tr height="62">
<td width="19" height="62"></td>
<td width="101"></td>
<td width="92">price</td>
<td width="28">would<br />
I use<br />
it ?</td>
<td width="34">db perf</td>
<td width="45">multi-db</td>
<td width="34">sql tune</td>
<td width="255">notes</td>
</tr>
<tr height="19">
<td colspan="2" width="120" height="19">Specialty</td>
<td width="92"></td>
<td width="28"></td>
<td width="34"></td>
<td width="45"></td>
<td width="34"></td>
<td width="255"></td>
</tr>
<tr height="21">
<td width="19" height="21"></td>
<td width="101"><a href="http://www.oracledba.ru/orasrp/">orasrp</a></td>
<td width="92">free</td>
<td width="28">yes</td>
<td width="34"></td>
<td width="45"></td>
<td width="34"></td>
<td width="255">sql trace analyzer</td>
</tr>
<tr height="22">
<td width="19" height="22"></td>
<td width="101"><a href="http://www.tanelpoder.com/files/scripts/snapper.sql">snapper</a></td>
<td width="92">free</td>
<td width="28">yes</td>
<td width="34">x</td>
<td width="45"></td>
<td width="34"></td>
<td width="255">command line performance  analysis</td>
</tr>
<tr height="22">
<td width="19" height="22"></td>
<td width="101">hotsos tools</td>
<td width="92">??</td>
<td width="28"></td>
<td width="34"></td>
<td width="45"></td>
<td width="34"></td>
<td width="255">sql trace analyzer, other stuff</td>
</tr>
<tr height="20">
<td colspan="2" height="20">DBA</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr height="40">
<td height="40"></td>
<td width="101"><a href="http://timurakhmadeev.wordpress.com/2010/02/18/ash-viewer/">Ashviewer</a></td>
<td width="92">free</td>
<td>yes</td>
<td></td>
<td></td>
<td></td>
<td width="255">collects ASH data itself or uses<br />
v$active_session_history &#8211; pretty cool</td>
</tr>
<tr height="40">
<td height="40"></td>
<td width="101"><a href="http://ashmasters.com/ash-tools/">ASHMon</a></td>
<td width="92">free</td>
<td>yes</td>
<td></td>
<td></td>
<td></td>
<td width="255">reads ASH data (requires   license) unless <a href="http://ashmasters.com/ash-simulation/">SASH </a>is installed and pointed to</td>
</tr>
<tr height="40">
<td height="40"></td>
<td width="101"><a href="http://www.myorasql.com/">MyOra</a></td>
<td width="92">free</td>
<td></td>
<td>x</td>
<td>x</td>
<td></td>
<td width="255">Never tried it. Looks fast and covers broad functionalitybut UI looks busy</td>
</tr>
<tr height="20">
<td height="20"></td>
<td><a href="http://marcusmonnig.wordpress.com/">Mumbai</a></td>
<td>free</td>
<td>yes</td>
<td>x</td>
<td></td>
<td></td>
<td width="255">integrates snapper and orasrp</td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Richmon</td>
<td>free</td>
<td></td>
<td>x</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td><a href="http://www.lab128.com/">Lab128</a></td>
<td>$500/seat</td>
<td>yes</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td><a href="http://sites.google.com/site/embtdbo/">DB Optimizer</a></td>
<td>$1500/seat</td>
<td>yes</td>
<td>x</td>
<td></td>
<td>x</td>
<td>visual sql tuning diagrams</td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Quest Spotlight</td>
<td>$1000/cpu</td>
<td></td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr height="40">
<td height="40"></td>
<td width="101">Quest SQL Optimizer</td>
<td>$1690/seat</td>
<td></td>
<td></td>
<td></td>
<td>x</td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td colspan="2" height="20">Enterprise</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr height="60">
<td height="60"></td>
<td width="101">Quest Performance Analyzer</td>
<td>$3000/cpu</td>
<td>yes</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr height="40">
<td height="40"></td>
<td width="101">Oracle Diag Pack</td>
<td>$5000/cpu</td>
<td>yes</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr height="40">
<td height="40"></td>
<td width="101">Oracle SQL Tuning Pack</td>
<td>$5000/cpu</td>
<td></td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Confio ignite</td>
<td>$1500/core?</td>
<td></td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Precise Indepth I3</td>
<td>$2000/cpu?</td>
<td></td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td colspan="2" height="20">other stuff</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td colspan="2">fourth elephant</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td>DBtuna</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>(some of the prices I got off of programmers paradise, others are word of mouth, so any clarifications on prices would be appreciated)</p>
<p>The tools marked &#8220;yes&#8221; are ones that I use or would use.  I would use Quest&#8217;s Performance Analyzer given the chance. I&#8217;ve never used it but from the demos of the tool, I like what I see.  I have never used Mumbai, but plan to and like again what I see in the demos.</p>
<p>All the other tools marked &#8220;yes&#8221; I use.</p>
<p>All the tools except &#8220;other stuff&#8221;, I consider reasonable tools for one job or another. Some are better than others in different ways. The &#8220;other stuff&#8221; tools I don&#8217;t see much point in.</p>
<p>I generally consider OEM with diagnostic pack too expensive and slow, but hey, if customers have it, I&#8217;ll use it ! (I better like it as I designed the performance page and top activity page ) Plus diag pack comes with v$active_session_history and all of AWR which I can query directly with OEM.</p>
<p>I tried to design &#8220;DB Optimizer&#8221; to be simple to install on my laptop and just point at databases and immediately start monitoring and tuning.  The biggest advantage of &#8220;DB Optimizer&#8221; over other tools, for me, is the  Visual SQL Tuning diagrams.  Other nice features are being able to load test code by multiple concurrent sessions.  With concurrent sessions running code examples, I can easily demonstrate issues that arise in the database with the profiling page.</p>
<p>But for absolute ease of install and speed, I have to hand it to Lab128. Lab128 runs fast, runs it&#8217;s own ASH collection (which doesn&#8217;t require diag pack) and has the option to read v$active_session_history as well.</p>
<p>Though Lab128 is fast, collects ASH info and can monitor multiple databases simultaneously for days on end, it still doesn&#8217;t allow me a real easily accessible centralized database of performance data. That&#8217;s why I created &#8220;S-ASH&#8221; which can collect ASH data from multiple databases into a central repository where I can run analytic queries or visualize it with ASHMon.</p>
<p>ASHMon and  S-ASH are still rough pieces of code as I spent the last 3 years working solely on DB-Optimizer.</p>
<hr />Script libraries</p>
<p><a href="https://docs.google.com/leaf?id=0B5H46jS7ZPdJMDEyMmYyYjEtZDA2MC00NWRlLWIzMWYtMWQyZDlmYTA5YWM1&amp;hl=en&amp;pli=1">Karl Arao </a><br />
<a href="http://www.evdbt.com/tools.htm">Tim Gorman</a></p>
<hr />I&#8217;m not so much addressing alerting systems or general NOC montioring systems but those are of interest as well.<br />
<a href="https://code.bluegecko.net/wiki/Monocle">Monicle </a><br />
Big Brother http://bb4.com/<br />
Big Sister<br />
Xymon<br />
Nagios http://www.nagios.org</p>
<p>http://www.groundworkopensource.com</p>
<p>http://www.zenoss.com</p>
<p>Ganglia</p>
<hr />Other stuff</p>
<p><a href="http://www.oaktable.net/sites/default/files/new_treeview.zip.doc">10053 Viewer </a>(replace .doc with .zip and unzip)</p>
<p><a href="http://www.adellera.it/blog/2009/08/07/xplan-20/">xplan </a><a rel="nofollow" href="http://www.adellera.it/blog/2009/08/07/xplan-20/"></a> &#8211; extend explain plan info from Alberto Dell Era</p>
<p><a href="http://blog.tanelpoder.com/?s=latchprof++latchprofx">latchprof </a>- Tanel&#8217;s latch collection query</p>
<p><a href="http://www.tanelpoder.com/files/scripts/waitprof.sql">waitprof </a>- Tanel&#8217;s wait collection query</p>
<p><a href="http://antognini.ch/category/apmtools/tvdxtat/">tvdxstat </a>- Trivadis Extended Tracefile Analysis Tool</p>
<p><a href="http://www.spviewer.com/">spviewer</a> this looks interesting for statspack/AWR viewing and comparison</p>
<p><a href="http://www.enteros.com/">enteros</a> does some statspack/AWR trending and other monitoring</p>
<p>I wonder how many smaller companies are out there with Oracle monitoring tools.</p>
<hr />Question &#8211; how do you graph data from Grid Control and DB Control? Some nice links from Karl Arao:</p>
<div><a href="http://www.pythian.com/documents/ExtendingOracleEnterpriseManager10g.pdf" target="_blank">http://www.pythian.com/documents/ExtendingOracleEnterpriseManager10g.pdf</a></div>
<div><a href="http://jhdba.wordpress.com/2010/09/03/using-grid-to-display-database-cpu-usage/" target="_blank">http://jhdba.wordpress.com/2010/09/03/using-grid-to-display-database-cpu-usage/</a></div>
<div><a href="http://jhdba.wordpress.com/2010/06/21/producing-a-grid-report/" target="_blank">http://jhdba.wordpress.com/2010/06/21/producing-a-grid-report/</a></div>
<div><a href="http://oracleobserver.com/?q=node/23" target="_blank">http://oracleobserver.com/?q=node/23</a></div>
<div><a href="http://lianggang.wordpress.com/category/grid-control/" target="_blank">http://lianggang.wordpress.com/category/grid-control/</a></div>
<div><a href="http://coskan.wordpress.com/2009/06/11/how-to-use-sysman-schema-without-em/" target="_blank">http://coskan.wordpress.com/2009/06/11/how-to-use-sysman-schema-without-em/</a></div>
<div><a href="http://karlarao.tiddlyspot.com/#[[Performance%20Formulas]]">http://karlarao.tiddlyspot.com/#[[Performance%20Formulas]]</a></div>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=460</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>New Year &#8211; New Look on WordPress</title>
		<link>http://dboptimizer.com/?p=452</link>
		<comments>http://dboptimizer.com/?p=452#comments</comments>
		<pubDate>Tue, 11 Jan 2011 20:59:29 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=452</guid>
		<description><![CDATA[Ringing in the new year with a new look on wordpress. WordPress offers me better aesthetic possibilities and customization options than blogspot.  Blogspot was great to get started fast.  Fast believe it or not has more appeal to me than aesthetics. Aesthetics, graphics and design are super important to me, so once I  have something [...]]]></description>
			<content:encoded><![CDATA[<p>Ringing in the new year with a new look on wordpress. WordPress offers me better aesthetic possibilities and customization options than blogspot.  Blogspot was great to get started fast.  Fast believe it or not has more appeal to me than aesthetics. Aesthetics, graphics and design are super important to me, so once I  have something working and have the time I then  want to spend some time improving it&#8217;s look and feel, but really the technology, functionality and easy of creation are the first and foremost.</p>
<p>Thanks to Tanel Poder and Greg Rahn  for the template idea and for tweaks in the wordpress theme. The theme was tweaked by Greg and then repurposed by Tanel who help me get a copy and then get started.</p>
<p>For plugins, I used</p>
<ul>
<li>Blogger Importer &#8211; import blogspot posts and comments</li>
<li>SBS Blogroll &#8211; for  blogspot type blogroll (I tweaked the code to be able to change the title of people&#8217;s blogs)</li>
<li>amr shortcode any widget &#8211; to put blogroll on it&#8217;s own page</li>
<li>SyntaxHighlighter Evolved &#8211; for marking up SQL code (as well as other code)</li>
<li>W3 Total Cache &#8211; improve load times</li>
<li>Akismet &#8211; anti spam</li>
<li>Google Analytics for WordPress</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=452</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exponental Learning and Mumbai</title>
		<link>http://dboptimizer.com/?p=449</link>
		<comments>http://dboptimizer.com/?p=449#comments</comments>
		<pubDate>Tue, 11 Jan 2011 05:48:47 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=449</guid>
		<description><![CDATA[Many of my endeavors have been accelerated tremendously by networks of friends and acquaintances I have. One group of acquaintances and friends is the members of the Oaktable who have from time to time accelerated my projects by their answers, advice and feedback. For example, back when I wrote a program to directly read Oracle&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Many of my endeavors have been accelerated tremendously by networks of friends and acquaintances I have. One group of acquaintances and friends is the members of the Oaktable who have from time to time accelerated my projects by their answers, advice and feedback. For example, back when I wrote a program to directly read Oracle&#8217;s SGA memory, many people added bits and pieces that kept me on track. I orignally was just dumping memory and looking at the contents when someone pointed me to James Morles work in the area and James pointed me to Jonathan Lewis&#8217;s discovery of an offset table etc etc.</p>
<p>Such accelerated learning has been outlined in the book the &#8220;<a href="http://www.amazon.com/Power-Pull-Smartly-Things-Motion/dp/0465019358">Power of Pull</a>&#8221; by John Hagel III , John Seely Brown and Lang Davison.</p>
<p>An individual or even a fixed team will have at in general linear output when things are going well, but when different  groups  and far flung individuals work together in tight feedback loops, output, learning and creation can accellerate.</p>
<p>The acceleration is happening more and more with the communication and collaboration that is enables and facilitated by the web.</p>
<p>This collaborative tight feedback loop is what I want to see happen in the database performance tuning arena  and graphical monitoring and what I think I see the beginnings of in <a href="http://marcusmonnig.wordpress.com/"> Marcus Mönnig&#8217;s Mumbai tool</a>. Marcus creates his own Oracle database tuning tool but also pulls in the work of <a href="http://www.tanelpoder.com/files/scripts/snapper.sql">Tanel Poder&#8217;s Snapper</a> package and Egor Starostin <a href="http://blog.oracledba.ru/">Orasrp</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=449</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why did Google succeed? Yahoo shuts altavista down</title>
		<link>http://dboptimizer.com/?p=431</link>
		<comments>http://dboptimizer.com/?p=431#comments</comments>
		<pubDate>Fri, 07 Jan 2011 04:48:04 +0000</pubDate>
		<dc:creator>Kyle Hailey</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dboptimizer.com/?p=431</guid>
		<description><![CDATA[Yahoo is shutting Altavista down Dan Rosensweig former COO at Yahoo responding to the question: Why did Google succeed in search over Yahoo? We were many things to many people. They were one great thing to everybody Sometimes it's just what you believe in. It's how the question get's phrased. When I came to yahoo [...]]]></description>
			<content:encoded><![CDATA[<p>Yahoo is shutting <a href="http://online.wsj.com/article/SB10001424052748703395204576024024258782758.html">Altavista down</a></p>
<p>Dan Rosensweig former COO at Yahoo responding to the question: Why did Google succeed in search over Yahoo?</p>
<pre><strong>We were many things to many people.
They were one great thing to everybody</strong>
Sometimes it's just what you believe in.
It's how the question get's phrased.
When I came to yahoo people were not interested
in investing in search because there was no way
to make money.
...
Google didn't care about making money
They cared about improving peoples ability to search
and they were originally going to be enterprise.
Yahoo was actually using their search engine.
Then something happened.
Somebody created a business model around search.
To get around patents Google improved on Overtures business model.
The logic [Yahoo] had was you bid the most you come up first.
It was sort of self policing.
Why would you bid the most to come up first
if you weren't the most relevant?
Google figured something out.
It's not who bids the most,
its how you generate the most amount of value
off each click.
Its a combination of location and price and click through.
That enabled them to make more money on every click
than we did which allowed them to  invest a lot more money in increased
monetization engines and then buy distribution.
They could buy distribution at half the cost that we could
or a third the cost that we could.
Here we were as a public company trying to balance multiple
businesses and they were focused on one
and they were making more money on every click
and they were able to run the table successfully in search.</pre>
<p>Why do companies succeed? Big question with lots of answers.<br />
Google and the mass media seem to propagate the story that Google&#8217;s search is better and that&#8217;s why Google won. Clean and simple. Black and white. People like black and white, but the story is more complicated than that. The search space was competitive when Google came on the scene. I personally used Altavista before Google came one the scene and well after. I compared many of the search results and I was always impressed with Altavista. Google finally won my heart when the came out with maps.google.com. The simple map interface was so logical and so simple that it put mapquest to shame for good reason.</p>
<p>But the story of search much more complicated and interesting. For more reading check out </p>
<p>http://www.searchenginehistory.com/</p>
]]></content:encoded>
			<wfw:commentRss>http://dboptimizer.com/?feed=rss2&#038;p=431</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/


Served from: dboptimizer.com @ 2011-04-07 01:35:44 -->