Downloads/Release Notes

Yes, I know it’s 2019. But this version of SQL Developer was finished in early December. We just experienced a bottleneck with testing and security as the end of the year sees all of Oracle US on vacation.

Version 18.4 of SQL Developer introduces zero new features. Just bug fixes.

This release should be in the running for one of the best ever – at the time we cut the final build we had the lowest known number of bugs in the product since it was probably launched back in 2005.

Some of the bug fixes did involve features getting better or changing somewhat – but this was very isolated. One example is with exporting files using any of the utilities. You won’t see the Log file opened in the desktop anymore after doing an export, instead the details will go in to a new log panel called ‘Utilities’ – and the information there will be much more useful.

Yes, that’s a link. It took 1 second to build a 1300 rows Excel file, fwiw.

For our PL/SQL friends – breadcrumbs are back! But not the performance issues that they previously suffered from.

Breadcrumbs ARE back. And yes – you can still turn them off in the preferences.

Oh, and the RPM distribution is back for version 18.4. A boo-boo prevented it from going out for version 18.3 – apologies for that. But it’s back now for our *NIX friends

The Java Story

As you may have heard, Oracle Java JDK licensing has changed. What does that mean for SQL Developer? As SQL Developer is part of the Oracle Database product, which requires Java, our users are entitled to use the Oracle JDK and JRE without the need to separately purchase Java SE Subscriptions. The licensing/legal language is currently available in this MOS Document.

Of course our story doesn’t stop there, what about Java 11? Work is underway to get there – for all of our products. And you’ll notice that version 18.4 is now also available for SQLcl, Data Modeler, and ORDS.


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


    • You can use it no matter what, assuming you agree to the license when you download it.

      We don’t care about licensing until you need to log a Service Request with My Oracle Support, then we require a support contract on your database.

    • Steve V.


      What I hear from you is that we are allowed to use the JDK without paying additional license cost.

      If possible, I would like a link that I can show to our licensing team that says I can use the .JDK with Oracle Developer if we have an Oracle support agreement. That is how I interpreted the license if I was doing queries on Oracle content.

      I think you are saying that I might even have some more wiggle room. Our corporate team is tying to stop the .JDK from being loaded on any computer without a separate purchased license because there is confusion about the terms and they are tying to be careful.

      I thought that the last paragraph at this link covered things, but there is still some ambiguity so if you can confirm. Appreciate the help.

  1. Hi Jeff,

    Unfortunately the “shared session” problem is still there. Since it is not possible to load a file in an unshared session, I have to copy the file content in a new unshared session buffer. When changes are made I must “save as” the buffer over the old file, I cannot use the save command. This could lead to confusion and/or code loss.

    If I compile a package that is in use, the session hangs. If the session is the main (shared) session the entire interface hangs. The developer window is not refreshed (single thread issue?) and becomes all grey. This is really bad because If I have other work in progress in another tab I must leave the frozen window opened until, hopefully, it will unblock and meanwhile open another developer window. If I have unsaved scripts in other tabs I am unable to reach them .. so !$%”@!!!

    Shared sessions are also dangerous. Imagine to have uncommitted updates in a buffer and go to another buffer shared with the session of the first.. They are related so commit command or a DDL command issued into the a buffer can commit the data in the other. This is clearly very dangerous. Working with production data for a big company I have to be very very careful and open always unshared buffers. This is made difficult when scripts are loaded from files that is is impossible to assign to unshared sessions

    Thank you

    • Problem? I understand you don’t like it, but that’s how it’s designed to work.

      Work on your files in an editor. When you’re ready to run it, in an unshared worksheet, do @/file/path/file.sql – and run with F5

  2. Hi Jeff,
    Thank you for the update.
    Could you please advise of the following observation that I made.
    I used “Process Monitor” to check network communication from sqldeveloper and I noted that during startup it sends Connect, Send, Receive, Disconnect packets to every host that is defined in my “Oracle Connection” entries.
    Is it really necessary and can this behavior be disabled?

    • when you mouse over a connection, we show you the ping times – that’s what we’re doing – seeing how far away your databases are

      people like to complain how ‘slow’ we are – this helps explain why

      you can disable it by adding this to your .conf file
      AddVMOption -Dsqldev.tnsping=false

    • Jeff,
      Thank you for hint. It did the trick.
      By the way, when it is enabled and I hover mouse over database connection I do not see ping times.
      I just see connection details and “Connected” in tooltip.

    • What you suggest to do is IMHO impractical. It requires additional attention and time.
      I do these comments in the hope to help to improve the product and in the hope that they are welcome.


    • Of course we’re open to feedback – I can explain to you how it works today, and how it’s worked since 2006. We’re always looking to make improvements, and your feedback most definitely helps with that.

  3. Seems I frequently have issues when upgrading from one version to the next related to preserving Connections. I had a working 18.3 install. I installed 18.4 and electing to import preferences from 18.3. Trying to use the imported connections would crash 18.4 every time. Installing 18.4 cleanly without importing prefs solved the issue. Seems I always have to recreate the wheel on preferences from one version to the next. Any way to improve this experience?

  4. Sriram Iyer Reply

    —————- UPDATE ON THIS PROBLEM ———–

    I had a in my TNS_ADMIN directory that was pointing to a different credential file.

    Once I deleted that file, the problem was fixed. I was trying to use JDeveloper last month to connect to a different ATP DB that no longer exists.

    Thanks for your help.

  5. Sriram Iyer Reply

    Hey Jeff,
    I am facing a problem that I am hoping you can help me with. I am unable to connect to any Autonomous database with SQL Developer. I have tried 18.3 and 18.4. I keep getting this error

    Status : Failure -Test failed: IO Error: The Network Adapter could not establish the connection

    It used to work fine last month. A colleague of mine has used the same wallet file and is able to connect to the database successfully. I have tried from multiple networks; Office, Hotel, Home etc. and still have the same problem.

    Sriram Iyer

    • Can your machine see the database server on the network, can you ping it? If not, we’re not going to be able to connect. Take your – extract it, and get the network address from the tnsnames.ora file.

Write A Comment