<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Doug's Oracle Blog (Entries tagged as Fun)</title>
    <link>http://oracledoug.com/serendipity/</link>
    <description></description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:doug@oracledoug.com" />
    <generator>Serendipity 1.5.2 - http://www.s9y.org/</generator>
    <managingEditor>Doug Burns</managingEditor>
<webMaster>Doug Burns</webMaster>
<pubDate>Thu, 11 Jun 2009 02:32:47 GMT</pubDate>

    <image>
        <url>http://oracledoug.com/serendipity/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Doug's Oracle Blog - </title>
        <link>http://oracledoug.com/serendipity/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>How to generate more Logical Reads</title>
    <link>http://oracledoug.com/serendipity/index.php?/archives/1490-How-to-generate-more-Logical-Reads.html</link>
    
    <comments>http://oracledoug.com/serendipity/index.php?/archives/1490-How-to-generate-more-Logical-Reads.html#comments</comments>
    <wfw:comment>http://oracledoug.com/serendipity/wfwcomment.php?cid=1490</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://oracledoug.com/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=1490</wfw:commentRss>
    

    <author>dougburns@yahoo.com (Doug Burns)</author>
    <content:encoded>
    (With my tongue starting to feel a little tired ...)&lt;br /&gt;&lt;br /&gt;Mmmm, there’s a table that the application is accessing extremely frequently, called R_DUMMY. I wonder what data it contains?&lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;SQL&amp;gt; SELECT dummy_key FROM r_dummy;

DUMMY
-----
DUMMY&lt;/pre&gt;&lt;br /&gt;Mmmm, that looks familiar, doesn’t it? It’s almost like the DUAL table, isn’t it?
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.oracle-developer.net/display.php?id=315&quot;&gt;FAST DUAL optimisation&lt;/a&gt;? We don’t need no stinkin’ FAST DUAL optimisation.&lt;br /&gt;&lt;br /&gt;Sigh.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 22 Apr 2009 13:30:00 +0100</pubDate>
    <guid isPermaLink="false">http://oracledoug.com/serendipity/index.php?/archives/1490-guid.html</guid>
    <category>Fun</category>

</item>
<item>
    <title>How to induce log file sync waits</title>
    <link>http://oracledoug.com/serendipity/index.php?/archives/1489-How-to-induce-log-file-sync-waits.html</link>
    
    <comments>http://oracledoug.com/serendipity/index.php?/archives/1489-How-to-induce-log-file-sync-waits.html#comments</comments>
    <wfw:comment>http://oracledoug.com/serendipity/wfwcomment.php?cid=1489</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://oracledoug.com/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=1489</wfw:commentRss>
    

    <author>dougburns@yahoo.com (Doug Burns)</author>
    <content:encoded>
    (With my tongue causing a minor gash on the inside of my cheek ....)&lt;br /&gt;&lt;br /&gt;I&#039;m working on an application that seems to suffer constant long waits on log file parallel write and, consequently, log file sync. I thought that the 54 ms log file parallel writes where just typical of an early 90s disk configuration, with each file type on a discrete drive, all attached to the same controller and it was timely, given &lt;a href=&quot;http://carymillsap.blogspot.com/2009/04/what-would-you-do-with-8-disks.html&quot;&gt;a blog post I read recently&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But no, let&#039;s not just slow up the I/O, let&#039;s make sure we generate lots of it! I noticed that these two procedures were some of the most frequently executed.&lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;PROCEDURE RL_addLock (
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockEntity IN d000m.lock_entity_no%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockEntityKey IN d000m.lock_entity_key%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockProfileId IN d000m.lock_profile_id%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockSessionNo IN d000m.lock_session_no%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockOperatorId IN d000m.lock_operator_id%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockTaskId IN d000m.lock_task_id%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockDate IN d000m.lock_date%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockTime IN d000m.lock_time%TYPE
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )
IS
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; INSERT INTO d000m
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; VALUES (lockEntity,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockEntityKey,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockProfileId,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockSessionNo,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockOperatorId,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockTaskId,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockDate,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockTime
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; COMMIT;
EXCEPTION
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WHEN DUP_VAL_ON_INDEX THEN
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ROLLBACK;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END;
END;
/

PROCEDURE RL_delLock (
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockEntity IN d000m.lock_entity_no%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockEntityKey IN d000m.lock_entity_key%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockProfileId IN d000m.lock_profile_id%TYPE,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lockSessionNo IN d000m.lock_session_no%TYPE
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )
IS
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DELETE FROM d000m
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WHERE lock_entity_no = lockEntity
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; AND lock_entity_key = lockEntityKey
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; AND lock_profile_id = lockProfileId
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; AND lock_session_no = lockSessionNo;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; COMMIT;
EXCEPTION
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WHEN NO_DATA_FOUND THEN
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ROLLBACK;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END;
END;
/&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Excellent. Yet another developer implementing their own locking architecture, presumably to make their application database independent. Yes, it is common, but having just moaned about this kind of thing in the footnote to &lt;a href=&quot;http://oracledoug.com/serendipity/index.php?/archives/1477-Diagnosing-Locking-Problems-using-ASH-Part-1.html&quot;&gt;a previous blog post&lt;/a&gt; ...&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&amp;quot;Why am I still seeing locking problems? I think it&#039;s
because I often have to support Third-Party &amp;quot;Database-independent&amp;quot;
(yuck!) applications, some of which insist on implementing their own
locking mechanisms. Sigh.&amp;quot;&lt;/em&gt;&lt;br /&gt;...this one sent me over the edge.&lt;br /&gt; 
    </content:encoded>

    <pubDate>Wed, 22 Apr 2009 02:24:32 +0100</pubDate>
    <guid isPermaLink="false">http://oracledoug.com/serendipity/index.php?/archives/1489-guid.html</guid>
    <category>Fun</category>

</item>
<item>
    <title>&quot;People like to have one number they can believe in.&quot;</title>
    <link>http://oracledoug.com/serendipity/index.php?/archives/1472-People-like-to-have-one-number-they-can-believe-in..html</link>
    
    <comments>http://oracledoug.com/serendipity/index.php?/archives/1472-People-like-to-have-one-number-they-can-believe-in..html#comments</comments>
    <wfw:comment>http://oracledoug.com/serendipity/wfwcomment.php?cid=1472</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://oracledoug.com/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=1472</wfw:commentRss>
    

    <author>dougburns@yahoo.com (Doug Burns)</author>
    <content:encoded>
    I love &lt;a href=&quot;http://www.nytimes.com/2009/01/04/magazine/04risk-t.html&quot;&gt;this article&lt;/a&gt; that I found via &lt;a href=&quot;http://gregpavlik.blogspot.com/2009/02/value-at-risk.html&quot;&gt;Greg Plavik&#039;s blog&lt;/a&gt;. Not being a financial risk management expert means that I can&#039;t claim whether it&#039;s right or wrong, but I found it interesting.&lt;br /&gt;&lt;br /&gt;Why I mention it on this blog is that I spent almost the entire time reading it thinking that the writer could have been talking about IT in general and Oracle performance in particular. That quote above is one of dozens I could have plucked out and reminded me of &lt;a href=&quot;http://oracledoug.com/serendipity/index.php?/archives/1302-Oracle-Workload-Metrics.html&quot;&gt;an old blog post&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;It&#039;s a long article, but read it and see what you think.&lt;br /&gt; 
    </content:encoded>

    <pubDate>Thu, 26 Feb 2009 04:41:08 +0000</pubDate>
    <guid isPermaLink="false">http://oracledoug.com/serendipity/index.php?/archives/1472-guid.html</guid>
    <category>Fun</category>

</item>
<item>
    <title>A Miracle Masterclass ...</title>
    <link>http://oracledoug.com/serendipity/index.php?/archives/1442-A-Miracle-Masterclass-....html</link>
    
    <comments>http://oracledoug.com/serendipity/index.php?/archives/1442-A-Miracle-Masterclass-....html#comments</comments>
    <wfw:comment>http://oracledoug.com/serendipity/wfwcomment.php?cid=1442</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://oracledoug.com/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=1442</wfw:commentRss>
    

    <author>dougburns@yahoo.com (Doug Burns)</author>
    <content:encoded>
    .... in promotion. &lt;br /&gt;&lt;br /&gt;Not for Miracle the bland pen, or notebook or bouncy ball. Oh, no, tattoos are the future! (Thanks to Tim Hall for modelling it)&lt;br /&gt;&lt;br /&gt;&lt;!-- s9ymdb:179 --&gt;&lt;img height=&quot;480&quot; width=&quot;640&quot; src=&quot;http://oracledoug.com/serendipity/uploads/miracletattoo.jpg&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; alt=&quot;&quot;  /&gt;&lt;br /&gt; 
    </content:encoded>

    <pubDate>Wed, 24 Sep 2008 21:17:06 +0100</pubDate>
    <guid isPermaLink="false">http://oracledoug.com/serendipity/index.php?/archives/1442-guid.html</guid>
    <category>Fun</category>

</item>
<item>
    <title>bstat/estat Fun</title>
    <link>http://oracledoug.com/serendipity/index.php?/archives/1398-bstatestat-Fun.html</link>
    
    <comments>http://oracledoug.com/serendipity/index.php?/archives/1398-bstatestat-Fun.html#comments</comments>
    <wfw:comment>http://oracledoug.com/serendipity/wfwcomment.php?cid=1398</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://oracledoug.com/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=1398</wfw:commentRss>
    

    <author>dougburns@yahoo.com (Doug Burns)</author>
    <content:encoded>
    I&#039;ve been playing around with utlbstat.sql/utlestat.sql, only briefly I should add, for a short section on the history of Oracle&#039;s performance tuning utilities and I noticed a couple of things that tickled me enough to blog about them.&lt;br /&gt;&lt;br /&gt;First, as the scripts output the comments, I noticed that quite a few of the updates to these scripts have been made by familiar names. Here are a few examples I&#039;ve snipped out.&lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;SQL&amp;gt; Rem        cdialeri        01/02/01  - 891059: SQL*Plus compat, 1566460: connect /
SQL&amp;gt; Rem        khailey 03/15/99 -  594266: Correct per logon stats, add fstat fields
SQL&amp;gt; Rem        akolk   08/09/96 -  #387757: fix latch hitratios
SQL&amp;gt; Rem        drady   09/09/93 -  merge changes from branch 1.1.312.2&lt;/pre&gt;&lt;br /&gt;
Oak Table Network members, all. So, there you go, another possible path to membership is to have worked on bstat/estat &lt;img src=&quot;http://oracledoug.com/serendipity/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Then I noticed a bug in the scripts as supplied with 10.2.0.4! (Not sure I have to be that specific about the version here) The fact that the 10g version of V$SESSION contains wait event information leads to the following bug.&lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;SQL&amp;gt; insert into stats$begin_bck_event
  2    select event, sum(total_waits), sum(time_waited)
  3      from v$session s, v$session_event e
  4      where type = &#039;BACKGROUND&#039; and s.sid = e.sid
  5      group by event;
    group by event
             *
ERROR at line 5:
ORA-00918: column ambiguously defined&lt;/pre&gt;&lt;br /&gt;Do you think I should file a bug report? I wonder what priority 10g bstat/estat bug-fixes have? &lt;img src=&quot;http://oracledoug.com/serendipity/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;&lt;br /&gt;So, just to be clear, it&#039;s a bit of fun. I think you probably have better tools available these days! It&#039;s also very likely that I could lead a more varied and stimulating life if I put my mind to it &lt;img src=&quot;http://oracledoug.com/serendipity/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Sat, 05 Apr 2008 07:38:35 +0100</pubDate>
    <guid isPermaLink="false">http://oracledoug.com/serendipity/index.php?/archives/1398-guid.html</guid>
    <category>Fun</category>

</item>

</channel>
</rss>