VR Research at OBUG


As part of our push to do more international research, I hopped over to Europe to show some customers VR and gather their impressions and thoughts on use cases. This time it was at OBUG, the Oracle Benelux User Group, which was held in Arnhem, a refreshing city along the Rhine.

Given that VR is one of the big technologies of 2016, and is posed to play a major role in the future of (more...)

Oracle X5-2, from bare metal to VM Server. Without disks, without dvd drive.

Oracle offers a fine machine called the X5-2. Not to be confused with the ODA X5-2, which comes with sophisticated database software. The X5-2 is just bare metal.

The X5-2 is a 1HE 2 socket Intel machine with limited configuration options in terms of processor speed, number of cores and storage.

I will show you how to install Oracle VM Server software without even having a dvd drive for the installation disk, nor a hard (more...)

Have you seen the menu?

And did you like it? Hardly possible to miss I think. It kept me nicely busy for a few hours. Got some great examples, and this one is purely based on css and unnumbered lists in combination with anchors. Unfortunately the menu worked with non-classed <ul>, <li> and <a> tags. So embedding the css, caused my other elements to be redefined. (It even redefined the padding of all elements).

But with some trial and error (more...)

Continuous Delivery and the Oracle database (III)

In this series of blogs about Continuous Delivery and the Oracle database, I describe how to automate deployments (installations). In the previous two Blogs I have described the tools and techniques used to create and install migration scripts.

In this Blog I will describe the ‘(un)happy flow’ for a database deployment: what to do if the deployment (installation) is correct (the ‘happy flow’) and what to do if it goes wrong (the ‘unhappy flow’)?


Your New Favourite Band? Watch Straps Are Smart Too

At last wearable technology makers are getting it: The fashion or style dimension of wearable tech (or #fashtech) is critical to user acceptance and market success. 

They’re all at it now, hiring fashionistas left, right, and center to consult on, design, and wear their wearables. The hot wearabletech space at the moment is, of course, smartwatches with seemingly everyone offering a device (Swiss Army?) while now considering impact of how fashionable (more...)

Wearable Tech: Haptic Heartbeat UX

We know that user experience (UX) is increasingly an emotional concept and we need to design accordingly

UX is about how people feel about using applications. User experience design also enables us to express emotion too: Just look at the growth in popularity of emoji for example.

Here’s another emotional design feature I like: the Digital Touch capability on the Apple Watch that lets you share your own very heartbeat with another Apple Watch (more...)

Oracle Cloud – DBaaS instance down for no apparent reason – (how archive log mode and storage shortage forced the instance to its knees)

My Oracle Public Cloud DBaaS instance did not respond. On closer investigation, it turned out to be down. Mounting the database ended with an ORA-3113 End of Communication Channel. Investigation of the startup log and the database alerts indicated that no new archive log files could be created. The DBaaS instance is in archive log mode – and has created quite a chunk of archive log files over the last few months – now causing (more...)

Using guaranteed restore points to navigate through time

Some months ago I worked on a project where we thought it would be a good idea to use multiple guaranteed restore points to be able to navigate through time back and forth. Sadly we ran into some unexpected behaviour of the Fast Recovery Area.


This was basically a consolidation project. A rather complicated one: many tables had to be read from five other databases and its data needed to be inserted into the (more...)

Parse JSON Array in SQL and PL/SQL – turn to a Nested Table

Transferring data between technologies and application tiers is done using various formats – binary, native on the one hand and open, text based such as CSV, XML and JSON on the other. Use of JSON is rapidly growing as a growing number of platforms and technologies provides support for JSON.

I recently was working on a Node.js application that exposed a REST API to HTTP consumers. The consumers could send POST requests with a (more...)

XA Transactions with SOASuite JMS Adapter

JMS is perfect for setting transaction boundaries and in OSB it is pretty clear on how JMS transactions are handled. However in SOASuite using the JMS adapter by default the SOA Infrastructure is handling your JMS transactions, messages are removed from the queue rightaway because the Get's are Auto-acknowledged. If something fails, you would expect that messages are rolledback to the JMS queue and eventually moved to the error queue. But, by default, not with (more...)

COLLABORATE16: Bots & Virtual Reality

Last week, @Benbendig and I were in Las Vegas for COLLABORATE. We ran two studies which focuses on two trending topics in tech: bots and virtual reality!

Bot Focus Group

Our timing for the bot study was perfect! The morning we were to run our focus group on bots in the workplace, Facebook launched it’s (more...)

Blog Continuous Delivery and the Oracle database (II)

In the previous Blog I have described how to implement CD for an Oracle database by using migration scripts.

In this Blog I will describe how to create migration scripts (automagically).

DML scripts
This is the more simple case because you need them less often. There are various data compare tools which create scripts to migrate the differences between a source and target schema:
dbForge Data Compare for Oracle, v3.7 Express (free)

Exten your

My first NodeJS service

Microservices implemented in JavaScript running on NodeJS are becoming quite popular lately. In order to gain some experience with this, I created a little in memory NodeJS cache service. Of course statefulness complicates scalability, but if I would also have implemented a persistent store to avoid this, the scope of this blog article would have become too large. Please mind that my experience with NodeJS is limited to a NodeJS workshop from Lucas Jellema and (more...)

Continuous Delivery and the Oracle database (I)

In this Blog I will explore the possibilities to apply Continuous Delivery (CD) for the Oracle database.

What is Continuous Delivery?
The introduction on Wikipedia Continuous Delivery says:

“Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently. The approach helps reduce the cost, time, and (more...)

Create and Run Docker Container with Node.js and Node Oracle DB Driver from Windows using Vagrant and VirtualBox

My objective: be able to very quickly run Node.js applications that can connect to an Oracle Database – with minimal disturbance of my laptop environment (Windows 7).

The solution discussed in this article: use Vagrant on Windows – together with VirtualBox – to create a Linux Host VM, install Docker in that VM and provision a Docker Container with Oracle Linux 7, Node.js and the node-oracle package (the Oracle Database Driver) with the (more...)

Use external property file in WLST

I frequently create a wlst script, that needs properties. Not so exciting, but how to do that in a convenient way, and how to detect in a clean way that properties aren't set?

You could read a property file like described here. The basics are to use in fact Java to create a properties object and a FileInputStream to read it:
#Script to load properties file.

from java.io import File
from java.io import (more...)

Install Oracle Real-Time Integration Business Insight

Yes, Oracle FMW Integration Insight is available, as I wrote in an earlier post. You can download it here.
But of course we're very curious on how to install it. Do I have to unzip it into my FMW_HOME? Is there a nice Oracle Installer that I can run silently? No, none of that: it comes as a set of OPatch patches on SOASuite 12.2.1:
  1. p22189824_122100_Generic.zip: OPatch containing Oracle Real-Time Integration Business (more...)

SXSWi Recap

Austin, beautiful city with a river crossing downtown, music niche, young population, cycling, brisket and the home of SXSW, a big multicultural conference for all tastes; Film, Interactive and Music.


This was my first time attending the conference but Noel (@noelportugal), is a year-to-year attendee. It’s well known that this conference is not only a trampoline for small companies and startups to show off all the world what they are cooking up, (more...)

Auto DDL: delete obsolete columns from table

A quick one. In the past I used to generate ddl based on queries, like the following. But I find myself to re-invent them again. So to have it saved for my offspring: here's one on deleting obsolete columns as generated on importing an excel sheet in SQLDeveloper:

l_schema_name varchar2(30) := 'MY_SCHEMA';
l_table_name varchar2(30) := 'A_TABLE';
cursor c_cols is
select column_name
from all_tab_columns col
where col.table_name = l_table_name
and col.owner = l_schema_name