<?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>That Jeff Smith</title>
	<atom:link href="http://www.thatjeffsmith.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thatjeffsmith.com</link>
	<description>Optimizing Your Oracle Database Experience, Mostly</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:39:15 +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>Why I Don&#8217;t Follow You</title>
		<link>http://www.thatjeffsmith.com/archive/2012/02/why-i-dont-follow-you/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/02/why-i-dont-follow-you/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 15:07:04 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2438</guid>
		<description><![CDATA[
			
				
			
		
<p class="wp-caption-text">That IS the question.</p>
<p>A quick disclaimer: I was inspired to write this post after reading AmberIsMe&#8216;s take on why she doesn&#8217;t read your blog.</p>
<p>It&#8217;s not personal. Actually, it is a little personal. That is the point of social media after all, right? </p>
<p>Building personal relationships with folks you admire that you wouldn&#8217;t otherwise be [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/02/why-i-dont-follow-you/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F02%2Fwhy-i-dont-follow-you%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F02%2Fwhy-i-dont-follow-you%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<div id="attachment_2442" class="wp-caption alignright" style="width: 269px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/followMe1.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/followMe1.png" alt="" title="followMe" width="259" height="113" class="size-full wp-image-2442" /></a><p class="wp-caption-text">That IS the question.</p></div>
<p>A quick disclaimer: I was inspired to write this post after reading <a href="http://www.amberrisme.com/793-2/">AmberIsMe</a>&#8216;s take on <a href="http://www.amberrisme.com/2012/02/02/top-10-reasons-i-never-visit-your-blog-anymore/">why she doesn&#8217;t read your blog</a>.</p>
<p>It&#8217;s not personal. Actually, it is a <em>little</em> personal. That is the point of social media after all, right? </p>
<p><strong><center>Building personal relationships with folks you admire that you wouldn&#8217;t otherwise be able to in &#8216;real life&#8217;</center></strong></p>
<p>Don&#8217;t let me put words in your mouth, but that&#8217;s one of the primary reasons I spend a LOT of time on Twitter.</p>
<p>I don&#8217;t know why people follow me on Twitter, and I can only tell you why I follow people. I&#8217;m guessing you are a bit more interested in hearing why I DO NOT follow you. I mean, you took the time to hit the &#8216;follow&#8217; button. You and I both know it only takes half a second for someone to return the courtesy. Why the public disrespect?</p>
<h3>You are not giving me a good reason to follow you.</h3>
<p>Following me is a reason, but not a good one. If I followed everyone who followed me I would have a very hard time being able to &#8216;keep up.&#8217; I spend a lot of time on Twitter, and I expect and demand that said time not be wasted. Sometimes I&#8217;ll take a gamble and follow someone &#8216;on a hunch&#8217;, but it&#8217;s not very often. More often I&#8217;ve chosen not to follow someone because&#8230;</p>
<h4>1. You don&#8217;t have a profile picture.</h4>
<p>&#8216;The egg&#8217; tells me you&#8217;re either new to Twitter, or you don&#8217;t understand how it works. Either way, I&#8217;m not ready to follow you yet. If you think your tweets are fantastic, engaging, and will better my life simply by being exposed to your 140 character expositions on life, then please do yourself a favor and setup a profile pic.</p>
<h4>2. You don&#8217;t have a description.</h4>
<p>Unless you&#8217;re the President of the United States, you shouldn&#8217;t assume that people know who you are. Use keywords, let me know if you lean towards hobbies, work, or humor. It&#8217;s not a term paper, it&#8217;s your elevator pitch.</p>
<h4>3. You don&#8217;t have a blog.</h4>
<p>This isn&#8217;t a deal-breaker. But, if you DO have one, it&#8217;s more likely to &#8216;seal the deal.&#8217; A blog gives me a chance to get to know you better. And if you DO have one, link to your &#8216;About Me&#8217; page, not your site index. One less click for me and all your followers. More importantly, don&#8217;t leave it up to chance that we&#8217;ll bother to hunt for your bio and read it.</p>
<h4>4. You don&#8217;t tweet.</h4>
<p>Less than a tweet a day or maybe even 0 tweets. Why follow someone who doesn&#8217;t say anything? We&#8217;re not talking about LinkedIn recommendations. Just because I follow someone doesn&#8217;t mean I endorse that person, or vice versa. So if you want people to follow you, say something once in a while. And by &#8216;while&#8217;, I mean maybe every day or so.</p>
<h4>5. You tweet, but it&#8217;s crap.</h4>
<p>You are are a bot. Or you are in marketing, and you&#8217;re not very good at it. There&#8217;s no personal aspect to your tweets. It&#8217;s all links to stories. We all occasionally tweet for the sole purpose to promote ourselves, but we should also try to let our personal selves shine in our tweets.</p>
<h4>That&#8217;s it!</h4>
<p>We&#8217;re not talking about a college entrance exam. There&#8217;s no need to hire a tutor here. Don&#8217;t be a mystery, be yourself, and actively participate.</p>
<p>I DO check these four things every time I go to follow or NOT follow someone. If you are guilty of more than one of these &#8216;crimes&#8217;, then that explains why I don&#8217;t follow you. Also, if you quit tweeting (has it been months?), then I will unfollow you as well. If you come back, then so will I.</p>
<p>I&#8217;m sure others have their reasons&#8230;which they will probably blast me for in the comments that follow <img src='http://www.thatjeffsmith.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/02/why-i-dont-follow-you/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SQL Developer Trick: Double-Click to Go Full Screen</title>
		<link>http://www.thatjeffsmith.com/archive/2012/02/sql-developer-trick-double-click-to-go-full-screen/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/02/sql-developer-trick-double-click-to-go-full-screen/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 14:30:27 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[SQL Developer]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[sqldev]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[worksheet]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2427</guid>
		<description><![CDATA[
			
				
			
		
<p>No matter how many monitors you have or how large they may be, sometimes you just need more real-estate for your coding. You can have a whole lot going on in your IDE, and SQL Developer is no exception. Of course you can always close or hide the offending panels and windows, but then it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/02/sql-developer-trick-double-click-to-go-full-screen/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F02%2Fsql-developer-trick-double-click-to-go-full-screen%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F02%2Fsql-developer-trick-double-click-to-go-full-screen%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>No matter how many monitors you have or how large they may be, sometimes you just need more real-estate for your coding. You can have a whole lot going on in your IDE, and SQL Developer is no exception. Of course you can always close or hide the offending panels and windows, but then it&#8217;s a real pain to get them back.</p>
<p>WordPress has a nice fullscreen editor I can use when writing these posts. It&#8217;s just a click away&#8230;</p>
<div id="attachment_2428" class="wp-caption aligncenter" style="width: 942px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/double_click_tab2.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/double_click_tab2.png" alt="" title="double_click_tab2" width="932" height="329" class="size-full wp-image-2428" /></a><p class="wp-caption-text">The Word Press Full Screen Post Editor</p></div>
<p>Wouldn&#8217;t it be nice to have the same thing in SQL Developer? For example, I&#8217;m trying to work on my query in the worksheet, and I&#8217;m having problems concentrating&#8230;Squirrel!</p>
<div id="attachment_2429" class="wp-caption aligncenter" style="width: 1034px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/double_click_tab.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/double_click_tab-1024x676.png" alt="" title="double_click_tab" width="1024" height="676" class="size-large wp-image-2429" /></a><p class="wp-caption-text">Oracle SQL Developer in all it&#039;s &#039;glory&#039;</p></div>
<h3>Just Double-Click on the Tab to go full-screen</h3>
<div id="attachment_2430" class="wp-caption aligncenter" style="width: 609px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/double_click_tab3.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/double_click_tab3.png" alt="" title="double_click_tab3" width="599" height="492" class="size-full wp-image-2430" /></a><p class="wp-caption-text">Double-click to go full-screen</p></div>
<p>Et voila! SQL Developer closes all the other panels and you get JUST the worksheet (or PLSQL Editor.)</p>
<div id="attachment_2431" class="wp-caption aligncenter" style="width: 892px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/double_click_tab4.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/double_click_tab4.png" alt="" title="double_click_tab4" width="882" height="584" class="size-full wp-image-2431" /></a><p class="wp-caption-text">Nothing comes between you and your code!</p></div>
<h3>When you&#8217;re done, just double-click to go back to your normal view.</h3>
<p>If you happen to close a support panel like the Snippets, remember you can always get those back by going to the View menu. And if you&#8217;d prefer to minimize or hide the panels, just click on the little minimize &#8216;_&#8217; button at the top right of each panel.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/02/sql-developer-trick-double-click-to-go-full-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Developer Data Modeler Navigator Can Get You There I Bet!</title>
		<link>http://www.thatjeffsmith.com/archive/2012/02/sql-developer-data-modeler-navigator-can-get-you-there-i-bet/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/02/sql-developer-data-modeler-navigator-can-get-you-there-i-bet/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 14:55:56 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[SQL Developer]]></category>
		<category><![CDATA[data modeling]]></category>
		<category><![CDATA[sqldev]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2420</guid>
		<description><![CDATA[
			
				
			
		
<p>Just so you don&#8217;t think I&#8217;m crazy, you should know that I&#8217;m a father to a wonderful two year old daughter. She&#8217;s awesome, except when she wants to act her age. When we get desperate, we turn on her favorite show. I have seen about 200 different episodes of Dora the Explorer. My Spanish is [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/02/sql-developer-data-modeler-navigator-can-get-you-there-i-bet/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F02%2Fsql-developer-data-modeler-navigator-can-get-you-there-i-bet%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F02%2Fsql-developer-data-modeler-navigator-can-get-you-there-i-bet%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Just so you don&#8217;t think I&#8217;m crazy, you should know that I&#8217;m a father to a wonderful two year old daughter. She&#8217;s awesome, except when she wants to act her age. When we get desperate, we turn on her favorite show. I have seen about 200 different episodes of <a href="http://en.wikipedia.org/wiki/Dora_the_Explorer">Dora the Explorer</a>. My Spanish is getting better, but I&#8217;ve got these really bad songs stuck in my head. I&#8217;m going to share one of these with you right now.</p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/NSw1F-E_M2A" frameborder="0" allowfullscreen></iframe></p>
<p><em>If there&#8217;s a place you got to go<br />
I&#8217;m the one you need to know<br />
I&#8217;m the Map<br />
I&#8217;m the Map<br />
I&#8217;m the Map<br />
If there&#8217;s a place you got to get<br />
I can get you there I bet<br />
I&#8217;m the Map!</em></p>
<p>Wouldn&#8217;t it be awesome if life were like this? Whenever you needed something, there was this magical talking map that told you exactly how to get what you wanted. Unfortunately life can&#8217;t be that simple, but sometimes our software can be.</p>
<p>Yes, I&#8217;m using Dora as a segue for a SQL Developer Tip and Trick post. Blogging is much cheaper than therapy, and the drugs are better!</p>
<h3>SQL Developer Data Modeler Navigator Can Get You There I Bet!</h3>
<p>Data models can be quite large. It&#8217;s a real challenge to take a workspace and evenly distribute the table and view objects in the diagram in such a way that it&#8217;s easy to read. Especially when everyone&#8217;s monitor and resolution setups are different. You can just about bet the default presentation of your model is going to be problematic. That&#8217;s why we have many different tools for helping re-arranging objects automatically, zooming in and out, and of course the &#8216;Go To Diagram&#8217; function you can call directly from the object explorer.</p>
<p>But, sometimes in life, what you REALLY need is a map!</p>
<p>Let&#8217;s take a quick look at a big model:<br />
<div id="attachment_2422" class="wp-caption aligncenter" style="width: 951px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/model_map1.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/model_map1.png" alt="" title="model_map1" width="941" height="672" class="size-full wp-image-2422" /></a><p class="wp-caption-text">Ok, so where are my darn tables and views already?!?</p></div></p>
<p>Tucked neatly in the upper-right-hand corner of the modeler is a panel labeled &#8216;Navigator.&#8217; This will show us the way!</p>
<div id="attachment_2423" class="wp-caption aligncenter" style="width: 163px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/model_map2.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/model_map2.png" alt="" title="model_map2" width="153" height="232" class="size-full wp-image-2423" /></a><p class="wp-caption-text">The Navigator is our Map</p></div>
<p>If you click on the panel and then on the &#8216;Restore&#8217; button, you&#8217;ll get something like this -<br />
<div id="attachment_2424" class="wp-caption aligncenter" style="width: 951px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/model_map3.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/02/model_map3.png" alt="" title="model_map3" width="941" height="672" class="size-full wp-image-2424" /></a><p class="wp-caption-text">The Navigator makes it easy to navigate your models</p></div></p>
<p>As you click around the navigator, the &#8216;red box outliner thingie&#8217; (can you tell that I am college educated?) will auto-zoom/navigate the area in the main model space.</p>
<p>You might be wondering why I have dedicated 500+/- words to such a simple topic, and I&#8217;ll be honest with you &#8211; I did not notice this feature until just recently. The navigator by default is minimized in the application and it&#8217;s very easy to miss. Plus we are often very reticent to ask for help and directions &#8211; even when the map is right there for us to consult. I hope this helps save you at least a few seconds while you work with your data models.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/02/sql-developer-data-modeler-navigator-can-get-you-there-i-bet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Your Mind Out of the Gutter and Your Line Numbers In</title>
		<link>http://www.thatjeffsmith.com/archive/2012/01/getting-your-mind-out-of-the-gutter-and-your-line-numbers-in/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/01/getting-your-mind-out-of-the-gutter-and-your-line-numbers-in/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 14:25:17 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[SQL Developer]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[sqldev]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2409</guid>
		<description><![CDATA[
			
				
			
		
<p><p class="wp-caption-text">Hopefully your code is cleaner than what runs through this every morning</p>
I&#8217;m not sure if I can help with the mind part, but I can definitely add some perspective on the line numbers. Quickly, let&#8217;s define just what the &#8216;gutter&#8217; is in the world of programming and database GUIs. I found a good definition [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/01/getting-your-mind-out-of-the-gutter-and-your-line-numbers-in/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fgetting-your-mind-out-of-the-gutter-and-your-line-numbers-in%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fgetting-your-mind-out-of-the-gutter-and-your-line-numbers-in%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><div id="attachment_2410" class="wp-caption alignright" style="width: 230px"><a href="http://en.wikipedia.org/wiki/File:Street_gutter_in_Old_Town_Stockholm.jpg"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/gutter1.jpg" alt="" title="gutter1" width="220" height="220" class="size-full wp-image-2410" /></a><p class="wp-caption-text">Hopefully your code is cleaner than what runs through this every morning</p></div><br />
I&#8217;m not sure if I can help with the mind part, but I can definitely add some perspective on the line numbers. Quickly, let&#8217;s define just what the &#8216;gutter&#8217; is in the world of programming and database GUIs. I found a good definition on <a href="http://www.qwhale.net/products/editor/features/gutter.htm">Quantum Whale</a>, a .NET component developer, and I&#8217;m going to quote them:</p>
<p><em>Gutter:<br />
The gutter area can be used to display bookmarks, line numbers and outline sections.<br />
The gutter is the area to the left of the text, the purpose of which is to display miscellaneous indicators for the corresponding lines of text. Among these indicators are bookmark indicators, line wrapping indicators, line styles icons, and line numbers. All the images displayed in the gutter are contained in the gutter image list.</em></p>
<p>Notice the VERY last thing mentioned in that description. A place to display &#8216;line numbers.&#8217;</p>
<p>Now here is the question of the day -</p>
<h3>Should your IDE show these by DEFAULT?</h3>
<p>I&#8217;ll save you the suspense and tell you that many of the IDEs out there DO NOT, and that includes SQL Developer. There are probably a few reasons, and I can make up more, but it probably comes down to this:</p>
<ul>
<li>JDeveloper doesn&#8217;t</li>
<li>Keep the coding area as clean as possible</li>
</ul>
<p>One of those reasons is a technical reason, and end users could care less about those. The other is more of a personal choice <a href="http://en.wikipedia.org/wiki/File:Slash_live_in_Rome_by_Paride.jpg">/</a> philosophical decision. When you make these types of decisions, you opt for something with minimal impact to the user base, and aim to &#8216;do no harm.&#8217; Did we make the right decision here? For many of you, yes we did. For many others of you, no we did not.</p>
<p>In our defense I could publicly mention several other database IDEs that have the exact same behavior. But, I would also argue with myself that those people are no better off and that we should strive to be the best. Yes, I do tend to argue with myself quite a bit.</p>
<p>One of my Twitter friends asked me if SQL Developer was an IDE or was it Notepad. Ouch, being compared to Notepad. Although I will admit to Notepad being my default HTML editor and I have no problems not having line numbers there.</p>
<p>I get his point though, serious coders are working on programs with many thousands of lines of code. They need little helpers to get them through the day.</p>
<p>Lets take a quick look at the following picture:<br />
<div id="attachment_2411" class="wp-caption aligncenter" style="width: 859px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/line_gutter1.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/line_gutter1.png" alt="" title="line_gutter1" width="849" height="619" class="size-full wp-image-2411" /></a><p class="wp-caption-text">SQL Developer Worksheet with Line Numbers Shown</p></div></p>
<p>So the error message is on line 11. This is where the Oracle parser gets upset that it&#8217;s not finding that COMMA that it expects. If it were complaining about line 24,327 it might be a pain to get to that line number, right?</p>
<p>Except.</p>
<p>Ctrl+G will open the &#8216;Go to line number&#8217; dialog for easy jumping.</p>
<p>It&#8217;s a click-click to get the line numbers on. I suppose you could argue that folks might not know where to click. Right-mouse-click in the gutter space.</p>
<div id="attachment_2412" class="wp-caption aligncenter" style="width: 250px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/line_gutter2.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/line_gutter2.png" alt="" title="line_gutter2" width="240" height="89" class="size-full wp-image-2412" /></a><p class="wp-caption-text">Right-mouse in the gutter</p></div>
<p>If you are in the PL/SQL Editor, you can actually click on the error message in the &#8216;Compiler Log&#8217; panel and it will take you to the indicated line number for that error message.</p>
<h3>Maybe I am too close?</h3>
<p>What I see as intuitive, you see as a trick?</p>
<p>If you think we&#8217;re doing it wrong, please add your vote in the form of a comment to this blog post. You can also <a href="https://apex.oracle.com/pls/apex/f?p=43135:7:3799335626693512::NO:RP,7:P7_ID:24321">up-vote this request</a> in the Exchange, although it needs re-worded.</p>
<p>Maybe we need a SQL Developer++? Notepad++ after all DOES show line numbers in their gutter by default <img src='http://www.thatjeffsmith.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/01/getting-your-mind-out-of-the-gutter-and-your-line-numbers-in/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Average Run Time for Oracle Jobs</title>
		<link>http://www.thatjeffsmith.com/archive/2012/01/average-run-time-for-oracle-jobs/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/01/average-run-time-for-oracle-jobs/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 16:36:34 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[Database Stuff]]></category>
		<category><![CDATA[SQL Developer]]></category>
		<category><![CDATA[datatype]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[reports]]></category>
		<category><![CDATA[sqldev]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2397</guid>
		<description><![CDATA[
			
				
			
		
<p><p class="wp-caption-text">Oracle SQL Developer Job Run Log</p>Starting with 10g and the introduction of DMBS_SCHEDULER, Oracle database began tracking and storing the execution duration of a job. By default this information is kept around for 30 days. You can of course change the logging level and the retention period for the job runs &#8211; read the [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/01/average-run-time-for-oracle-jobs/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Faverage-run-time-for-oracle-jobs%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Faverage-run-time-for-oracle-jobs%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><div id="attachment_2398" class="wp-caption alignright" style="width: 699px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/interval2.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/interval2.png" alt="" title="interval2" width="689" height="275" class="size-full wp-image-2398" /></a><p class="wp-caption-text">Oracle SQL Developer Job Run Log</p></div>Starting with 10g and the introduction of DMBS_SCHEDULER, Oracle database began tracking and storing the execution duration of a job. By default this information is kept around for 30 days. You can of course change the logging level and the retention period for the job runs &#8211; <a href="http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_sched.htm">read the docs</a>!</p>
<p>The job runs can be viewed via the dba_scheduler_job_run_details SYS view. Oracle SQL Developer shows this data in the job details panel of the schema browser even. So, answering the question, &#8216;How long does this job normally take to run?&#8217; should be relatively easy to answer.</p>
<p>It is, if you can think in terms of INTERVAL. You see, Oracle doesn&#8217;t store the time a job takes to run in seconds, it uses the INTERVAL datatype.</p>
<pre>
desc dba_scheduler_job_run_details
Name              Null Type
----------------- ---- ----------------------------
LOG_ID                 NUMBER
LOG_DATE               TIMESTAMP(6) WITH TIME ZONE
OWNER                  VARCHAR2(30)
JOB_NAME               VARCHAR2(65)
JOB_SUBNAME            VARCHAR2(65)
STATUS                 VARCHAR2(30)
ERROR#                 NUMBER
REQ_START_DATE         TIMESTAMP(6) WITH TIME ZONE
ACTUAL_START_DATE      TIMESTAMP(6) WITH TIME ZONE
RUN_DURATION           INTERVAL DAY(3) TO SECOND(0)
INSTANCE_ID            NUMBER
SESSION_ID             VARCHAR2(30)
SLAVE_PID              VARCHAR2(30)
CPU_USED               INTERVAL DAY(3) TO SECOND(2)
CREDENTIAL_OWNER       VARCHAR2(65)
CREDENTIAL_NAME        VARCHAR2(65)
DESTINATION_OWNER      VARCHAR2(128)
DESTINATION            VARCHAR2(128)
ADDITIONAL_INFO        VARCHAR2(4000)
</pre>
<h3>So what is an INTERVAL?</h3>
<p>Technically it&#8217;s INTERVAL DAY TO SECOND. <a href="http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm#i54330">From the docs</a> -</p>
<blockquote><p>INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds)]<br />
Stores a period of time in days, hours, minutes, and seconds, where<br />
day_precision is the maximum number of digits in the DAY datetime field. Accepted values are 0 to 9. The default is 2.<br />
fractional_seconds_precision is the number of digits in the fractional part of the SECOND field. Accepted values are 0 to 9. The default is 6.<br />
The size is fixed at 11 bytes.</p></blockquote>
<p>So if I&#8217;m looking at an entry in dba_scheduler_job_run_details, and it shows &#8217;0:0:1.0&#8242;, we can read that as &#8216;Zero days, zero hours, and 1.0 seconds.&#8217; As you can imagine, asking for an average using the avg() function doesn&#8217;t turn out so well -</p>
<pre>
select avg(run_duration) from dba_scheduler_job_run_details;

ORA-00932: inconsistent datatypes: expected NUMBER got INTERVAL DAY TO SECOND
00932. 00000 -  "inconsistent datatypes: expected %s got %s"
*Cause:
*Action:
Error at Line: 3 Column: 11
</pre>
<h3>How do I get a number out of an INTERVAL?</h3>
<p>Oracle provides a function called <a href="http://www.thatjeffsmith.com/archive/2011/03/oracle-function-extract/">EXTRACT</a>(). It allows you to pull DAYS, HOURS, or SECONDS from an INTERVAL. <em>BONUS FEATURE: It also works for TIMESTAMPS</em>! However, there is no direct conversion function that would take an interval and return the total number of seconds or minutes or hours, or a fraction thereof. So we have to do some MATH. I know, I know &#8211; that hurts. But, we can always cheat and &#8216;borrow&#8217; from <a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:10729709873260">the great Tom Kyte</a> <img src='http://www.thatjeffsmith.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Using Tom&#8217;s math &#8211; basically taking the number of days and hours in a day and multiplying out to get seconds and then adding to the seconds field gives me total number of seconds. In my case I&#8217;m OK with seconds b/c most of my jobs don&#8217;t take very long to run. You could adjust the math and get an avg number of hours or days instead. I&#8217;m going with seconds.</p>
<p>So here is my borrowed query from Tom:</p>
<pre>
select job_name,
       job_name,
       avg(extract( day from run_duration )*24*60*60 + extract( hour from run_duration )*60*60 + extract( minute from run_duration )*60 + extract( second from run_duration ))
from dba_scheduler_job_run_details
group by job_name, job_name
having avg(extract( day from run_duration )*24*60*60 + extract( hour from run_duration )*60*60 + extract( minute from run_duration )*60 + extract( second from run_duration )) > 0
order by 3 desc
</pre>
<h3>Why did you put JOB_NAME in there twice?</h3>
<p>Because I wanted a chart report!</p>
<p>I like pretty pictures &#8211; it&#8217;s why my career path looks so bright (this is a joke about managers, they love charts.)</p>
<div id="attachment_2399" class="wp-caption aligncenter" style="width: 1327px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/interval3.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/interval3.png" alt="" title="interval3" width="1317" height="618" class="size-full wp-image-2399" /></a><p class="wp-caption-text">SQL Developer Report Showing Average Job Run Time with Detail Breakouts</p></div>
<p>So clicking into my &#8230;_MAINTAIN_STATS job I can see that it ran in an avg of 5.25 seconds for a total of 4 times in the past 30 days. Averages can be misleading though. Four runs from 0 to 10 seconds is quite the range. You may want to build some logic in your report to restrict any average that doesn&#8217;t have at least a statistically significant number of data points.</p>
<p>Thanks to my Twitter friends for giving me something to chew on (and blog about!) this morning <img src='http://www.thatjeffsmith.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/01/average-run-time-for-oracle-jobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sweet Child Report O&#8217; Mine</title>
		<link>http://www.thatjeffsmith.com/archive/2012/01/sweet-child-report-o-mine/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/01/sweet-child-report-o-mine/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 21:00:25 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[SQL Developer]]></category>
		<category><![CDATA[charts]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[reports]]></category>
		<category><![CDATA[sqldev]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2383</guid>
		<description><![CDATA[
			
				
			
		
<p>I am just getting my feet wet when it comes to the reports in SQL Developer. The tool itself has quite a lot going on, everything from a database IDE to a migration platform, to a data modeling component. And then throw in the reporting stuff. I&#8217;ve already covered how to build a simple bar [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/01/sweet-child-report-o-mine/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fsweet-child-report-o-mine%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fsweet-child-report-o-mine%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I am just getting my feet wet when it comes to the reports in SQL Developer. The tool itself has quite a lot going on, everything from a database IDE to a migration platform, to a data modeling component. And then throw in the reporting stuff. I&#8217;ve already covered <a href="http://www.thatjeffsmith.com/archive/2011/12/simple-bar-chart-reports-with-sql-developer/">how to build a simple bar chart report</a> in an earlier post, but now I want to take this report to the next level!</p>
<p>Basic reports are tied to a single dataset. Adding one or more child reports allow you to take a value from the parent dataset and feed that as an input to a secondary query and report. Maybe my report is showing a breakdown of breweries by country in a bar chart, and I want my report consumer to be able click on a country and then be shows a list of the breweries for that country. SQL Developer can accomplish this using a Child Report.</p>
<h3>The Base Report</h3>
<p>For the parent report I am going to use my previous beer example. It&#8217;s a chart report, and here&#8217;s the underlying SQL statement:</p>
<pre>
SELECT country,country, count(*) FROM beer
group by country, country
having count(*) > 100
order by 3 desc
</pre>
<p>Running this report gives me a chart that looks like this:</p>
<div id="attachment_2227" class="wp-caption aligncenter" style="width: 1031px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2011/12/beers_chart1.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2011/12/beers_chart1.png" alt="" title="beers_chart" width="1021" height="404" class="size-full wp-image-2227" /></a><p class="wp-caption-text">My Breweries by Country Summary Report Chart</p></div>
<h3>Now let&#8217;s add the child report</h3>
<div id="attachment_2384" class="wp-caption aligncenter" style="width: 705px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/child1.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/child1.png" alt="" title="child1" width="695" height="500" class="size-full wp-image-2384" /></a><p class="wp-caption-text">Step 1: Add the Child Report</p></div>
<p>Right-click on the report in the tree and choose &#8216;Edit Report.&#8217; We are going to go to the Child Reports tree and &#8216;Add Child.&#8217; Note that you can add as many child reports as you would like, but I&#8217;m going to stick with the walking before the running.</p>
<p><em>Where do we go?<br />
Where do we go now?<br />
Where do we go?</em></p>
<p>I am going to choose a style of &#8216;Table&#8217; for the report. I just want a grid style list of breweries by the selected country. The most important information to provide here will be the query that will be used to populate said grid. To tie the two datasets together, we need to use a <a href="http://psoug.org/reference/bindvars.html">bind variable</a>. The &#8216;trick&#8217; here is to uppercase the bind variable name to match the column name from the master query.</p>
<div id="attachment_2385" class="wp-caption aligncenter" style="width: 708px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/child2.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/child2.png" alt="" title="child2" width="698" height="543" class="size-full wp-image-2385" /></a><p class="wp-caption-text">The Bind Variable ties the Master and Child queries together</p></div>
<p>For this particular report, the bind feeds off the COUNTRY name. So my child report query looks like this:</p>
<pre>
select brewery, city, state
from beer
where country = :COUNTRY
</pre>
<p>As I click on a Country in the master chart report, that value is fed to this query and will populate the grid for the child report.</p>
<p><em>Where do we go?<br />
Where do we go now?<br />
Where do we go?</em></p>
<h3>The Completed Master-Child Report</h3>
<p><div id="attachment_2386" class="wp-caption aligncenter" style="width: 922px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/child3.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/child3.png" alt="" title="child3" width="912" height="810" class="size-full wp-image-2386" /></a><p class="wp-caption-text">The report is interactive. The chart labels are active, click and get the details!</p></div><br />
If you would like to read more about reporting in Oracle SQL Developer, then check out my predecessor&#8217;s <a href="http://www.oracle.com/technetwork/issue-archive/2007/07-may/o37sql-088155.html">article in Oracle Magazine from 2007, &#8216;Now Reporting.&#8217;</a></p>
<p>A new feature for v3.1 is our PDF reporting. We will have a video tutorial posted to coordinate with the release and will be available on <a href="https://apex.oracle.com/pls/apex/f?p=44785:24:2069256221394310::NO::P24_CONTENT_ID,P24_PREV_PAGE:5965,1">OTN</a>.</p>
<p><em><br />
Where do we go now?<br />
No, no, no, no, no, no<br />
Sweet child,<br />
Sweet child report of mine.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/01/sweet-child-report-o-mine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RMOUG’s Training Days Conference</title>
		<link>http://www.thatjeffsmith.com/archive/2012/01/rmougs-training-days-conference/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/01/rmougs-training-days-conference/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 14:39:41 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[sqldev]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2377</guid>
		<description><![CDATA[
			
				
			
		
<p class="wp-caption-text">Death by bullet points?</p>
<p>On February 14-16, I’ll be at the Colorado Convention Center in Denver, Colorado for RMOUG’s Training Days Conference. This is the largest regional Oracle User Conference in North America and attracts presenters from all around the country and the globe. I’ll be presenting:</p>
Presentation Name: SQL Developer Tips and Tricks for Developers
<p>Abstract: [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/01/rmougs-training-days-conference/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Frmougs-training-days-conference%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Frmougs-training-days-conference%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<div id="attachment_2378" class="wp-caption alignright" style="width: 310px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/rmoug_tips1.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/rmoug_tips1-300x235.png" alt="" title="rmoug_tips1" width="300" height="235" class="size-medium wp-image-2378" /></a><p class="wp-caption-text">Death by bullet points?</p></div>
<p>On February 14-16, I’ll be at the Colorado Convention Center in Denver, Colorado for RMOUG’s Training Days Conference. This is the largest regional Oracle User Conference in North America and attracts presenters from all around the country and the globe. I’ll be presenting:</p>
<h3>Presentation Name: SQL Developer Tips and Tricks for Developers</h3>
<p>Abstract: <em>You use the GUI because you want to be productive, right? Do you ever get the feeling you&#8217;re only really using a small fraction of what the database and SQL Developer have to offer? If so, then you&#8217;ve come to the right place. Stock up on tips guaranteed to save you time, and make your experience with your code and the database much more enjoyable. If you ever write SQL or PL/SQL, then this presentation is for you.</em></p>
<p><a href="http://www.teamycc.com/RMOUG_2012_Conference/index.html">Get more information or register for RMOUG’s Training Days now!</a> </p>
<p>My session details:<br />
SQL Developer Tips and Tricks for Developers<br />
Session 2<br />
Wednesday 2/15/2012<br />
10:45 am to 11:45 am<br />
Room 407</p>
<p>If you haven&#8217;t had a chance to sit and squirm through one of my presentations before, then please remember that I welcome questions and snide remarks during and after the presentation. The last time I presented at RMOUG my PC froze, and I wasn&#8217;t able to recover. If you like Nascar for the crashes or Hockey for the fights, come on down and enjoy the show!</p>
<h3>Can&#8217;t make it? That&#8217;s OK!</h3>
<p>I&#8217;ll be hosting a web version of this presentation after the RMOUG event, probably around the first week of March.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/01/rmougs-training-days-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Developer Quick Tip: GOTO in the Schema Browser</title>
		<link>http://www.thatjeffsmith.com/archive/2012/01/sql-developer-quick-tip-goto-in-the-schema-browser/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/01/sql-developer-quick-tip-goto-in-the-schema-browser/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 20:59:36 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[SQL Developer]]></category>
		<category><![CDATA[schema browser]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2372</guid>
		<description><![CDATA[
			
				
			
		
<p>It&#8217;s a relational database, so it&#8217;s only a matter of time before you stumble across an object that&#8217;s dependent on another object, right?</p>
<p>If you are looking at a table in the browser, be sure to check out the &#8216;Dependencies&#8217; page. This page displays the database objects that will be upset if the selected table were [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/01/sql-developer-quick-tip-goto-in-the-schema-browser/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fsql-developer-quick-tip-goto-in-the-schema-browser%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fsql-developer-quick-tip-goto-in-the-schema-browser%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>It&#8217;s a relational database, so it&#8217;s only a matter of time before you stumble across an object that&#8217;s dependent on another object, right?</p>
<p>If you are looking at a table in the browser, be sure to check out the &#8216;Dependencies&#8217; page. This page displays the database objects that will be upset if the selected table were to &#8216;go away.&#8217; You&#8217;re probably familiar with these related objects, but if not, then there&#8217;s a quick &#8216;trick&#8217; to investigate further.</p>
<p>Let&#8217;s take a look at SH.SALES as an example:</p>
<div id="attachment_2373" class="wp-caption aligncenter" style="width: 1031px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/goto1.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/goto1.png" alt="" title="goto1" width="1021" height="344" class="size-full wp-image-2373" /></a><p class="wp-caption-text">Auto-navigate to the selected object in the grid</p></div>
<p>This takes me to SH.CAL_MONTH_SALES_MV, a materialized view.</p>
<p>When I&#8217;m done poking around, I might want to go back to my SALES table.</p>
<p>The &#8216;Back&#8217; and &#8216;Forward&#8217; buttons on the main toolbar serve as my Most-Recently-Used tree navigation buttons.</p>
<div id="attachment_2374" class="wp-caption aligncenter" style="width: 580px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/goto2.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/goto2.png" alt="" title="goto2" width="570" height="396" class="size-full wp-image-2374" /></a><p class="wp-caption-text">If you can work a web browser, you can mostly work SQL Developer, mostly</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/01/sql-developer-quick-tip-goto-in-the-schema-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connecting to Access, DB2, MySQL, SQL Server, Sybase, &amp; Teradata with SQL Developer</title>
		<link>http://www.thatjeffsmith.com/archive/2012/01/sql-developer-supports-db2-sybase-mysql-access-and-teradata/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/01/sql-developer-supports-db2-sybase-mysql-access-and-teradata/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 15:33:05 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[SQL Developer]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[teradata]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2363</guid>
		<description><![CDATA[
			
				
			
		
<p>SQL Developer is built by Oracle, for Oracle. It&#8217;s the database IDE. That&#8217;s my current elevator pitch, at least. But, SQL Developer is also a fully featured data modeling solution (have you been enjoying my data modeling posts?) AND a 3rd party database migration platform.</p>
<p>The migration piece is the Migration Workbench. Since we support migrations [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/01/sql-developer-supports-db2-sybase-mysql-access-and-teradata/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fsql-developer-supports-db2-sybase-mysql-access-and-teradata%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fsql-developer-supports-db2-sybase-mysql-access-and-teradata%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>SQL Developer is built by Oracle, for Oracle. It&#8217;s the database IDE. That&#8217;s my current elevator pitch, at least. But, SQL Developer is also a fully featured <a href="http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html">data modeling solution</a> (have you been enjoying <a href="http://www.thatjeffsmith.com/archive/tag/data-modeling/">my data modeling posts</a>?) AND a 3rd party <a href="http://www.oracle.com/technetwork/database/migration/index-084442.html">database migration platform</a>.</p>
<p>The migration piece is the Migration Workbench. Since we support migrations from these other database platforms, wouldn&#8217;t it be neat if SQL Developer could connect and query those 3rd party databases too? Surprise, surprise &#8211; that&#8217;s exactly what we DO do today.</p>
<h3>What &#8216;Support&#8217; means</h3>
<p>You can connect to, browse, and query (SELECTs only) SQL Server, DB2, Access, MySQL, and Teradata.</p>
<h3>What &#8216;Support&#8217; does NOT mean</h3>
<ul>
<li>providing debuggers</li>
<li>delivering database administration features</li>
<li>write access to the database</li>
</ul>
<p>Sound a little harsh or spartan? Going much further in any of these areas would just open a big ole can of worms, and we&#8217;re committed to providing an optimal experience for the Oracle database. But, since we already support these limited features, there&#8217;s no real reason to hide it.</p>
<h3>So what&#8217;s it good for outside of migration projects?</h3>
<p>You own one of those fancy-dancy MacBook Pros? Fall in love with Ubuntu? Need browse some SQL Server data? You sir/madam, are what we call a rebel! Instead of installing a VirtualBox Windows VM just so you can run SQL Server Management Studio (SSMS) or some other Windows-based database IDE, you can run Oracle SQL Developer natively on your machine and connect to that server.</p>
<p>This is pretty old news &#8211; here&#8217;s a nice blog post from 2007 talking about<a href="http://djiang.wordpress.com/2007/02/27/using-oracle-sqldeveloper-to-access-sqlserver/"> how to use SQL Developer to connect to SQL Server</a>. But since the product name is &#8216;Oracle SQL Developer&#8217;, it&#8217;s probably a good idea to remind folks every now and then that SQL Developer is more than just a tool for Oracle developers <img src='http://www.thatjeffsmith.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Download and Go</h3>
<p>You will need the JDBC drivers for the database you want to connect to. These are <a href="http://www.oracle.com/technetwork/database/migration/omwb-getstarted-093461.html#conf">conveniently indexed here</a>. Couple of notes -</p>
<ul>
<li>You need to be a registered IBM customer to access their downloads</li>
<li>The Teradata download manager page seems to be &#8216;missing&#8217; &#8211; go <a href="http://downloads.teradata.com/download/connectivity/jdbc-driver">grab the driver here</a></li>
</ul>
<p>Once you have extracted the packages, you need to point SQL Developer to the .jar file</p>
<div id="attachment_2364" class="wp-caption aligncenter" style="width: 782px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/sql_server_jar.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/sql_server_jar.png" alt="" title="sql_server_jar" width="772" height="526" class="size-full wp-image-2364" /></a><p class="wp-caption-text">Registering 3rd party JDBC drivers in SQL Developer</p></div>
<p>Be sure to point to the actual file, not just the directory containing the jar.</p>
<p>Once you&#8217;ve done this, you can open the connection dialog and navigate to the appropriate database panel.</p>
<div id="attachment_2365" class="wp-caption aligncenter" style="width: 721px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/3rdpartyjdbc.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/3rdpartyjdbc.png" alt="" title="3rdpartyjdbc" width="711" height="390" class="size-full wp-image-2365" /></a><p class="wp-caption-text">Windows Authentication is mostly going to be tough from OSX, mostly</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/01/sql-developer-supports-db2-sybase-mysql-access-and-teradata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualize Your DDL Scripts</title>
		<link>http://www.thatjeffsmith.com/archive/2012/01/visualize-your-ddl-scripts/</link>
		<comments>http://www.thatjeffsmith.com/archive/2012/01/visualize-your-ddl-scripts/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 20:11:47 +0000</pubDate>
		<dc:creator>JeffS</dc:creator>
				<category><![CDATA[SQL Developer]]></category>
		<category><![CDATA[data modeling]]></category>
		<category><![CDATA[DDL]]></category>
		<category><![CDATA[Reverse Engineer]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.thatjeffsmith.com/?p=2351</guid>
		<description><![CDATA[
			
				
			
		
<p>Data models sure are handy. They tell a story &#8211; how does the information get stored as data? Just what is a &#8216;customer?&#8217; Sometimes though our applications die and only leave legacy scripts behind. Or maybe you are a DBA and someone has given you a set of scripts to create some new objects in [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://www.thatjeffsmith.com/archive/2012/01/visualize-your-ddl-scripts/"></g:plusone></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fvisualize-your-ddl-scripts%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thatjeffsmith.com%2Farchive%2F2012%2F01%2Fvisualize-your-ddl-scripts%2F&amp;source=hillbillyToad&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Data models sure are handy. They tell a story &#8211; how does the information get stored as data? Just what is a &#8216;customer?&#8217; Sometimes though our applications die and only leave legacy scripts behind. Or maybe you are a DBA and someone has given you a set of scripts to create some new objects in your database. You ask them for their model, and they just look at you with that weird blank stare. &#8220;We have models, you say?&#8221; Of course, <a href="http://www.imdb.com/title/tt0090305/">geeks have been building models</a> since at least 1985.</p>
<p>The Reverse Engineer, or IMPORT, feature in Oracle SQL Developer Data Modeler will read information from an existing database to build your data model. But did you know it can also read in Data Definition Language (DDL) scripts? That&#8217;s right, those directories you have laying around with hundreds of CREATE OR REPLACE&#8230; scripts can be used to build a model.</p>
<p>For quick and dirty modeling tasks, I say just run that directly in SQL Developer (accessible under the View menu.) If you are going to get serious and build some new models from scratch, then you should probably run the standalone Oracle SQL Developer Data Modeler program. I also find the user interface much simpler in the standalone &#8211; it&#8217;s all about modeling. Some of the more interesting modeling features are &#8216;hidden&#8217; if you&#8217;re in the main SQL Developer interface.</p>
<p>For this brief demonstration I&#8217;ll just run this in SQL Developer.</p>
<p><em>Disclaimer: This post was written with Oracle SQL Developer v3.1.</em></p>
<h3>Open your model using the View &#8211; Data Modeler &#8211; Browser interface</h3>
<p>You can now use the IMPORT feature</p>
<div id="attachment_2353" class="wp-caption aligncenter" style="width: 558px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/re_script0.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/re_script0.png" alt="" title="re_script0" width="548" height="606" class="size-full wp-image-2353" /></a><p class="wp-caption-text">It says &#039;Script&#039; but you can import multiple scripts</p></div>
<h3>Select your file(s)</h3>
<div id="attachment_2354" class="wp-caption aligncenter" style="width: 770px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/re_script1.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/re_script1.png" alt="" title="re_script1" width="760" height="646" class="size-full wp-image-2354" /></a><p class="wp-caption-text">Choose your DLL script files to be parsed and imported</p></div>
<p>If you don&#8217;t happen to have any DDL scripts laying around, feel free to <a href="http://www.thatjeffsmith.com/archive/2011/11/introducing-the-sql-developer-shopping-cart/">build some new scripts using the new Cart feature</a>.</p>
<h3>Tell us what RDBMS mapping scheme to use</h3>
<p>It&#8217;s easy to think that SQL Developer only works with Oracle, but did you know the Data Modeler works with most RDBMS systems, including DB2 z/OS, DB2 LUW, and SQL Server?</p>
<div id="attachment_2355" class="wp-caption aligncenter" style="width: 320px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/re_script2.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/re_script2.png" alt="" title="re_script2" width="310" height="290" class="size-full wp-image-2355" /></a><p class="wp-caption-text">The Data Modeler needs a little help, tell it where your DDL is coming from.</p></div>
<h3>Review the results and proceed to your new model and Entity Relationship Diagram!</h3>
<p>If there are any problems parsing the DDL script, the modeler will warn you about it. You can now review your scripts visually using the ERD. A newer feature for v3.1 allows you to automatically step into a SubView based on a Schema. So if your scripts are importing from several sources, you can look at all of it together, or just for user/database &#8216;x.&#8217; Actually this feature is so new I saw it in a developer demo just today <img src='http://www.thatjeffsmith.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>People like to rag on java and it&#8217;s performance issues. But I was able to parse more than 1500 DDL files in less than a minute and have my model created for me. It&#8217;s still a fairly small model, only 269 tables, but that&#8217;s still pretty good if you ask me.</p>
<div id="attachment_2357" class="wp-caption aligncenter" style="width: 1034px"><a href="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/re_script4.png"><img src="http://www.thatjeffsmith.com/wp-content/uploads/2012/01/re_script4-1024x536.png" alt="" title="re_script4" width="1024" height="536" class="size-large wp-image-2357" /></a><p class="wp-caption-text">From DDL Files to Model - why read when you can look at the pretty pictures?</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.thatjeffsmith.com/archive/2012/01/visualize-your-ddl-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

