While SQL Developer may be ‘perfect for Oracle beginners,’ that doesn’t preclude advanced and intermediate users from getting their fair share of toys!

I’ve been working with Oracle since the 7.3.4 days, and I think it’s pretty safe to say that the WAY an ‘old timer’ uses a tool like SQL Developer is radically different than the ‘beginner.’ If you’ve been reluctant to use SQL Developer because it’s a GUI, give me a few minutes to try to convince you it’s worth a second (or third) look.

1. Help when you want it, and only when you want it

One of the biggest gripes any user has with a piece of software is when said software can’t get out of it’s own way. When you’re typing in a word processor, sometimes you can do without the grammar and spelling checks, the offer to auto-complete your words, and all of the additional mark-up. This drives folks to programs like Notepad++ and vi.

You can disable the code insight feature so you can type unmolested by SQL Developer’s attempt to auto-complete your object names. Now, if you happen to come across a long or hard to spell object name, you can still invoke the feature on demand using Ctrl+Spacebar

Code Editor – Completion Insight – Enable Completion Auto-Popup (Keyword being Auto)

2. Automatic File Tracking

SQL*Minus is nice. Vi is cool. Notepad++ has a lot of features I like. But not too many editors offer automatic logging of changes to your files without having to setup a source control system. I was doing some work on my login.sql. I’m not doing anything crazy, but seeing what I had done in previous iterations was helpful. Now imagine how nice it would be to have this available for your l,000+ line scripts!

Track your scripts as they change, no setup required!

3. Extend the Functionality

Know SQL and XML? Wish SQL Developer did JUST a little bit more? Build your own extensions. You can have custom context menus and object pages in just a few minutes. This is an example of lazy developers writing code that write code.

4. Get Your Money’s Worth

You’ve licensed Enterprise Edition. You got your Diagnostic and Tuning packs. Now start using them! Not everyone has access to Enterprise Manager, especially developers. But that doesn’t mean they don’t need help with troubleshooting and optimizing poorly performing SQL statements. ASH, AWR, Real-Time SQL Monitoring and the SQL Tuning Advisor are built into the Reports and Worksheet.

Yes you could make the package calls, but that’s a whole lot of typing, and I’d rather just get to the results.

5. Profile, Debug, & Unit Testing PLSQL

An Interactive Development Environment (IDE) built by the same folks that own the programming language (Hello – Oracle > PLSQL!) should be complete. It should ‘hug’ the developer and empower them to churn out programs that work, run fast, and are easy to maintain. Write it, test it, debug it, and tune it.

When you’re running your programs and you just want to see the data that’s returned, that shouldn’t require any special settings or workaround to make it happen either.


And a whole lot more…

I could go on and talk about the support for things like DataPump, RMAN, and DBMS_SCHEDULER, but you’re experts and you’re plenty busy. If you think SQL Developer is falling short somewhere, I want you to let us know about it.


I'm a Distinguished Product Manager at Oracle. My mission is to help you and your company be more efficient with our database tools.


  1. SQLDeveloper is a perfect way to administer and verify RCU’s (Repository Creation Utility)

  2. Thanks for responding Jeff.
    I get a window which indicates an error has occurred Click for details. In a line indicating the details: java.lang.NullPointerException

    If you can show me an email I could send the image.

  3. Hi Jeff; i from Ecuador;
    I found a problem with the Close button on the “Manage database” (tablespace size) when I click on the button always get an error window and closes.

    • yes, as a matter of fact, it’s already there, but just on a different page

      Mouse right click on your connection in the navigation panel, and choose ‘Manage Database’

Write A Comment