Nested MVs

A recent client was seeing a very large redo penalty from refreshing materialized views. Unfortunately they had to be refreshed very frequently, and were being handled with a complete refresh in atomic mode – which means delete every row from every MV then re-insert every row.  The total redo was running at about 5GB per hour, which wasn’t a problem for throughput, but the space for handling backup and recovery was getting a bit (more...)

Upgrading GoldenGate Microservices Architecture – GUI Based

In August of 2017, Oracle released two architectures for Oracle GoldenGate. These architectures were the Classic Architecture and the Microservices Architecture. Since then there has been some discussion around upgrading Oracle GoldenGate to Microservices. Due to the change in architecture, there is no direct upgrade path from Classic Architecture to Microservices Architecture. If you want to use the new Microservices Architecture, you will have to do a fresh install and migrate to the architecture.

Let’s (more...)

GDPR ‘Murica!

Just over a year ago, an alarm of emails, posts and projects arose in Europe surrounding the General Data Protection Regulation, also known with the acronym, GDPR.  It was as if someone had poked the sleeping bear of IT and woke it and boy, was it grumpy.

Suddenly EU technologists were learning all about advanced system security, how to encrypt and mask data, multi-tier authentication, along with creating procedures when a user requested to (more...)

How to run on Exadata

Very often when creating a Support Request (SR) for an issue on an Oracle Exadata Database Machine, you’ll need to run the script ““.  Which is the “Oracle Exadata Database Machine – Diagnostics Collection Tool“.

More information can be found on My Oracle Support (MOS) Note:
SRDC – EEST Sundiag (Doc ID 1683842.1)

To run ““, is very simple as shown below:

[root@v1ex1dbadm01 ~]#  (more...)

Windows 10 Laptops

Teaching Oracle technology always has challenges. They’re generally large challenges because we ask students to run 4 GB Linux VM with Oracle Database 11g XE pre-configured for them. A number of the student computers aren’t up to the task of running the virtualization.

Installing VMware Workstation or Player and a 64-bit Linux operating system is the easiest way to discover a laptop that advertises itself as 64-bit when it truly isn’t. Most of the (more...)

Dockerizing Your Development and Test Oracle databases

You are probably reading this blog because your application depends on Oracle database. Most enterprises in the world depend on Oracle database to run their business. If you are a developer using Oracle database and getting started with Docker, you must be wondering how can you use a containerized Oracle database. 

In my last blog, I outlined how you can use a Dockerized Tomcat /Tom EE with an Oracle database. In this blog, (more...)

Dockerize Tomcat/Tom EE and Oracle database applications

Docker ... Docker -- everywhere ..

Docker has gained quite a bit of popularity in simplifying operations for micro services applications. It also helps reduce cost of development and testing applications improves developer productivity it’s the portable characteristics and by allowing them to create local development environment that mimics production.

In this article, I will show how you can containerize or Dockerize a simple web application application that uses Apache Tomcat / Tom EE and Oracle database. (more...)

Secret Hacking Session: Oracle Background Process Communication, Exotic Wait Events and Some Tracing too

Since I’m running my Advanced Oracle Troubleshooting Training in the end of this month, I’ll do one of my “secret” hacking sessions too for promotion and noise-making reasons next week! ;-)

Secret Hacking Session with Tanel Poder: Oracle Background Process Communication, Exotic Wait Events and Some Tracing too

In this session we will look into some internals of Oracle background process communication and also some special types of wait events that most people aren’t aware (more...)

Enterprise Manager and Firewalls

Just a short post, since this is a fairly common question I see. This morning someone asked me a question about Enterprise Manager and firewalls. They have an environment with EM targets placed in different zones / networks – with firewalls between. In the documentation, it states “Each Management Agent is configured to upload data to one OMS. As a result, if there is a firewall between the Management Agent and its OMS, you must (more...)

Oracle SOA Suite: Installating the Fusion Middleware Infrastructure

After setting up the database (installation, instance setup) and the SOA Suite repository (via rcu) the next step is to install the Oracle Weblogic Infrastructure.

The software can be downloaded here:

(You have to choose "Fusion Middleware Infrastructure Installer)

The unzip the downloaded zip:
and run it: 
java -d64 -jar fmw_12.
Because the Oracle documentation does not contain pictures of the installer, here the screenshots:

Next step is to run the to configure the Application server domain.

The Future of the DBA, #C18LV, Video 1

I’m starting to move towards doing more videos and hope to improve my video skills, (and maybe add a dance sequence, ya know, like the hip kids…)  Check out this post and please, do add comments, ask questions or just tell me what you think?

Have an awesome Wednesday and no, don’t comment on my consistent need to make a strange face at the beginning of a video… 🙂

Tags:  , ,

Why I picked Postgres over Oracle, part II

Continuing this short series of blog posts on some of my drivers for moving to Postgres from Oracle.
Please do read Part I of the series if you have not done so. It discussed the topics “History”, “More recently” and “The switch to Postgres”.


In the last months, discussing Postgres with my Oracle peers, playing with the software and the tooling, I actually quite quickly realized Postgres is a lot cooler, at least to (more...)

KILL! KILL! KILL! (of Unix processes)

The start of this isn’t my post – I got it from here: but I wanted to reblog/repost and enhance it because as far as I can tell, 99% of all known DBA’s only use kill -9 to remove unhappy processes.

Original Post:

Useless Use of Kill -9 form letter

No no no.  Don't use kill -9.

It doesn't give the process a chance to cleanly:

1) shut down socket connections

2) clean up temp  (more...)

Picking Your Partner

I'm not much for New Year's resolutions.  History shows I just don't keep them.  Take my first New Year's celebration, for example.  My Dad told me I could stay up to ring in the new year if I could put meaning into it by making a resolution.  My resolution was to swear off chocolate cake.  So I rang in the new year with my folks; afterwards, they asked me what I thought of it.  I (more...)

Oracle SQL Developer Data Modeler 17.4

Originally posted on HeliFromFinland:
This is a version I have been waiting: so many important bug fixes! I downloaded it immediatelly the evening it was available and finished one of my projects using it. If you have not downloaded it yet, do it today: Why did I waited for it? Because of, for instance,…

Creating a database link using a tnsnames entry

I have had this in my draft posts for a couple of weeks and I refrained from publishing because it was too simple.

However the main purpose of this post is to help others save time by providing useful information. The secondary purpose of to remind myself how I overcame whatever problem is being covered.

A user did not have permissions to edit the tnsnames.ora file on a server so I created the database (more...)

Message Push Listener – Article Update

When I first wrote about Oracle Messaging Cloud we used a service called to make it easy to demonstrate the Message Push Listener. WebScript was essentially what we better know as a Serverless or Functions oriented offering (that is we wrote pieces of code and deployed them without any consideration servers etc). Well as I prepared my demos for Messaging Cloud for the UK Oracle User Group Tech 17 Conference I discovered that (more...)

Why I picked Postgres over Oracle, part I

As with many stories, if you have something to tell, it quickly takes up a lot of space. Therefor this will be a series of blog posts on Postgres and a bit of Oracle. It will be a short series, though…

Let’s begin


 I have started with databases quite early on in my career. RMS by Datapoint… was it really a database? Well, at least sort of. It held data in a central (more...)

Introduction to pinatrace annotate version 2: a look into latches again

This post is an introduction to pinatrace annotate version 2, which is a tool to annotate the output of the Intel Pin tools ‘pinatrace’ tool.

The pinatrace tool generates a file with every single memory access of a process. Please realise what this means: this is every single read from main memory or write to main memory from the CPU. This allows you to get an understanding what happens within a C function. This means (more...)

Playing with Oracle Database Cloud Service – Virtual Image – How to use and create a database STEP by STEP

The Oracle Database Cloud Service (ODCS) Virtual Image option gives you some extra flexibility on how to deploy databases in the Oracle Cloud. When deploying an instance using the normal Oracle Database Cloud Service it will per default create an