Remember that we launched a brand new OCI service for developers and database users last week? One of the features I briefly touched on was the SQL Worksheet.

You can find the official Docs on the DBTools Worksheet feature here.

It’s a huge stepping-stone for migrating the entirety SQL Developer Web/Database Actions as seen in your Autonomous Database Cloud Services or in your own ORDS deployments and configured databases – to an OCI Cloud Native application and set of pages.

While it may be a bit spartan in look and feel, it does offer quite a few features!

Let’s demo a few, in the form of Animated GIFs.

Opening a Session from an Existing Connection

By ‘Existing Connection’ I mean a connection resource you’ve defined. From there we can create an actual database connection and do something like…open a SQL Worksheet.

This is in real time…when the connection name pops up, that means it’s available for use.

Run Query, See Results in Grid

It can run anything that SQLcl or SQL Developer could run – thanks to ORDS and REST SQL.

Help with Object/Column Names

Insight works much like in rest of our tools. If you let up on the keyboard long enough, we’ll automatically suggest help, or if you want to ask for it directly, use Ctrl+Spacebar.

It’s very sad, this table is completely empty.

Help with Code: That looks broken to me, Jeff.

Our tools have more than just an object look-up feature. It also has the entirety of the SQL/PLSQL language spec burned into a parser. That means if I type something ‘bad,’ we can paint it on the screen as problematic.

So we can suggest data types, but also let me know when I’ve borked my VARCHAR2() definition.

Mousing over the ‘squiggle’ will give me the text our parser is expecting to see next – just like in SQLDev Web/Desktop.

Load a Script from the Object Store, and Run it

Navigate your object store bucket, find and load your file. Run it, see the results.

Each item in the output can be clicked to see it’s specific output/response. You’ll notice also that they worksheet has syntax highlighting, and a minimap on the right, so you can more easily scroll through your code and find what you’re looking for.

Query my new table, page the results.

We grab 100 rows at a time, and I’ve loaded 200 rows.

Please don’t judge me…harshly.

Just give me my Excel already.

Yes, yes, I know. You want your data back out in a file. We have CSV available today – and we’re working on getting you native Excel integration, so stay tuned on that topic.

Run query, click, Download, pick your format.

The very best Feature – select your database!

If you have multiple databases defined in the DBTools service via connections, you can easily stay ‘in page’, and simply switch over to your other database and run your queries/scripts.

Going from Jeff user on my 19c database over to ADMIN on my 21c instance.

One last thing – History

It’s stored locally in your browser –

This is nice in that you can see what you’ve done lifetime – not just in this session – from THIS browser.

And you can browse those entries, pick one or more of them, move them up to the worksheet, and run them like you just typed them.

And that’s all folks, today, anyway.

1,000 Posts…

It’s been a good decade or so. I’ve had no shortage of material to share with everyone. Thanks for joining me on this wild ride!


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. Yaniv Harpaz Reply

    Congrats on the 1000 post!
    Your blog is truly fantastic and during the past 1000 posts I found it extremely useful.

    • Yaniv, I’m going to assume you’ve been lucky enough to have only read the decent posts πŸ™‚ Thanks much for the kind words!

Write A Comment