Target Types in Oracle EM Cloud Control 12c

So often when issuing a emctl (Enterprise Manager Command Line Utility) command, one needs to specify a target type. This is often the case when the command affects a certain target (for example emctl reload agent dynamicproperties ...).

The most often used target types are the following:

  • oracle_database (Oracle Instance)
  • oracle_emd (Agent)
  • host (Host Machine)

However, there are a lot of other target types available. We can get all available target types for Oracle Enterprise Manager Cloud Control 12c if we query the SYSMAN.EM_TARGET_TYPES table in the Enterprise manager repository:

Read the rest of this entry

Algorithm to find first available number

So recently I stumbled across a programming quiz to which I later returned because it somehow fascinated me.


Finding the first available number (or the smallest missing number) in a list is a common problem in Computer Science (for example for Defragmenting or generating keys) and describes the search for the smallest natural number, which is not part of a set X of natural numbers. X is a set of distinct natural numbers (and being a set, is not ordered).

We are now looking for a function with linear worst-case time complexity O(n).


We define X as a set of distinct natural numbers:

X = {23,9,12,0,11,1,13,7,21,14,5,4,17,19,3,6,2}

So in this set, we find that the number 8 is the first available number (smallest missing number). So running the algorithm over the above set should return 8.

Read the rest of this entry

Nagios: Simple Oracle Check

For Nagios, many, many Oracle plugins are available for checking database availability and performance. But if you just want to check if the instance is up and running (and not add more complexity), you can use the simple script provided here.

In an earlier post, I showed how to install SQL*Plus on Debian and based on that tutorial, I wrote a little shell script to query a database (I called it

Read the rest of this entry

VMWare Server 2.0: SSL Exception: error:00000000:lib(0):func(0):reason(0)

Last week, someone at work approached me, stating that he was unable to log into the web interface of a VMware Server machine. I was shocked to learn that we still had a VMware Server up and running. Then, I tried to log into the web interface myself and received an SSL error as well.

It turns out the machine was standing under someones desk and still had one single VM running. In order to migrate the machine to our ESXi infrastructure and fix the problem, I examined the logs on the server and found this:

Read the rest of this entry

Linux tar: Cannot change ownership to [..]: Permission denied

In a script I was working on, the tar command always reported the following error when I tried to extract an archive:

Cannot change ownership to uid 1000 , gid 1000: Permission denied

But I was executing the script as root! The reason for this error to occur turned out to be relatively simple. Hint: It has to do with CIFS.

Read the rest of this entry

WMIC on Linux examples

In a previous post I showed how to install the Windows Management Instrumentation (WMI) client for Linux (wmic). In this post, I wish to show a few ways on how to query a Windows-based host using the WMI client.

Using WQL, we can query almost any aspect of the Operating System. Using the available WMI Classes (for example the WMI Win32 Classes), we can easily query performance indicators such as Memory Usage, Disk Usage or the status of a certain process.

Read the rest of this entry

insserv: script vzreboot: service vzreboot already provided

With Debian 6, the Debian distribution made the jump to a dependency based boot sequence using LSB tags. So when you update your current Debian installation, you might encounter some problems when your scripts are not properly prepared. Such as the following message:

insserv: script vzreboot: service vzreboot already provided!

The full message reads like this:

Read the rest of this entry

Debian: Script for SFTP users

When using a server with multiple external users, one thing that regularly comes up is that users want to access a folder on the server, such as the root folder for a webserver. This way every user can manage their files and upload new content. This can be achieved securely with SFTP, which uses the SSH protocol for file transfers.

In this article, I provide a simple script to create new users with minimal preparation and all correct settings. The text is based on the following article on OpenSSH SFTP chroot() with ChrootDirectory.

Read the rest of this entry

Linux LVM How-to: Adding a new partition

Since I started out with Linux (so about six years ago), I always used the Linux Logical Volume Manager (LVM) to partition my tables. First it was just because it seemed easier to configure my harddisks with it (also, the installer usually provided a nice option to do so), but in the last few months I had the possibility to work more with LVM and got to know some nice features.

One thing I regularly have to do is to extend an existing logical volume on a server. This article focuses on extending a logical volume with the help of LVM.

Read the rest of this entry

Hello world

My name is Simon Krenger, I am a Technical Account Manager (TAM) at Red Hat. I advise our customers in using Kubernetes, Containers, Linux and Open Source.


  1. GitHub
  2. LinkedIn
  3. GitLab