Organizational Debt

Organizational Debt

Organizational DebtEveryone knows what debt is. If you are in or around the software development community you probably also know the term technical dept. For others:

Technical debt is a concept in programming that reflects the extra development work that arises when code that is easy to implement in the short run is used instead of applying the best overall solution.

Or as Ward Cunningham describes it:

“Shipping first-time code is like going into (more...)

Global Innovation Index 2016

Global Innovation Index 2016

The Global Innovation Index (GII) 2016 is an annual publication which features a composite indicator that ranks countries/economies in terms of their enabling environment to innovation and their innovation outputs. The GII covers 141 economies around the world and uses 79 indicators across a range of themes. The Global Innovation Index 2016 was created by Cornell University, INSEAD, and the World Intellectual Property Organization (WIPO). The theme of the (more...)

The rlwrap utility for DBA.

I spend most of my time as a DBA in linux terminal and sqlplus. Everybody who works with oracle sqlplus knows about its power, but also about its limitations. For many years I have used the rlwrap utility developed by Hans Lub. It gives me command history, and the ability to edit my SQL Plus commands, and use auto completion if I set it up. In this post I will share some tips about installation (more...)

rlwrap with #GoldenGate GGSCI

Since I published posts on how to retrieve command history within GGSCI using the Oracle provided commands of “history” and “fc”, I was pinged a couple of times by some friends asking about “rlwrap” usage with GoldenGate. The answer is a simple yes, rlwrap can be used with Oracle GoldenGate.

What exactly is “rlwrap”?

According to the readme file at, rlwrap is a ‘read-one wrapper’. (more...)

Scrum guide is updated

Scrum guide is updated

Scrum Guide Scrum Values Just last week the latest update of the Scrum Guide was released. In this latest version of the Scrum Guide the five values of scrum play a more important role than in previous versions. In my 4 year old Scrum Guide Mind Map these values aren’t around.

These values amplify the power of Scrum by providing a compass for decision making. They help teams adopt Scrum and deliver amazing software for (more...)

Building the next generation webanalytics solution

Building the next generation webanalytics solution

At this year Berlin Buzzwords our colleague Niels Basjes presented out next generation webanalytics solution. Internally this solution is called measuring 2.0.

To help the customers find what they want in our web shop we want to serve personalized content. To do this we need to understand what products/promotions we showed them and which of those made them happy. However in the fine grained personalization that has been (more...)

IPython/Jupyter Notebooks for Oracle

Topic: In this short post you can find examples of how to use IPython/Jupyter notebooks for running SQL on Oracle.

IPython/Jupyter notebooks are one of the leading free platforms for data analysis, with many advantages, notably the interactive web-based interface and a large ecosystem of readily available packages for data analysis and visualization. Moreover IPython/Jupyter notebooks are a very handy format for sharing code and data as you will see in the examples.
See also (more...)

Linux BPF/bcc for Oracle Tracing

Topic: In this post you will find a short discussion and pointers to the code of a few sample scripts that I have written using Linux BPF/bcc and uprobes for Oracle tracing.

Previous work and motivations

Tools for dynamic tracing are very useful for troubleshooting and internals investigations of Oracle workloads. Dynamic tracing probes on the OS/kernel, can be used to measure the details for I/O latency for example. Moreover probes on the Oracle (more...)

Battle of the Mountain – Camerig 2016

Battle of the Mountain – Camerig 2016

Battle of the Mountain teamVoor de eerste keer in het bestaan van deze blog wil ik jullie vragen om mij te sponsoren in de strijd tegen ALS. Je bijdrage gaat dan naar internationaal genetisch onderzoek naar ALS met behulp van Data Mining. Als prestatie van mijn kant staat daar deelname in een cycling challenge – Battle of the Mountain op de Camerig – tegenover waarover je hieronder meer kan lezen.


Amyotrofische (more...)

IPython Notebooks for Querying Apache Impala

Topic: in this post you can find examples of how to get started with using IPython/Jupyter notebooks for querying Apache Impala.

Apache Impala is an open source massively parallel processing (MPP) SQL Query Engine for Apache Hadoop. This post explores the use of IPython for querying Impala and generates from the notes of a few tests I ran recently on our systems. For completeness please that that several additional options exist to query Impala, some (more...)

How to configure eDB360?

eDB360 has two execution parameters. The first one specifies if the database is licensed to use the Tuning or Diagnostics packs (or none). The second parameter is optional, and if entered it specifies the name of a custom configuration file that allows to change the behavior of eDB360. With this optional configuration file you can make changes such as: reduce the scope of the output to maybe a single column, a section, or even a range (more...)

SystemTap Guru Mode and Oracle SQL Parsing

Introduction and motivations

SystemTap and dynamic tracing tools in general give administrators great control on their systems with the relatively little additional effort to learn the new tools. In this post you will see of how SystemTap that can be used to modify data on the fly at runtime. The outcome is a form of "live patching". Examples are provided on how to apply these ideas to Oracle SQL parsing functionality. This type of "guru mode" use (more...)

Getting DDL metadata for an application schema(s)

Every so often I need to gain an understanding of an application represented by one or several schemas. In such cases I look at the data model if one exists, else I browse the schema objects including tables, views, pl/sql libraries and extending into synonyms, triggers, sequences, indexes, materialized views and types.

I created a free small tool that installs nothing on the database and it generates a zip file with the most common DDL (more...)

SQL Monitoring without MONITOR Hint

I recently got this question:

<<<Is there a way that I can generate SQL MONITORING report for a particular SQL_ID ( This SQL is generated from application code so I can’t add “MONITOR”  hint) from command prompt ? If yes can you please help me through this ?>>>

Since this question is of general interest, I’d rather respond here:

As you know, SQL Monitoring starts automatically on a SQL that executes a PX plan, or when (more...)

PerfSheet.js: Oracle AWR Data Visualization in the Browser with JavaScript Pivot Charts

PerfSheet.js is a tool aimed at DBAs and Oracle performance analysts. It provides a simplified interface to extract and visualize AWR time series data in the browser using javascript.

The reason for a tool like PerfSheet.js is to make the analysis of AWR data easier by providing a graphical interactive interface and by automating several repetitive steps of data extraction and chart preparation. Pivot charts provide a flexible and easy to use way to navigate (more...)

Boek – De Bijenherder

Boek – De Bijenherder

De BijenherderDe Bijenherder is een management novel. Het boek is dus geschreven in de stijl van The Goal, The Phoenix Project, De Kracht van Scrum en bijvoorbeeld Getting Teams Done. Waarbij de laatste twee ook het aandachtsgebied delen met De Bijenherder.

Leiding geven aan zelfsturende teams

De zoektocht in het boek is die naar hoe leiding te geven aan zelfsturende teams. Door de toenemende omslag naar zelfsturende teams wordt ook (more...)

Importing XML file with invalid character 22 (U+0016)

I have to import a set of XML files from time to time. Most of those XML files can be imported with out any problems. But at least one file includes a special character U+0016 which occurs randomly some where inside the file.

When I try to import that file I get this ORA- error message:
ORA-31011: XML-Parsing nicht erfolgreich
ORA-19202: Fehler bei XML-Verarbeitung
LPX-00217: Ungültiges Zeichen 22 (U+0016)
Error at line 39409 aufgetreten

Mehr »

APEX Developer Addon for Firefox 43+ – now signed

Quick note: I finally managed to get the APEX Developer Addon signed by Mozilla and therefor working again in Firefox 43 upwards.

Please re-download and install, version of the Addon in Firefox is now No changes for Chrome.

Apologies for the inconvenience and thanks for all those mails I got.

Extended Stack Profiling – Ideas, Tools and Comments

Topic: This post provides a short summary and pointers to previous work on Extended Stack Profiling for troubleshooting and performance investigations.

Understanding the workload is an important part of troubleshooting activities. We seek answers to questions like: what is the system doing, where is the time spent, which code paths are most used, what are the wait events, etc. Sometimes the relevant diagnostic data is easy to find, other times we need to dig (more...)

A Java EE 7 Application on OpenShift 3 With JBoss Tools

You can create and manage OpenShift applications in Eclipse with the latest version of the OpenShift Plugin for JBoss Tools. They are either pre-bundled with the latest JBoss Developer Studio (9.0.0.GA) or you can install them into an existing Eclipse Mars. This post walks you through deploying the Java EE 7 Hands-On-Lab in OpenShift with the JBoss Developer Studio.

OpenShift 3 Tooling Overview
The OpenShift 3 tooling is included as a TechPreview. (more...)