ORDS, SQLcl, SQL Developer and SQL Data Modeler New Releases (21.4.x)

We’ve got some early Christmas presents!

I’ve updated my Docker and Vagrant builds to use the new versions of ORDS and SQLcl. You can see them here.

You can read Jeff Smith‘s announcement posts here, which include an overview of some of the new features.

Only the SQL Developer and Data Modeler releases were as a result the Log4j issue. They are client tools, so they are not really a threat, but it’s good to get the updates through so fast.

You have permission to open your presents early! 😁



ORDS, SQLcl, SQL Developer and SQL Developer Data Modeler 19.4 Released

If you follow me, Jeff or Kris on Twitter, you will already know ORDS, SQLcl, SQL Developer and SQL Developer Data Modeler version 19.4 have all been released. They became available for download late Friday US time, and I got a DM about it yesterday morning, so fresh from spending 2 days running Data Guard builds, I moved on to running builds of some of this stuff.

Oracle REST Data Services (ORDS)

It was a long day, but this is what I did.

  • Updated all Docker ORDS builds : here
  • Updated all Vagrant database builds that include ORDS: here

As you might expect, the config changes were minimal, but the time spent waiting for all those builds to complete was hellish.

The new version of ORDS has an additional prompt during the installation. You get this question.

Enter a number to select a feature to enable [1] SQL Developer Web [2] REST Enabled SQL [3] None [1]:1

The documentation hasn’t been released yet, so I had to run a manual installation to spot the new parameter which was necessary to make the ORDS builds silent. If you want SQL Developer Web, you have to enable REST Enabled SQL also, which requires these in your parameter file.


You’ll recognise the first if you’ve used REST Enabled SQL before. The second is the new one.

I spent some of the time waiting for builds knocking up a quick run through the SQL Developer Web feature, which you can see here.

If you’ve used Autonomous Data Warehouse (ADW) or Autonomous Transaction Processing (ATP) on Oracle Cloud, you will already know what SQL Developer Web is. I put out the post and told Jeff to take a look. Next thing Kris put it on Twitter. I was going to wait for the docs to arrive before mentioning it in public. It did give me some quick feedback, so I was able to update it on the fly as I was playing with the tool. Kind-of “live blogging” I guess. 🙂

SQL Developer Web is a neat alternative to poking holes in your database firewall for client connections. It’s not going to satisfy hardcore developers, but I think this is going to be great for some users. The administrator functionality is interesting, and it will be interesting to see how this develops over time.


All my ORDS builds include SQLcl, so the latest version is on everything listed above. I also run this on my desktop. It’s my main client for connecting to the database because I’m a command line kid. Nothing scary happened on my desktop or on my Vagrant and Docker builds.

SQL Developer and SQL Developer Data Modeler

This is now on my desktop. I spend most of my time in SQLcl, but if I need an IDE, this is the one I use.

It’s a couple of weeks until I get back to work, so it’s going to be a while before I get to use ORDS 19.4 in production, and I’ll no doubt forget to update my SQLcl and SQL Developer installations on my work PC, then be horror struck when I notice a few weeks down the line. 🙂

Happy upgrading!



ORDS, SQLcl, SQL Developer 19.2 (Vagrant and Docker Builds)

The folks at Oracle dropped some new presents for us today, including version 19.2 of the following.

I’ve updated my Vagrant builds and ORDS Docker builds with the new versions and everything seems to be working fine so far.

Tomorrow I’ll probably try out some of our development ORDS containers with these releases and see how they work out. They are similar to this build, so I’m sure they will be fine…



Update: I rolled ORDS 19.2 out to all our Dev/Test environments this morning. We run them all on Docker, so it was really quick and easy. 🙂

ORDS, SQLcl and SQL Developer 19.1 Released, and some Vagrant and Docker Stuff

Yesterday Kris Rice put out some tweets to say ORDS, SQLcl and SQL Developer version 19.1 had been released.

As usual I downloaded SQL Developer and put it on my desktop, and I started the process of updating my Vagrant and Docker builds. If you are interested in that stuff, you can find those updates here.

You won’t be surprised that these updates are pretty simple. Just replacing the environment variables with the new version numbers. Such are the joys of automation. 🙂

Happy upgrading!



ORDS, SQLcl and SQL Developer 18.3 Updates (VirtualBox, Vagrant, Docker)

A few days ago we got version 18.3 of a bunch of Oracle tools.

Over the weekend I updated some of my VirtualBox and Vagrant builds to include these versions. If you want to play around with them you can see them on GitHub here.

I also updated my ORDS Docker container build, which uses both ORDS and SQLcl. You can find this on GitHub here.

I use this container for live demos of ORDS, as well as a demo for my “DBA Does Docker” talk, which I am doing at Oracle OpenWorld this year.

I put the latest versions of SQL Developer and SQLcl on my laptop. I’m doing an analytic functions talk at Oracle Code One this year. The demos use SQLcl on my laptop connecting to Autonomous Transaction Proccessing (ATP) on Oracle Cloud. I had a little bit of drama with SQLcl on Saturday, which turned out to be PEBCAK. I thought “SET ECHO ON” wasn’t working, but it turned out I had a “login.sql” file in the path that contained “SET TERMOUT OFF”. Once I removed that setting the demos ran fine. 🙂

I’m going to put a freeze on changing my stuff until after OpenWorld and Code One. Honest. 🙂



ORDS, SQL Developer and SQLcl Version 18.1 Released : Plus Some ORDS Documentation Comments

If you’re active in the Twitter-verse you will have seen a bunch of tweets yesterday about the release of the 18.1.x versions of Oracle REST Data Services (ORDS), SQL Developer (and Data Modeler) and SQLcl.

The first thing I did was edit my ORDS Docker build to use the latest versions of ORDS, SQLcl, Tomcat9 and Java9. If you are interested in playing with that you can find the build on my GitHub here. It was all smooth sailing! 🙂

There are a couple of things I would like to point out about the ORDS 18.1 documentation.

ORDS Installation in Multitenant

The way I read it, the documentation suggests there are two ways of installing ORDS in a multitentant environment, both of which involve installing it into the CDB.

Multitenant is an architecture, so it doesn’t imply the presence of the Multitenant option, or multiple PDBs in the CDB. In fact, I would suggest the vast majority of CDBs will only ever contain a single PDB, as most instances will eventually switch to Lone-PDB (for free) now that non-CDB is deprecated. So what does this have to do with the installations described above?

The advantage of installing ORDS in the CDB is you can have a single connection pool for all PDBs in the instance, which is a big advantage if you have 4096 PDBs in your CDB. If you only have one PDB per CDB, there is no advantage, and actually there is a disadvantage because the PDB has yet another dependency on the CDB, which means ORDS must be installed in the other CDBs before you clone/relocate a PDB to them.

In my opinion, the best way to install ORDS for Lone-PDB, and possibly even for small numbers of PDBs in one instance, is to install directly into the PDB, just like we do with APEX. This means each PDB needs its own connection pool in ORDS, but that’s not a problem. This way the PDB doesn’t have an external ORDS dependency on the container and can be moved between containers without any fuss.

You will see my ORDS installation article installs directly into the PDB, although I will be amending it with some comments about other options.

Database Authentication for PL/SQL Gateway Calls

One of the new features of ORDS 18.1 is you can now use database authentication to provide basic authentication for your calls to PL/SQL. You won’t see that in the documentation though. It’s only present in the examples under the “/path/to/ords/examples/db_auth” directory when you unzip the ORDS media.

Using this type of authentication is not advisable, it’s much better to use OAuth2, but for people like me that have a lot of applications and XML web services still using mod_plsql, this is a really handy feature, and certainly eases the transition from mod_plsql to ORDS.

It would be nice if this feature were put into the main documentation, as it will be a welcome addition for many people out there. It is a feature, so it should be documented as such, and anything that improves the uptake of ORDS has got to be a good thing.

How’s about including the document upload/download functionality from mod_plsql in ORDS also? That would help with the transition too. Yes, I know it’s easy to code this yourself, but that is still an application change, rather than just switching from one gateway to another. Just sayin’. 🙂

I’ll be playing around with ORDS 18 over the coming weeks. I’ll probably amend some of my existing ORDS articles as a result of that, and no doubt put out a new article on database authentication, for the lost souls that don’t look at the media examples, like me before Jeff told me to. 🙂



SQL Developer 4.0

Oracle have given birth to SQL Developer 4.0 today, as announced by Jeff Smith.

I had access to the first Early Adopter a few weeks before it hit the OTN download page, so it feels like I’ve been using some flavour of SQL Developer 4 for ages. I’m kinda old-school, so I still find myself working with a text editor (UltraEdit) and SQL*Plus a lot, but I’m trying to use SQL Developer more these days. The addition of the Performance Reports (AWR, ADDM and ASH) was certainly a nice touch.



Performance Reports in SQL Developer 4 EA2

SQL Developer 4 EA2 includes a performance node in the DBA tree.



You can use this to view ADDM, AWR and ASH reports directly from SQL Developer. I know I can get these from Cloud Control, but previously I tended to pull these out from the command line on the server. This is a much better approach IMHO.

I found out about this stuff at OOW2013, whilst talking to Jeff Smith and Barry McGillin in the demo grounds. I tweeted some pictures at the time, but figured it was worth a post for those that don’t do Twitter. 🙂



PS. Yes, it is only going to be of use to people connecting to Enterprise Edition databases with the Diagnostics & Tuning Pack.

SQL Developer 4 EA2 Connecting to SQL Server

I wrote a blog post some time ago about using SQL Developer 3.x to connect to SQL Server. I tried the same thing today from SQL Developer 4 EA2 and it works just fine.

You have to download the 3rd party JDBC driver and point SQL Developer to it. You can read how to do it here.



Update: My colleague just told me this.

“If you at any point decide to use Windows authentication to connect (like I just did), you might hit this error:

Status : Failure -I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.

…found a work around, which involves copying the ‘jtds-1.2\x86 (or X64)\SSO\ntlmauth.dll’ from the JTDS directory to the JDK’s \jdk\jre\bin folder. Then I restarted SQL Developer and it worked J”

SQL Developer 3.1 : Scheduler Support…

I had a play around with the scheduler support in SQL Developer 3.1 today. I’m late to the party because most of it has been there since 3.0, but what the hell.

It’s more of an opinion piece, so it started as a blog post, but it got too big. Not really what I usually put on the website, but I figured if I put it on the blog it would get in the way of the movie and book reviews and that simply wouldn’t do… 🙂

I am still worried about feature creep turning SQL Developer into the new TOAD, but so far so good. I’m liking it more and more with each release.