This page contains a list of all my posts dealing with the Oracle database in one way or another.

Optimistic Locking Made Easy: JSON Relational Duality Views & ETags in React

In my previous post I demonstrated how ETags can help your web application implement concurrent data access and optimistic locking. Except I didn’t use a web application … Rather than a web application I used a shell to curl REST endpoints, while on the other hand simulate concurrency using SQLcl. This wasn’t particularly realistic, and…

Optimistic Locking Made Easy: The Power of ETags in Action

JSON Relational Duality Views are one of the most remarkable features introduced with Oracle AI Database 26ai. They effortlessly blend the best of both worlds: relational and document, greatly simplifying the way developers work with data. Duality Views aren’t just read-only, you can perform changes (updates, inserts, deletes, …) with them, too. Optimistic locking is…

What’s new with MLE 23.26.0 – support for PL/SQL Collections and Records Pt 3

Oracle AI Database has been released! It ships with a whole raft of cool new features, including some the Multilingual Engine (MLE) team integrated for JavaScript. This article discusses one of them, support for PL/SQL Records and Collections. This is a rather wide topic, which is why you find the article broken into a small…

Retrieving the result of a PL/SQL computation in MLE/JavaScript

Recently, while working on a joint project with the APEX team, the need arose to rewrite a piece of PL/SQL code in MLE/JavaScript. The PL/SQL code in question roughly looks like this. It allows me to figure out if the code is running as part of an APEX application, or elsewhere. This neat code snippet…

Quick tip concerning dbms_cloud’s create_credential() call

DBMS_CLOUD is one of the crucial packages in Oracle AI Autonomous Database (ADB from now on). It allows you to perform many operations, including the creation of credentials. These are almost universally required for developers and admins alike. DBMS_CLOUD.CREATE_CREDENTIAL is an overloaded procedure, its documentation can be found here. I recently experimented with Select AI,…

Say hello to the all new server-side JavaScript LiveLab

In-Database JavaScript, powered by Multilingual Engine (MLE) debuted as a major feature in Oracle AI Database 26ai. Starting with the Developer Preview (Release 23.2) a few years ago, you could write user-defined functions and procedures in JavaScript in addition to PL/SQL and Java. But you may ask yourself: how do I get started? There’s an…

What’s new with MLE 23.26.0 – support for PL/SQL Collections and Records Pt 2

Oracle AI Database has been released! It ships with a whole raft of cool new features, including some the Multilingual Engine (MLE) team integrated for JavaScript. This article discusses one of them, support for PL/SQL Records and Collections. This is a rather wide topic, which is why you find the article broken into a small…

Troubleshooting missing privileges in dbms_xplan.display_cursor

This is a quick note-to-self to make sure a database account has all the necessary privileges to execute dbms_xplan.display_cursor. These are documented in the PL/SQL Packages and Types reference, summarised here for your convenience. Well, mine, actually 😀 WARNING: before you start granting the following privileges, make sure you have a change request recorded, and…

Something went wrong. Please refresh the page and/or try again.