Sign in

Martin Bach

@martindba.bsky.social
633 followers 271 following 419 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

PostsRepliesMedia
Martin Bach @martindba.bsky.social · 01/10/2026
Freue mich schon! Gestern habe ich den Code für Datenbank RU 23.26.3 und ORDS 26.2.3 angepasst und das neueste AutoUpgrade genommen. Das wird sicher interessant, kommt gerne vorbei, hört zu und diskutiert mit!
020
Reposted by Martin Bach
DOAG e.V. @doagev.bsky.social · 01/10/2026
DOAG e.V. "Dafür habe ich keine Zeit, lass uns das automatisieren". Klingt einfach. Ist es aber nicht. 😉 Martin Bach @martindba.bsky.social schaut sich 3 Werkzeuge an, mit denen sich typische Aufgaben aus Cloud-, System- und DB-Administration automatisieren lassen. ➡️ scomp.ly/VjpxbyR #DOAG2026
Session "Dafür habe ich keine Zeit, lass uns das automatisieren" von Martin Bach auf der DOAG 2026 Konferenz + Ausstellung
153
Martin Bach @martindba.bsky.social · 25/09/2026
💡 An unexpected use case for Oracle's VALUES clause: building SQL scripts! Instead of maintaining strings or repetitive UNION ALL queries, VALUES lets you create inline tables and turn them into SQL commands. A fun little SQL trick using GRANT statements: martincarstenbach.com/2026/09/25/g...
martincarstenbach.com
Generating SQL scripts using the VALUES clause
Oracle AI Database 26ai adds a table value constructor to SELECT, allowing VALUES to act as a small inline table in the FROM or WITH clause (📕 docs). This is useful when you want to work with a sho…
010
Reposted by Martin Bach
Mike Dietrich @mikedietrichde.com · 25/09/2026
Oracle Database 19c is supported on OL/RHEL 10 Many of you did wait for this - and since (I think) two weeks it is official. Oracle Database 19c is supported on OL/RHEL 10. Furthermore, I am going to show you how to find the certifications for Oracle AI Database 26ai since your search attempts may…
mikedietrichde.com
Oracle Database 19c is supported on OL/RHEL 10
Many of you did wait for this - and since (I think) two weeks it is official. Oracle Database 19c is supported on OL/RHEL 10. Furthermore, I am going to show you how to find the certifications for Oracle AI Database 26ai since your search attempts may lead to different results depending on the filters you use. How can you look up certification information?
077
Reposted by Martin Bach
Niels de Bruijn @nielsdb.bsky.social · 16/09/2026
𝗟𝗼𝘄-𝗖𝗼𝗱𝗲 𝗸𝗲𝗻𝗻𝗲𝗻 𝘄𝗶𝗿. 𝗔𝗯𝗲𝗿 𝘄𝗮𝘀 𝗽𝗮𝘀𝘀𝗶𝗲𝗿𝘁, 𝘄𝗲𝗻𝗻 𝗞𝗜 𝗱𝗮𝘇𝘂𝗸𝗼𝗺𝗺𝘁? Genau darum geht es beim German Low-Code Day in Hannover. Ich bin vor Ort und spreche am 24. September über das Thema „𝗩𝗼𝗻 𝗟𝗼𝘄-𝗖𝗼𝗱𝗲 𝘇𝘂 𝗟𝗼𝘄-𝗔𝗜-𝗖𝗼𝗱𝗲“ #orclapex
012
Martin Bach @martindba.bsky.social · 27/08/2026
I was today <n> years old when I finally noticed the much enhanced markdown editor in Visual Studio Code. This sure will come in handy!
A screenshot of VSCode showing the new (to me) enabled Markdown editor
030
Martin Bach @martindba.bsky.social · 07/08/2026
Life hack: I'm used to emacs-style navigation in my terminal, and finally got around to configuring iterm2 to use this. The change is very simple: - open preferences - click profiles - switch to keys/key bindings Select "natural text editing" from the "presets" drop-down, and you're at home again
110
Martin Bach @martindba.bsky.social · 05/08/2026
🚀 Blog post update! A recent conversation inspired me to refresh a post on deploying MLE/JavaScript with SQLcl & Liquibase. New coverage includes: ✨ SQL-format Liquibase changelogs 🛠️ SQLcl Projects for Database CI/CD Useful if you are on Oracle AI Database: martincarstenbach.com/2024/08/15/c...
martincarstenbach.com
Create MLE/JavaScript modules using Liquibase
Multilingual Engine, or MLE for short, allows developers to use the hugely popular JavaScript language to write server-side code since Oracle Database 23ai has been released for Linux/Intel and Lin…
020
Martin Bach @martindba.bsky.social · 01/07/2026
FreeSQL is the easiest way to get started with Oracle SQL, PL/SQL & JavaScript. All you need is a browser. 🖥️ It's also behind the new interactive "Run" buttons in the Oracle AI Database 26ai docs. Curious? More details 👇 martincarstenbach.com/2026/07/01/o...
martincarstenbach.com
Oracle AI Database 26ai docs have become interactive
Oracle AI Database 26ai documentation is becoming interactive ⌨️! Instead of copying SQL examples into your own environment (which you may have to set up…), you can now execute selected code …
010
Martin Bach @martindba.bsky.social · 27/06/2026
Did it happen? All I had was clouds 🌧️
100
Martin Bach @martindba.bsky.social · 26/06/2026
After introducing the modern AI development stack for data-centric apps it was time to put that stack to good use: analysing workloads captured in AWR reports. Does a coding agent understand them? Find out more 👉 martincarstenbach.com/2026/06/26/r... #AI #Oracle #Performance #AWR
martincarstenbach.com
Real productivity gains with AI: Automatic Workload Repository
After setting the scene in the previous articles detailing the various components of the Modern AI Development Stack with Oracle AI Database at the centre, let’s put this environment to good …
020
Martin Bach @martindba.bsky.social · 26/06/2026
Found another practical use case for AI: help me fix the discrepancy between inline code and regular text on my blog. Took me 2 minutes to fix what would otherwise meant a lot of internet searching 🎉
020
Martin Bach @martindba.bsky.social · 10/06/2026
Don’t let database startup delays break your CI pipeline. I wrote a short post how to use health checks in Docker and Podman to ensure database dependent calls don’t fail unnecessarily: martincarstenbach.com/2026/06/10/u...
martincarstenbach.com
Using Podman and Docker Health Checks to Prevent CI Pipeline Failures
I recently experimented with Continuous Integration (CI) pipelines in GitLab, and I needed a way to detect the availability of an Oracle AI Database 26ai Free instance running in Podman. Unless the…
010
Martin Bach @martindba.bsky.social · 26/05/2026
Hardcoding passwords into scripts always feels like a temporary solution… …right until it ends up in Git 😅 I wrote a short post on handling secrets more safely in SQLcl projects and completing admin tasks without creating a security nightmare: martincarstenbach.com/2026/05/25/c...
martincarstenbach.com
Handling Secrets Safely in SQLcl Projects Deployments
TL;DR: for security reasons you cannot possibly store sensitive information in Git. There have been too many occasions where API keys, passwords, or other configuration data has been exposed. Abuse…
052
Martin Bach @martindba.bsky.social · 08/05/2026
That post just made my day. Thank you 😂
110
Martin Bach @martindba.bsky.social · 06/05/2026
Oh sorry dachte nicht unbedingt daran das man in 🇩🇰 auch deutsch spricht 🫣 Kennst du beide?
110
Martin Bach @martindba.bsky.social · 06/05/2026
Kurze Frage für die deutschsprachige Bubble: kennt ihr Clever & Smart und/oder Spy vs Spy? Frage für einen Freund …
500
Martin Bach @martindba.bsky.social · 04/05/2026
Funny typos #42: $ gut pull It certainly feels like that sometimes 🤣 Maybe I should create a shell alias …
050
Martin Bach @martindba.bsky.social · 30/04/2026
Tell me you have been in IT for a long time without telling me you have been in IT for a long time: $ set -o vi Now I’m trying to find out how to enable Emacs key bindings in zsh…
140
Martin Bach @martindba.bsky.social · 15/04/2026
🚀 New post: JavaScript precision isn’t as safe as you might think 🤔 I break down how numeric precision loss happens in JavaScript, and how to avoid it. Especially for financial data and large numbers. The post applies to both node and MLE/JavaScript. 👇 martincarstenbach.com/2026/04/13/a...
martincarstenbach.com
Avoiding precision loss with MLE/JavaScript in Oracle AI Database 26ai
Oracle AI Database 26ai introduced Multilingual Engine (MLE), allowing you to run JavaScript inside the database. This feature bumps the number of languages available to write server-side code to 3…
000
Martin Bach @martindba.bsky.social · 11/04/2026
It’ll be interesting to see how this space develops. In the meantime some people made the effort to bundle specific skills in one place. @krisrice.io for instance hosts lots of skills related to the Oracle ecosystem at github.com/krisrice/ora...
github.com
GitHub - krisrice/oracle-db-skills: Oracle DB Skills is a curated library of 100+ practical, documentation-backed guides for working with Oracle Database, organized by domain
Oracle DB Skills is a curated library of 100+ practical, documentation-backed guides for working with Oracle Database, organized by domain - krisrice/oracle-db-skills
020
Martin Bach @martindba.bsky.social · 10/04/2026
I just read that 90% of all organisations who responded to the DORA 2025 survey adopted platform engineering. Ninety percent 🤩 That’s a pretty significant number. I’d love to hear from you how you/the team adopted platform engineering, in particular wrt Oracle database.
122
Martin Bach @martindba.bsky.social · 10/04/2026
Please let me know about the outcome.
010
Martin Bach @martindba.bsky.social · 10/04/2026
No worries, that’s what I’m here for
110
Martin Bach @martindba.bsky.social · 10/04/2026
That’s interesting… have a look at this and let me know if it works. martincarstenbach.com/2026/04/10/u... I tested on my ancient 19.19.0 arm64 port and can retrieve data without any issues
martincarstenbach.com
Using the operating system’s certificate store in Oracle Database 19c
I previously wrote about Using the Operating System’s certificate store instead of an Oracle wallet in Oracle AI Database 26ai. This is a great productivity boost, and it all comes down to this: if…
120
Martin Bach @martindba.bsky.social · 18/03/2026
Do you use SQLcl in GitHub Actions? If so, you might like the latest update to gvenzl/setup-oracle-sqlcl. Release 1.3.0 allows you to pin a specific release to your pipeline. This is particularly useful for anyone using SQLcl Projects. Details 👇 martincarstenbach.com/2026/03/17/u...
martincarstenbach.com
Updated setup-oracle-sqlcl Action and why it matters for SQLcl projects
This is a short post announcing a small but important change in the way you install SQLcl in GitHub Actions. The latest release allows you to install a specific SQLcl release in addition to the lat…
021
Martin Bach @martindba.bsky.social · 05/03/2026
Using Codex to generate unit tests for Oracle REST Data Services gave me a real productivity boost 🤖 Curious? I recorded a short video 📽️ showing my approach, with running commentary: martincarstenbach.com/2026/03/05/r... Do you have an internal platform? Use CI/CD? Let me know in the comments 🙏
martincarstenbach.com
Real productivity gains with AI: coding unit tests for your ORDS endpoints. A walthrough
After the completion of my little experiment writing unit tests with the help of AI I was so excited I spontaneously recorded a short video, too. In this video I’m walking you throw my code e…
010
Martin Bach @martindba.bsky.social · 04/03/2026
Here's a short "life hack", allowing you to use utPLSQL in your CI pipeline. OK, right, you could do that before, but this time, if there are failed unit tests your pipeline run will abort. No need for any other software, just SQLcl to run the tests. martincarstenbach.com/2026/03/04/l...
martincarstenbach.com
Life hack: causing utPLSQL to raise an error in case of failed tests
The wonderful Symposium 42 community is always a source of inspiration, kindness and willingness to help. Many thanks to everyone for lending me an ear while ranting about utPLSQL (tongue in cheek …
000
Reposted by Martin Bach
Madeleine Reinwald @madeleine-reinwald.bsky.social · 27/11/2025
Kaum zu glauben, dass die DOAG K+A schon wieder eine Woche her ist. So viele inspirierende Gespräche, starke Sessions und kleine, lustige Momente – höchste Zeit für einen Blick zurück! 😃 Ob auf der #DOAG2025, #LowCodeCreator oder #KINavigator – was waren eure Highlights? 😊 #DOAGDevs
2147
Martin Bach @martindba.bsky.social · 04/03/2026
I started an experiment and let AI write my unit tests. What used to take me 1 hour now takes 10 minutes. Here’s how I used Codex with Oracle AI Database 26ai to generate tests for my ORDS endpoints 👇 martincarstenbach.com/2026/03/04/r...
martincarstenbach.com
Real productivity gains with AI: coding unit tests for your ORDS endpoints
Ever since I first heard about them, I have become a great fan of unit tests, Test-Driven-Development, and CI/CD in general. Whenever I can, I incorporate these into my demos. I wrote a fair bit ab…
050
Martin Bach @martindba.bsky.social · 02/03/2026
Finally finding some time to dig deeper into the DORA 2025 Report. The recording of this webinar is very insightful in my opinion. For example, just throwing in AI without having thought about a platform might not provide the productivity gains you hoped for. www.thoughtworks.com/insights/rep...
thoughtworks.com
The 2025 Dora Report
The DORA Report 2025, the industry's authoritative research on software delivery performance and engineering excellence, is now available. Get our insights.
000
Martin Bach @martindba.bsky.social · 02/03/2026
🚨New Blog post 🚨 Does your application receive JSON via REST calls? If so, how do you make you don't receive garbage data? Using JSON Schema is a neat way to do that. Here's an example using ORDS and Oracle AI Database 26ai (incl. server-side JavaScript)👇 martincarstenbach.com/2026/03/01/u...
martincarstenbach.com
Using JSON Schema to validate data submitted to the database via REST Calls
The title’s a mouthful (sorry!), but here’s the core idea: your application exposes REST endpoints through Oracle REST Data Services (ORDS). When a client uses POST to insert new records, the input…
051
Martin Bach @martindba.bsky.social · 23/02/2026
🚀 New Blog Post 🚨 A recent forum question provided inspiration 💡 If you ever found yourself in the situation where you had to provide additional detail in a JSON Relational Duality View this post shows one way to do it 👉 martincarstenbach.com/2026/02/23/a...
martincarstenbach.com
Augmenting JSON Relational Duality Views with generated data
A recent forum post inspired this brief article on generating summary data in JSON Relational Duality Views. Typically you map a table’s columns to fields in the resulting JSON. If you can&#8…
010
Martin Bach @martindba.bsky.social · 20/02/2026
🚀 New post: Handling query parameters in JavaScript-based Oracle REST Data Services (ORDS) endpoints Covers: • How ORDS exposes query parameters • Safe access & validation patterns • Pitfalls (implicit type conversion!) • Making endpoints more predictable 👉 martincarstenbach.com/2026/02/20/h...
martincarstenbach.com
Handling Query Parameters in JavaScript-based ORDS Endpoints
Oracle REST Data Services (ORDS) allows you to REST-enable your Oracle Database. REST is short for Representational State Transfer, and REST calls are typically used as your database API (Applicati…
010
Reposted by Martin Bach
SQLDaily @sqldaily.bsky.social · 17/02/2026
With #JSON duality views in Oracle AI Database you can build a JSON interface over database tables These come with lost-update detection via ETags @martindba.bsky.social shows how this prevents conflicting writes for REST calls by using the if-match header
buff.ly
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 simp…
011
Martin Bach @martindba.bsky.social · 15/02/2026
Wow, I admire your dedication!
010
Martin Bach @martindba.bsky.social · 13/02/2026
I found a GitHub issue where they said they enhanced microdnf but that’s further upstream than my current OL9 release. It’s big brother got the job done
010
Martin Bach @martindba.bsky.social · 13/02/2026
D’oh! Scratched my head for 10 minutes asking myself why microdnf doesn’t find the local rpm. Turns out microdnf as it ships in Oracle Linux 9 simply can’t install local RPMs. Switching to the not quite as slim image helped.
110
Martin Bach @martindba.bsky.social · 08/02/2026
Wait, what? In 2023 I bought 64GB DDR5-5600 for 210€. Today, if I wanted to get 64GB DRAM (identical spec) I have to part with 879€ 🤯 <insert your favourite combination of swear words here>
151
Martin Bach @martindba.bsky.social · 05/02/2026
Looking at my posting insights in Wordpress and I thought ... wouldn't it be fun to post "Tetris" style? Nearly did that in January 🤣
010
Martin Bach @martindba.bsky.social · 05/02/2026
Optimistic locking with React, ETags, @OracleREST endpoints, and JSON Relational Duality Views in Oracle AI Database — but shown in a UI that people actually want to use. I recorded a short demo video to prove it. Blog post & video here: martincarstenbach.com/2026/02/05/o...
martincarstenbach.com
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…
000
Martin Bach @martindba.bsky.social · 04/02/2026
Just finished recording a short video where I’m showing a lot more realistic scenario involving a react web app to modify the Duality View. Definitely more pleasing to the eye than raw JSON in the console 📽️
000
Martin Bach @martindba.bsky.social · 04/02/2026
A little chuffed about the fact that I finished a small React app today to interact with a JSON Relational Duality view via REST. Oracle ORDS kindly provided the endpoint for me. Thanks to react-bootstrap it does look half-decent, too
media.tenor.com
Minions GIF
ALT: Minions GIF
000
Martin Bach @martindba.bsky.social · 04/02/2026
🚨 New blog post! I just migrated a PL/SQL app to JavaScript (yes—still inside the database 😎). As part of the experiment I put JSON Relational Duality Views + ETags to the test for optimistic locking. Spoiler: it works beautifully. Dive in 👇 martincarstenbach.com/2026/02/03/o...
martincarstenbach.com
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 simp…
110
Martin Bach @martindba.bsky.social · 29/01/2026
Yep, saw that, too.
000
Martin Bach @martindba.bsky.social · 28/01/2026
Not entirely convinced of zone 2 training. It sure is fun and leisurely but I almost feel as if it made me slower. What’s your experience? This is about running but it might as well apply to cycling 🚴 🏃 #running #endurance #cycling
130
Martin Bach @martindba.bsky.social · 27/01/2026
So far I only used the syntax highlighter block in Wordpress. I was today <n> years old when I noticed that the code block has syntax highlighting for many more languages than syntax highlighter . Plus it can do line numbers, display the language and add a copy button ☺️
screenshot showing some of the languages supported by wordpress's code block
100
Martin Bach @martindba.bsky.social · 26/01/2026
Did you know you can write User Defined Functions in TypeScript for Oracle AI Database 26ai? I’ve just updated my article showing how to transpile TypeScript, apply Biome for linting, all with CI in mind — just like you would for any modern app: 👉 martincarstenbach.com/2023/07/04/l...
030
Martin Bach @martindba.bsky.social · 22/01/2026
3-day blogging streak! 🚀 New post in my MLE/JavaScript series covering collections and record support: using nested tables to pass arguments to apex_lang.get_message 🧩📚 More on varrays & associative arrays coming soon 👀✨ 👉 martincarstenbach.com/2026/01/22/w...
martincarstenbach.com
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 the…
020
Martin Bach @martindba.bsky.social · 21/01/2026
The best way to get ideas for blog posts is to actively work with technology 💻. I love experimenting 🧪👨‍💻 Recently I translated a PL/SQL code unit to MLE/JavaScript. If you ever need to perform a PL/SQL calculation in JavaScript⚙️, here’s how to do it 👇 martincarstenbach.com/2026/01/21/r...
martincarstenbach.com
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. declare l_res…
031