Martin Bach
Martin Bach
@martindba.bsky.social
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
634 followers271 following420 posts
Martin Bach reposted
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
💡 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...
Martin Bach reposted
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…
Martin Bach reposted
🚀 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...
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...
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
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...
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...
🚀 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...
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...
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 🙏
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...
Martin Bach reposted
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...
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...
🚨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...
🚀 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...
🚀 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...
Martin Bach reposted
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
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...
🚨 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...
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...
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...
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...
Quick question for the community: do you use shared server connections with your Oracle database? (docs.oracle.com/en/database/...). Regardless of the release…I am genuinely curious 🧐
🚀 Small update to my blog I updated my page template to finally display tags 🎉 Tags were already assigned for each article, but now they’re visible and clickable. For example, all my JavaScript posts are now accessible in one place: 👉 martincarstenbach.com/tag/JavaScri...
Martin Bach reposted
The method_opt parameter of dbms_stats controls histogram generation @martindba.bsky.social shows how to use it to Delete all histograms except for 1 Create this histogram using the AUTO clause With for all columns size 1, for columns data_skew size AUTO
🚀 I’m excited to share that the all-new JavaScript LiveLab for Oracle AI Database 26ai is live! If you’re curious about writing JavaScript on the server the updated LiveLab makes getting hands-on much easier No setup required, just a browser; feedback welcome: martincarstenbach.com/2026/01/06/s...
Reflecting on my blogging journey in 2025 📊✍️ Summary: I managed to blog a fair bit this year☺️and it was fun! Looking forward to more writing, more learning, and sharing practical insights. Thanks to everyone who’s taken the time to read my stuff 🔗 martincarstenbach.com
🚀 New blog post is out 🖥️ Will this one be the final one for this year 🤔 ? I investigated an unexpected parallel query execution in Autonomous Database. Turns out to be a mistake on my part, so I wrote this in case you hit this, too: martincarstenbach.com/2025/12/29/w...
🚀 New blog post is out 🖥️ I started a mini-series about Oracle's server-side JavaScript implementation, and its support for PL/SQL records and collections. Part II, out now, shows you how to return records from JavaScript to PL/SQL. Details here: martincarstenbach.com/2025/12/19/w...
Martin Bach reposted
🎡 #apexconn26 | 18.–20. Mai | Heide Park Soltau #LowCode, #orclapex & #PLSQL in einer Location, die genauso dynamisch ist wie die Technologie selbst. 🎤 Keynote von @cczarski.bsky.social: "Low-Code mit APEX 2026 – Der Stand der Dinge" – mit APEXlang, KI, neuen Features u.v.a.m. 😃 apex.doag.org
Martin Bach reposted
Schema annotations in Oracle AI Database enable you to add key-value metadata on Tables Views Indexes Domains These help document your objects @martindba.bsky.social shows how to add them to view columns with ALTER VIEW ... MODIFY ( <col> ANNOTATIONS ( ... ) )
🚀 New blog post is out 🖥️ I was recently asked if the JavaScript SQL driver used in Oracle AI Database respects Virtual Private Database (VPD) policies. I was pretty sure it did, a quick test removed all uncertainty. Spoiler: it does. Care for the details? 🔗 martincarstenbach.com/2025/12/12/d...