<?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/"
		>
<channel>
	<title>Comments on: Quantifying Commit Time</title>
	<atom:link href="http://www.pythian.com/news/162/quantifying-commit-time/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pythian.com/news/162/quantifying-commit-time/</link>
	<description>News and views from Pythian DBAs</description>
	<lastBuildDate>Fri, 10 Feb 2012 13:01:25 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>By: Asynchronous Commit &#171; Oracle and other</title>
		<link>http://www.pythian.com/news/162/quantifying-commit-time/#comment-252895</link>
		<dc:creator>Asynchronous Commit &#171; Oracle and other</dc:creator>
		<pubDate>Wed, 06 Aug 2008 14:33:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/162/quantifying-commit-time#comment-252895</guid>
		<description>[...] risultati di un&#8217;altro test analogo si trovano in un commento ad un post di Christo Kutrovsky su pythian e sono [...]</description>
		<content:encoded><![CDATA[<p>[...] risultati di un&#8217;altro test analogo si trovano in un commento ad un post di Christo Kutrovsky su pythian e sono [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christo Kutrovsky</title>
		<link>http://www.pythian.com/news/162/quantifying-commit-time/#comment-919</link>
		<dc:creator>Christo Kutrovsky</dc:creator>
		<pubDate>Fri, 21 Jul 2006 15:48:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/162/quantifying-commit-time#comment-919</guid>
		<description>Interesting. Your results differ significantly from the different executions. I assume the SAN is not used for only that ? Are you sure you have dedicated disks ?

Also your times for &quot;commit wait&quot; are twice as much compared to mine. And we&#039;re both fiber channel.</description>
		<content:encoded><![CDATA[<p>Interesting. Your results differ significantly from the different executions. I assume the SAN is not used for only that ? Are you sure you have dedicated disks ?</p>
<p>Also your times for &#8220;commit wait&#8221; are twice as much compared to mine. And we&#8217;re both fiber channel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jarett Kulm</title>
		<link>http://www.pythian.com/news/162/quantifying-commit-time/#comment-701</link>
		<dc:creator>Jarett Kulm</dc:creator>
		<pubDate>Wed, 12 Jul 2006 12:49:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/162/quantifying-commit-time#comment-701</guid>
		<description>Slightly modified version of your script.  This is on a quad SunFire with CentOS 4.3 using DEADLINE IO Scheduler.  Against Oracle 10.2.0.1 64-Bit AMD64.  This is against a Hitachi HDS SAN.  Redo is on FC disks with EXT3, data is on SATA disks with EXT3.

This is an active box, so there are a few stray waits showing up.   

SQL&gt; DECLARE
  2  PROCEDURE do_loop (p_type  IN  VARCHAR2) AS
  3      l_start  NUMBER;
  4      l_loops  NUMBER := 10000;
  5      v1 NUMBER;
  6      v2 NUMBER;
  7    BEGIN
  8      EXECUTE IMMEDIATE &#039;ALTER SESSION SET COMMIT_WRITE=&#039;&#039;&#039; &#124;&#124; p_type &#124;&#124; &#039;&#039;&#039;&#039;;
  9      EXECUTE IMMEDIATE &#039;TRUNCATE TABLE commit_test&#039;;
 10      EXECUTE IMMEDIATE &#039;select TOTAL_WAITS from v$system_event where event like &#039;&#039;log file sync%&#039;&#039;&#039; into v1;
 11
 12      l_start := DBMS_UTILITY.get_time;
 13      FOR i IN 1 .. l_loops LOOP
 14        INSERT INTO commit_test (id, description)
 15        VALUES (i, &#039;Description for &#039; &#124;&#124; i);
 16        COMMIT;
 17      END LOOP;
 18     EXECUTE IMMEDIATE &#039;select TOTAL_WAITS - &#039; &#124;&#124; v1 &#124;&#124;  &#039;  from v$system_event where event like &#039;&#039;log file sync%&#039;&#039;&#039; into v2;
 19      DBMS_OUTPUT.put_line(RPAD(&#039;COMMIT_WRITE=&#039; &#124;&#124; p_type, 30) &#124;&#124; &#039;: &#039; &#124;&#124; (DBMS_UTILITY.get_time - l_start) &#124;&#124; &#039; -- TOTAL WAITS: &#039; &#124;&#124; v2 );
 20    END;
 21  BEGIN
 22    do_loop(&#039;WAIT&#039;);
 23    do_loop(&#039;NOWAIT&#039;);
 24    do_loop(&#039;BATCH&#039;);
 25    do_loop(&#039;IMMEDIATE&#039;);
 26    do_loop(&#039;BATCH,WAIT&#039;);
 27    do_loop(&#039;BATCH,NOWAIT&#039;);
 28    do_loop(&#039;IMMEDIATE,WAIT&#039;);
 29    do_loop(&#039;IMMEDIATE,NOWAIT&#039;);
 30  END;
 31  /
COMMIT_WRITE=WAIT             : 934 -- TOTAL WAITS: 10022
COMMIT_WRITE=NOWAIT           : 131 -- TOTAL WAITS: 1
COMMIT_WRITE=BATCH            : 132 -- TOTAL WAITS: 0
COMMIT_WRITE=IMMEDIATE        : 148 -- TOTAL WAITS: 0
COMMIT_WRITE=BATCH,WAIT       : 1035 -- TOTAL WAITS: 10008
COMMIT_WRITE=BATCH,NOWAIT     : 128 -- TOTAL WAITS: 7
COMMIT_WRITE=IMMEDIATE,WAIT   : 1070 -- TOTAL WAITS: 10012
COMMIT_WRITE=IMMEDIATE,NOWAIT : 135 -- TOTAL WAITS: 0

PL/SQL procedure successfully completed.

Elapsed: 00:00:37.84
SQL&gt; /
COMMIT_WRITE=WAIT             : 1137 -- TOTAL WAITS: 10020
COMMIT_WRITE=NOWAIT           : 130 -- TOTAL WAITS: 1
COMMIT_WRITE=BATCH            : 126 -- TOTAL WAITS: 0
COMMIT_WRITE=IMMEDIATE        : 132 -- TOTAL WAITS: 0
COMMIT_WRITE=BATCH,WAIT       : 1049 -- TOTAL WAITS: 10019
COMMIT_WRITE=BATCH,NOWAIT     : 126 -- TOTAL WAITS: 2
COMMIT_WRITE=IMMEDIATE,WAIT   : 1041 -- TOTAL WAITS: 10013
COMMIT_WRITE=IMMEDIATE,NOWAIT : 131 -- TOTAL WAITS: 6

PL/SQL procedure successfully completed.

Elapsed: 00:00:39.70
SQL&gt; /
COMMIT_WRITE=WAIT             : 945 -- TOTAL WAITS: 10001
COMMIT_WRITE=NOWAIT           : 144 -- TOTAL WAITS: 0
COMMIT_WRITE=BATCH            : 127 -- TOTAL WAITS: 4
COMMIT_WRITE=IMMEDIATE        : 130 -- TOTAL WAITS: 4
COMMIT_WRITE=BATCH,WAIT       : 962 -- TOTAL WAITS: 10016
COMMIT_WRITE=BATCH,NOWAIT     : 126 -- TOTAL WAITS: 0
COMMIT_WRITE=IMMEDIATE,WAIT   : 998 -- TOTAL WAITS: 10021
COMMIT_WRITE=IMMEDIATE,NOWAIT : 145 -- TOTAL WAITS: 0

PL/SQL procedure successfully completed.
Elapsed: 00:00:41.58</description>
		<content:encoded><![CDATA[<p>Slightly modified version of your script.  This is on a quad SunFire with CentOS 4.3 using DEADLINE IO Scheduler.  Against Oracle 10.2.0.1 64-Bit AMD64.  This is against a Hitachi HDS SAN.  Redo is on FC disks with EXT3, data is on SATA disks with EXT3.</p>
<p>This is an active box, so there are a few stray waits showing up.   </p>
<p>SQL&gt; DECLARE<br />
  2  PROCEDURE do_loop (p_type  IN  VARCHAR2) AS<br />
  3      l_start  NUMBER;<br />
  4      l_loops  NUMBER := 10000;<br />
  5      v1 NUMBER;<br />
  6      v2 NUMBER;<br />
  7    BEGIN<br />
  8      EXECUTE IMMEDIATE &#8216;ALTER SESSION SET COMMIT_WRITE=&#8221;&#8217; || p_type || &#8221;&#8221;;<br />
  9      EXECUTE IMMEDIATE &#8216;TRUNCATE TABLE commit_test&#8217;;<br />
 10      EXECUTE IMMEDIATE &#8216;select TOTAL_WAITS from v$system_event where event like &#8221;log file sync%&#8221;&#8217; into v1;<br />
 11<br />
 12      l_start := DBMS_UTILITY.get_time;<br />
 13      FOR i IN 1 .. l_loops LOOP<br />
 14        INSERT INTO commit_test (id, description)<br />
 15        VALUES (i, &#8216;Description for &#8216; || i);<br />
 16        COMMIT;<br />
 17      END LOOP;<br />
 18     EXECUTE IMMEDIATE &#8216;select TOTAL_WAITS &#8211; &#8216; || v1 ||  &#8216;  from v$system_event where event like &#8221;log file sync%&#8221;&#8217; into v2;<br />
 19      DBMS_OUTPUT.put_line(RPAD(&#8216;COMMIT_WRITE=&#8217; || p_type, 30) || &#8216;: &#8216; || (DBMS_UTILITY.get_time &#8211; l_start) || &#8216; &#8212; TOTAL WAITS: &#8216; || v2 );<br />
 20    END;<br />
 21  BEGIN<br />
 22    do_loop(&#8216;WAIT&#8217;);<br />
 23    do_loop(&#8216;NOWAIT&#8217;);<br />
 24    do_loop(&#8216;BATCH&#8217;);<br />
 25    do_loop(&#8216;IMMEDIATE&#8217;);<br />
 26    do_loop(&#8216;BATCH,WAIT&#8217;);<br />
 27    do_loop(&#8216;BATCH,NOWAIT&#8217;);<br />
 28    do_loop(&#8216;IMMEDIATE,WAIT&#8217;);<br />
 29    do_loop(&#8216;IMMEDIATE,NOWAIT&#8217;);<br />
 30  END;<br />
 31  /<br />
COMMIT_WRITE=WAIT             : 934 &#8212; TOTAL WAITS: 10022<br />
COMMIT_WRITE=NOWAIT           : 131 &#8212; TOTAL WAITS: 1<br />
COMMIT_WRITE=BATCH            : 132 &#8212; TOTAL WAITS: 0<br />
COMMIT_WRITE=IMMEDIATE        : 148 &#8212; TOTAL WAITS: 0<br />
COMMIT_WRITE=BATCH,WAIT       : 1035 &#8212; TOTAL WAITS: 10008<br />
COMMIT_WRITE=BATCH,NOWAIT     : 128 &#8212; TOTAL WAITS: 7<br />
COMMIT_WRITE=IMMEDIATE,WAIT   : 1070 &#8212; TOTAL WAITS: 10012<br />
COMMIT_WRITE=IMMEDIATE,NOWAIT : 135 &#8212; TOTAL WAITS: 0</p>
<p>PL/SQL procedure successfully completed.</p>
<p>Elapsed: 00:00:37.84<br />
SQL&gt; /<br />
COMMIT_WRITE=WAIT             : 1137 &#8212; TOTAL WAITS: 10020<br />
COMMIT_WRITE=NOWAIT           : 130 &#8212; TOTAL WAITS: 1<br />
COMMIT_WRITE=BATCH            : 126 &#8212; TOTAL WAITS: 0<br />
COMMIT_WRITE=IMMEDIATE        : 132 &#8212; TOTAL WAITS: 0<br />
COMMIT_WRITE=BATCH,WAIT       : 1049 &#8212; TOTAL WAITS: 10019<br />
COMMIT_WRITE=BATCH,NOWAIT     : 126 &#8212; TOTAL WAITS: 2<br />
COMMIT_WRITE=IMMEDIATE,WAIT   : 1041 &#8212; TOTAL WAITS: 10013<br />
COMMIT_WRITE=IMMEDIATE,NOWAIT : 131 &#8212; TOTAL WAITS: 6</p>
<p>PL/SQL procedure successfully completed.</p>
<p>Elapsed: 00:00:39.70<br />
SQL&gt; /<br />
COMMIT_WRITE=WAIT             : 945 &#8212; TOTAL WAITS: 10001<br />
COMMIT_WRITE=NOWAIT           : 144 &#8212; TOTAL WAITS: 0<br />
COMMIT_WRITE=BATCH            : 127 &#8212; TOTAL WAITS: 4<br />
COMMIT_WRITE=IMMEDIATE        : 130 &#8212; TOTAL WAITS: 4<br />
COMMIT_WRITE=BATCH,WAIT       : 962 &#8212; TOTAL WAITS: 10016<br />
COMMIT_WRITE=BATCH,NOWAIT     : 126 &#8212; TOTAL WAITS: 0<br />
COMMIT_WRITE=IMMEDIATE,WAIT   : 998 &#8212; TOTAL WAITS: 10021<br />
COMMIT_WRITE=IMMEDIATE,NOWAIT : 145 &#8212; TOTAL WAITS: 0</p>
<p>PL/SQL procedure successfully completed.<br />
Elapsed: 00:00:41.58</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christo Kutrovsky</title>
		<link>http://www.pythian.com/news/162/quantifying-commit-time/#comment-182</link>
		<dc:creator>Christo Kutrovsky</dc:creator>
		<pubDate>Tue, 09 May 2006 17:04:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/162/quantifying-commit-time#comment-182</guid>
		<description>It makes perfect sense, if all we knew about how it works was all there was.

There is a lot of internals that we dont know about and only overhear from rumors. Such as
- per cpu pools - redo buffer is split in multiple latches based on number of CPUs
- private redo - a session will get it&#039;s own region in the redo buffer for &quot;private&quot; use
- redo reservation - similar to above feature
- commit extra options - now you can &quot;commit&quot; in memory, without even telling log writer to flush. (commit batch nowait)

For these reasons, it&#039;s always good to have a larger buffer to allow these optimizations to take place.

The worst that can happen is that this memory &quot;is wasted&quot; and never used. There&#039;s other negative impacts, but we&#039;re comparing 3 mb vs 30 mb, not &lt; 3 mb.

So in my opinion, just set it large and dont worry about it. I set it to 32-64 mb.</description>
		<content:encoded><![CDATA[<p>It makes perfect sense, if all we knew about how it works was all there was.</p>
<p>There is a lot of internals that we dont know about and only overhear from rumors. Such as<br />
- per cpu pools &#8211; redo buffer is split in multiple latches based on number of CPUs<br />
- private redo &#8211; a session will get it&#8217;s own region in the redo buffer for &#8220;private&#8221; use<br />
- redo reservation &#8211; similar to above feature<br />
- commit extra options &#8211; now you can &#8220;commit&#8221; in memory, without even telling log writer to flush. (commit batch nowait)</p>
<p>For these reasons, it&#8217;s always good to have a larger buffer to allow these optimizations to take place.</p>
<p>The worst that can happen is that this memory &#8220;is wasted&#8221; and never used. There&#8217;s other negative impacts, but we&#8217;re comparing 3 mb vs 30 mb, not < 3 mb.</p>
<p>So in my opinion, just set it large and dont worry about it. I set it to 32-64 mb.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mathew Butler</title>
		<link>http://www.pythian.com/news/162/quantifying-commit-time/#comment-181</link>
		<dc:creator>Mathew Butler</dc:creator>
		<pubDate>Tue, 09 May 2006 16:05:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/162/quantifying-commit-time#comment-181</guid>
		<description>In terms of ongoing commit performance ( ie: steady throughput ), if the initiator of a redo log buffer write is 1/3 full, 3s or 1 MB. Do you agree that the best size for the redo log might be 3 times the maximum write I/O size for the operating system? In this case, the DB only needs to wait for a single I/O to finish for the commit to complete.

I&#039;m interested in your thoughts.</description>
		<content:encoded><![CDATA[<p>In terms of ongoing commit performance ( ie: steady throughput ), if the initiator of a redo log buffer write is 1/3 full, 3s or 1 MB. Do you agree that the best size for the redo log might be 3 times the maximum write I/O size for the operating system? In this case, the DB only needs to wait for a single I/O to finish for the commit to complete.</p>
<p>I&#8217;m interested in your thoughts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christo Kutrovsky</title>
		<link>http://www.pythian.com/news/162/quantifying-commit-time/#comment-96</link>
		<dc:creator>Christo Kutrovsky</dc:creator>
		<pubDate>Wed, 19 Apr 2006 13:40:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/162/quantifying-commit-time#comment-96</guid>
		<description>Based on the hard disk info you gave me, these numbers make no sense. There has to be caching involved, and the commit is not a true commit.

The disk rotation is 5400 rpm. Thats 60 / 5400 = 0.01111 sec per rotation. This means, if the heads are in position, it could still take up to 11 ms before they can write. On the data sheet (the pdf on the link you gave me) it sais &quot;Average Latency (msec) 5.6&quot;. Which is exactly half the rotation latency, so it makes sense.

Your commit latency: 0.3 ms
Your HDD&#039;s average latency: 5.6 ms

The data is been cached somewhere. Most likelly it&#039;s the HDD&#039;s cache. Check this article:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-disk.html

Section 11.12.1.5.

&quot;....The problem is that IDE drives lie about when a write completes. With IDE write caching turned on, IDE hard drives not only write data to disk out of order, but will sometimes delay writing some blocks indefinitely when under heavy disk loads....&quot;

You can try turning off write caching from the device manager, rebooting and retrying the same test.

Properties on my computer
hardware tab
device manager button
open Disk drives tree
double click your drive
one of the tabs will have a &quot;write caching&quot; checkbox.</description>
		<content:encoded><![CDATA[<p>Based on the hard disk info you gave me, these numbers make no sense. There has to be caching involved, and the commit is not a true commit.</p>
<p>The disk rotation is 5400 rpm. Thats 60 / 5400 = 0.01111 sec per rotation. This means, if the heads are in position, it could still take up to 11 ms before they can write. On the data sheet (the pdf on the link you gave me) it sais &#8220;Average Latency (msec) 5.6&#8243;. Which is exactly half the rotation latency, so it makes sense.</p>
<p>Your commit latency: 0.3 ms<br />
Your HDD&#8217;s average latency: 5.6 ms</p>
<p>The data is been cached somewhere. Most likelly it&#8217;s the HDD&#8217;s cache. Check this article:</p>
<p><a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-disk.html" rel="nofollow">http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-disk.html</a></p>
<p>Section 11.12.1.5.</p>
<p>&#8220;&#8230;.The problem is that IDE drives lie about when a write completes. With IDE write caching turned on, IDE hard drives not only write data to disk out of order, but will sometimes delay writing some blocks indefinitely when under heavy disk loads&#8230;.&#8221;</p>
<p>You can try turning off write caching from the device manager, rebooting and retrying the same test.</p>
<p>Properties on my computer<br />
hardware tab<br />
device manager button<br />
open Disk drives tree<br />
double click your drive<br />
one of the tabs will have a &#8220;write caching&#8221; checkbox.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Niall Litchfield</title>
		<link>http://www.pythian.com/news/162/quantifying-commit-time/#comment-95</link>
		<dc:creator>Niall Litchfield</dc:creator>
		<pubDate>Wed, 19 Apr 2006 11:42:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/162/quantifying-commit-time#comment-95</guid>
		<description>Interesting

On my windows XP laptop (single ide 5400rpm disk - &lt;a href=&quot;http://www.seagate.com/cda/products/discsales/marketing/detail/0,1081,593,00.html&quot;&gt;(details at seagate)&lt;/a&gt; and 1gb ram) 10.2.0.1 gets the following results
&lt;code&gt;
SQL&gt; set timing on
SQL&gt; set autotrace on statistics
SQL&gt; declare i number;
2 begin
3 for i in 1..10000 loop
4 insert into c_test values (55);
5 commit;
6 end loop;
7 end;
8 /&lt;/code&gt;&lt;code&gt;PL/SQL procedure successfully completed.&lt;/code&gt;&lt;code&gt;Elapsed: 00:00:01.16
SQL&gt; declare i number;
2 begin
3 for i in 1..10000 loop
4 insert into c_test values (55);
5 commit write wait;
6 end loop;
7 end;
8 /&lt;/code&gt;&lt;code&gt; &lt;/code&gt;&lt;code&gt;PL/SQL procedure successfully completed.&lt;/code&gt;&lt;code&gt;Elapsed: 00:00:03.03
SQL&gt;
I don&#039;t have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).&lt;/code&gt;&lt;code&gt;I don&#039;t have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).

I don&#039;t have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).

I don&#039;t have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).

&lt;/code&gt;I don&#039;t have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).</description>
		<content:encoded><![CDATA[<p>Interesting</p>
<p>On my windows XP laptop (single ide 5400rpm disk &#8211; <a href="http://www.seagate.com/cda/products/discsales/marketing/detail/0,1081,593,00.html">(details at seagate)</a> and 1gb ram) 10.2.0.1 gets the following results<br />
<code><br />
SQL&gt; set timing on<br />
SQL&gt; set autotrace on statistics<br />
SQL&gt; declare i number;<br />
2 begin<br />
3 for i in 1..10000 loop<br />
4 insert into c_test values (55);<br />
5 commit;<br />
6 end loop;<br />
7 end;<br />
8 /</code><code>PL/SQL procedure successfully completed.</code><code>Elapsed: 00:00:01.16<br />
SQL&gt; declare i number;<br />
2 begin<br />
3 for i in 1..10000 loop<br />
4 insert into c_test values (55);<br />
5 commit write wait;<br />
6 end loop;<br />
7 end;<br />
8 /</code><code> </code><code>PL/SQL procedure successfully completed.</code><code>Elapsed: 00:00:03.03<br />
SQL&gt;<br />
I don't have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).</code><code>I don't have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).</p>
<p>I don't have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).</p>
<p>I don't have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).</p>
<p></code>I don&#8217;t have 10.2 on a SAN anywhere (and commit write nowait/wait is a 10.2 thing I think not a 10g thing).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

