<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>oracle-developer.net</title>
		<link>http://www.oracle-developer.net</link>
		<description>Articles and utilities available at oracle-developer.net</description>
		<lastBuildDate>Thu, 29 Jul 2010 23:01:52 GMT</lastBuildDate>
		<language>en-gb</language>
		<copyright>Copyright Adrian Billington 2002-2010</copyright>
		<item>
			<title><![CDATA[ Working with long columns ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=430</link>
			<guid>http://www.oracle-developer.net/display.php?id=430</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 29 Jul 2010 22:32:38 GMT</pubDate>
			<description><![CDATA[ Various techniques for querying and manipulating long columns. July 2010 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Dictionary long application ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/dla.zip</link>
			<guid>http://www.oracle-developer.net/content/utilities/dla.zip</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 05 Jul 2010 20:20:43 GMT</pubDate>
			<description><![CDATA[ Two versions of an application to encapsulate the data dictionary views that have LONG columns. LONGs are converted to CLOBs in pipelined functions, enabling us to search, copy and manipulate these columns with string functions. A static version supports 9.2 and 10.1 and a dynamic ANYDATASET version supports 10.2 onwards. August 2007 (updated July 2010) ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Dynamic sql enhancements in 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=505</link>
			<guid>http://www.oracle-developer.net/display.php?id=505</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 22 Jun 2010 18:49:31 GMT</pubDate>
			<description><![CDATA[ Oracle completes its dynamic SQL implementation for PL/SQL. February 2008 (updated June 2010) ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Listagg function in 11g release 2 ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=515</link>
			<guid>http://www.oracle-developer.net/display.php?id=515</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 22 Jun 2010 07:22:52 GMT</pubDate>
			<description><![CDATA[ A new built-in function for string aggregation. June 2010 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pl/sql function result cache in 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=504</link>
			<guid>http://www.oracle-developer.net/display.php?id=504</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 08 Jun 2010 08:02:20 GMT</pubDate>
			<description><![CDATA[ Oracle provides a cross-session cache for user-defined PL/SQL function results. January 2008 (updated June 2010) ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Improving performance with pipelined table functions ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=429</link>
			<guid>http://www.oracle-developer.net/display.php?id=429</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 21 Jan 2010 23:06:13 GMT</pubDate>
			<description><![CDATA[ Using pipelined functions as a performance tuning tool. January 2010 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Collect enhancements in 11g release 2 ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=514</link>
			<guid>http://www.oracle-developer.net/display.php?id=514</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 30 Nov 2009 21:10:38 GMT</pubDate>
			<description><![CDATA[ Aggregate unique and ordered collection elements with the COLLECT function in 11g. November 2009 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Sorting collections ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=428</link>
			<guid>http://www.oracle-developer.net/display.php?id=428</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 25 Nov 2009 18:55:22 GMT</pubDate>
			<description><![CDATA[ Various techniques for sorting collections. November 2009 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Collection sorter utility ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/csort.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/csort.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 25 Nov 2009 18:49:11 GMT</pubDate>
			<description><![CDATA[ A package of two functions to sort collections, including support for descending and distinct sorts. Works with versions from 9i Release 2 onwards but can be easily edited to support 8i. November 2009 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Collection cardinality utility ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/ccard.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/ccard.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 24 Nov 2009 18:57:29 GMT</pubDate>
			<description><![CDATA[ A utility to provide the CBO with the correct cardinality of small collections used in TABLE() queries (such as variable in-lists). This helps to achieve better execution plans without having to use the undocumented CARDINALITY hint. Supports versions from 10g onwards. November 2009 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Listing files with the external table preprocessor in 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=513</link>
			<guid>http://www.oracle-developer.net/display.php?id=513</guid>
			<author>Adrian Billington</author>
			<pubDate>Fri, 02 Oct 2009 19:11:25 GMT</pubDate>
			<description><![CDATA[ Using the 11g external table preprocessor to get directory listings in SQL. October 2009 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ External table enhancements in 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=512</link>
			<guid>http://www.oracle-developer.net/display.php?id=512</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 15 Sep 2009 20:21:54 GMT</pubDate>
			<description><![CDATA[ Encryption, compression and preprocessing for external tables in Oracle 11g. September 2009 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Avoiding pls-00436 with forall ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=410</link>
			<guid>http://www.oracle-developer.net/display.php?id=410</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 21 Jun 2009 00:28:38 GMT</pubDate>
			<description><![CDATA[ Workarounds to the FORALL PLS-00436 implementation restriction. July 2005 (updated June 2009) ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Setting cardinality for pipelined and table functions ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=427</link>
			<guid>http://www.oracle-developer.net/display.php?id=427</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 11 Jun 2009 20:46:36 GMT</pubDate>
			<description><![CDATA[ Various methods for setting accurate cardinality statistics for table/pipelined functions. June 2009 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pl/sql functions and cbo costing  ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=426</link>
			<guid>http://www.oracle-developer.net/display.php?id=426</guid>
			<author>Adrian Billington</author>
			<pubDate>Sat, 06 Jun 2009 19:14:36 GMT</pubDate>
			<description><![CDATA[ Associating statistics with PL/SQL functions for greater CBO accuracy. June 2009 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Returning with insert..select ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=413</link>
			<guid>http://www.oracle-developer.net/display.php?id=413</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 06 May 2009 19:20:45 GMT</pubDate>
			<description><![CDATA[ A workaround to the unsupported INSERT..SELECT..RETURNING construct. August 2005 (updated May 2009) ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Dynamic logging with global application context  ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=424</link>
			<guid>http://www.oracle-developer.net/display.php?id=424</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 30 Apr 2009 20:08:08 GMT</pubDate>
			<description><![CDATA[ Controlling logging output across sessions using global application context. September 2007 (updated April 2009) ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Xplan utility ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/xplan.zip</link>
			<guid>http://www.oracle-developer.net/content/utilities/xplan.zip</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 28 Jan 2009 19:26:57 GMT</pubDate>
			<description><![CDATA[ A utility to add parent ID and execution order information to plans reported by DBMS_XPLAN. The XPLAN package includes DISPLAY, DISPLAY_CURSOR and DISPLAY_AWR wrappers for use in exactly the same way as their DBMS_XPLAN equivalents. In addition, a free-standing SQL script for DISPLAY_CURSOR output is provided for environments where XPLAN can't be created. Supports versions from 10g onwards. January 2009 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Mystats utility ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/mystats.zip</link>
			<guid>http://www.oracle-developer.net/content/utilities/mystats.zip</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 18 Jan 2009 21:59:49 GMT</pubDate>
			<description><![CDATA[ A variation on Jonathan Lewis's SNAP_MY_STATS package to report the resource consumption of a unit of work between two snapshots. Designed to work under constrained developer environments, this version has enhancements such as the option to report on specific statistics. June 2007 (updated January 2009) ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Virtual columns in 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=510</link>
			<guid>http://www.oracle-developer.net/display.php?id=510</guid>
			<author>Adrian Billington</author>
			<pubDate>Fri, 10 Oct 2008 18:01:12 GMT</pubDate>
			<description><![CDATA[ Store expressions as virtual columns in Oracle 11g. October 2008 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Binding in-lists in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=301</link>
			<guid>http://www.oracle-developer.net/display.php?id=301</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 11 Sep 2008 20:50:17 GMT</pubDate>
			<description><![CDATA[ Alternative IN-list binding in 10g using the new MEMBER OF collection condition. June 2004 (updated September 2008) ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Partition-wise dependencies in 10g release 2 ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=331</link>
			<guid>http://www.oracle-developer.net/display.php?id=331</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 20 Aug 2008 07:49:13 GMT</pubDate>
			<description><![CDATA[ Modify partitions without invalidating dependant objects. October 2007 (updated August 2008) ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ The collect function in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=306</link>
			<guid>http://www.oracle-developer.net/display.php?id=306</guid>
			<author>Adrian Billington</author>
			<pubDate>Fri, 11 Jul 2008 21:11:27 GMT</pubDate>
			<description><![CDATA[ Using the new 10g COLLECT group function, including string aggregation. June 2004 (updated July 2008) ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pl/sql counter ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/counter.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/counter.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 20 May 2008 21:18:12 GMT</pubDate>
			<description><![CDATA[ A simple package to start and maintain a session-based counter. Useful for debugging and instrumentation. May 2008 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Regular expression enhancements in 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=508</link>
			<guid>http://www.oracle-developer.net/display.php?id=508</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 20 May 2008 20:56:23 GMT</pubDate>
			<description><![CDATA[ Oracle 11g adds a new REGEXP_COUNT function and extends some of the existing functions. May 2008 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pipelined function issues ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=423</link>
			<guid>http://www.oracle-developer.net/display.php?id=423</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 06 May 2008 19:28:27 GMT</pubDate>
			<description><![CDATA[ A few "gotchas" to be aware of when using pipelined functions. September 2007 (updated May 2008) ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pl/sql enhancements in oracle 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=507</link>
			<guid>http://www.oracle-developer.net/display.php?id=507</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 04 May 2008 19:01:35 GMT</pubDate>
			<description><![CDATA[ Various minor language and operability enhancements for PL/SQL in 11g. May 2008 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pivot and unpivot queries in 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=506</link>
			<guid>http://www.oracle-developer.net/display.php?id=506</guid>
			<author>Adrian Billington</author>
			<pubDate>Fri, 04 Apr 2008 19:05:51 GMT</pubDate>
			<description><![CDATA[ Turn rows into columns and vice versa with new extensions to the SELECT statement. April 2008 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pl/sql optimisation in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=314</link>
			<guid>http://www.oracle-developer.net/display.php?id=314</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 05 Mar 2008 18:59:27 GMT</pubDate>
			<description><![CDATA[ Oracle 10g's compiler optimisation for faster PL/SQL, with a new section on optimisation bugs. November 2004 (updated March 2008) ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Tuning pl/sql file i/o  ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=425</link>
			<guid>http://www.oracle-developer.net/display.php?id=425</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 06 Feb 2008 19:34:12 GMT</pubDate>
			<description><![CDATA[ Various techniques for unloading data to flat-file faster. February 2008 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Query result cache in oracle 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=503</link>
			<guid>http://www.oracle-developer.net/display.php?id=503</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 04 Dec 2007 19:38:23 GMT</pubDate>
			<description><![CDATA[ Oracle adds a new cache for storing the results of queries. December 2007 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Subprogram inlining in 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=502</link>
			<guid>http://www.oracle-developer.net/display.php?id=502</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 29 Nov 2007 00:07:57 GMT</pubDate>
			<description><![CDATA[ Oracle extends the scope of its PL/SQL compiler optimisation. November 2007 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pls-00436 removed in oracle 11g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=501</link>
			<guid>http://www.oracle-developer.net/display.php?id=501</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 29 Nov 2007 00:07:21 GMT</pubDate>
			<description><![CDATA[ Oracle relaxes the long-standing FORALL implementation restriction in 11g. November 2007 ]]></description>
			<category>11g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Sql plan enhancements in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=316</link>
			<guid>http://www.oracle-developer.net/display.php?id=316</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 05 Nov 2007 19:10:31 GMT</pubDate>
			<description><![CDATA[ New plan features in 10g make SQL performance investigations much more simple. December 2004 (updated November 2007) ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Emulating string-to-table functionality using sql ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=412</link>
			<guid>http://www.oracle-developer.net/display.php?id=412</guid>
			<author>Adrian Billington</author>
			<pubDate>Sat, 11 Aug 2007 20:48:52 GMT</pubDate>
			<description><![CDATA[ Turning delimited strings into multiple records without PL/SQL. July 2005 (updated August 2007) ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Method 4 dynamic sql in pl/sql ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=422</link>
			<guid>http://www.oracle-developer.net/display.php?id=422</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 09 Aug 2007 01:13:10 GMT</pubDate>
			<description><![CDATA[ Using ANYDATASET and pipelined functions to achieve native Method 4 Dynamic SQL. August 2007 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Flexible pipelined functions ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=420</link>
			<guid>http://www.oracle-developer.net/display.php?id=420</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 07 Aug 2007 08:36:45 GMT</pubDate>
			<description><![CDATA[ Combining pipelined functions, polymorphism and multi-table inserts. August 2007 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Anydata and anytype in 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=218</link>
			<guid>http://www.oracle-developer.net/display.php?id=218</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 11 Jul 2007 21:13:56 GMT</pubDate>
			<description><![CDATA[ An introduction to generic types in Oracle 9i.  October 2002 (updated July 2007) ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Encapsulating bulk pl/sql exceptions  ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=419</link>
			<guid>http://www.oracle-developer.net/display.php?id=419</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 11 Jul 2007 20:47:27 GMT</pubDate>
			<description><![CDATA[ Using object features to encapsulate FORALL .. SAVE EXCEPTIONS error-handling. July 2007 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Overcoming the limitations of set row  ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=418</link>
			<guid>http://www.oracle-developer.net/display.php?id=418</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 07 Jun 2007 08:46:55 GMT</pubDate>
			<description><![CDATA[ Techniques to avoid superfluous updates with SET ROW. June 2007 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ External tables in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=204</link>
			<guid>http://www.oracle-developer.net/display.php?id=204</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 06 Jun 2007 08:53:39 GMT</pubDate>
			<description><![CDATA[ Select directly from flat-files as though they are tables.  August 2002 (updated June 2007) ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Subquery factoring in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=212</link>
			<guid>http://www.oracle-developer.net/display.php?id=212</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 06 Jun 2007 08:50:36 GMT</pubDate>
			<description><![CDATA[ A new way of expressing subqueries in 9i.  December 2005 (updated June 2007) ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Ansi joins in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=213</link>
			<guid>http://www.oracle-developer.net/display.php?id=213</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 06 Jun 2007 08:46:30 GMT</pubDate>
			<description><![CDATA[ Oracle adds ANSI-compliant joins to SQL in 9i.  January 2003 (updated June 2007) ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Type enhancements in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=219</link>
			<guid>http://www.oracle-developer.net/display.php?id=219</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 06 Jun 2007 08:38:20 GMT</pubDate>
			<description><![CDATA[ Constructor functions, type evolution and substitution in 9i.  December 2005 (updated June 2007) ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pipelined functions in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=207</link>
			<guid>http://www.oracle-developer.net/display.php?id=207</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 17 May 2007 19:18:27 GMT</pubDate>
			<description><![CDATA[ Functions can now stream data as virtual tables.  May 2002 (updated May 2007) ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Runstats utility ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/runstats.zip</link>
			<guid>http://www.oracle-developer.net/content/utilities/runstats.zip</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 18 Jan 2007 20:06:26 GMT</pubDate>
			<description><![CDATA[ Four variations on Tom Kyte's invaluable runstats utility that compares the resource consumption of two alternative units of work. These versions are designed to work under constrained developer environments and build on the original with enhancements such as "pause and resume" functionality and the option to report on specific statistics. January 2007 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Replacef ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/replacef.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/replacef.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 11 Jan 2007 22:59:22 GMT</pubDate>
			<description><![CDATA[ A function to simplify string building and debugging by replacing multiple placeholders from a collection of inputs. January 2007 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Is_number ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/is_number.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/is_number.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 11 Oct 2006 19:01:08 GMT</pubDate>
			<description><![CDATA[ Two common, simple and effective IS_NUMBER functions for SQL and PL/SQL. October 2006 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Showplan utility ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/showplan.zip</link>
			<guid>http://www.oracle-developer.net/content/utilities/showplan.zip</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 11 Oct 2006 18:58:54 GMT</pubDate>
			<description><![CDATA[ Simple sqlplus utilities to output the real execution plans used by running or cached SQL statements. Available for 9i Release 2 and 10g. October 2006 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Loading xml files with xml db ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=416</link>
			<guid>http://www.oracle-developer.net/display.php?id=416</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 05 Mar 2006 00:49:55 GMT</pubDate>
			<description><![CDATA[ A tutorial on loading XML files into relational tables. March 2006 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Dml error logging performance in 10g release 2 ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=330</link>
			<guid>http://www.oracle-developer.net/display.php?id=330</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 15 Aug 2005 22:28:58 GMT</pubDate>
			<description><![CDATA[ Performance characteristics of DML error logging. August 2005 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Autotrace enhancement in 10g release 2 ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=326</link>
			<guid>http://www.oracle-developer.net/display.php?id=326</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 11 Aug 2005 18:22:10 GMT</pubDate>
			<description><![CDATA[ Autotrace now uses DBMS_XPLAN to output its explain plans. August 2005 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Dml error logging in oracle 10g release 2 ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=329</link>
			<guid>http://www.oracle-developer.net/display.php?id=329</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 10 Aug 2005 19:57:05 GMT</pubDate>
			<description><![CDATA[ A new error logging mechanism for bulk DML statements. August 2005 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Flashback version query in oracle 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=320</link>
			<guid>http://www.oracle-developer.net/display.php?id=320</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 07 Aug 2005 08:59:15 GMT</pubDate>
			<description><![CDATA[ We can now view the evolution of our data with flashback version query.  August 2005 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Enhancements to dbms_output in 10g release 2 ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=327</link>
			<guid>http://www.oracle-developer.net/display.php?id=327</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 01 Aug 2005 20:41:48 GMT</pubDate>
			<description><![CDATA[ Oracle finally "fixes" DBMS_OUTPUT. August 2005 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Flashback restore points in oracle 10g release 2 ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=328</link>
			<guid>http://www.oracle-developer.net/display.php?id=328</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 01 Aug 2005 20:34:53 GMT</pubDate>
			<description><![CDATA[ Restore points enable us to capture a point in time for flashback operations. August 2005 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Array-based advanced queuing in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=319</link>
			<guid>http://www.oracle-developer.net/display.php?id=319</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 17 Jul 2005 00:13:24 GMT</pubDate>
			<description><![CDATA[ Oracle 10g enables us to enqueue and dequeue in bulk. July 2005 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Introduction to advanced queuing  ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=411</link>
			<guid>http://www.oracle-developer.net/display.php?id=411</guid>
			<author>Adrian Billington</author>
			<pubDate>Fri, 15 Jul 2005 21:45:07 GMT</pubDate>
			<description><![CDATA[ A high-level tutorial on Oracle's Advanced Queuing. July 2005 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Pl/sql timer ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/timer.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/timer.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Fri, 08 Jul 2005 21:43:36 GMT</pubDate>
			<description><![CDATA[ A simple package to output the elapsed time between two points. Supports versions from 8i onwards. July 2005 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Unloading data using external tables in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=325</link>
			<guid>http://www.oracle-developer.net/display.php?id=325</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 24 May 2005 18:24:14 GMT</pubDate>
			<description><![CDATA[ External tables can write as well as read in 10g. May 2005 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Dual optimisation in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=315</link>
			<guid>http://www.oracle-developer.net/display.php?id=315</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 25 Nov 2004 22:11:18 GMT</pubDate>
			<description><![CDATA[ The dual table gets a performance makeover. November 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Sql tuning advisor in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=317</link>
			<guid>http://www.oracle-developer.net/display.php?id=317</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 16 Nov 2004 00:19:36 GMT</pubDate>
			<description><![CDATA[ Oracle now offers SQL tuning recommendations. November 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Row-generation without i/o ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=408</link>
			<guid>http://www.oracle-developer.net/display.php?id=408</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 11 Nov 2004 20:48:26 GMT</pubDate>
			<description><![CDATA[ Methods for generating dummy data without incurring I/O costs. November 2004 ]]></description>
			<category>Miscellaneous Articles</category>
		</item>
		<item>
			<title><![CDATA[ Flashback table in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=313</link>
			<guid>http://www.oracle-developer.net/display.php?id=313</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 30 Jun 2004 07:15:03 GMT</pubDate>
			<description><![CDATA[ Oracle extends flashback technology to restore dropped tables. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Measuring cpu time in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=307</link>
			<guid>http://www.oracle-developer.net/display.php?id=307</guid>
			<author>Adrian Billington</author>
			<pubDate>Sat, 26 Jun 2004 19:32:58 GMT</pubDate>
			<description><![CDATA[ An addition to DBMS_UTILITY now enables us to measure CPU time easily. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Aggregating data with the returning clause ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=305</link>
			<guid>http://www.oracle-developer.net/display.php?id=305</guid>
			<author>Adrian Billington</author>
			<pubDate>Sat, 26 Jun 2004 19:30:54 GMT</pubDate>
			<description><![CDATA[ In 10g, data returned by the RETURNING clause can be aggregated. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Tracking exceptions in oracle 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=318</link>
			<guid>http://www.oracle-developer.net/display.php?id=318</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 21 Jun 2004 19:09:26 GMT</pubDate>
			<description><![CDATA[ Exceptions can now be traced back to their source in 10g. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Exception enhancements in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=304</link>
			<guid>http://www.oracle-developer.net/display.php?id=304</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 15 Jun 2004 19:45:54 GMT</pubDate>
			<description><![CDATA[ A few small enhancements to exception handling/error messages. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Merge enhancements in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=310</link>
			<guid>http://www.oracle-developer.net/display.php?id=310</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 13 Jun 2004 17:42:34 GMT</pubDate>
			<description><![CDATA[ Enhancements to the MERGE statement in 10g provide much greater flexibility. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Collection extensions in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=303</link>
			<guid>http://www.oracle-developer.net/display.php?id=303</guid>
			<author>Adrian Billington</author>
			<pubDate>Fri, 11 Jun 2004 20:49:35 GMT</pubDate>
			<description><![CDATA[ A brief overview of the new collection operators, functions and conditions in 10g. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Native dynamic sql optimisation in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=309</link>
			<guid>http://www.oracle-developer.net/display.php?id=309</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 07 Jun 2004 08:59:29 GMT</pubDate>
			<description><![CDATA[ Native dynamic SQL gets an optimisation to match DBMS_SQL for efficiency. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Forall enhancements in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=308</link>
			<guid>http://www.oracle-developer.net/display.php?id=308</guid>
			<author>Adrian Billington</author>
			<pubDate>Sat, 05 Jun 2004 19:38:33 GMT</pubDate>
			<description><![CDATA[ An overview of enhancements to FORALL bulk-binding. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Quoting string literals in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=311</link>
			<guid>http://www.oracle-developer.net/display.php?id=311</guid>
			<author>Adrian Billington</author>
			<pubDate>Sat, 05 Jun 2004 19:35:16 GMT</pubDate>
			<description><![CDATA[ Oracle 10g provides a quoting mechanism for strings that include single-quotes. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Regular expressions in 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=302</link>
			<guid>http://www.oracle-developer.net/display.php?id=302</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 02 Jun 2004 22:14:24 GMT</pubDate>
			<description><![CDATA[ Oracle finally provides support for regular expressions. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Partition outer join in oracle 10g ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=312</link>
			<guid>http://www.oracle-developer.net/display.php?id=312</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 01 Jun 2004 22:46:40 GMT</pubDate>
			<description><![CDATA[ A new mechanism to populate the gaps in sparse data. June 2004 ]]></description>
			<category>10g Articles</category>
		</item>
		<item>
			<title><![CDATA[ Data dump utility ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/data_dump.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/data_dump.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Sat, 28 Feb 2004 18:48:28 GMT</pubDate>
			<description><![CDATA[ Procedure to dump the contents of a table or the results of a query to flat file. February 2004 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Merge counter ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/merge_counter.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/merge_counter.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Fri, 13 Feb 2004 18:14:36 GMT</pubDate>
			<description><![CDATA[ A package to capture and report separate INSERT and UPDATE rowcounts from a MERGE statement. February 2004 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ User-defined aggregate functions in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=215</link>
			<guid>http://www.oracle-developer.net/display.php?id=215</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 30 Sep 2003 18:24:20 GMT</pubDate>
			<description><![CDATA[ We can create our own aggregate functions in 9i and use them like built-ins.  September 2003 ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Introduction to bulk pl/sql enhancements in 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=201</link>
			<guid>http://www.oracle-developer.net/display.php?id=201</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 23 Sep 2003 08:01:44 GMT</pubDate>
			<description><![CDATA[ Oracle extends its array processing capabilities in 9i.  September 2003 ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Call stack parser ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/stk.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/stk.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 15 Sep 2003 23:15:20 GMT</pubDate>
			<description><![CDATA[ A small package of functions for parsing the PL/SQL call stack. Includes an implementation of "WHOAMI" and "CALLER". September 2003 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Decomposing sql%rowcount for merge ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=220</link>
			<guid>http://www.oracle-developer.net/display.php?id=220</guid>
			<author>Adrian Billington</author>
			<pubDate>Wed, 06 Aug 2003 18:32:04 GMT</pubDate>
			<description><![CDATA[ A method for getting insert and update counts from a MERGE operation. August 2003 ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Flashback query in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=210</link>
			<guid>http://www.oracle-developer.net/display.php?id=210</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 24 Nov 2002 01:03:47 GMT</pubDate>
			<description><![CDATA[ We can now query data from a previous point in time. November 2002 ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Multilevel collections in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=208</link>
			<guid>http://www.oracle-developer.net/display.php?id=208</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 06 Oct 2002 18:39:12 GMT</pubDate>
			<description><![CDATA[ Oracle 9i supports collections of collections of collections...  October 2002 ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Multi-table inserts in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=209</link>
			<guid>http://www.oracle-developer.net/display.php?id=209</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 06 Oct 2002 18:37:41 GMT</pubDate>
			<description><![CDATA[ We can now insert into multiple tables from a single statement.  October 2002 ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ The merge statement in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=203</link>
			<guid>http://www.oracle-developer.net/display.php?id=203</guid>
			<author>Adrian Billington</author>
			<pubDate>Sat, 28 Sep 2002 21:03:23 GMT</pubDate>
			<description><![CDATA[ Update or insert data from a single DML statement in 9i.  September 2002 ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Associative arrays in oracle 9i release 2 ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=225</link>
			<guid>http://www.oracle-developer.net/display.php?id=225</guid>
			<author>Adrian Billington</author>
			<pubDate>Sun, 26 May 2002 18:05:24 GMT</pubDate>
			<description><![CDATA[ Oracle extends its PL/SQL array processing capabilities.  May 2002 ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Case expressions and statements in oracle 9i ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=206</link>
			<guid>http://www.oracle-developer.net/display.php?id=206</guid>
			<author>Adrian Billington</author>
			<pubDate>Mon, 06 May 2002 18:47:31 GMT</pubDate>
			<description><![CDATA[ Extended CASE expressions and the new CASE statement in 9i.  May 2002 ]]></description>
			<category>9i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Put_line ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/put_line.sql</link>
			<guid>http://www.oracle-developer.net/content/utilities/put_line.sql</guid>
			<author>Adrian Billington</author>
			<pubDate>Tue, 16 Apr 2002 08:17:44 GMT</pubDate>
			<description><![CDATA[ A simple wrapper to DBMS_OUTPUT.PUT_LINE to workaround the 255 byte limit (not needed from 10.2 onwards). April 2002 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Export-import scripts ]]></title>
			<link>http://www.oracle-developer.net/content/utilities/exp_imp_utilities.zip</link>
			<guid>http://www.oracle-developer.net/content/utilities/exp_imp_utilities.zip</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 28 Feb 2002 21:25:18 GMT</pubDate>
			<description><![CDATA[ A collection of Korn shell scripts to export and import tables or schemas, with or without compression. February 2002 ]]></description>
			<category>Utilities</category>
		</item>
		<item>
			<title><![CDATA[ Introduction to 8i analytic functions ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=102</link>
			<guid>http://www.oracle-developer.net/display.php?id=102</guid>
			<author>Adrian Billington</author>
			<pubDate>Sat, 09 Feb 2002 01:09:52 GMT</pubDate>
			<description><![CDATA[ Oracle 8.1.6 introduces a wide range of powerful new "windowing" functions. February 2002 ]]></description>
			<category>8i Articles</category>
		</item>
		<item>
			<title><![CDATA[ Introduction to 8i bulk pl/sql processing ]]></title>
			<link>http://www.oracle-developer.net/display.php?id=101</link>
			<guid>http://www.oracle-developer.net/display.php?id=101</guid>
			<author>Adrian Billington</author>
			<pubDate>Thu, 06 Dec 2001 19:06:14 GMT</pubDate>
			<description><![CDATA[ Oracle 8i now supports native array processing in PL/SQL. December 2001 ]]></description>
			<category>8i Articles</category>
		</item>
