You may know Kris from such roles as:

  • wrote the first lines of SQL Developer, SQLcl, and ORDS
  • built a lot of the SQL workshop in APEX
  • leads the Database Tools team as our Vice President
  • responsible for hiring me (they can’t all be winners)

Kris also likes to take customer calls and present at conferences. In his spare time, when he’s not busy managing projects, people, and writing code – he puts together some very useful blogs!

In fact, about 5% of my time here at Oracle is spent directing people to a blog that Kris wrote.

So, in no particular order, here are some things you should probably know:

5. SQL Developer shared setup from any machine

By default SQL Developer reads the application settings from either the Windows AppData folder, under roaming profiles, or on Linux/OS X from a .sqldeveloper directory under your $HOME.

What you can achieve with a simple JVM flag, is to tell SQL Developer to ALSO write/read those settings from someplace else…even somewhere on the innerwebs. So that if you’re using SQL Dev from 3 or 4 different machines, you’re always going to have the same SQL History, connections, etc.

4. Using SQLcl to load files in a directory to BLOBs in a table

This post is helpful in a few different ways. One, it’s about BLOBs, and that’s a popular topic. But more importantly, it shows how to take advantage of your local JavaScript code in SQLcl to do database stuff.

The possibilities here are almost endless.

Here’s a bonus post from Kris, putting your long running SQL statement in SQLcl in the background.

An important note regarding Java and the Nashorn engine, that’s being phased out, and in fact it’s completely gone if you’re using Java 15. So you’ll need to switch over to GraalVM – more news on this front later this year.

Go head and give him a Follow while you’re at it.

I also used this post myself (the BLOBS one), to do the exact opposite thing – unload BLOBs from a table to a directory on your client.

3. ORDS, ETags, and Performance

Making HTTPS requests need to be as fast as possible. Latency kills applications, esp when the internet is involved. So wouldn’t it be nice if your mid-tier could simply let your application know that the local data you already retrieved is still valid? That’s right, you don’t need to GET that data anymore, the data you have is already ‘good.’

That’s what this post is all about.

Obviously, your ETag Query needs to be REALLY fast, or you’re just adding new bottlenecks.

2. Enabling HTTP Access Logs to ORDS Standalone

ORDS Standalone has it’s own built in webserver, or actually, we have included the Jetty project from Eclipse. In this post, Kris shows how to enable/configure something on the Jetty side of ORDS.

1. Killing Sessions with an Easy Command in SQLcl

More fun with JavaScript. I could have easily picked a half dozen more of these, but for some reason folks like Ctrl+Alt+Delete on their database transactions/sessions/processes.

The other cool, key pickup from this post is that Kris is showing you how to add your OWN custom commands to SQLcl!


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

Write A Comment