Author: Mathias

Database, Oracle DB 23ai

23ai 4000+ columns

TweetShareSharePin0 SharesYou may be of the belief that “nobody needs more than the 1000 columns we could create in a table in 19c”. You are free the believe that, but let me tell you a little story. There once was a project. At the height of the Telecom billing boom. Thy had implementations in multiple continents for customers whose names you are familiar with. One thing Telecom billing cannot afford is to not keep up with the flood of incoming […]

SQL, Database, Oracle DB 23ai

23ai Lock-free reservations

TweetShareSharePin0 SharesAn old truth in Oracle and just about all relational databases has been that an update on one row by one session will block an update by another session on the same row. Until the first session commits or rolls back. That is until 23ai. Or at least in some very specific scenarios. Let’s consider a situation where we need to track changes to a numeric value up or down by some quantity. This could be the amount in […]


Troubleshooting conversion errors

TweetShareSharePin0 SharesMy friend and Oracle maestro Daniel Ekberg wrote a post about ways to manage errors when converting data. Go read his post if you want to see how the errors you get can be better managed. I think he may be the person that first pointed out the feature to me that I want to show my use of. One common way to get data into APEX is to load a spreadsheet into a table. But often you get […]

SQL, Database, Oracle DB 23ai

23ai Syntactic sugar – IF [NOT] EXIST

TweetShareSharePin0 SharesIn the last post I talked about a form of syntactic sugar I’m not convinced we really needed. This post on the other hand is about one that I think I’ve needed since the first time I logged on to a SQL-based database. When you put together a test case it is often setup to create misc objects and populate them. The first time you run it it works fine but when you rerun it your create commands fail […]

SQLcl, SQL Developer, APEX, Database

23ai Select without FROM

TweetShareSharePin0 SharesNow that Oracle DB 23ai has been GA for a while I figure it is time to dig into it and talk about the features för DBA and developers that I find most interesting to talk about. Yes, you’ve read about some of them as info has seeped out during the beta-test and and pre-GA. I however think most people are only looking at it when it is GA as that is when they start looking at when and […]

SQL, Docker, Database, Property Graph

Your very first graph in Oracle Graph Server

TweetShareSharePin0 SharesHaving installed the Graph Server in the last post, lets set up and create your very first graph. This follows Oracles documentation. It however had different ways to do it and I struggled to figure out which would be the easiest. Having abandoned a couple for different reasons this is how I did it and I think it is pretty straight forward and uses the tool interactively as much as possible. We first need a user we’ll use to […]


Installing Graph Server in Docker

TweetShareSharePin0 SharesInstalling Graph Server is pretty straight forward but there are a few things to consider. This will show how to install in Docker, but you’ll be able to adopt for whatever deployment model you want to use. Begin with downloading the Graph SAerver package and a the latest and greatest of Java 11. Now with this in place you unzip and put both rpms in the same directory. Create a “Dockerfile” in the same directory with this content. […]


Graph server on ARM – a couple of findings

TweetShareSharePin0 SharesHaving installed this on my mac I ran into a few things worth pointing out for others. The software download will pull down a zip-file named x86 instead of the expected aarch64. That seems wrong so I try again. I made numerous attempts in different ways to get it to download a file named for the architecture I wanted. Finally giving up and wondering if it could be due to the contents being the same for both. It is, […]

Licensing, Database

Graph is included in the DB – just the DB?

TweetShareSharePin0 SharesQuite a few releases ago in 12c the new that the Graph and Spatial option was now included with the database license. Pretty neat, more stuff included is always nice. So in the database we can use the feature and even run queries against it. But then waht, we get a result back showing all the connections in a graph with data that does not conform to relational modelling. To understand it one has to view it graphically, or […]

Performance, DBA

Tuning a packaged solution using OCI-drivers

TweetShareSharePin0 SharesWe’ve all been there. You have an application bought from some vendor that has less than adequate knowledge about the Oracle Database. The solution underperforms even though the SQL itself looks OK. You dig into it and it turns out the solution retrieves a lot of data but each fetch gets too few rows from the database and thus the latency of getting more data is 99% of the time it takes. The result is of course that there […]