<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Jeff Kemp on Oracle</title>
	<atom:link href="http://jeffkemponoracle.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeffkemponoracle.com</link>
	<description>Oracle Database: Get it Right</description>
	<lastBuildDate>Sat, 21 Apr 2012 12:08:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Comment on SQL Developer Wish List by Jeffrey Kemp</title>
		<link>http://jeffkemponoracle.com/2006/10/28/sql-developer-wish-list/#comment-623</link>
		<dc:creator><![CDATA[Jeffrey Kemp]]></dc:creator>
		<pubDate>Sat, 21 Apr 2012 12:08:19 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.wordpress.com/2006/10/28/sql-developer-wish-list#comment-623</guid>
		<description><![CDATA[Hi Jeff! I&#039;ve been using SQL Developer 3.0 for quite some time now for database development and problem diagnosis.

Improvements noticed: better data browser, ability to edit data in the grid, better support for BLOBs, including viewing images directly. Lots of other little improvements and bug fixes throughout.

Probably the main things that I miss from PL/SQL Developer, that neither SQL Developer nor TOAD support, are:
(a) truly context-sensitive menus (e.g. right-click on the name of a table anywhere in the code editor and get table-related functions)
(b) configurable schema browser (e.g. create additional categories apart from the basic Tables, Views, etc. - e.g. have a category that groups all the tables, views, procedures, etc. related to a particular issue - and colour-code them so they stand out in the other lists).

However, I&#039;ve found SQL Developer is a much more mature product now than it was 6 years ago.

There are two things that still bug me:

1. Slow start-up time. Seriously - why does it need to take so long to start up? If I&#039;m in a hurry, it&#039;s always quicker to open a putty session, log in, start sqlplus, and start typing my commands. This is where Allround&#039;s product beats both TOAD and SQL Developer - it&#039;s lean and mean.

2. Poor performance when connecting to a remote database. The schema browser is where this becomes very noticeable - all it takes is accidentally clicking on the name of a table, and I&#039;ll be waiting 30-40 seconds before I get control again, because it has to load all the table, column and constraint definitions. It&#039;s quite ironic that loading 100 rows from a query, with however many columns, is blazingly fast, whereas loading the definitions for a 20 column table is painfully slow. It looks like it suffers from &quot;slow-by-slow&quot; logic here.]]></description>
		<content:encoded><![CDATA[<p>Hi Jeff! I&#8217;ve been using SQL Developer 3.0 for quite some time now for database development and problem diagnosis.</p>
<p>Improvements noticed: better data browser, ability to edit data in the grid, better support for BLOBs, including viewing images directly. Lots of other little improvements and bug fixes throughout.</p>
<p>Probably the main things that I miss from PL/SQL Developer, that neither SQL Developer nor TOAD support, are:<br />
(a) truly context-sensitive menus (e.g. right-click on the name of a table anywhere in the code editor and get table-related functions)<br />
(b) configurable schema browser (e.g. create additional categories apart from the basic Tables, Views, etc. &#8211; e.g. have a category that groups all the tables, views, procedures, etc. related to a particular issue &#8211; and colour-code them so they stand out in the other lists).</p>
<p>However, I&#8217;ve found SQL Developer is a much more mature product now than it was 6 years ago.</p>
<p>There are two things that still bug me:</p>
<p>1. Slow start-up time. Seriously &#8211; why does it need to take so long to start up? If I&#8217;m in a hurry, it&#8217;s always quicker to open a putty session, log in, start sqlplus, and start typing my commands. This is where Allround&#8217;s product beats both TOAD and SQL Developer &#8211; it&#8217;s lean and mean.</p>
<p>2. Poor performance when connecting to a remote database. The schema browser is where this becomes very noticeable &#8211; all it takes is accidentally clicking on the name of a table, and I&#8217;ll be waiting 30-40 seconds before I get control again, because it has to load all the table, column and constraint definitions. It&#8217;s quite ironic that loading 100 rows from a query, with however many columns, is blazingly fast, whereas loading the definitions for a 20 column table is painfully slow. It looks like it suffers from &#8220;slow-by-slow&#8221; logic here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on SQL Developer Wish List by Jeff Smith</title>
		<link>http://jeffkemponoracle.com/2006/10/28/sql-developer-wish-list/#comment-622</link>
		<dc:creator><![CDATA[Jeff Smith]]></dc:creator>
		<pubDate>Sat, 21 Apr 2012 10:56:04 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.wordpress.com/2006/10/28/sql-developer-wish-list#comment-622</guid>
		<description><![CDATA[It&#039;s been 6 years and we&#039;ve hit many of these requests, but I&#039;m curious to hear what you think of the product today?]]></description>
		<content:encoded><![CDATA[<p>It&#8217;s been 6 years and we&#8217;ve hit many of these requests, but I&#8217;m curious to hear what you think of the product today?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Code I Regret: Refactoring as Penance by jgarry</title>
		<link>http://jeffkemponoracle.com/2012/04/19/code-i-regret-refactoring-as-penance/#comment-620</link>
		<dc:creator><![CDATA[jgarry]]></dc:creator>
		<pubDate>Thu, 19 Apr 2012 22:27:15 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.com/?p=1258#comment-620</guid>
		<description><![CDATA[Maybe you were thinking of:  fake_sender (president@whitehouse.gov) real_sender (vladimir_putin@kgb.org) reply_to (wb@washingtonpost.com) envelope_owner (jeff@mossad.org)]]></description>
		<content:encoded><![CDATA[<p>Maybe you were thinking of:  fake_sender (president@whitehouse.gov) real_sender (vladimir_putin@kgb.org) reply_to (wb@washingtonpost.com) envelope_owner (jeff@mossad.org)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on 3 Reasons to Hate Hibernate by Jeffrey Kemp</title>
		<link>http://jeffkemponoracle.com/2011/11/25/3-reasons-to-hate-hibernate/#comment-619</link>
		<dc:creator><![CDATA[Jeffrey Kemp]]></dc:creator>
		<pubDate>Thu, 19 Apr 2012 13:37:57 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.com/?p=1013#comment-619</guid>
		<description><![CDATA[Yes, me too :)

So far I&#039;ve found that &lt;em&gt;some&lt;/em&gt; query changes are relatively easy for them to retrofit into HQL. For example, if they&#039;ve got a correlated subquery as part of the predicate, they might not be able to roll it into a join to the main part of the query, but they can change the subquery itself - e.g. change from a &quot;WHERE EXISTS ()&quot; into a &quot;WHERE x IN ()&quot;, or vice versa. This sort of simple change is sometimes enough to cause the CBO to find a better plan.]]></description>
		<content:encoded><![CDATA[<p>Yes, me too :)</p>
<p>So far I&#8217;ve found that <em>some</em> query changes are relatively easy for them to retrofit into HQL. For example, if they&#8217;ve got a correlated subquery as part of the predicate, they might not be able to roll it into a join to the main part of the query, but they can change the subquery itself &#8211; e.g. change from a &#8220;WHERE EXISTS ()&#8221; into a &#8220;WHERE x IN ()&#8221;, or vice versa. This sort of simple change is sometimes enough to cause the CBO to find a better plan.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on 3 Reasons to Hate Hibernate by Enrique Aviles</title>
		<link>http://jeffkemponoracle.com/2011/11/25/3-reasons-to-hate-hibernate/#comment-618</link>
		<dc:creator><![CDATA[Enrique Aviles]]></dc:creator>
		<pubDate>Thu, 19 Apr 2012 13:29:11 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.com/?p=1013#comment-618</guid>
		<description><![CDATA[My main gripe about Hibernate is that HQL imposes a limit on what you can do with SQL. The solution for issue #2 above is not supported by HQL because it introduces an analytic function. I also work with developers that appreciate the power of the database, mostly because they have seen what you can do with SQL (not HQL). Many times I&#039;ve been called to investigate a performance issue and the culprit is a Hibernate generated query. Sometimes changing the HQL around helps generate a better query but sometimes the optimal solution requires using SQL features that are not supported by HQL. Yes, you can replace the HQL with straight SQL but I&#039;ve heard that&#039;s not necessarily as simple as it sounds.

I like to show how much you can do with SQL. I love it when I show developers elapsed time and buffer gets from the original generated query and the same metrics from the new SQL query. It&#039;s great to see developers amazed when they discover how fast the database returns the data they need. I take the opportunity to tell them Oracle does much more than just store data.]]></description>
		<content:encoded><![CDATA[<p>My main gripe about Hibernate is that HQL imposes a limit on what you can do with SQL. The solution for issue #2 above is not supported by HQL because it introduces an analytic function. I also work with developers that appreciate the power of the database, mostly because they have seen what you can do with SQL (not HQL). Many times I&#8217;ve been called to investigate a performance issue and the culprit is a Hibernate generated query. Sometimes changing the HQL around helps generate a better query but sometimes the optimal solution requires using SQL features that are not supported by HQL. Yes, you can replace the HQL with straight SQL but I&#8217;ve heard that&#8217;s not necessarily as simple as it sounds.</p>
<p>I like to show how much you can do with SQL. I love it when I show developers elapsed time and buffer gets from the original generated query and the same metrics from the new SQL query. It&#8217;s great to see developers amazed when they discover how fast the database returns the data they need. I take the opportunity to tell them Oracle does much more than just store data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Alexandria: May Cause Addiction by Lewis Cunningham (@TheRealLewisC)</title>
		<link>http://jeffkemponoracle.com/2012/03/25/alexandria-may-cause-addiction/#comment-600</link>
		<dc:creator><![CDATA[Lewis Cunningham (@TheRealLewisC)]]></dc:creator>
		<pubDate>Thu, 29 Mar 2012 14:56:38 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.com/?p=1246#comment-600</guid>
		<description><![CDATA[That&#039;s pretty sweet! Great package.]]></description>
		<content:encoded><![CDATA[<p>That&#8217;s pretty sweet! Great package.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Alexandria: May Cause Addiction by culturekiosque</title>
		<link>http://jeffkemponoracle.com/2012/03/25/alexandria-may-cause-addiction/#comment-599</link>
		<dc:creator><![CDATA[culturekiosque]]></dc:creator>
		<pubDate>Wed, 28 Mar 2012 18:22:39 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.com/?p=1246#comment-599</guid>
		<description><![CDATA[Nail the world!

(seriously-- this is pretty cool stuff. I could actually imagine a Warehouse Builder user getting all kinds of interesting and unexpected things done with this...)]]></description>
		<content:encoded><![CDATA[<p>Nail the world!</p>
<p>(seriously&#8211; this is pretty cool stuff. I could actually imagine a Warehouse Builder user getting all kinds of interesting and unexpected things done with this&#8230;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on User-named locks with DBMS_LOCK by Jos Groen</title>
		<link>http://jeffkemponoracle.com/2005/10/19/user-named-locks-with-dbms_lock/#comment-598</link>
		<dc:creator><![CDATA[Jos Groen]]></dc:creator>
		<pubDate>Wed, 28 Mar 2012 09:44:34 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.wordpress.com/2005/10/19/user-named-locks-with-dbms_lock#comment-598</guid>
		<description><![CDATA[Like the solution!

Thanks for Sharing]]></description>
		<content:encoded><![CDATA[<p>Like the solution!</p>
<p>Thanks for Sharing</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Installing Oracle 11gXE on Amazon Elastic Cloud by Jeffrey Kemp</title>
		<link>http://jeffkemponoracle.com/2011/09/08/installing-oracle-11gxe-on-amazon-elastic-cloud/#comment-597</link>
		<dc:creator><![CDATA[Jeffrey Kemp]]></dc:creator>
		<pubDate>Mon, 26 Mar 2012 23:25:20 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.com/?p=1102#comment-597</guid>
		<description><![CDATA[Very nice, thanks for the tip Peter :)]]></description>
		<content:encoded><![CDATA[<p>Very nice, thanks for the tip Peter :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Installing Oracle 11gXE on Amazon Elastic Cloud by ptomlins</title>
		<link>http://jeffkemponoracle.com/2011/09/08/installing-oracle-11gxe-on-amazon-elastic-cloud/#comment-596</link>
		<dc:creator><![CDATA[ptomlins]]></dc:creator>
		<pubDate>Mon, 26 Mar 2012 23:22:45 +0000</pubDate>
		<guid isPermaLink="false">http://jeffkemponoracle.com/?p=1102#comment-596</guid>
		<description><![CDATA[Excellent tutorial! I have been down this road myself more than once. I have run into one issue that used to drive me absolutely nutters until a moment of inspiration a week ago led to a solution.

Every time you restart your EC2 instance, you get a new host name. Every time you get a new host name, your Oracle Listener fails because it&#039;s configured by host name. So I was updating the listener.ora file after every restart (reboots are not a problem because the host name doesn&#039;t change). Since I am mostly broke, I couldn&#039;t leave the instance running 24/7.

So I copied the listener.ora file into a file called listener.template. Then, in the template file, I changed the host name to &#039;myName&#039;. I wrote a shell script that uses sed to find and replace &#039;myName&#039; with the current host name. Finally, the script restarts Oracle 11 XE and the listener.

Once I got the script working, it was then a matter of configuring it to run at run level 3 on every start up, which, depending upon your Linux, can be really easy or rather not easy. I use SuSE 11, so I had to learn how to create a &#039;service&#039; script, save that script to /etc/init.d, create a link to it in /etc/init.d/rc3.d, then execute a chkconfig -add .

Here is the script:

#
# changeHostname
# --------------
#
# 22 March 2012
#
# bash script to change the hostname in the LISTENER.ORA file
# this needs to be done every time you launch your AWS cloud machines
# that are not permanent (a.k.a expensive).
#
#
LISTENER=&#039;/u01/app/oracle/product/11.2.0/xe/network/admin/&#039;
NEWNAME=`/bin/hostname`

sed &quot;s/myName/$NEWNAME/&quot; ${LISTENER}listener.template &gt; ${LISTENER}listener.ora

/etc/init.d/oracle-xe restart

You need to change the LISTENER variable to the location of your listener.ora file. 

I have the other scripts too if interested.]]></description>
		<content:encoded><![CDATA[<p>Excellent tutorial! I have been down this road myself more than once. I have run into one issue that used to drive me absolutely nutters until a moment of inspiration a week ago led to a solution.</p>
<p>Every time you restart your EC2 instance, you get a new host name. Every time you get a new host name, your Oracle Listener fails because it&#8217;s configured by host name. So I was updating the listener.ora file after every restart (reboots are not a problem because the host name doesn&#8217;t change). Since I am mostly broke, I couldn&#8217;t leave the instance running 24/7.</p>
<p>So I copied the listener.ora file into a file called listener.template. Then, in the template file, I changed the host name to &#8216;myName&#8217;. I wrote a shell script that uses sed to find and replace &#8216;myName&#8217; with the current host name. Finally, the script restarts Oracle 11 XE and the listener.</p>
<p>Once I got the script working, it was then a matter of configuring it to run at run level 3 on every start up, which, depending upon your Linux, can be really easy or rather not easy. I use SuSE 11, so I had to learn how to create a &#8216;service&#8217; script, save that script to /etc/init.d, create a link to it in /etc/init.d/rc3.d, then execute a chkconfig -add .</p>
<p>Here is the script:</p>
<p>#<br />
# changeHostname<br />
# &#8212;&#8212;&#8212;&#8212;&#8211;<br />
#<br />
# 22 March 2012<br />
#<br />
# bash script to change the hostname in the LISTENER.ORA file<br />
# this needs to be done every time you launch your AWS cloud machines<br />
# that are not permanent (a.k.a expensive).<br />
#<br />
#<br />
LISTENER=&#8217;/u01/app/oracle/product/11.2.0/xe/network/admin/&#8217;<br />
NEWNAME=`/bin/hostname`</p>
<p>sed &#8220;s/myName/$NEWNAME/&#8221; ${LISTENER}listener.template &gt; ${LISTENER}listener.ora</p>
<p>/etc/init.d/oracle-xe restart</p>
<p>You need to change the LISTENER variable to the location of your listener.ora file. </p>
<p>I have the other scripts too if interested.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

