Martin Bach
@martindba.bsky.social
620 followers 270 following 340 posts
Product Manager @ Oracle. Ex @Enkitec. Technology enthusiast. Author, blogger, speaking at user groups. Former Ace Director, OCM. I work for Oracle but do not speak for them
Posts Media Videos Starter Packs
At least in Java/JDBC it’s the same, eg no extra round trip.
Java devs, please instrument your code 🧠
Have you ever struggled tracing SQL back to the app? Use setClientInfo(...) to add meaningful metadata to your JDBC queries. It makes tracing and perf debugging way easier.
New blog post with real code & tips:
🔗 martincarstenbach.com/2025/10/16/j...
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…
martincarstenbach.com
Sometimes git status is all you need, but on occasion you want to see _all_ the untracked files, especially if they are hiding in a sub-directory.

git status --untracked-files=all or git status -uall is your friend.
I've been thinking about adding a Troubleshooting MLE/JavaScript chapter to the JavaScript Developer's Guide. I fleshed out one of the drafts today concerning invoker rights/definer rights. The principles apply to MLE just as they do with PL/SQL. Result:
martincarstenbach.com/2025/10/15/o...
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…
martincarstenbach.com
Today I was <n> years old when I wrote my first Spring Boot application using JPA/Hibernate and instrumented it via Open Telemetry. I see spans in Zipkin! I probably should be a little less excited but it was too much fun not to be 🥳
Reposted by Martin Bach
Wie verändert AI die Arbeit mit der Oracle Datenbank? Darüber sprechen wir beim nächsten DevTalk am Do. 16.10. – offen und praxisnah.
Mit @martindba.bsky.social (Oracle) & @oraesque.bsky.social
17–18 Uhr, online & ohne Voranmeldung!
👉 meine.doag.org/event/id.939...

#DOAGDevs #DevTalk #AI #KI
Reposted by Martin Bach
Convert #JSON to rows & columns with JSON_Table

But if there are errors extracting a field, by default, Oracle Database sets its value to null

@martindba.bsky.social shows how to force an error instead in 23ai with

ALTER SESSION SET JSON_BEHAVIOR="ON_ERROR:ERROR"
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, …
buff.ly
I was today years old<an undisclosed number of years old> when I started protecting my default branch on GitHub for my side projects. I hope to avoid silly problems like the one yesterday this way …
🚀 New post: Using SQLcl Projects When Your Production Branch Isn’t ‘main’ 🚀

Ran into a configuration issue preparing a demo using a non-standard default branch name.
Luckily, the fix is easy. Full write-up + example here:

👉 martincarstenbach.com/2025/10/08/s...

#Oracle #DevOps #CICD
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 framew…
martincarstenbach.com
When creating REST APIs what’s your typical response for retrieving data. I quite like the idea in GraphQL where you get an object containing both data and errors - both can be empty.

{
data: […],
error: […]
}

What do you guys do? It’s JSON, though, isn’t it?
Listening to something more energetic than me this morning to help me finish those slides…. it’s a great, fun game, too, by the way
A screenshot showing Spotify on my mobile playing the Need for Speed Heat soundtrack
Thank you! I added your suggestion to the post, with proper attribution of course
🔧 Life Hack: you don’t need an external service to generate QR-codes. APEX can do this for you 🤯

In this article I share how I created a QR-code in PL/SQL for use in an upcoming presentation 🖥️ APEX is so much more than a low code platform 🤩

🔗 martincarstenbach.com/2025/10/01/l...
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 read…
martincarstenbach.com
🚀 Found out I needed to resize the root filesystem on my OCI VM while preparing for an upcoming conference. Thankfully it used LVM, so I wrote an Ansible playbook to automate it 🙌 Took me a minute to do, but saved lots of time since.

🔧 Here's how I did it:
martincarstenbach.com/2025/09/30/u...
LinkedIn
This link will take you to a page that’s not on LinkedIn
lnkd.in
Reposted by Martin Bach
Unser Oracle Datenbanken Monthly News für September ist jetzt online.
Alle Links zu den News, Events, Release Updates, interessanten Blogs finden sich hier
#oracledatabase #oraclecloud #multicloud #ai #events #oracledba #oracledeveloper

blogs.oracle.com/coretec/post...
blogs.oracle.com
Turning off any notifications?
🤖 Oracle Datenbank & KI – was hat es damit nun genau auf sich?

Finde heraus worum es sich beim Thema DB und KI dreht, und zwar beim DOAG Dev Talk am 16.10. – kostenlos & garantiert ohne Buzzword-Bingo!

👉 meine.doag.org/event/id.939...

#Oracle #KI #DevTalk #DOAG
Events - DOAG
meine.doag.org
Reposted by Martin Bach
#DOAG2025: Auch dieses Jahr bietet unsere Anwenderkonferenz fast 50 Sessions rund um das Thema #Development. Wir haben die Development-Community befragt und nennen euch einige Highlights aus diesem Stream. ➡️ scomp.ly/0BvYJme

🔗Anmeldung | scomp.ly/YAj48bE
💡Early-Bird-Tickets bis zum 30. September
The other issue I noticed is this: when you try something that’s brand spanking new like the Typescript SDK to create an MCP Server as I did yesterday it turns out the code isn’t particularly good. At this point in time I believe AI is great at explaining things but not yet great at writing.