<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ORACLE-BASE Blog Aggregator &#187; Laurent Schneider</title>
	<atom:link href="http://www.oracle-base.com/aggregator/author/laurent-schneider/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oracle-base.com/aggregator</link>
	<description>Blogs I follow...</description>
	<lastBuildDate>Mon, 06 Feb 2012 11:08:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>This system is for the use of authorized users only.</title>
		<link>http://laurentschneider.com/wordpress/2012/01/this-system-is-for-the-use-of-authorized-users-only.html</link>
		<comments>http://laurentschneider.com/wordpress/2012/01/this-system-is-for-the-use-of-authorized-users-only.html#comments</comments>
		<pubDate>Tue, 31 Jan 2012 16:13:31 +0000</pubDate>
		<dc:creator>Laurent Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://laurentschneider.com/?p=1237</guid>
		<description><![CDATA[How to bypass the login banners? There is actually more than one banner to bypass. One of the them is the message of the day banner, commonly located in /etc/motd. Typically friendly, example in AIX **************************************************************************** *&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;* *&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;* *&#160;&#160;Welcome to AIX Version 6.1!&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; * *&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;* *&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;* *&#160;&#160;Please see the README file in /usr/lpp/bos for information [...]]]></description>
			<content:encoded><![CDATA[<p>How to bypass the login banners? </p>
<p>There is actually more than one banner to bypass. One of the them is the message of the day banner, commonly located in /etc/motd. Typically friendly, example in AIX</p>
<p><pre><code>****************************************************************************
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
*&nbsp;&nbsp;Welcome to AIX Version 6.1!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
*&nbsp;&nbsp;Please see the README file in /usr/lpp/bos for information pertinent to *
*&nbsp;&nbsp;this release of the AIX Operating System.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
***************************************************************************
</code></pre></p>
<p>This is easy to bypass, simply place .hushlogin file on your serverside homedirectory  :<br />
<pre><code>
$ touch $HOME/.hushlogin
$
</code></pre></p>
<p>Yes, it is that easy.</p>
<p>A bit more cumbersome is the ssh banner. Which rather have an aggressive look with criminal punishment threats.<br />
<pre><code>
|-----------------------------------------------------------------|
| This system is for the use of authorized users only.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
| Individuals using this computer system without authority, or in |
| excess of their authority, are subject to having all of their&nbsp;&nbsp; |
| activities on this system monitored and recorded by system&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
| personnel.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
| In the course of monitoring individuals improperly using this&nbsp;&nbsp; |
| system, or in the course of system maintenance, the activities&nbsp;&nbsp;|
| of authorized users may also be monitored.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
| Anyone using this system expressly consents to such monitoring&nbsp;&nbsp;|
| and is advised that if such monitoring reveals possible&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
| evidence of criminal activity, system personnel may provide the |
| evidence of such monitoring to law enforcement officials.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|-----------------------------------------------------------------|
</code></pre><br />
Well, you could delete it from your ssh server but this would not please your sysadmins. The banner is actually a pre-authentication banner, so you must configure it on the client. With the unix ssh client, you lower the log level. Either with a command line option, -o LogLevel=quiet, or in a configfile<br />
<pre><code>
$ cat $HOME/.ssh/config
LogLevel=Quiet
StrictHostKeyChecking=no
NumberOfPasswordPrompts=1
</code></pre></p>
<p>This is so quiet that you will not get any feedback if you cannot connect, but I prefer quiet than noisy.</p>
<p>A very commonly used Windows ssh client is putty, and there, O miracle, there is a pre-authentication-banner option to uncheck in SSH-Auth.<br />
<img src="http://laurentschneider.com/wordpress/wp-content/uploads/2012/01/banner.jpg" alt="" title="Display pre-authentication banner" width="456" height="435" class="alignnone size-full wp-image-1238" /><br />
This appeared in putty 0.62 and it made my day today <img src='http://laurentschneider.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://laurentschneider.com/wordpress/2012/01/this-system-is-for-the-use-of-authorized-users-only.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The new metalink interface</title>
		<link>http://laurentschneider.com/wordpress/2012/01/the-new-metalink-interface.html</link>
		<comments>http://laurentschneider.com/wordpress/2012/01/the-new-metalink-interface.html#comments</comments>
		<pubDate>Mon, 30 Jan 2012 13:19:03 +0000</pubDate>
		<dc:creator>Laurent Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://laurentschneider.com/?p=1229</guid>
		<description><![CDATA[I just started using the New My Oracle Support User Interface It is a zero-flash interface with more capabilities than the &#8220;html&#8221; interface we used the previous years. It still provides about the same browser experience as the flash one. Have a try&#8230; according to Oracle : &#8220;it will eventually replace the Flash version&#8221; To [...]]]></description>
			<content:encoded><![CDATA[<p>I just started using the  <a href="https://supporthtml.oracle.com">New My Oracle Support User Interface</a></p>
<p>It is a zero-flash interface with more capabilities than the &#8220;html&#8221; interface we used the previous years. It  still provides about the same browser experience as the flash one. </p>
<p>Have a try&#8230; according to Oracle : &#8220;it will eventually replace the Flash version&#8221;<br />
To my French speaking readers : eventually does not mean &#8220;éventuellement&#8221; but rather &#8220;à l&#8217;occasion&#8221;.<br />
Google Translate is quite ok this time : <a href="http://translate.google.com/#auto%7Cfr%7Cit%20will%20eventually%20replace%20the%20Flash%20version%20">&#8220;elle finira par remplacer la version Flash&#8221;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://laurentschneider.com/wordpress/2012/01/the-new-metalink-interface.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>change system wide PATH variable in Windows</title>
		<link>http://laurentschneider.com/wordpress/2012/01/change-system-wide-path-variable-in-windows.html</link>
		<comments>http://laurentschneider.com/wordpress/2012/01/change-system-wide-path-variable-in-windows.html#comments</comments>
		<pubDate>Wed, 11 Jan 2012 10:20:35 +0000</pubDate>
		<dc:creator>Laurent Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://laurentschneider.com/?p=1225</guid>
		<description><![CDATA[This is utterly simple and mostly you did it with the mouse. To do it with command line and powershell, proceed this way. Open a powershell window powershell or if you have no right to edit the machine-wide environment, runas admin runas /user:yourdomain\youruserplusadmin powershell then access the environment assembly [environment]::setEnvironmentVariable(&#034;PATH&#034;,&#034;c:\oracle\product\11.2.0\client_1\bin;C:\WINDOWS\;C:\WINDOWS\system32;C:\Program Files\Putty;C:\Program Files\Perforce;C:\Program Files\TortoiseSVN\bin;C:\WINDOWS\system32\WindowsPowerShell\v1.0&#034;,&#034;MACHINE&#034;) MACHINE is [...]]]></description>
			<content:encoded><![CDATA[<p>This is utterly simple and mostly you did it with the mouse. </p>
<p>To do it with command line and powershell, proceed this way.</p>
<p>Open a powershell window<br />
<pre><code>
powershell
</code></pre><br />
or if you have no right to edit the machine-wide environment, runas admin<br />
<pre><code>
runas /user:yourdomain\youruserplusadmin powershell
</code></pre></p>
<p>then access the environment assembly<br />
<pre><code>
[environment]::setEnvironmentVariable(&quot;PATH&quot;,&quot;c:\oracle\product\11.2.0\client_1\bin;C:\WINDOWS\;C:\WINDOWS\system32;C:\Program Files\Putty;C:\Program Files\Perforce;C:\Program Files\TortoiseSVN\bin;C:\WINDOWS\system32\WindowsPowerShell\v1.0&quot;,&quot;MACHINE&quot;)
</code></pre></p>
<p>MACHINE is a for a Machine-wide setting and USER is for a USER-wide setting.</p>
<p>I hope it will be of some use</p>
<p>Completly unrelated, Enterprise Manager 12c for AIX is out. Do not wait it for HPUX, it is not planned. For Windows 64bit, it will come &#8220;between March and May 2012&#8243; according to note 793512.1 on metalink</p>
]]></content:encoded>
			<wfw:commentRss>http://laurentschneider.com/wordpress/2012/01/change-system-wide-path-variable-in-windows.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SPARC Supercluster</title>
		<link>http://laurentschneider.com/wordpress/2010/12/sparc-supercluster.html</link>
		<comments>http://laurentschneider.com/wordpress/2010/12/sparc-supercluster.html#comments</comments>
		<pubDate>Fri, 03 Dec 2010 09:32:45 +0000</pubDate>
		<dc:creator>Laurent Schneider</dc:creator>
		
		<guid isPermaLink="false">http://laurentschneider.com/?p=756</guid>
		<description><![CDATA[Oracle buys Sun was an exciting accouncement 20 months ago. What did change in the Solaris/Oracle Database world? First, Oracle delivered Exadata on Sun Hardware (x86_64). Second, they delivered Exadata on Sun Solaris Operating System (x86_64). But now, they announced a combination of software and hardware that will run Oracle database faster than anything ever [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://laurentschneider.com/wordpress/2009/04/oracle-buys-sun.html">Oracle buys Sun</a> was an exciting accouncement 20 months ago. </p>
<p>What did change in the Solaris/Oracle Database world?</p>
<p>First, Oracle delivered Exadata on Sun Hardware (x86_64).<br />
Second, they delivered Exadata on Sun Solaris Operating System (x86_64).</p>
<p>But now, they announced a combination of software and hardware that will run Oracle database <a href="http://www.oracle.com/us/corporate/press/192208">faster than anything ever before</a>.</p>
<p>I am happy to read Oracle is still investing on R&#038;D on the Sparc processors server line !</p>
]]></content:encoded>
			<wfw:commentRss>http://laurentschneider.com/wordpress/2010/12/sparc-supercluster.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>connect by and recursive with (part 2)</title>
		<link>http://laurentschneider.com/wordpress/2010/05/connect-by-and-recursive-with-part-2.html</link>
		<comments>http://laurentschneider.com/wordpress/2010/05/connect-by-and-recursive-with-part-2.html#comments</comments>
		<pubDate>Thu, 20 May 2010 09:11:47 +0000</pubDate>
		<dc:creator>Laurent Schneider</dc:creator>
		
		<guid isPermaLink="false">http://laurentschneider.com/?p=688</guid>
		<description><![CDATA[According to the doc
The subquery_factoring_clause now supports recursive subquery
factoring (recursive WITH), which lets you query hierarchical data.
This feature is more powerful than CONNECT BY in that it
provides depth-first search and breadth-first search, and supports
multiple recursive branches. A new search_clause and cycle_clause
let you specify an ordering for the rows and mark cycles in the
recursion
As written there [...]]]></description>
			<content:encoded><![CDATA[<p>According to <a href="http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/wnsql.htm" >the doc</a><br />
<i>The subquery_factoring_clause now supports recursive subquery<br />
factoring (recursive WITH), which lets you query hierarchical data.<br />
This feature is <b>more powerful</b> than CONNECT BY in that it<br />
provides depth-first search and breadth-first search, and supports<br />
multiple recursive branches. A new search_clause and cycle_clause<br />
let you specify an ordering for the rows and mark cycles in the<br />
recursion</i></p>
<p>As written <a href="http://laurentschneider.com/wordpress/2010/05/connect-by-and-recursive-cte.html">there</a> and <a href="http://laurentschneider.com/wordpress/2010/05/number-series.html">there</a>, <i>recursive with</i> has more capabilities. It is also ANSI and implemented in DB2, MS SQL Server. CONNECT BY is an Oracle oddity. But does <i>recursive with</i> perfoms as well as <i>connect by</i>?</p>
<ol>
<li>Create a big emp</li>
<p><pre><code>
create table big_emp as
with t(empno,mgr) as
(select 1, null from dual
union all 
select empno+1,trunc(dbms_random.value(1+empno/10,empno))
from t 
where empno&lt;100000)
select * from t
</code></pre></p>
<li>execution plan</li>
<p><strong>CONNECT BY</strong><br />
<pre><code>
select empno,mgr
from big_emp
connect by mgr = prior empno
start with mgr is null;

E M 
- -
1 -&nbsp;&nbsp;
2 1 
4 2 
6 2 
8 6 

Operation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object&nbsp;&nbsp;&nbsp;&nbsp;Rows Time Cost&nbsp;&nbsp; Bytes
------------------------- ------- ------ ---- ---- -------
SELECT STATEMENT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;185&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;78
CONNECT BY WITH FILTERING
TABLE ACCESS FULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIG_EMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp; 61&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10
HASH JOIN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;122&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;46
CONNECT BY PUMP
TABLE ACCESS FULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIG_EMP 100000&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp; 61 1000000
</code></pre></p>
<p><strong>recursive WITH</strong><br />
<pre><code>
with e(empno,mgr) as (
select empno, mgr 
from big_emp 
where mgr is null
union all
select f.empno,f.mgr 
from big_emp f, e 
where e.empno=f.mgr)
select empno,mgr
from e;

E M
- -
1 -&nbsp;&nbsp;
2 1 
3 1 
4 2 
5 3 
...

Operation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object&nbsp;&nbsp;&nbsp;&nbsp;Rows Time Cost&nbsp;&nbsp; Bytes
------------------------- ------- ------ ---- ---- -------
SELECT STATEMENT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;183&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;78
VIEW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;183&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;78
UNION ALL (RECURSIVE WITH) BREADTH FIRST
TABLE ACCESS FULL BIG_EMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp; 61&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10
HASH JOIN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;122&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;46
RECURSIVE WITH PUMP
TABLE ACCESS FULL BIG_EMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 100000&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp; 61 1000000
</code></pre></p>
<p>In this particular simple case, it seems CONNECT BY have a 1% higher cost.</p>
<li>execution time</li>
<p><strong>CONNECT BY</strong><br />
<pre><code>
select sum(mgr)
from 
(
select empno,mgr
from big_emp
connect by mgr = prior empno
start with mgr is null
)

SUM(MGR) 
------------
2745293877 

1 rows returned in 0.73 seconds 
</code></pre></p>
<p><strong>recursive with</strong><br />
<pre><code>
with e(empno,mgr) as (
select empno, mgr 
from big_emp 
where mgr is null
union all
select f.empno,f.mgr 
from big_emp f, e 
where e.empno=f.mgr)
select sum(mgr)
from e;

SUM(MGR) 
------------
2745293877 

1 rows returned in 1.24 seconds 
</code></pre>
</ol>
<p>Honestly I am not surprised that CONNECT BY is faster, CONNECT BY has been in the Oracle database forever and has been massively tuned in 8.1.7.4.</p>
<p>And then one day you find, ten years have got behind you.</p>
]]></content:encoded>
			<wfw:commentRss>http://laurentschneider.com/wordpress/2010/05/connect-by-and-recursive-with-part-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

