Skip to content

Database

Everything our consultants learn while running databases for customers: Oracle, PostgreSQL, SQL Server, MySQL, MariaDB, MongoDB and Delphix. Expect hands-on posts about installation, day-to-day administration, backup and recovery, performance tuning, replication and upgrades.

Unit Testing PostgreSQL with pgTAP

Introduction Unit testing is a fundamental practice in software development, ensuring that individual components function correctly. When working with PostgreSQL, testing database logic—such as functions, triggers, and constraints—is crucial for maintaining data integrity and reliability. One powerful tool for this purpose is pgTAP.pgTAP is a PostgreSQL extension that provides a set of TAP (Test Anything Protocol) functions for writing unit… 

pgTAP_featured_image

Dctm – Oracle DB permissions on recent versions

If you have been running Documentum on Oracle in the past, you might have noticed that recent versions of Dctm requires more Database permissions to be able to perform an install/upgrade. This blog will just be a quick one to show what I used to request for DB permissions for older versions of Documentum as well as what happen if… 

SQL-Server 2025: Vector Indexes & Semantic Search Performance

When performing search operations on large datasets, performance is a key consideration for ensuring that an application remains efficient and user-friendly. This consideration equally applies when working with embedded data. That’s why in this blog post we’ll explore the different possibilities for vector search and show how to leverage the latest features of SQL Server 2025 Preview to accelerate your… 

Creating&Refreshing a refreshable PDB (from a Standby Database)

I’m used to work with refreshable clones in several Oracle multitenant environments. However, due to the amount of Archived Redo Log generated we never really tried to offload the the “refresh” process on the Active Data Guard Standby database. Let’s quickly check what is required to achieve this together. What is required to create a refreshable ? Well, to create… 

SQL-Server 2025: Generate Data Embeddings for Semantic Search

In this Blog we will continue with our AI journey in SQL-Server 2025 preview. If you didn’t read the first Blog you’ll find it here: dbi Blog  In this article, we will explore the concept of data embeddings, a key concept for modern AI-driven applications and platforms. We will then examine the latest capabilities introduced in SQL Server 2025 (preview)… 

SQL Server 2025: Where Data Meets Intelligence

The evolution of AI is booming and brings many new possibilities to enhance efficiency and convenience with many different use cases. While AI chatbots have had an almost revolutionary influence in recent years, we are now entering the next phase of this evolution with context-aware AI assistants and autonomous AI agents that will have even more impact. Providers of modern… 

ZDM 21.5 Physical Online Migration failing during TEMP tablespace encryption

The ZDM 21.5 version brings some new functions like encrypting automatically now the TEMP, SYSTEM, SYSAUX and UNDO tablespaces. There is no need to do it manually any more after the ZDM migration, ZDM will take care of it on its own. Little problem, this is adding a new bug because the temporary database needs to be restarted to drop… 

Oracle ZDM 21.5 new features

I have already written several articles about my experience migrating databases with Oracle Zero Downtime Migration. At that time, the version available was 21.4. The current version is now 21.5. Recently, I had the opportunity to patch our customer ZDM environment to 21.5 and to run new migrations in this new version. In this blog, I would like to share… 

Customer case study – Partition switching and transactional replication

The client’s environment includes two SQL Server instances (I1 and I2). One of the databases, D1 (on I1), is replicated to I2 via transactional replication. Additionally, the tables in this database are partitioned. The largest table (which is the one of interest) is approximately 350 GB in size and contains around 800 million rows. This table represents transactions. The client… 

Automatisation for Oracle ZDM installation and update

Let’s have a look how we can install and update Oracle Zero Downtime Migration tool, and see how we can automatise it with ansible… Check ZDM build Let’s first see how we can check ZDM version using zdm cli. [zdm@zdmhost ~]$ zdmcli -v RHP_PT.ZDM21_LINUX.X64_221207.30 [zdm@zdmhost ~]$ zdmcli -build version: 21.0.0.0.0 full version: 21.4.0.0.0 patch version: 21.4.5.0.0 label date: 221207.30 ZDM… 

What will happen to your spare clones during a switchover on ExaCC?

As you might know, on ExaCC, it is possible to create spare clones. This is based on snapshot technology. There is no physical copy and the modified blocks will be written to the sparse clone, and in our case these blocks will be part of the ASM spare disk group. And of course, the sparse clone then needs a master…