A re-introduction to the vagrant-builder suite for database installation

In a blogpost introducing the vagrant builder suite I explained what the suite could do, and the principal use, to automate the installation of the Oracle database software and the creation of a database on a virtual machine using vagrant together with ansible and virtual box.

This blogpost shows how to use that suite for automating the installation of the Oracle database software and the creation of a database on a linux server directly, with (more...)

Virtualbox: vboxdrv.sh: failed & Run ‘make oldconfig && make prepare’

After updating to ubuntu 18.04 i had to reinstall virtualbox:

# dpkg -i virtualbox-5.2_5.2.10-122088~Debian~stretch_amd64.deb 
Vormals nicht ausgewähltes Paket virtualbox-5.2 wird gewählt.
(Lese Datenbank ... 378316 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von virtualbox-5.2_5.2.10-122088~Debian~stretch_amd64.deb ...
Entpacken von virtualbox-5.2 (5.2.10-122088~Debian~stretch) ...
virtualbox-5.2 (5.2.10-122088~Debian~stretch) wird eingerichtet ...
addgroup: Die Gruppe »vboxusers« existiert bereits als Systemgruppe. Programmende.
vboxdrv.sh: failed: Look at /var/log/vbox-install. (more...)

Ruby GEM Mongo

While trying to use the Ruby gem utility to install the MongoDB gem, I encountered an error on a new Fedora 27 instance. This is the error message:

Fetching: bson-4.3.0.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing mongo:
        ERROR: Failed to build gem native extension.

    current directory: /usr/local/share/gems/gems/bson-4.3.0/ext/bson
/usr/bin/ruby -r ./siteconf20180517-49401-1htl7zc.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h


MongoDB on Fedora 27

I was very pleased to see MongoDB 3.4 in the repo for Fedora 27; however, I was quite frankly severely disappointed by the lack of concrete installation steps in the MongoDB in Action, Second Edition. The installation is straightforward as long as you remember that you don’t simply install a mongodb package. You need to install the mongodb and mongodb-server packages as well as some dependents.

As the root user, you can use yum (more...)

MySQL on Fedora 27

While updating my class image to Fedora 27, I noticed that it installed the Akonadi Server. The documentation on the Akonadi server lacked some straightforward documentation. It also offered a bundled set of software that limited how to approach MySQL development.

So, I removed all those packages with the following syntax:

dnf remove `rpm -qa | grep akonadi`

After removing those Akonadi packages, I installed the MySQL Community Edition from the Fedora repo with this (more...)

PostgreSQL Calling File

Somebody asked: How do you run a script file from PostgreSQL’s psql prompt? I created two files to answer the question. Here are the two files:

Static File

SELECT 'Hello World!';

Dynamic File

SELECT 'Hello ['||current_user||']!';

It’s a simple solution, you put a \i or \include before the script file name, like:

\i helloworld.sql


\include hellowhom.sql

I hope this helps those trying to call SQL script files from an interactive psql session.

Ubuntu 16.04: Installation of chrome-browser fails with libnss3 (>= 2:3.22)

On my old laptop with ubuntu 16.04 i tried to install "chrome-browser":
# dpkg -i google-chrome-stable_current_amd64\ \(1\).deb 
Vormals nicht ausgewähltes Paket google-chrome-stable wird gewählt.
(Lese Datenbank ... 137351 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von google-chrome-stable_current_amd64 (1).deb ...
Entpacken von google-chrome-stable (64.0.3282.186-1) ...
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von google-chrome-stable:
 google-chrome-stable hängt ab von libnss3 (>= 2:3.22); aber:
  Version von libnss3:amd64 auf dem System ist 2:3.21-1ubuntu4.


Enabling SFTP-only access on Linux

Recently I had the need to share a zip file with a bunch of people that was big enough not to fit into email anymore. So I wanted to get it onto my server so that folks could grab it via SFTP from there. SFTP is setup by default on my Linux environment, so them … Continue reading "Enabling SFTP-only access on Linux"

Installing haveged from Oracle repositories

In my previous blog, I mentioned the installation of the utility Haveged that is used to increase your entropy on non-gui systems. Since you can download it from the Oracle yum repository, I figured that I could install it from yum too, instead of using rpm. This prevents me from having to download it myself, and ensures I have the one that is applicable to my version of Linux.

Too bad it isn't (more...)

Base box ready? Let’s create a box!

Last week I wrote about creating our own Vagrant base box, based on the new and fresh Oracle Linux 7 Update 5. As a reaction on my article I got noted that Oracle also keeps base boxes for their latest linuxes at http://yum.oracle.com/boxes. They're also a great start.

To begin, I created a project structure for all my vagrant projects:
As you can see, I have a vagrant main projects folder on my (more...)

Oracle Linux 7.5 released ?!

Oracle released its Linux in version 7.5 without a announcement on their webpages. If you ask google
oracle linux 7.5
you will be directed to this site:

But with the right search string you can find Oracle Linux 7.5 inside edelivery.oracle.com:

The new features can be found here:
or here:

A look into oracle redo, part 11: log writer worker processes

Starting from Oracle 12, in a default configured database, there are more log writer processes than the well known ‘LGWR’ process itself, which are the ‘LGnn’ processes:

$ ps -ef | grep test | grep lg
oracle   18048     1  0 12:50 ?        00:00:13 ora_lgwr_test
oracle   18052     1  0 12:50 ?        00:00:06 ora_lg00_test
oracle   18056     1  0 12:50 ?        00:00:00 ora_lg01_test

These are the log writer worker processes, for which the minimal amount is equal to the amount public (more...)

Ubuntu: Upgrade from 17.10 to 18.04

Last week ubuntu release 18.10 and i upgraded my notebook to the latest version.
I was running 17.10 with wayland:

$ lsb_release  -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 17.10
Release:    17.10
Codename:    artful

# do-release-upgrade -d
Neue Veröffentlichungen von Ubuntu werden gesucht
Holen:1 Signatur der Aktualisierungsanwendung [819 B]                                                                                                                                                                                  
Holen:2 Aktualisierungsanwendung [1.257 kB]                                                                                                                                                                                            
Es wurden 1.258 kB in 0 s geholt (0 B/s)                                                                                                                                                                                               
»bionic. (more...)

Oracle Linux 7 Update 5 is out: time to create a new Vagrant Base Box

It's been busy, so unfortunately it's already been almost two weeks I wrote my introductory story on Vagrant. Today I happen to have an afternoon off, and I noticed that Oracle Linux 7 Update 5 is out. I based my first boxes on 7.4, so nice moment to start with creating a new Base Box.

De essentials on creating a Vagrant base box can be read here. But I'm going to guide you trough (more...)

A look into oracle redo: index and overview

I gotten some requests to provide an overview of the redo series of blogposts I am currently running. Here it is:


New option for configuring multipathing in Oracle Linux 7

Teaching is and remains the best way for picking up new things :) While updating notes for a class I came across an interesting change in the way the device-mapper multipath works in Oracle Linux 7.4.

In the past, everyone including me used scsi_id to get the WWID of a LUN for use with dm-multipath. This is still the way Oracle documents it for Oracle Linux 7.

The utility was specified as an argument (more...)

A look into oracle redo, part 9a: commit – concurrency considerations

During the investigations of my previous blogpost about what happens during a commit and when the data becomes available, I used breaks in gdb (GNU debugger) at various places of the execution of an insert and a commit to see what is visible for other sessions during the various stages of execution of the commit.

However, I did find something else, which is very logical, but is easily overlooked: at certain moments access to (more...)

A look into oracle redo, part 9: commit

The previous blogpost talked about a simple insert, this blogpost investigates what happens when the DML is committed. Of course this is done with regular commit settings, which means means they are not touched, which means commit_logging is set to immediate and commit_wait is set to wait as far as I know. The documentation says there is no default value, and the settings are empty in all parameter views. In my humble opinion, if you (more...)

Stop password for user accounts expiring on Exadata

Depending on how the Oracle Exadata Machine was setup, the password for user accounts can expire thus requiring the password to be changed.

This has the knock on effect of the crontab not accessible and more importantly jobs do not run:

[oracle@v1ex1dbadm01 ~]$ crontab -l

Authentication token is no longer valid; new one required
You (oracle) are not allowed to access to (crontab) because of pam configuration.
[oracle@v1ex1dbadm01 ~]$

You can (more...)

Method R Profiler on x86_64 Linux with HiDPI

For a new installed Linux Laptop I tried to install Method R Profiler (and Tools).
But it was not as smooth as expected.

mrprop_wrapper failed with

/opt/mrprof/mrprof_wrapper: line 45: /opt/mrprof- No such file or directory
But the file is there, and it's executable.
So the Error is slightly misleading.
Also strace showed a similar error:
execve("/opt/mrprof-", ["/opt/mrprof-"...], [/* 62 vars */]) = -1  (more...)