It’s that time of year again, our 2023 quarter 1 family of products are starting to trickle out, with ORDS 23.1 available today (Downloads Page.)

Upgrading, same as before
Run the ‘install’ command, and run through your pools as desired, then start ORDS back up.

When we’re done, you’ll should see a confirmation of version –

And now starting it back up with ‘serve’ –

So what’s new?

APEX Management endpoints in the Database API

Inspired by this blog post from our friend and co-worker Carsten, and developed alongside the APEX team 🙂
Simplified/Nicer Looking Sign-Ins
Most of the time you’ll see this are for authenticating to SQL Developer Web. What used to be two-step series of prompts and dialogs, is now a single dialog.

What if you don’t have a ‘simple’ scenario?
Examples of something not simple, combinatations of:
- multiple pools configured in your ORDS server
- REST Enabled schemas with aliases
Then you’ll use the Advanced panel to sort that.
Let’s say I have two pools, with a pool mapped to a database called ‘orcl.’ And in that database, I have a schema called JEFE, REST Enabled as ‘boss.’
BEGIN ORDS.ENABLE_SCHEMA(p_enabled => TRUE, p_schema => 'JEFE', p_url_mapping_type => 'BASE_PATH', p_url_mapping_pattern => 'boss', p_auto_rest_auth => FALSE); COMMIT; END; /
I would in the advanced panel, supply the ORDS mapping pattern to my pool, that would be ‘orcl’, then I would supply the alias for JEFE, which would be ‘boss’, and separate the two with a ‘/’
Note that this isn’t a common deployment for customers, so this wouldn’t be required except in ‘Advanced’ situations. And later this year we hope to have it so that ORDS can automatically ‘sort’ aliased schemas automatically, so it should get even easier.
But let’s login with that exact scenario –

Which logs me in, and I see this –

Even more Connections improvements
We automatically support your browser stored credentials/auto-fill.
Chrome goes, oh I know this – if I select one of those, it will pre-fill the form AND submit it, so it’s actually a single-click operation.

And finally, when you sign out, it immediately takes you back to the sign-in page.

Note if you’re in that small case of ORDS deployments with multiple pools, you’ll need to use the advanced panel to set the pool mapping as desired for your new session.
REST Workshop Export Schema
Exactly what it sounds like. Instead of simply exporting 1 module at a time, I can export…all of them!

Now, my export script is big…too big for all of it to be shown in the slider that pops out when clicking the Export button, so I’ll need to use the ‘Download’ button vs simply copying the PL/SQL to my clipboard.

Is that all?
Nope! I’ll have much more to show/demo in a week or three, stay tuned!
What about SQL Developer, Data Modeler, and SQLcl?
Versions 23.1 of those should be out next week. They’re just going through their final shake-downs and certifications.
5 Comments
after login showing Please clear your browser’s temporary files and try again
Hi Jeff.
I understand that config changes will require a restart. However I was wondering if there is a way to make ORDS wait until the current requests are processed before shutting down i.e. using Jetty’s “graceful” shutdown.
https://stackoverflow.com/questions/25011249/embedded-jetty-and-graceful-shutdown
We have two ORDS instances running, so there is no problem shutting one of them down – the issue is that when we stop an instance the *current* requests get immediately killed (and thus get an error in the browser). What I was hoping is that there is a way to tell ORDS “shutdown once you have processed your current requests” which seems to be what “standalone.stop.timeout” is supposed to do.
Have you any idea what that parameter actually does by any chance?
You can configure Jetty within ORDS, like the 2nd answer has
That SHOULD work.
Hi Jeff.
Do you know of anywhere which explains how ORDS handles “graceful” restarts in any way?
With Apache, for example, if you run a “httpd -k” restart it picks up new config without causing issues with existing requests (they run to completion) whereas ORDS seems to require a “hard” restart (i.e. existing requests would get kicked off) to pick up new config.
There is a parameter “standalone.stop.timeout” which says it “Specifies the period for Standalone Mode to wait until it is gracefully shutdown” but it doesn’t seem to do anything when I’ve tried it.
We’ve stuck an Apache Reverse Proxy in front of a pair of ORDS instances with the intention of being able to upgrade without downtime (take one offline and the other one works whilst we upgrade the first) but when we shut down the primary, all ongoing requests get killed – I was hoping the existing requests would get handled but new requests would be rejected.
If you know of anywhere in the documentation which covers this, that would be amazing
There is no way, to have ORDS uptake changes from config files will require a restart.
For ORDS 23.2, we’ll offer ability (via ORDS CLI) to have the connection pools on a given instance (via process ID) destroyed, so they can be recreated. So if you had a configuration change for a pool, then it would get picked up instead of requiring a restart.