Philipp Salvisberg
@salvis.com
📤 522
📥 157
📝 175
Focused on database-centric development. Chat is open.
https://www.salvis.com/blog/about
reposted by
Philipp Salvisberg
Chris Saxon
3 days ago
We're still looking for interesting assertions use cases Just over two weeks left for
#OracleACE
to get your entries in Bounty closes 15th March For full details read
blogs.oracle.com/sql/assertio...
1
2
1
Hierarchies should be trees and not loops. Learn how SQL Assertions in Oracle AI Database 23.26.1 can help prevent cycles in hierarchical data.
www.salvis.com/blog/2026/02...
loading . . .
Enforcing Acyclic Hierarchies With SQL Assertions
Introduction Referential integrity constraints have been available since version 7 of the Oracle Database. While these constraints ensure that referenced rows exist, they cannot express more complex i...
https://www.salvis.com/blog/2026/02/23/enforcing-acyclic-hierarchies-with-sql-assertions/
7 days ago
0
8
3
reposted by
Philipp Salvisberg
Piet de Visser
11 days ago
SQL-Assertions... I could not resist experimenting.
simpleoracledba.blogspot.com/2026/02/draf...
loading . . .
Assertions used in arc-relationship
TL;DR: A simple use-case for SQL-Assertions: Adding a data-related constraint to an arc-relation. Demo using the Emp-Dept schema. Summary u...
https://simpleoracledba.blogspot.com/2026/02/draft-assertions-used-in-arc.html
0
7
3
reposted by
Philipp Salvisberg
Chris Saxon
11 days ago
The recording for this session is now avaiable
www.youtube.com/watch?v=ulLy...
add a skeleton here at some point
0
2
1
reposted by
Philipp Salvisberg
Andres Almiray
12 days ago
Java CLIs in 2026: - scaffold with PicoCLI
picocli.info
- style with Tamboui
tamboui.dev
- launch with JBang
www.jbang.dev
- release with JReleaser
jreleaser.org
0
15
7
reposted by
Philipp Salvisberg
Chris Antognini
16 days ago
After a decade of planning, editing, delays due to my own busyness, further editing and waiting for 23c, the release of 26ai and my pre-retirement finally unblocked the situation. I have agreed with Apress to publish the third edition of Troubleshooting Oracle Performance in 2026.
#TOP3
7
32
5
reposted by
Philipp Salvisberg
Nicholas C. Zakas
17 days ago
Finally! Very excited that GitHub is now letting us have controls over who can open PRs on repos.
https://github.blog/chan...
0
17
2
reposted by
Philipp Salvisberg
Simon Späti 🏔️
19 days ago
I wrote part 2 about what I learned from eight months with Omarchy, especially after switching from macOS after 15 years. I documented which apps I use now on Linux compared to before. Maybe it helps someone here, too.
www.ssp.sh/blog/linux-...
loading . . .
Arch Linux (Omarchy) — 8 Months Later: The Good, the Bad, and the Fixable
After 15 years on macOS, I switched to Arch Linux with Omarchy. 8 months in, here's what replaced my Apple apps, which hardware I chose, and what actually broke — and how I fixed it.
https://www.ssp.sh/blog/linux-omarchy-the-good-bad-and-fixable/
4
9
2
reposted by
Philipp Salvisberg
Gerald Venzl
23 days ago
Another successful Saturday morning build... :)
#Oracle
#AI
#Database
#26ai
#Free
#Docker
0
7
1
reposted by
Philipp Salvisberg
Chris Saxon
25 days ago
Preventing overlapping start-end dates in history tables is a common challenge Oracle AI Database gives you two ways to do this: Guarantee consecutive ranges with foreign keys Stop overlapping ranges with assertions Find out how in my latest post
blogs.oracle.com/sql/how-to-s...
1
6
1
Playing with OracleDB assertions. Learning new error messages. ORA-08673: Equijoin "E"."DEPARTMENT_ID"="D"."DEPARTMENT_ID" found does not meet the criteria to do a FAST validation. Good explanation on
docs.oracle.com/en/error-hel...
loading . . .
ORA-08673 - Database Error Messages
This page describes the ora-08673 Oracle Database Error Messages, also known as ora08673, ora-8673 or ora8673
https://docs.oracle.com/en/error-help/db/ora-08673/index.html?r=26ai
27 days ago
1
1
1
reposted by
Philipp Salvisberg
Toon Koppelaars
about 1 month ago
www.youtube.com/watch?v=dNvI...
loading . . .
Cross table constraints with SQL assertions
YouTube video by Oracle Developers
https://www.youtube.com/watch?v=dNvIA-_bP_U
0
7
4
reposted by
Philipp Salvisberg
Philipp Hartenfeller
about 1 month ago
Rules always have exceptions. In this video I show how to use the --dblinter ignore directive to suppress rule violations for different scopes.
youtu.be/5vWUv-jAM14
@united-codes.com
#orclAPEX
#oracle
#plsql
#dblinter
loading . . .
How to Suppress dbLinter Violations Using Inline Comments
YouTube video by United Codes
https://youtu.be/5vWUv-jAM14
0
2
2
reposted by
Philipp Salvisberg
SQLDaily
about 1 month ago
Want to improve the quality of your Oracle
#SQL
and PL/SQL?
@salvis.com
has built the automatic rule checking suite, dbLinter This defines 187 rules you can apply to check your code Philipp has picked out 14 to always run Do you agree with his list?
buff.ly/Nc5t1Qd
0
3
1
I've updated my local APEX development environment to Oracle AI Database 26c.
@hartenfeller.dev
makes it easy! Thanks!
add a skeleton here at some point
about 2 months ago
0
1
0
reposted by
Philipp Salvisberg
Nicholas C. Zakas
about 2 months ago
I did a lot of thinking about the npm supply chain attacks over my break. I wrote up my thoughts, along with some proposed solutions, in my latest post:
https://humanwhocodes.co...
1
10
1
reposted by
Philipp Salvisberg
Gerald Venzl
about 2 months ago
Timely for the 🎄 Christmas break, I've put together a more detailed 🛠️ "under the hood" post about extended VARCHARs (VARCHAR2 (32k)) and their often misunderstood 🔢 storage behavior.
loading . . .
Oracle Database 32k VARCHAR2 storage
Not too long ago, I responded to an email list regarding the storage of Oracle Database's extended VARCHAR2 data types, which allow you to store up to 32 KB of data. Because the LOB layer is used to store the data, it is often misunderstood that extended VARCHAR2s are nothing but tiny CLOBs and fall under the same semantic rules as…
https://www.geraldonit.com/oracle-database-32k-varchar2-storage/?utm_source=bluesky&utm_medium=jetpack_social
0
7
2
I see the dbLinter rules as a large buffet. You choose what you like and what is healthy. But not too much at once. In any case, some rules should be enforced in every project. Do you agree with my top 14?
www.salvis.com/blog/2026/01...
loading . . .
Fighting Bad PL/SQL & SQL with VS Code
The success of a project or product depends largely on the quality of the code. But how can I improve security, maintainability or performance? More importantly, how can I prevent code with quality de...
https://www.salvis.com/blog/2026/01/02/fighting-bad-pl-sql-sql-with-vs-code/
about 2 months ago
0
2
0
Closed a long-running action item from August 2023. The “Coming Soon” page on the Grisselbav website is gone. Replaced with real content. Meet the Grisselbav team virtually at
www.grisselbav.com
. Happy New Year!
loading . . .
Database Code Quality & Engineering Practices | Grisselbav
We help teams establish reliable and repeatable engineering practices around their databases, without unnecessary complexity.
https://www.grisselbav.com
2 months ago
1
6
0
Would you like dbLinter to include a formatter? The more 'thumbs up' we get for the GitHub issue (
github.com/Grisselbav/d...
), the sooner it will happen.
loading . . .
New Rule: Always format database code consistently · Issue #45 · Grisselbav/dbLinter
The Problem ATM code style rules are not covered in the rule set of dbLinter. See also No Code Style. This is sad, since well-formatted code is easier to read and consistently formatted code is eas...
https://github.com/Grisselbav/dbLinter/issues/45
3 months ago
1
1
0
Do you write and deploy SQL or PL/SQL code for the Oracle Database? Do you care about software quality? If so, you should try dbLinter. It is available in the VS Code Marketplace and the Open VSX Registry.
add a skeleton here at some point
3 months ago
0
2
0
reposted by
Philipp Salvisberg
Tim Hall
3 months ago
Oracle AI Database 26ai On-Prem Announced
oracle-base.com/blog/2025/12...
1
6
3
reposted by
Philipp Salvisberg
Jeff Smith
3 months ago
It's coming, Oracle AI Database 26ai for on premises commodity hardware announcement
blogs.oracle.com/database/ora...
loading . . .
https://blogs.oracle.com/database/oracle-ai-database-26ai-coming-soon-for-linux-x86-64-on-premises-platforms
1
11
2
reposted by
Philipp Salvisberg
Sabine Heimsath 🇺🇦🇪🇺😷
3 months ago
APEX Connect 2026 - Call for Papers noch bis morgen!!! Gebt Euren Abstract den letzten Schliff, und dann ab damit:
apex.doag.org/de/home/
Wir freuen uns drauf! 😍
#APEXconn26
#orclAPEX
#SQL
#PLSQL
#solutions
#community
0
5
4
Too many commits can kill you! (And everyone else) by
@ora600pl.bsky.social
at DOAG2025. The summary is the first screen (no slides of course).
3 months ago
0
3
0
If you love your data then you have to love this feature. Presented by
@toonkoppelaars.bsky.social
who joined Oracle to make that happen.
#DOAG2025
3 months ago
0
18
3
reposted by
Philipp Salvisberg
Connor McDonald on Database and SQL
3 months ago
Couple here
connor-mcdonald.com/2016/03/23/t...
asktom.oracle.com/Misc/how-to-...
0
3
1
Some Oracle ACE Program swag waited for me after returning from two amazing days at the ATP Finals in Turin. Useful stuff for
#DOAG2025
next week! Thanks
@oracleace.bsky.social
!
4 months ago
1
12
2
reposted by
Philipp Salvisberg
SQLDaily
4 months ago
SYSDATE in Oracle AI Database is evaluated once per Statement in
#SQL
Call in PL/SQL Wrap SYSDATE in a DETERMINISTIC function to trick the compiler into evaluating it once/statement But beware: this can lead to unwanted behaviour
@salvis.com
explores
loading . . .
Is SYSDATE Deterministic? #JoelKallmanDay - Philipp Salvisberg's Blog
Is SYSDATE deterministic in Oracle Database? Explore definitions, test cases, and pitfalls when using SYSDATE vs deterministic functions.
https://buff.ly/5lNWz7D
0
3
1
reposted by
Philipp Salvisberg
Connor McDonald on Database and SQL
4 months ago
SQL trace on Autonomous database
connor-mcdonald.com/2025/10/27/s...
loading . . .
SQL trace on Autonomous
I’ve blogged before about activating SQL trace on autonomous database, but here’s a little addenda that you might appreciate. Lets assume I’ve done the setup as described in the b…
https://connor-mcdonald.com/2025/10/27/sql-trace-on-autonomous/
0
7
3
reposted by
Philipp Salvisberg
Jasmin Fluri
4 months ago
I felt like writing a blog post —a little write-up on why fixing failed
#database
deployments is challenging. Spoiler: The part about undo-scripts might feel like a rant, probably because it is. 🙃
medium.com/@jasminfluri...
loading . . .
Database Rollbacks in CI/CD: Strategies and Pitfalls
Database rollbacks would be incredibly valuable and essential if we want quick fixes for failed deployments. But they are rarely feasible.
https://medium.com/@jasminfluri/database-rollbacks-in-ci-cd-strategies-and-pitfalls-f0ffd4d4741a
1
11
2
Tennis before the first session on day 3 of HrOUG with team „Awesome“ and „OMG“. It was great fun. Thanks!
#HrOUG25
#HrOUG2025
5 months ago
0
5
2
This is how a latch contention looks in real life. The
@ora600pl.bsky.social
way at
#HrOUG2025
5 months ago
0
9
3
Lot if interest in deep diving into performance of views by
@danischnider.bsky.social
at
#HrOUG2025
5 months ago
0
5
2
Having fun at the tennis court
#hroug25
5 months ago
1
4
1
reposted by
Philipp Salvisberg
Philipp Hartenfeller
5 months ago
For
#JoelKallmanDay
I am sharing a free plug-in for reactive Markdown preview. It auto refreshes, supports tables, alerts, etc., and comes with three themes.
#orclAPEX
hartenfeller.dev/blog/apex-re...
loading . . .
Oracle APEX Reactive Markdown Plug-in #JoelKallmanDay
Display rich Markdown in Oracle APEX that reacts to changes of referenced page items.
https://hartenfeller.dev/blog/apex-reactive-markdown-plugin
1
14
6
Is SYSDATE Deterministic?
#JoelKallmanDay
No, SYSDATE is not deterministic. However, it behaves very similarly to a deterministic function within an Oracle Database SQL statement.
www.salvis.com/blog/2025/10...
loading . . .
Is SYSDATE Deterministic? #JoelKallmanDay
TL;DR No, SYSDATE is not deterministic. However, it behaves very similarly to a deterministic function within an Oracle Database SQL statement. Background On a customer site, we used faketime on the O...
https://www.salvis.com/blog/2025/10/15/is-sysdate-deterministic-joelkallmanday
5 months ago
0
9
5
Do you use MERGE statements in your PL/SQL code? Then I recommend not using Oracle SQL Developer for VSCode version 25.3.0 or SQLcl 25.3.0. See
forums.oracle.com/ords/apexds/...
loading . . .
https://forums.oracle.com/ords/apexds/post/bug-cannot-install-stored-object-containing-a-merge-stateme-9418
5 months ago
0
1
0
„The successful 5% of AI agents? They all have one thing in common: human-in-the-loop design.“
add a skeleton here at some point
5 months ago
0
1
0
reposted by
Philipp Salvisberg
Jeff Smith
5 months ago
Previously on @thatjeffsmith... SQL Developer extension for VS Code 25.3: Charts & Diagrams
loading . . .
SQL Developer extension for VS Code 25.3: Charts & Diagrams
Previously on @thatjeffsmith... SQL Developer extension for VS Code 25.3: Charts & Diagrams
https://www.thatjeffsmith.com/archive/2025/10/sql-developer-extension-for-vs-code-25-3-charts-diagrams/?utm_source=bluesky&utm_medium=social&utm_campaign=ReviveOldPost
0
2
1
I've just finished writing my blog post. And you?
add a skeleton here at some point
5 months ago
0
4
0
Subtly downgrade a band: Beagles
add a skeleton here at some point
5 months ago
0
2
0
reposted by
Philipp Salvisberg
Philipp Hartenfeller
6 months ago
New blog post, my longest one ever. A full guide on how to use AI as a PL/SQL developer. - No 23ai or Python required - Advanced techniques like tools, structured output, reasoning, and file analysis - Usage demos
hartenfeller.dev/blog/real-ai...
#oracle
#ai
#orclAPEX
loading . . .
Build Real AI Solutions with Oracle PL/SQL (No 23ai Required)
Learn how data engineers can leverage AI for Oracle automation using PL/SQL. Discover structured output, file analysis, reasoning, and tool calling with the open-source UC AI SDK.
https://hartenfeller.dev/blog/real-ai-solutions-oracle-plsql
0
12
3
reposted by
Philipp Salvisberg
GraalVM
6 months ago
GraalVM 25 is here, with lots of updates for native compilation, GraalPy, GraalJS, and WebAssembly. Faster and better than ever!🐰🚀 Download:
www.graalvm.org/downloads/
Release notes:
www.graalvm.org/release-note...
3
55
31
If you are using version 0.15.0 of the dbLinter VS Code extension, please update to version 0.15.1. Thx! This update fixes a problem where the wrong configuration name was being used for anonymous users. Other users are not affected.
6 months ago
0
1
1
reposted by
Philipp Salvisberg
Anders Swanson
6 months ago
Transactional Outbox: Simplified with Oracle Database Event streaming is extremely popular in modern application architectures, providing high-throughput, real-time data flow in microservices architectures. However, ensuring data consistency in distributed systems is challenging — Traditional…
loading . . .
Transactional Outbox: Simplified with Oracle Database
Event streaming is extremely popular in modern application architectures, providing high-throughput, real-time data flow in microservices architectures. However, ensuring data consistency in distributed systems is challenging — Traditional two-phase commit (2PC) implementations can be costly and slow, making them impractical for high-throughput environments. In this article, we’ll solve data consistency challenges in event streaming systems using Oracle Database Transactional Event Queues…
https://andersswanson.dev/2025/09/12/transactional-outbox-simplified-with-oracle-database/
0
6
2
reposted by
Philipp Salvisberg
Ron Ekins
6 months ago
Learn how to run a containerised Oracle Database 23ai natively on MacOS with Apple Containers
#oracle
#database
#23ai
#containers
#macOS
loading . . .
How to Run Oracle Database 23ai natively on MacOS with Apple Containers
Background I have written many blog posts detailing how to run containerised Oracle database workloads using Docker, Podman and Kubernetes on a Mac. But we now have another new exciting, simpler and potentially faster option. At WWDC 2025, Apple announced its containerisation framework platform. Apple’s Containerisation framework runs each Linux container inside its own lightweight virtual machine (VM), providing hardware-level isolation instead of relying on traditional namespace-based container runtimes, such as…
https://ronekins.com/2025/09/12/how-to-run-oracle-database-23ai-natively-on-macos-with-apple-containers/
0
5
2
reposted by
Philipp Salvisberg
Priit Piipuu
6 months ago
I guess it will be about linters and coding standards :)
@salvis.com
at
#POUG2025
@sym42.bsky.social
1
9
1
reposted by
Philipp Salvisberg
Chris Saxon
6 months ago
Get faster PL/SQL in
#SQL
with alter session set sql_transpiler = on => database will convert eligible functions to SQL Read my latest post for details on What can be transpiled Transpiler vs scalar macros Functional differences Impact of function-based indexes
blogs.oracle.com/sql/post/fas...
loading . . .
https://blogs.oracle.com/sql/post/faster-plsql-in-sql-with-the-automatic-sql-transpiler
0
12
7
reposted by
Philipp Salvisberg
Philipp Hartenfeller
6 months ago
New video: leverage AI coding assistants to generate unit tests for
#oracle
#PLSQL
. - how to structure your project - optimize AI context with a copilot-instructions.md - let the AI agent compile and test with SQL Dev
#MCP
server
youtu.be/O9fhl1Gr0UU
#orclAPEX
loading . . .
Generate valuable PL/SQL unit tests with AI
YouTube video by United Codes
https://youtu.be/O9fhl1Gr0UU
1
9
3
Load more
feeds!
log in