- Powered by
- WordPress
-
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…
-
Identify driver details of your cloud VM’s block devices
While preparing a presentation for POUG 2025 I had a need to find out more about the block device driver in use on my system. I was particularly interested in the SCSI mid-layer and low-layer drivers. Unsure about these terms? I am referring to the Linux Storage Stack Diagram. It’s a great resource for anyone…
-
Why does my call to json_table return null for a column despite it not being empty?
I recently worked on a fun project involving JSON and Oracle Database 23ai. I had to store rather large JSON documents, individual field lengths exceeding what I usually see. No problem with that, the database didn’t even so much as flinch. However, when I queried the table I used to store the JSON documents using…
-
Group-by-all is awesome for digging in performance data
Oracle Database 23ai Release Update 9 introduces yet another new feature aimed at improving the developer experience with the database: group by all. Just like the new select without from dual clause this might not sound like a big deal, but after a little while working with it, you don’t really want to miss it…