After a upgrade to buster I was not able to get the bridge interface online, I created a public bridge as described here 5 years ago and never touched it again.

After completely reinstalling the system (after that was my intention for some time for other reasons), I had the same issue.

I could solve the issue by simply installing the package bridge-utils. I have no idea why this dependency is missing, probably just a bug.

apt install bridge-utils

I did a fresh installation of one of my server, including upgrade of all disks.

When rebooting in a fresh Debian installation I got stuck with the message "Scanning for devices. Please wait, this may take several minutes".

After 5 hours of trial and error, reading manuals and posts I found the solution.

In the PERC Raid Controller I had to create two new virtual disks and the boot order of the virtual disks which you can assign in the RAID Controller configuration was set to the wrong virtual disk...



When starting the glassfish server via IntelliJ I always got a Null-Pointer exception with JDK 8 (it was for sure not 9).

I had to set the environment variable AS_JAVA in <<glassfish_home>>\glassfish\config\asenv.bat to the full path of my JDK in order to get rid of it.

set AS_JAVA=C:\Program Files (x86)\Java\jdk1.8.0_144

I can just guess, that this is probably a problem when starting IntelliJ 64bit and glassfish? is probably 32bit?



When registering an XSD to oracle with dbms_xmlschema.registerSchema I got the strange error

LPX-00209: PI names starting with XML are reserved

This error occured because I had a leading CR in front (from copy/paste importing). Just removed it and everything was fine.

Easier than I thought. After fiddling with command line I found out that you can simple use CTRL+ALT+END.

!!END!! not DELETE!!!

Troubles with Oracle Report fonts

A while ago I was noticing strange symbol characters in Oracle Reports PDF output after a major version upgrade of the Middleware. They looked kind of greek and I could not find a solution. Turned out you should really search for "Greek" characters Oracle Reports, which brings you to the Oracle Bug 2906401 - FONT ALIASING NOT WORKING FOR ALL FIELDS WITH WE8ISO8859P15 CHARACTERSET.
Don't be confused, that is also a problem with any other character set. If you go to the solution you have a lot of different ways to bypass that. Below you find the way it worked on our system. The solution with creating backup directories and script was too complicated for me, so there is a one-liner which is doing the same.

sed -i 's/EncodingScheme AdobeStandardEncoding/EncodingScheme FontSpecific/' $ORACLE_HOME/guicommon/tk/admin/AFM/*

To make it short there are AFM files (Adobe Font Metrics) which Oracle Reports is using to generate the PDF files. These need to be changed in order to generate correct PDF output.

Recently I needed a good PLSQL tool also on Linux, after the whole Oracle stuff has massive flaws I decided to use the best tool on the market (PL/SQL Developer from Allround Automations) with Wine.
After I really like how Codeweavers are supporting the open source project wine, I decided to purchase the commercial version Crossover (very close to wine).
I tried a bit around and what I found out is that on my Linux system (Debian Stretch with Gnome, 3 sreens) PL/SQL Developer 12 ist not working (windows flipping endless).
I decided to go to version 11, and also take the 32bit version (had a headache with 64 bit version on wine), I also took Windows 7 (why not its stable...) and the R11 instant client (because I know this version is working).

The results are fantastic, until now I could not find any bugs, all looks good, below you find the steps it took me.

    PL/SQL Developer 11 32bit (PL/SQL Developer downloads)
    Oracle Instant Client 11.2 32bit ( (Instant Client Download)

Create Bottle
Create a new Windows 7 32bit bottle (I did it via the cxsetup GUI, but of course you can also do it by script)

Open the c: drive of your bottle (wherever it is located on your system) and install the instant client

cd ~/.cxoffice/PLSQLDEV/dosdevices/c:/
mkdir -p oracle/network/admin
unzip ~/Downloads/instantclient-basic-win32-
mv instantclient_11_1 oracle/bin

Set some environment variables
Run regedit in the bottle (I did it via the bottle manager).

Create a Key Oracle in HKEY_LOCAL_MACHINE\Software.

Add bin directory to path and set TNS_ADMIN (so the client finds our tnsnames.ora files for sure).
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
Edit PATH and add c:\oracle;c:\oracle\bin;

Add String TNS_ADMIN and set it to c:\oracle (yes I place my tnsnames file always in c:\oracle because I usually have multiple installations and want to just maintain one file).
Close regedit.

Create tnsnames.ora file.

cat > ~/.cxoffice/PLSQLDEV/dosdevices/c:/oracle/tnsnames.ora <<- EOF
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

Install PL/SQL Developer 11
After everything is prepared just install the software into the bottle (did it again via GUI).

I just wanted to copy some stuff from a PDF which did not work because of some strange formatting, so I gave it a try with a PDF editor. Surprisingly everything is contained in LibreOffice.

On my Debian system I just had to install the pdfimporter (not installed by default).

apt install libreoffice-pdfimport

Then just open the file withing Draw, that's it.

I had lately the problem that my crossover (wine) bottle did not have any audio driver.


revealed that a audio driver was missing.

apt install libpulse0:i386

solved the problem.

I was having fun with Oracle Spatial lately, and stumbled over a fantastic bug (which should have been already fix what he not is...). I got the following:

ORA-29902: error in executing ODCIindexStart()routine ORA-13207: incorrect use of ... ORA-06512: at "MYSYS.SDO_INDEX_METHOD_10I...

which was caused by


what I really like here is the solution, which really works


This bug (18718478) should be solved (at least for SDO_RELATE) with which I am currently working on...

As explained previously, you can easily get a history for sqlplus and rman on lnux.

apt-get install rlwrap

I forgot to mention that the easiest way to automatically use it is to set up an alias in your shell

alias sqlplus='rlwrap sqlplus'



Ok, after having some time for playing around I decided to try a 12c installation on debian wheezy.

install mandatory packages

apt-get install binutils autoconf automake bzip2 gcc less libc6-dev make libstdc++5 unzip zlibc build-essential libaio1

create some links

Some libs are expected in other directories, we need to change that

ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib64


I chose fluxbox but you can also take anything else like xterm, gnome, kde….

apt-get install fluxbox

prepare user and groups

groupadd oinstall
groupadd dba
useradd oracle -m -d /home/oracle -g oinstall -G dba -s /bin/bash
passwd oracle

check environment

there are several kernel parametersw that have to be changed to succesfully install the database, here is a script that helps you to determine them

echo "sem: ";echo "min 250 32000 100 128"; echo "is " `cat /proc/sys/kernel/sem`; echo; \
echo "shmall: ";echo "min 2097152"; echo "is " `cat /proc/sys/kernel/shmall`; echo; \
echo "shmmax - should be able to hold the SGA - max 4G-1byte: ";echo "is " `cat /proc/sys/kernel/shmmax`; echo; \
echo "shmmni: ";echo "min 4096"; echo "is " `cat /proc/sys/kernel/shmmni`; echo; \
echo "file-max: ";echo "min 6815744"; echo "is " `cat /proc/sys/fs/file-max`; echo; \
echo "ip_local_port_range: ";echo "min/max 9000 65500"; echo "is " `cat /proc/sys/net/ipv4/ip_local_port_range`; echo; \
echo "rmem_default: ";echo "min 262144"; echo "is " `cat /proc/sys/net/core/rmem_default`; echo; \
echo "rmem_max: ";echo "min 4194304"; echo "is " `cat /proc/sys/net/core/rmem_max`; echo; \
echo "wmem_default: ";echo "min 262144"; echo "is " `cat /proc/sys/net/core/wmem_default`; echo; \
echo "wmem_max: ";echo "min 1048576"; echo "is " `cat /proc/sys/net/core/wmem_max`; echo; \
echo "aio-max-nr: ";echo "max 1048576"; echo "is " `cat /proc/sys/fs/aio-max-nr`; echo;

change necessary parameters

you have just to change the parameters that don't fit, but feel free to set them all to the minimum with this script

echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
# !!!! needs to fit YOUR SGA (=main memory for database, be sure to have enough ram for PGA etc.)!!!!
echo "kernel.shmmax = 1200000000" >> /etc/sysctl.conf
#echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
#echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf

change some limits

also some limits have to be set

echo "oracle soft nproc 2047" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo "oracle soft nofile 1024" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf

create directories

I prefer to separate software, database files and recovery files so i put them under /opt/oracle (mountpoint) in different directories

mkdir -p /opt/oracle/app/oracle
mkdir -p /opt/oracle/oradata
mkdir -p /opt/oracle/flash_recovery_area
chown -R oracle:oinstall /opt/oracle
chmod -R 775

These steps prevent errors when the installer links some libraries

ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename

finish preparations


after unzipping the installation files add some tweaks...

Some makefiles need manual tweaking because they can't find required libs beause of some environment issues

sed -i 's/\$(PLSHPROF_LINKLINE)/\$(PLSHPROF_LINKLINE) -lons/g' /opt/oracle/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ sed -i 's/\$(RMAN_LINKLINE)/\$(RMAN_LINKLINE) -lons/g' /opt/oracle/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ sed -i 's/\$(TG4PWD_LINKLINE)/\$(TG4PWD_LINKLINE) -lnnz12/g' /opt/oracle/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/


su oracle

/pathtoinstallfileshere/database/runInstaller -ignoreSysPrereqs

The installer should guide you through each step in simple and advanced mode. When the requirements are checked you can savely bypass the warnings, because not everything can be checked on an unsupported ;-) environment.

!!!I really want to keep this up-to-date so please send me a note if i missed something or something is easier to handle than i did it!!!

Errors that can happen and how to bypass them

Could not retrieve local nodename

that happens if the hostname is not in your /etc/hosts file, just insert it there as localhost and it should work

java exception when calling the installer

happened at my side because I installed it over vnc This should help:

xhost localhost

Error in invoking target 'install' of makefile

seems to be a problem with a newer? glibc version in the make.log file you should find something like

warning:, needed by /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib//, not found

simply install libstdc++5 apt-get install libstdc++5