IslandSQL Episode 4: Expressions
Introduction In the last episode, we extended the IslandSQL grammar covering the complete lock table statement. However, the support for expressions was very limited. It was not possible to use a date literal or to_date function to determine a partition to be locked. Time to fix…
IslandSQL Episode 3: Lock Table
Introduction In the last episode we extended the IslandSQL grammar to cover all DML statements as single lexer token. Now it’s time to handle the complete grammar for one DML statement. The simplest one is lock table. A good reason to start with it and lay…
IslandSQL Episode 2: All DML Statements
Introduction In the last episode we build the initial version of IslandSQL. An Island grammar for SQL scripts covering select statements. In this blog post we extend the grammar to handle the remaining DML statements. The full source code is available on GitHub and the…
IslandSQL Episode 1: Select Statement
Introduction An island grammar focuses only on a small part of a grammar. The island represents the small, interesting part and the sea the rest. In this blog post, I explain the components of an island grammar for SQL scripts named IslandSQL. In the first…
Star Schema Design in Oracle: Partitioning
Partitioning is one of the most powerful features for data warehouses in Oracle databases. In this blog post, I explain how it can be used for the physical design of star schemas. What is the recommended partitioning strategy for a star schema, and what are…
2022: Live again at Conferences
It has become almost a tradition for me to write an annual review of my conferences and presentations. The good news: In 2022, most of the conferences were on-site again. Additionally, there was another important event for me in 2022: I changed my job and…
Duplication of Oracle database on same node/cluster with skip of tablespaces
In this blog post I want to write about a typical restore scenario. You need to restore a database to a historical point in time to investigate some former data or maybe even rescue some data, but need to leave the source database intact. So…
Star Schema Design in Oracle: Fundamentals
What are the design rules for good performance in a star schema in an Oracle database? This blog post series introduces some recommendations for the physical database design. This first post is about constraints and indexes. For the last few years, I was supporting one…
optimizer_secure_view_merging and plsql_declarations
The Original Problem A customer is currently upgrading some Oracle databases from 11.2 to 19c. One query was extremely slow on the new test system and my job was to find out why. The root cause was that the database parameter optimizer_secure_view_merging was set to…
Bye Bye Trivadis
Today is my last day at Trivadis. I worked for this company more than 23 years, and most of the time, I loved my job. To conclude my time as a consultant and trainer, here are three funny stories that happened to me over the years….