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.

Monitoring MSSQL Database Files in Zabbix

Introduction Monitoring Microsoft SQL Server database files is an important part of infrastructure supervision.A database reaching its storage limit can rapidly lead to application outages, transaction failures, or even complete service interruptions. The Initial Problem In SQL Server, retrieving file information is relatively simple when working directly inside SQL Server Management Studio A common query used by many DBAs is… 

Highly Available, Load-Balanced PostgreSQL with Patroni, HAProxy, and Keepalived

Patroni runs your PostgreSQL cluster and handles failover, promoting a replica the moment the primary dies and recording the change in its distributed store (etcd, Consul, or ZooKeeper). That part works on its own. Your applications still need one stable address to connect to, and they need writes to reach the primary while reads spread across replicas. HAProxy handles that… 

MongoDB DMK 2.5.0: Sharding support and new features

In this blog, I will present the new features introduced with the latest release (2.5.0) of the MongoDB DMK. The DMK is a set of standardized tools that aims at easing the work of DBAs by having dbi’s best practices embedded in common scripts across all the database servers of an organization. dbi services provides the DMK (Database Management Kit) to its… 

Upgrade RHEL from 9.6 to 10.1 (when running PostgreSQL/Patroni)

Upgrading from RHEL 9.6 to 10.1 is not just a routine update, it’s a major platform shift. When your server runs PostgreSQL compiled from source and a Patroni-managed cluster, the complexity increases significantly. System libraries change, Python environments break, ICU versions evolve, and your database binaries may no longer start after reboot. In this guide, I walk through a real-world… 

Administer Oracle Database Appliance (ODA) with odacli and Ansible

Introduction To administer an Oracle Database Appliance (ODA), you probably use the odacli commandline tool. The principle of this tool is to run jobs in background. Fire-and-forget… or Fire-and-poll This command returns a jobId (e.g. f1338963-87a2-4cb9-8a3e-06e104270203) and the job is executed in background. To see if this job is (sucessfully) completed, you have to poll for the above jobId and… 

LOB replication with GoldenGate and importance of primary keys

Every time I work on database migrations with GoldenGate, I have the same talks with application teams about missing primary keys. Especially when it comes to LOB replication with GoldenGate. In a previous blog, I wrote about how to interpret the DBA_GOLDENGATE_NOT_UNIQUE view, which lists tables with no primary key or non-null unique indexes. There are two main groups of… 

GoldenGate row identification: misconceptions and solutions

GoldenGate is a powerful replication tool, but it is so versatile that you should always check whether what you intend to do is supported or not. Oracle provides a few interesting scripts and views to check your environments before attempting a replication with GoldenGate, and I wanted to write about the DBA_GOLDENGATE_NOT_UNIQUE view. Before explaining what this view contains and… 

Zabbix – Monitoring full cluster Patroni/PostgreSQL

Introduction Monitoring a PostgreSQL environment involves much more than simply checking whether the database is running. In a modern high availability architecture, multiple components work together to keep the service available and stable. In this article, we will explain how to monitor a PostgreSQL cluster environment with Zabbix: The goal of this blog is to provide a simple and clear… 

Temporary tablespace and ODA 19.31.

I recently patched Oracle Database Appliances (ODAs) to 19.31. For DBs with more than 1 tempfile in the temporary tablespace I got an error during the “odacli update-dbhome” : The issue is that Oracle tries to “set autoextend on” on the temporary files in 19.31., but runs a syntactically wrong command. E.g. in the alert.log I could see I.e. Oracle…