<?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: Preprocessor For External Tables</title>
	<atom:link href="http://structureddata.org/2008/11/19/preprocessor-for-external-tables/feed/" rel="self" type="application/rss+xml" />
	<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=preprocessor-for-external-tables</link>
	<description>Data, Databases, Performance &#38; Scalability</description>
	<lastBuildDate>Sun, 13 May 2012 01:52:50 -0400</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Neat Oracle Database 11g Release 2 Feature: Preprocessing External Tables &#187; Eddie Awad&#039;s Blog</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-17052</link>
		<dc:creator>Neat Oracle Database 11g Release 2 Feature: Preprocessing External Tables &#187; Eddie Awad&#039;s Blog</dc:creator>
		<pubDate>Thu, 24 Mar 2011 18:36:57 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-17052</guid>
		<description>[...] Greg Rahn: [...]</description>
		<content:encoded><![CDATA[<p>[...] Greg Rahn: [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Core Performance Fundamentals Of Oracle Data Warehousing &#8211; Data Loading</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-11112</link>
		<dc:creator>The Core Performance Fundamentals Of Oracle Data Warehousing &#8211; Data Loading</dc:creator>
		<pubDate>Fri, 23 Apr 2010 16:01:51 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-11112</guid>
		<description>[...] to provide the desired loading rate) and consider using compressed files in conjunction with the external table preprocessor.  Using the preprocessor is especially useful if  there are proportionally more CPU [...]</description>
		<content:encoded><![CDATA[<p>[...] to provide the desired loading rate) and consider using compressed files in conjunction with the external table preprocessor.  Using the preprocessor is especially useful if  there are proportionally more CPU [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: New External Table Functionality - PreProcessing and Data Pump (The Data Warehouse Insider)</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-330</link>
		<dc:creator>New External Table Functionality - PreProcessing and Data Pump (The Data Warehouse Insider)</dc:creator>
		<pubDate>Wed, 25 Feb 2009 17:00:10 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-330</guid>
		<description>[...] For some more info on the actual syntax, I noticed Greg wrote a full example in his posting here. [...]</description>
		<content:encoded><![CDATA[<p>[...] For some more info on the actual syntax, I noticed Greg wrote a full example in his posting here. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-333</link>
		<dc:creator>Bob</dc:creator>
		<pubDate>Sun, 23 Nov 2008 18:43:14 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-333</guid>
		<description>Regarding security, the user running the load needs to be granted EXECUTE permission on &quot;exec_dir&quot; (in this example). One recommendation is that rather than granting execute on exec_dir which in this example points to /bin, is simply to create another directory that holds just the execuatbles (or scripts) that the preprocessor will use.
EXECUTE is a new permission that can be grant to a directory in 11.1.0.7.</description>
		<content:encoded><![CDATA[<p>Regarding security, the user running the load needs to be granted EXECUTE permission on &#8220;exec_dir&#8221; (in this example). One recommendation is that rather than granting execute on exec_dir which in this example points to /bin, is simply to create another directory that holds just the execuatbles (or scripts) that the preprocessor will use.<br />
EXECUTE is a new permission that can be grant to a directory in 11.1.0.7.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg Rahn</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-332</link>
		<dc:creator>Greg Rahn</dc:creator>
		<pubDate>Sun, 23 Nov 2008 05:16:04 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-332</guid>
		<description>@Jens

I&#039;m not sure what is so great about listing files in a directory via an external table that it warrants a paper, but whatever...

Restricting &quot;create directory&quot; or limiting who has execute on the directory (database directory, not filesystem) are options.  Most utilities would be in /bin or /usr/local/bin or similar so only root could put files there to be used in the preprocessor.</description>
		<content:encoded><![CDATA[<p>@Jens</p>
<p>I&#8217;m not sure what is so great about listing files in a directory via an external table that it warrants a paper, but whatever&#8230;</p>
<p>Restricting &#8220;create directory&#8221; or limiting who has execute on the directory (database directory, not filesystem) are options.  Most utilities would be in /bin or /usr/local/bin or similar so only root could put files there to be used in the preprocessor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jens Petersen</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-338</link>
		<dc:creator>Jens Petersen</dc:creator>
		<pubDate>Sat, 22 Nov 2008 18:41:49 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-338</guid>
		<description>From a developers perspective this is a great new feature and I&#039;m just about to write a paper how to use this to list all files in a directory.
But from a security perspective this sounds worryingly like opening up new huge holes.
Is there any way to restrict the usage of the preprocessor clause to certain users or disable it at all?</description>
		<content:encoded><![CDATA[<p>From a developers perspective this is a great new feature and I&#8217;m just about to write a paper how to use this to list all files in a directory.<br />
But from a security perspective this sounds worryingly like opening up new huge holes.<br />
Is there any way to restrict the usage of the preprocessor clause to certain users or disable it at all?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Log Buffer #124: a Carnival of the Vanities for DBAs</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-337</link>
		<dc:creator>Log Buffer #124: a Carnival of the Vanities for DBAs</dc:creator>
		<pubDate>Fri, 21 Nov 2008 17:31:15 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-337</guid>
		<description>[...] Rahn of Structured Data explained the use of a preprocessor for external tables. He writes, &#8220;Before External Tables existed in the Oracle database, loading from flat files [...]</description>
		<content:encoded><![CDATA[<p>[...] Rahn of Structured Data explained the use of a preprocessor for external tables. He writes, &#8220;Before External Tables existed in the Oracle database, loading from flat files [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nigel Thomas</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-334</link>
		<dc:creator>Nigel Thomas</dc:creator>
		<pubDate>Fri, 21 Nov 2008 10:50:42 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-334</guid>
		<description>@Carey - excellent idea - of course we can make a proxy file for any data source (which could contain the real parameters for the pre-processor - like source URL for example)

@Stewart - yes, the main benefit of streaming is (a) for integration with a non-Oracle source and (b) so that data-in-flight (maybe from SQL Server to DB/2) doesn&#039;t *have* to be physically staged in the (Oracle) transformation hub before it is delivered to its final destination. In the old days we did that with a PL/SQL pipeline using UTL_FILE in and out, then piping into SQL*Loader; nowadays we can have the source treated as an external table and do the transformation as part of the SELECT from that.</description>
		<content:encoded><![CDATA[<p>@Carey &#8211; excellent idea &#8211; of course we can make a proxy file for any data source (which could contain the real parameters for the pre-processor &#8211; like source URL for example)</p>
<p>@Stewart &#8211; yes, the main benefit of streaming is (a) for integration with a non-Oracle source and (b) so that data-in-flight (maybe from SQL Server to DB/2) doesn&#8217;t *have* to be physically staged in the (Oracle) transformation hub before it is delivered to its final destination. In the old days we did that with a PL/SQL pipeline using UTL_FILE in and out, then piping into SQL*Loader; nowadays we can have the source treated as an external table and do the transformation as part of the SELECT from that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg Rahn</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-340</link>
		<dc:creator>Greg Rahn</dc:creator>
		<pubDate>Fri, 21 Nov 2008 02:18:10 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-340</guid>
		<description>@Stewart

The preprocessor can be uncompress/gunzip or any other command that can output text to stdout.</description>
		<content:encoded><![CDATA[<p>@Stewart</p>
<p>The preprocessor can be uncompress/gunzip or any other command that can output text to stdout.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stewart Bryson</title>
		<link>http://structureddata.org/2008/11/19/preprocessor-for-external-tables/#comment-339</link>
		<dc:creator>Stewart Bryson</dc:creator>
		<pubDate>Fri, 21 Nov 2008 02:14:21 +0000</pubDate>
		<guid isPermaLink="false">http://structureddata.org/?p=291#comment-339</guid>
		<description>Greg:

Are you constrained by uncompress-type commands, or could the preprocessor call other sorts of command-line entities, such as decrypt commands, etc?

Nigel:

If you are loading an Oracle database with data from a remote Oracle database... there&#039;s no need to trouble yourself with all of this. The INSERT /*+ APPEND */ into SELECT * FROM... across a DBLINK will perform similarly. This initiates the direct path API, very similar to SQL-Loader&#039;s DIRECT mode. However, using the direct-path API inside of SQL gives some benefits that SQL-Loader never had: the MERGE statement, multi-table insert, etc.

Your point about using this scenario to load from other databases is not lost on me, however: that would be very valuable indeed. That&#039;s what Informatica does to speed up loading into Oracle databases. Since it cannot support the direct-path API from inside SQL, it actually streams data through SQL-Loader in a similar way.


Regards,

Stewart</description>
		<content:encoded><![CDATA[<p>Greg:</p>
<p>Are you constrained by uncompress-type commands, or could the preprocessor call other sorts of command-line entities, such as decrypt commands, etc?</p>
<p>Nigel:</p>
<p>If you are loading an Oracle database with data from a remote Oracle database&#8230; there&#8217;s no need to trouble yourself with all of this. The INSERT /*+ APPEND */ into SELECT * FROM&#8230; across a DBLINK will perform similarly. This initiates the direct path API, very similar to SQL-Loader&#8217;s DIRECT mode. However, using the direct-path API inside of SQL gives some benefits that SQL-Loader never had: the MERGE statement, multi-table insert, etc.</p>
<p>Your point about using this scenario to load from other databases is not lost on me, however: that would be very valuable indeed. That&#8217;s what Informatica does to speed up loading into Oracle databases. Since it cannot support the direct-path API from inside SQL, it actually streams data through SQL-Loader in a similar way.</p>
<p>Regards,</p>
<p>Stewart</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced (User agent is rejected)
Database Caching 8/11 queries in 0.103 seconds using disk: basic
Object Caching 415/444 objects using disk: basic

Served from: structureddata.org @ 2012-05-17 07:57:01 -->
