Create Debian VM with Docker Host using Vagrant–automatically include Guest Additions

A short and simple article. I needed a Debian VM that I could use as Docker host – to run on my Windows 10 laptop. I resorted to Vagrant. With a few very simple steps, I got what I wanted:

0. install Vagrant (if not already done)

0. install Vagrant plugin for automatically adding Virtual Box Guest Additions to every VM stamped out by Vagrant (so folder mapping from host laptop to VM is supported)



Oracle C functions annotations

Warning! This is a post about Oracle database internals for internals lovers and researchers. For normal, functional administration, this post serves no function. The post shows a little tool I created which consists of a small database I compiled with Oracle database C function names and a script to query it. The reason that keeping such a database makes sense in the first place, is because the Oracle C functions for the Oracle database are (more...)

Linux for the SQL Server DBA- Part I

For the Oracle DBA, Linux is life.  When I was at Oracle, Linux projects were the easy part of my job, unlike the ones on Windows, AIX, HP-UX and at times, even Solaris.  You knew the Linux ones received the most love from development, had the most time towards patching and received attention if there was a bug.


Linux was introduced in 1991, thanks to Linus Tovalds and has been in active (more...)

Debugging bash scripts on remote hosts using Eclipse

After installing the two plugins
it is very easy to debug scripts inside your workspace on your computer. But i was wondering, if this can work on a remote host, too.

So what has to be done?

Only these steps:
  • copy your shell scripts AND onto your remote host
  • change the first line of from
    exec 33<>/dev/tcp/localhost/33333
    exec 33<>/dev/tcp/host_running_eclipse/33333
After that start the debugger (more...)

Oracle Linux: How to change from uek to Red Hat compatible kernel

After a standard installation of Oracle Linux the uek kernel is bootet by default (unbreakable enterprise kernel).
# uname -a
Linux localhost.localdomain 4.1.12-94.3.9.el7uek.x86_64 #2 SMP Fri Jul 14 20:09:40 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux
This behaviour can be changed with these commands:
First you have to get the linenumber of your new target kernel:
# grep ^menuentry /etc/grub2.cfg  | xargs printf '%s\n' |grep Oracle

Virtualbox: How to use shared folders (aka gemeinsame Ordner)

If you want to use a directory inside a virtualbox vm without copying all files, you can use the shared folders.
Just choose a folder to share:

Then inside the vm type:
[root@localhost oracle]# mount -t vboxsf 12c /mnt
and that's it:
[root@localhost oracle]# df -h |grep 12c
12c                  180G    129G   52G   72% /mnt
[root@localhost oracle]# mount | grep 12c
12c on /mnt type vboxsf (rw,nodev,relatime)

When you are done just unmount the folder with
umount /mnt

Running Oracle Linux inside VirtualBox: Installation Virtualbox guest additions

First you have to insert the Virtualbox Guest Additions iso-image:
You can check this here:
 If this does not work, just add the iso into the IDE controller of virtualbox:

 As root you have to mount the image:

Before you can run the installer you have to get the following packages:

yum list kernel*
Take the one with "devel" which version matches:
uname -a
Linux localhost.localdomain 4.1.12-94.3.9.el7uek.x86_64 (more...)

Running Oracle Linux inside VirtualBox: Installation

After configuring the HDD, RAM, network, etc on VirtualBox (take a look here), i started the VM:

 Choose "Install Oracle Linux7.4":

Language settings:
 Overview (partitioning and network missing):
 Network interface:
 Start package installation:
 Configure passwords / users:
 Waiting for reboot:
(Installation of the virtualbox guest additions can be found here)
(Preconfiguration steps for virtualbox can be found here)

Running Oracle Linux inside Virtualbox: Preconfiguration of the virtualization engine

This is a walkthrough the VirtualBox GUI settings to install Oracle Linux. First you have to name your VM and choose Oracle Linux 64 bit:
HDD type:
HDD dynamic/static:
HDD size:
After these steps you have to mount the iso image:

And you should configure a network adapter. I chose the WLAN interface of my laptop:

I will post the walkthrough the installation process soon.
(Installation of the virtualbox guest additions can be found here)

Ubuntu /etc/alternatives/java Using java from external sources | update-alternatives | update-java-alternatives

After some problems with the jdk integrated in ubuntu 16.04 i installed the OpenJDK from

The software is provided as tarball (tar.gz) and after
tar -xvf ~/Downloads/jdk-9+178_linux-x64_bin.tar.gz
the binaries can be used with
But there are many links in /etc/alternatives still pointing to the ubuntu jdk:
lrwxrwxrwx 1 root root  41 Jul 11 21:02 /etc/alternatives/jar -> /usr/lib/jvm/java-9-openjdk-amd64/bin/jar
lrwxrwxrwx 1 root root  51 Jul 11 21:02 /etc/alternatives/jar.1. (more...)

How to install MongoDB

This post shows the yum command to install the MongoDB packages on Linux. More on setup and use will follow.

You install the MongoDB package with the following yum command:

yum install -y mongodb

You should see the following log file, which may also show a missing mirrored site:

Loaded plugins: langpacks, refresh-packagekit
cassandra/signature                                         |  819 B  00:00     
cassandra/signature                                         | 2.9 kB  00:00 !!! 
mysql-connectors-community                                  | 2.5 kB  00:00     
mysql-tools-community                                       | 2.5 kB   (more...)

Changes to the Oracle preinstall RPMs in OL 7.3 and OL 7.4

For quite some time now Oracle has documented the use of the so-called preinstall RPMs to prepare Oracle Linux for the installation of the Oracle database software. I think that’s a great idea if the settings applied by the RPM fit your environment. If I find the time, I’ll write a blog post about what it does specifically in a little while. It definitely fits my lab environment, and I regularly kickstart my OL 7 (more...)

(bash): The most useless commands (11)

After talking about
  1. rev
  2. yes
  3. sl
  4. cowsay
  5. cmatrix
  6. cal
  7. rig 
  8. pi
  9. figlet
here a packages called filters which comes with such commands:

$ echo hello my friend | jethro
hello mah friend
$ echo hello my friend | chef
hellu my freeund
$ echo hello my friend | kraut
hello mein friend
       All  of  these  programs are filters to do all sorts of strange things to text.  No personal, racial,

How to automatically build any recent version of the Oracle database.

There are many situations where you want to use a very specific configuration of the Oracle database, for example when a client has an issue and is still on EL5, or gets disk errors on a filesystem that is ext3, or is using ASM and gets weird IO patterns. Other examples are: you want to test the newest PSU to see if responds differently to an issue you are working on, or you want to (more...)

WLAN management with linux: networkmanager CLI "nmcli"

Configuring WLAN settings with the graphical user interface network manager is really easy.
Nevertheless sometimes it is necessary to configure the WLAN settings via a terminal. And therefore you should use nmcli:

To get a list of all available networks use "nmcli d wifi list"
$ nmcli d wifi list
*  Gastzugang           Infra  12    54 Mbit/s  72      ▂▄▆_  WPA2      
   Napoleon Gastzugang  Infra  36    54 Mbit/s  27      (more...)

The full table scan direct path read decision for version 12.2

This post is about the decision the Oracle database engine makes when it is using a full segment scan approach. The choices the engine has is to store the blocks that are physically read in the buffercache, or read the blocks into the process’ PGA. The first choice is what I refer to as a ‘buffered read’, which places the block in the database buffercache so the process itself and other processes can bypass the (more...)

How to use Oracle Exadata Database Machine Exa Check (exachk)

Oracle customer who are fortunate to have an Oracle Exadata Database Machine, will need to run “exachk” from time to time, which is pronounced as Exa-Check.  This tool check your Oracle Exadata Database Machine configuration, software, critical issue and provide a Maximum Availability Architecture score.  It is required to run before and after Exadata patching and is good practice to run on frequent basis and review the recommendations.

More info here:

Oracle Exadata Database Machine exachk (more...)

Bash: enabling Eclipse for Bash Programming | Plugin basheclipse (debugging) part 2

If you want to debug bash scripts inside eclipse you have to do 2 things:
As i wrote in the last posting, toggling breakpoints was neither possible in Eclipse Neon  nor Eclipse Juno.

First you have to install JDK 1.6 and Eclipse Luna to be able to set breakpoints. (see EDIT at the end of (more...)

How to update OPatch

When apply patches, such as PSUs or one-offs, you may need to update OPatch to meet the minimum OPatch version.  It is also recommend to update OPatch when apply any patch.

To see your current OPatch version:

[oracle@v1ex1dbadm01 ~]$ export ORACLE_HOME=/u01/app/oracle/product/
[oracle@v1ex1dbadm01 ~]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version:

OPatch succeeded.
[oracle@v1ex1dbadm01 ~]$

Backup existing OPatch:

[oracle@v1ex1dbadm01 ~]$ cd $ORACLE_HOME
[ (more...)

Provide access to #WebLogic DMS Spy Servlet for readonly users

For security reasons and to prevent the configuration drift it is recommendable to use read only for analyzing problems.

For read only access of configuration and logs WebLogic provides out of the box the group Monitors. Unfortunately you cannot access DMS Spy Servlet with this group, which is useful for analyse runtime values of the server. Only users which belongs to the Administrators group and therefore have full access can access DMS Spy Servlet and (more...)