Infrastructure at your Service

All posts by Daniel Westermann

Daniel Westermann
Senior Consultant and Technology Leader Open Infrastructure

Daniel Westermann has more than 10 years of experience in management, engineering and optimization of databases and infrastructures. He is specialized in Oracle Technologies as Performance Optimization and Tuning, Standardization, Backup & Recovery, in High Avaibility solutions as Oracle Real Application Clusters (RAC), Oracle Data Guard, Oracle Grid Infrastructure, as well as in storage technologies as Oracle Automatic Storage Management (ASM). Daniel Westermann is Oracle Certified Professional 10g/11g/12c. He is also a PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. Prior to dbi services, Daniel Westermann was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper & Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel Westermann holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery, telecommunications.
Daniel Westermann

What is more efficient: arrays or single columns values? – oracle

By | Database Administration & Monitoring | One Comment

In the last post on this topic it turned out that using an array as a column type needs more space than using a column per value in PostgreSQL. Now I’ll do the same test case in Oracle. As with the PostgreSQL test case I’ll create two test tables in Oracle: One using 10 columns and one just using one column of type varray: SQL> create table single_values ( a number, b number, c number,…

 
Read More
Daniel Westermann

What is more efficient: arrays or single column values?

By | Database Administration & Monitoring | One Comment

In PostgreSQL ( as well as in other rdbms ) you can define columns as arrays. What I wondered is: What is more efficient when it comes to space: Creating several columns or just creating once column as array? The result, at least for me, is rather surprising. First, let’s create a table with columns of type int: postgres=# create table single_values ( a int, b int, c int, d int, e int, f int,…

 
Read More
Daniel Westermann

SQL Interpolation with psql

By | Database Administration & Monitoring | One Comment

The PostgreSQL psql utility provides some really nice features. One of these features is SQL interpolation which allows us to do interesting things, e.g. reading files and analyze the results directly in the database. This post will show how to use this by reading and analyzing sar files of a linux server. Usually linux hosts store sar statistics in the /var/log/sa directory: ls /var/log/sa sa02 sa03 sa04 sa05 sa06 sa07 sa08 sa09 sa10 sa11 sa12…

 
Read More
Daniel Westermann

A free PostgreSQL cloud database?

By | Database Administration & Monitoring | One Comment

Recently I was looking for a free PostgreSQL cloud database service for testing. Why? Because I’d like to use such a cloud instance for testing no matter on which workstation or OS I am currently on. Another reason is, that I could could prepare some demos at home and use the same demos at work without needing to worry about taking the database with me each time. There are probable many more services than the…

 
Read More
Daniel Westermann

PostgreSQL portable?

By | Database Administration & Monitoring | One Comment

What a surprise: Headed over to the sourceforge page, downloaded, installed (which is just a matter of next/next/next) : Not really the latest patchset but far more than I expected So I can do tests on a Windows machine where I do not have any permissions to install software. Great. If you prefer a graphical client then go ahead and use the portable version of PgAdmin.  

 
Read More
Daniel Westermann

using dbms_server_alert in combination with a custom monitoring solution

By | Database management | No Comments

Lot’s of companies do not use Grid- or Cloud Control for monitoring their Oracle databases for various reasons but rather use open source tools like nagios. And lot of those either implemented custom script frameworks or rely on plug-ins available for the monitoring solution of choice. This post shall show on how you can let Oracle check a lot of its own metrics and you only need one script for alerting various metrics. Oracle provides…

 
Read More
Daniel Westermann

draft release notes for PostgreSQL 9.5 online

By | Database management | One Comment

Bruce Momjian, one of the PostgreSQL Core members, just compiled the first draft version of the release notes for the upcoming PostgreSQL 9.5 Some of the goodies that will show up: BRIN indexes (comparable to exadata storage indexes) Upsert (known as merge statement in the oracle world) wal_compression grouping sets … any many, many more… If you want to test any of the new features check this post.  

 
Read More
Daniel Westermann

quickly exchange code or text between workstations or teams

By | Database management | One Comment

In a recent project I faced the following situation: One the one hand I had to execute scripts on a customer’s workstation while on the other hand I had to integrate the results of these scripts into a report on my own workstation. The question was how to efficiently do this without sending dozens of mails to myself. One solution would be to create one script which produces all output and send the results by…

 
Read More
Daniel Westermann

Testing postgresql development snapshots

By | Database management | One Comment

If you want to test some of the features that will be coming with the next postgresql release even before an official beta version is released you can use the daily development snapshot . Here is a simple makefile for downloading the snapshot, compiling the source and starting up the postgresql instance ( Attention: Makefiles work with tabs, so make sure that the lines begin with a tab instead of spaces where the lines are…

 
Read More
Daniel Westermann

What that in-memory term is about, and what not

By | Database management | No Comments

Everybody is talking about in-memory databases these days. And everybody is talking about columnar store for sets of data because this can be a benefit for analytic queries. And a lot of people start mixing these terms not realizing that these topics are not exchangeable. Traditionally in-memory means: Not persistent, but fast. And this is what pure in-memory databases are: Not persistent, but fast, but, again: not persistent!!! They are just caching data for very…

 
Read More