<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Free ANSI SQL to Oracle Specific SQL Translator and SQL Tutor</title>
	<atom:link href="http://hoopercharles.wordpress.com/2011/01/07/free-ansi-sql-to-oracle-specific-sql-translator-and-sql-tutor/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoopercharles.wordpress.com/2011/01/07/free-ansi-sql-to-oracle-specific-sql-translator-and-sql-tutor/</link>
	<description>Miscellaneous Random Oracle Topics: Stop, Think, ... Understand</description>
	<lastBuildDate>Thu, 23 May 2013 04:02:42 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/01/07/free-ansi-sql-to-oracle-specific-sql-translator-and-sql-tutor/#comment-2624</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Sat, 08 Jan 2011 15:17:27 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4230#comment-2624</guid>
		<description><![CDATA[Kerry,

Thank you for the compliment.  I wonder if an external table dfinition is possible?  The format of the 10053 trace file seems to have changed quite a bit between releases, so it might be challenging to even write a utility to extract the SQL statements, but it might be a fun exercise.

---

In this article I mentioned that someone in the OTN thread by the name of &quot;Yasu&quot; noticed a different final execution plan when the SQL statements were executed as the SYS user.  I thought that it might be interesting to test Yasu&#039;s statement, so here are the SQL statements found in the first trace file &#039;WATCH_TRANSFORM&#039; from a 11.2.0.2 database for the SYS user and a normal user:
WATCH_TRANSFORM for SYS user:
[code]
SELECT
  &quot;T1&quot;.&quot;C1&quot; &quot;QCSJ_C000000000300000&quot;,
  &quot;T1&quot;.&quot;PADDING&quot; &quot;QCSJ_C000000000300002&quot;,
  &quot;from$_subquery$_005&quot;.&quot;C1_1&quot; &quot;QCSJ_C000000000300001&quot;,
  &quot;from$_subquery$_005&quot;.&quot;PADDING_0&quot; &quot;QCSJ_C000000000300003&quot;
FROM
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  LATERAL( 
    (SELECT
       &quot;T2&quot;.&quot;PADDING&quot; &quot;PADDING_0&quot;,
       &quot;T2&quot;.&quot;C1&quot; &quot;C1_1&quot;
     FROM
       &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot;
     WHERE
       &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;))(+) &quot;from$_subquery$_005&quot;
[/code]
 
[code]
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot; 
FROM
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=ANY (
    SELECT
      &quot;T3&quot;.&quot;C1&quot; &quot;C1&quot;
    FROM
      &quot;SYS&quot;.&quot;T3&quot; &quot;T3&quot;)
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
[/code]
 
[code]
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot; 
FROM
  (SELECT DISTINCT
     &quot;T3&quot;.&quot;C1&quot; &quot;C1&quot; 
   FROM
     &quot;SYS&quot;.&quot;T3&quot; &quot;T3&quot;) &quot;VW_NSO_2&quot;,
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=&quot;VW_NSO_2&quot;.&quot;C1&quot;
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
[/code]
 
[code]
SELECT DISTINCT
  &quot;T1&quot;.ROWID &quot;ROWID&quot;,
  &quot;T2&quot;.ROWID &quot;ROWID&quot;,
  &quot;T3&quot;.&quot;C1&quot; &quot;$vm_col_1&quot;,
  &quot;T1&quot;.&quot;PADDING&quot; &quot;$vm_col_2&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;$vm_col_3&quot; 
FROM
  &quot;SYS&quot;.&quot;T3&quot; &quot;T3&quot;,
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=&quot;T3&quot;.&quot;C1&quot;
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
[/code]
 
Final query for SYS: 
[code]
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot; 
FROM
  (SELECT
     &quot;T3&quot;.&quot;C1&quot; &quot;C1&quot; 
   FROM
     &quot;SYS&quot;.&quot;T3&quot; &quot;T3&quot;) &quot;VW_NSO_1&quot;,
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=&quot;VW_NSO_1&quot;.&quot;C1&quot;
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
[/code]
 
----------------------------------------
 
WATCH_TRANSFORM for a normal user:
[code] 
SELECT
  &quot;T1&quot;.&quot;C1&quot; &quot;QCSJ_C000000000300000&quot;,
  &quot;T1&quot;.&quot;PADDING&quot; &quot;QCSJ_C000000000300002&quot;,
  &quot;from$_subquery$_005&quot;.&quot;C1_1&quot; &quot;QCSJ_C000000000300001&quot;,
  &quot;from$_subquery$_005&quot;.&quot;PADDING_0&quot; &quot;QCSJ_C000000000300003&quot; 
FROM
  &quot;TESTUSER&quot;.&quot;T1&quot; &quot;T1&quot;,
  LATERAL(
    (SELECT
       &quot;T2&quot;.&quot;PADDING&quot; &quot;PADDING_0&quot;,
       &quot;T2&quot;.&quot;C1&quot; &quot;C1_1&quot;
     FROM
       &quot;TESTUSER&quot;.&quot;T2&quot; &quot;T2&quot;
     WHERE
       &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;))(+) &quot;from$_subquery$_005&quot;
[/code]
 
[code]
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot; 
FROM
  &quot;TESTUSER&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;TESTUSER&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=ANY (
    SELECT
      &quot;T3&quot;.&quot;C1&quot; &quot;C1&quot;
    FROM
      &quot;TESTUSER&quot;.&quot;T3&quot; &quot;T3&quot;)
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
[/code]
 
Final query for SYS:
[code]
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot;
FROM
  &quot;TESTUSER&quot;.&quot;T3&quot; &quot;T3&quot;,
  &quot;TESTUSER&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;TESTUSER&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T3&quot;.&quot;C1&quot;
[/code]

If the output is examined closely, the third SQL statement listed for the two users is very different.  This little test might explain why the SYS user could see different performance characteristics than would a normal database user.]]></description>
		<content:encoded><![CDATA[<p>Kerry,</p>
<p>Thank you for the compliment.  I wonder if an external table dfinition is possible?  The format of the 10053 trace file seems to have changed quite a bit between releases, so it might be challenging to even write a utility to extract the SQL statements, but it might be a fun exercise.</p>
<p>&#8212;</p>
<p>In this article I mentioned that someone in the OTN thread by the name of &#8220;Yasu&#8221; noticed a different final execution plan when the SQL statements were executed as the SYS user.  I thought that it might be interesting to test Yasu&#8217;s statement, so here are the SQL statements found in the first trace file &#8216;WATCH_TRANSFORM&#8217; from a 11.2.0.2 database for the SYS user and a normal user:<br />
WATCH_TRANSFORM for SYS user:</p>
<pre class="brush: plain; title: ; notranslate">
SELECT
  &quot;T1&quot;.&quot;C1&quot; &quot;QCSJ_C000000000300000&quot;,
  &quot;T1&quot;.&quot;PADDING&quot; &quot;QCSJ_C000000000300002&quot;,
  &quot;from$_subquery$_005&quot;.&quot;C1_1&quot; &quot;QCSJ_C000000000300001&quot;,
  &quot;from$_subquery$_005&quot;.&quot;PADDING_0&quot; &quot;QCSJ_C000000000300003&quot;
FROM
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  LATERAL( 
    (SELECT
       &quot;T2&quot;.&quot;PADDING&quot; &quot;PADDING_0&quot;,
       &quot;T2&quot;.&quot;C1&quot; &quot;C1_1&quot;
     FROM
       &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot;
     WHERE
       &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;))(+) &quot;from$_subquery$_005&quot;
</pre>
<pre class="brush: plain; title: ; notranslate">
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot; 
FROM
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=ANY (
    SELECT
      &quot;T3&quot;.&quot;C1&quot; &quot;C1&quot;
    FROM
      &quot;SYS&quot;.&quot;T3&quot; &quot;T3&quot;)
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
</pre>
<pre class="brush: plain; title: ; notranslate">
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot; 
FROM
  (SELECT DISTINCT
     &quot;T3&quot;.&quot;C1&quot; &quot;C1&quot; 
   FROM
     &quot;SYS&quot;.&quot;T3&quot; &quot;T3&quot;) &quot;VW_NSO_2&quot;,
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=&quot;VW_NSO_2&quot;.&quot;C1&quot;
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
</pre>
<pre class="brush: plain; title: ; notranslate">
SELECT DISTINCT
  &quot;T1&quot;.ROWID &quot;ROWID&quot;,
  &quot;T2&quot;.ROWID &quot;ROWID&quot;,
  &quot;T3&quot;.&quot;C1&quot; &quot;$vm_col_1&quot;,
  &quot;T1&quot;.&quot;PADDING&quot; &quot;$vm_col_2&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;$vm_col_3&quot; 
FROM
  &quot;SYS&quot;.&quot;T3&quot; &quot;T3&quot;,
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=&quot;T3&quot;.&quot;C1&quot;
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
</pre>
<p>Final query for SYS: </p>
<pre class="brush: plain; title: ; notranslate">
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot; 
FROM
  (SELECT
     &quot;T3&quot;.&quot;C1&quot; &quot;C1&quot; 
   FROM
     &quot;SYS&quot;.&quot;T3&quot; &quot;T3&quot;) &quot;VW_NSO_1&quot;,
  &quot;SYS&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;SYS&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=&quot;VW_NSO_1&quot;.&quot;C1&quot;
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
</pre>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>WATCH_TRANSFORM for a normal user:</p>
<pre class="brush: plain; title: ; notranslate"> 
SELECT
  &quot;T1&quot;.&quot;C1&quot; &quot;QCSJ_C000000000300000&quot;,
  &quot;T1&quot;.&quot;PADDING&quot; &quot;QCSJ_C000000000300002&quot;,
  &quot;from$_subquery$_005&quot;.&quot;C1_1&quot; &quot;QCSJ_C000000000300001&quot;,
  &quot;from$_subquery$_005&quot;.&quot;PADDING_0&quot; &quot;QCSJ_C000000000300003&quot; 
FROM
  &quot;TESTUSER&quot;.&quot;T1&quot; &quot;T1&quot;,
  LATERAL(
    (SELECT
       &quot;T2&quot;.&quot;PADDING&quot; &quot;PADDING_0&quot;,
       &quot;T2&quot;.&quot;C1&quot; &quot;C1_1&quot;
     FROM
       &quot;TESTUSER&quot;.&quot;T2&quot; &quot;T2&quot;
     WHERE
       &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;))(+) &quot;from$_subquery$_005&quot;
</pre>
<pre class="brush: plain; title: ; notranslate">
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot; 
FROM
  &quot;TESTUSER&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;TESTUSER&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=ANY (
    SELECT
      &quot;T3&quot;.&quot;C1&quot; &quot;C1&quot;
    FROM
      &quot;TESTUSER&quot;.&quot;T3&quot; &quot;T3&quot;)
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
</pre>
<p>Final query for SYS:</p>
<pre class="brush: plain; title: ; notranslate">
SELECT
  &quot;T1&quot;.&quot;PADDING&quot; &quot;T1_PADDING&quot;,
  &quot;T2&quot;.&quot;PADDING&quot; &quot;T2_PADDING&quot;
FROM
  &quot;TESTUSER&quot;.&quot;T3&quot; &quot;T3&quot;,
  &quot;TESTUSER&quot;.&quot;T1&quot; &quot;T1&quot;,
  &quot;TESTUSER&quot;.&quot;T2&quot; &quot;T2&quot; 
WHERE
  &quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;(+)
  AND &quot;T1&quot;.&quot;C1&quot;=&quot;T3&quot;.&quot;C1&quot;
</pre>
<p>If the output is examined closely, the third SQL statement listed for the two users is very different.  This little test might explain why the SYS user could see different performance characteristics than would a normal database user.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kerry Osborne</title>
		<link>http://hoopercharles.wordpress.com/2011/01/07/free-ansi-sql-to-oracle-specific-sql-translator-and-sql-tutor/#comment-2611</link>
		<dc:creator><![CDATA[Kerry Osborne]]></dc:creator>
		<pubDate>Fri, 07 Jan 2011 19:19:09 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4230#comment-2611</guid>
		<description><![CDATA[Nice idea! Now if someone would just write us a little external table definition so we could query it easily instead of having to dig through the trace file that would be awesome.

Kerry]]></description>
		<content:encoded><![CDATA[<p>Nice idea! Now if someone would just write us a little external table definition so we could query it easily instead of having to dig through the trace file that would be awesome.</p>
<p>Kerry</p>
]]></content:encoded>
	</item>
</channel>
</rss>
