- Powered by
- WordPress
-
Using Oracle Database Free in your devcontainer and GitHub Codespaces
Dev containers are pretty nifty when it comes to keeping your development environment isolated from the rest of your system. Quoting from the documentation: Development containers, or dev containers, are Docker containers that are specifically configured to provide a fully featured development environment. Whenever you work in a codespace, you are using a dev container…
-
Java devs, please instrument your code 🥺
While preparing a talk for Java developers I revisited the topic of code instrumentation. Within the database, for example when writing PL/SQL or MLE/JavaScript code, you would use DBMS_APPLICATION_INFO to set module and action plus any other details you care about. This allows your friendly database admin or tuning expert to understand your application better.…
-
ORA-942 in MLE/JavaScript, but the query runs fine in my IDE! What gives?
This article is part of the upcoming Troubleshooting JavaScript chapter that should soon make it into the JavaScript Developer’s Guide. It covers a common problem developers face when writing database logic in Oracle, and it can be summed up as role grants often won’t suffice. TL;DR By default, named JavaScript blocks (and PL/SQL blocks) in…
-
Successfully Using SQLcl Projects If Your Production Branch Isn’t Called “main”
This short note demonstrates that the the production branch name is configurable in SQLcl projects. If you haven’t come across SQLcl projects yet, it’s Oracle’s opinionated framework for creating database applications. It is targeted towards enterprise-level applications that require structured release processes, making them especially well-suited for database CI/CD (Continuous Integration/Continuous Delivery). Since you can’t…
-
Intro to Post-Execution Debugging in SQL Developer for VSCode
Post-execution debugging has been an integral feature in Multilingual Engine/JavaScript from the very beginning. It allows you to record activity in the database and learn more about your application’s behaviour post execution. You can view the resulting data either on the command line as a JSON file, in Database Actions, or – most recently –…
-
Life hack: encode a URL in a QR code using APEX
Someone in the community once said to me that APEX is awesome even if you’re not writing APEX apps in the database. It comes with so many useful featues – like the one you’re reading about. Along ORDS (Oracle REST Data Services) it’s one of the standard components in all my databases. Adding QR codes…
-
Using Ansible to resize the root LV on Oracle Linux 9 in OCI
While preparing an upcoming talk at a community event I worked on some Terraform code I recycled. In a nutshell, I’m creating a virtual machine in Oracle Cloud Infrastructure using Oracle Linux 9. I’m fully intending to run Oracle Database 19.28.0 on that VM later. Rather than sticking with the default boot volume size I…
-
JavaScript Handler Functions in ORDS: Pay Attention to Data Types
In the past few weeks, I have written several articles covering JavaScript handlers in Oracle REST Data Services (ORDS). In a nutshell you can write your GET, POST, PUT and DELETE handlers in JavaScript, powered by Multilingual Engine (MLE). I think this is a nice feature. Recently I ran into a situation where I’m using…
-
New DEBUG flag simplifies troubleshooting ORDS container image issues
I previously wrote about troubleshooting the ORDS (Oracle REST Data Services) container’s entrypoint, e.g. the script that’s run whenever an ORDS container starts. This older article is now obsolete … Beginning with ORDS 25.2.3 a new flag has been added to the container image allowing you to debug the container startup. The new ORDS image…
-
Inline JavaScript and some further details about code delimiters
I recently attended POUG 2025, perhaps the most technical conference in Europe with focus on Oracle Database. My friend Øyvind Isene presented about Multilingual Engine (MLE)/JavaScript and made a good point about the delimiters you can use with inline JavaScript code. Please allow me to share a little bit of background first: When using MLE/JavaScript you…