On Wednesday, 16 June I hosted a 90 minute lecture geared towards Oracle Database administrators (DBAs!) for working and building REST APIs.

The recording will be available for replay here –

Visit https://go.oracle.com/LP=111864 register.

You should already be aware of the following before attending:

  • your devs are ALREADY asking you for REST APIs for your database
  • you are already automating your tasks
  • REST isn’t going anywhere

What YOU WILL LEARN in this session:

  • What does it mean for a service or API to be ‘RESTful?’
  • HTTPS & JSON basics, and how they come together to make REST APIs possible
  • Best Practices for deploying Oracle REST Data Services (ORDS) for Oracle Database
  • How to build a SQL and PL/SQL based REST API
  • How to use AUTO features for existing tables, views, and PL/SQL
  • How to keep your APIs performant & secure
  • How to make your APIs developer friendly

But Jeff, why should I care about REST APIs?

I get it, you’re a DBA. This sounds very developer-ish…and it is. But, most DBAs are already writing scripts to do backups, upgrades, find things in the database to fix. This is more of that.

What if I told you that with cURL and our the Database Management REST APIs, you could automate without writing ANY SQL or PL/SQL, things like:

  • Cloning a PDB
  • Kicking off a Schema/Object Data Pump Export
  • Finding Wait events
  • Monitoring sessions or anything else in your data dictionary

The class will end with a round-up of enabling the DB management APIs, and using a few of them interactively with some live demo.

Need more convincing? Then head over to my article in the UKOUG Scene Magazine – it was their most popular article for all of 2017 🙂

This Masterclass stuff sounds familiar…

It should! We did this last year as part of a series, and 800 of you showed up to learn more about data modeling!

You can find the links for the video, my slides, and some fun Q&A here.

For the masterclass series, you can find all of the topics and sessions here.

One last question…what’s this Converged Stuff?

Why Columbo Is the Gift that Will Never Stop Giving - Paste
If you don’t know who this is, you won’t find this last bit very funny.

The Oracle Database has been around since 1979 – that’s almost as old as me! But, this isn’t legacy technology. It’s been evolving non-stop, and modern application stacks can be built using Oracle to work with things like your relational tables, but also using graph, spatial, blockchains, columnar storage, JSON, XML, Machine Learning, and more!

Unfortunately, too many people have been using the Oracle Database in the exact same way for the past 2 or more decades. That means your skills are becoming legacy! Don’t let that happen to you! This series of Masterclass sessions will help you keep your skills up to date and YOU in demand.

The Slides

These do not have Speaker Notes, so I do recommend watching the video.

Your Questions

  1. How we manage rest versions calls considering that we are on top of database query like imagine v1.0 the table has 1 pk on the table but from v2.0 the table changes to 2 pk. We cannot have the v1.0 deploy along with v2.0. Any solution here?

    Answer: there are a few strategies that come to mind. You need to version your schema (your tables AND your APIs….TOGETHER). We help you do this with the Liquibase-enhanced feature in SQLcl. You can snapshot v2 in dev and when it’s ready use that to update the changes in your v1 PROD – together.

    Or, start coding defensively such that changes to your tables won’t break your APIs. You probably should aim for both.

2. How about an api which would run a ux command on a remote host, possible ?

Answer: Ew? So your ORDS APIs are running SQL and PL/SQL…that PL/SQL could be a wrapper for a stored java procedure that goes and does stuff on the database’s underlying OS, but….that sounds a bit stinky to me. I’m thinking your API should be more for the OS and less for the DB?

3. Is ORDS available for MySQL? If no, will it be in future?

Answer: We’re considering it. Be sure to let the MySQL community know you want it, we need the community to want it, and not just us 🙂

4. How we map column name in different descriptions to JSON?

Answer: I think I know the answer to this…if I understand the question correctly.

If you’re using AUTOREST on a TABLE, you can’t. Unless you want to build a VIEW…

5. For SSO implementation with ORDS can you share a Case Study/Implementation Doc. As of now we are using OAUTH but would like to utilize to a Federated SSO such as with OAM abd OKTA.

Answer: Email me at [email protected] and I can send you over what can be done.

6. In your example, there’s a timing beside the status code. Is that the execution time?

Answer: It’s the observed RESPONSE time of the HTTPS request.

7. Does that include the timings from the REST input, to db execution, upto return/result? We will be having a POC using ORDS where we need to get the execution time.

Answer: It’s from the very second you make the request to the very second you get the response. If you want the DB exec time, standard database SQL/session trace would be your friend.

8. From which version on can this be used?

Answer: 11gR2 and everything after. XE or Licensed. Cloud or On Premises.


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. Jack Wells Reply

    In you answer to question #5 above about using Federated SSO and Okta for authenticating ORDS webservices, you said to email you. Is that still the case now? If so, can you email the same response to me?


Write A Comment