Philipp Salvisberg
@salvis.com
📤 525
📥 157
📝 182
Focused on database-centric development. Chat is open.
https://www.salvis.com/blog/about
reposted by
Philipp Salvisberg
Dani Schnider
about 8 hours ago
Last part of my blog series about Implementing Multi-Temporality with Data Vault
danischnider.wordpress.com/2026/05/16/i...
loading . . .
Implementing Multi-Temporality with Data Vault (Part 3)
In the last part of this blog series, we will look at how to load Slowly Changing Dimension (type SCD1 and SCD2) from the Current Views we created in our multi-temporal Data Vault schema.
https://danischnider.wordpress.com/2026/05/16/implementing-multi-temporality-with-data-vault-part-3/
0
1
1
reposted by
Philipp Salvisberg
Monika Lewandowska
6 days ago
New PWOW webinar on Unit Testing & code REUSE is coming! To celebrate, we have a special treat: an exclusive interview with Jacek Gębal, the driving force behind modern utPLSQL (originally founded by Steven Feuerstein). Trade "hope-it-works" for automation! 👇
how2ora-en.blogspot.com/2026/05/who-...
loading . . .
Who Shook Up the World of PL/SQL Testing? A Conversation with Jacek Gębal
A new PWOW webinar is approaching, focusing on a topic often—unfairly—neglected: Unit Testing . 🧪 The key to success isn't just wri...
https://how2ora-en.blogspot.com/2026/05/who-shook-up-world-of-plsql-testing.html
0
5
3
reposted by
Philipp Salvisberg
Niall Litchfield
10 days ago
A marvellous LinkedIn post (no really) from a colleague of mine on one of the promises of AI. Those of you who know my sense of humour, or have ever engaged with the old Oak Table folks, will probably appreciate it.
www.linkedin.com/pulse/2-mill...
loading . . .
https://www.linkedin.com/pulse/2-million-button-nobody-press-raheel-zamir-ytbge/
0
7
6
The new features guide for Oracle AI Database 23.26.2 is out:
docs.oracle.com/en/database/...
One interesting addition is the join_to_one clause, which uses integrity constraints to simplify joins.
17 days ago
2
5
1
reposted by
Philipp Salvisberg
Jasmin Fluri
27 days ago
When integrating systems, we often talk about anti-corruption layers in application code. But what about the database layer?
medium.com/@jasminfluri...
@oracleace.bsky.social
loading . . .
What is an Anti-Corruption Layer in the Database and When Do You Need It?
Without an Anti-Corruption-Layer (ACL), direct database table access leads to tight coupling, increased risk of breakage on schema changes…
https://medium.com/@jasminfluri/what-is-an-anti-corruption-layer-in-the-database-and-when-do-you-need-it-89ea0672acf8
0
7
1
reposted by
Philipp Salvisberg
Kim Berg Hansen: SQL ♠ 🤓 👨🍳 🍺
26 days ago
💯 percent truth! You >must< learn
#SQL
add a skeleton here at some point
0
2
1
reposted by
Philipp Salvisberg
Tim Hall
about 1 month ago
Growing void between enterprise and frontier AI puts open weights models in the spotlight
www.theregister.com/2026/04/12/a...
I keep saying this...
loading . . .
The AI divide putting open weights models in spotlight
FEATURE: Most customers don't need the biggest baddest models, just ones that work, are cheap, and won't pirate their proprietary data
https://www.theregister.com/2026/04/12/ai_open_weights_models/
0
5
2
reposted by
Philipp Salvisberg
Kamil Stawiarski
about 1 month ago
Beautiful!
hackingpassion.com/gpubreach-at...
loading . . .
GPUBreach Attack Gives Hackers a Root Shell on NVIDIA GPUs
Three research teams found it at the same time. NVIDIA GPUs with GDDR6 can be used to take full system control, bypassing IOMMU. No fix for consumer GPUs.
https://hackingpassion.com/gpubreach-attack-nvidia-gpu/?fbclid=IwdGRleARDkk9leHRuA2FlbQIxMQBzcnRjBmFwcF9pZAo2NjI4NTY4Mzc5AAEeSlx9974DnzG91fa2EDc0IuPuj1JnkHMLXiHMxltb0ehMNkRz52BFESuOzbk_aem_tN716cr7Mbr0cATwakTtWg
0
2
2
reposted by
Philipp Salvisberg
Toon Koppelaars
about 2 months ago
youtube.com/watch?v=mD1g...
My favorites: #10 and #1. But all are spot on.
loading . . .
10 Relational Database Mistakes, Ranked
YouTube video by Decomplexify
https://youtube.com/watch?v=mD1gdCM3hnw
1
3
2
reposted by
Philipp Salvisberg
SQLDaily
about 2 months ago
Loops in hierarchical data are a pain Easy to add Hard to prevent
@salvis.com
shows Oracle AI Database 23.26.1 gives a simple solution Create an assertion limiting the maximum depth to N Do this by joining the hierarchy N+1 times in the assertion
loading . . .
Enforcing Acyclic Hierarchies With SQL Assertions - Philipp Salvisberg's Blog
Explore SQL Assertions in Oracle AI Database and learn how to enforce hierarchy integrity by detecting cycles with declarative constraints.
https://buff.ly/L3PlaNg
0
1
1
reposted by
Philipp Salvisberg
Philipp Hartenfeller
about 2 months ago
New blog post on how to use the color mix function to create new colors that are derived from the Universal Theme colors.
#orclAPEX
hartenfeller.dev/blog/apex-mi...
loading . . .
Mixing APEX Universal Theme Colors with the mix-color function
Lighten or darken APEX Universal Theme colors with the mix-color function to create custom colors for your APEX applications.
https://hartenfeller.dev/blog/apex-mix-universal-theme-colors
0
5
2
reposted by
Philipp Salvisberg
Chris Saxon
about 2 months ago
Congrats to the winners of the
#OracleACE
assertions bounty! 1st Enforcing Acyclic Hierarchies With Assertions
@salvis.com
2nd Temporal Assertions
@anthony-harper.bsky.social
3rd Assertions for data integrity on a less-than-ideal data model
@kibeha.dk
Details at
blogs.oracle.com/sql/assertio...
loading . . .
https://blogs.oracle.com/sql/assertions-bounty-winners
0
5
3
reposted by
Philipp Salvisberg
Markus Eisele
2 months ago
Your Java CLI runs locally. But can someone install it with one command? Here’s how to ship it properly: Maven → Fat JAR → JReleaser → GitHub Release → JBang install End-to-end tutorial:
buff.ly/TaWDWkK
#Java
#DevTools
#OpenSource
#CLI
0
10
6
reposted by
Philipp Salvisberg
Tanel Poder
2 months ago
Reasons why SELECT * is bad for SQL performance: An old blog (with Oracle-specific examples) with a whole range of reasons why. It's not only about network traffic and SQL plan execution, but client side processing and memory usage as well.
tanelpoder.com/posts/reason...
4
21
7
Started almost 10 minutes late due to projector issues. They were solved for the next session. Luckily most participants had their laptops ready so I could share my screen via an adhoc Teams conference. Was fun.
add a skeleton here at some point
2 months ago
1
4
0
reposted by
Philipp Salvisberg
Martin Berger
2 months ago
Great to see Mister
#Oracle
26ai Autoupgrade
@dohdatabase.com
at the @soug.ch Swiss Oracle Group Meeting in
#Switzerland
#Bern
//
@salvis.com
- it‘s all about community!
@oracleace.bsky.social
1
10
1
How do you enforce temporal data integrity? With SQL Assertions in Oracle AI Database, we can now implement constraints such as: ✅ Non-overlapping validity periods ✅ Temporal referential integrity Here's a practical example using an extended DEPT-EMP model.
www.salvis.com/blog/2026/03...
loading . . .
Using SQL Assertions to Enforce Temporal Data Integrity
Introduction More than twelve years ago, I described the multi-temporal features of Oracle Database in this blog post. In the conclusion, I wrote that I missed a temporal DML API, temporal integrity c...
https://www.salvis.com/blog/2026/03/09/using-sql-assertions-to-enforce-temporal-data-integrity/
2 months ago
0
5
3
reposted by
Philipp Salvisberg
Kim Berg Hansen: SQL ♠ 🤓 👨🍳 🍺
2 months ago
Assertions for data integrity on a less-than-ideal data model.
www.kibeha.dk/2026/03/asse...
Or "How I could have used assertions 25 years ago when I worked with Concorde XAL"...
#OrclDB
#SQL
#Assertions
#OracleACE
loading . . .
Assertions for data integrity on a less-than-ideal data model
25-30 years ago I worked a lot with the Danish developed ERP system called Concorde XAL. It ran on top of a database (choice of several, mos...
https://www.kibeha.dk/2026/03/assertions-for-data-integrity-on-less.html
2
7
6
reposted by
Philipp Salvisberg
Chris Saxon
3 months 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...
2
4
3
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/
3 months ago
0
8
3
reposted by
Philipp Salvisberg
Piet de Visser
3 months 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
3 months 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
3 months 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
3 months 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
3 months 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 🏔️
3 months 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
3 months ago
Another successful Saturday morning build... :)
#Oracle
#AI
#Database
#26ai
#Free
#Docker
0
7
1
reposted by
Philipp Salvisberg
Chris Saxon
3 months 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
3 months ago
1
1
1
reposted by
Philipp Salvisberg
Toon Koppelaars
4 months 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
4 months 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
4 months 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
4 months ago
0
1
0
reposted by
Philipp Salvisberg
Nicholas C. Zakas
4 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
4 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/
5 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
5 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
5 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
5 months ago
0
2
0
reposted by
Philipp Salvisberg
Tim Hall
6 months ago
Oracle AI Database 26ai On-Prem Announced
oracle-base.com/blog/2025/12...
1
6
3
reposted by
Philipp Salvisberg
Jeff Smith
6 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
10
2
reposted by
Philipp Salvisberg
Sabine Heimsath 🇺🇦🇪🇺😷
6 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).
6 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
6 months ago
0
18
3
reposted by
Philipp Salvisberg
Connor McDonald on Database and SQL
6 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
!
6 months ago
1
12
2
reposted by
Philipp Salvisberg
SQLDaily
7 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
7 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
7 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
7 months ago
0
5
2
Load more
feeds!
log in