Oracle Resources: VirtualBox, Vagrant, Linux, Docker, Database, Clusterware, GoldenGate, and More

Oracle Clusterware

Oracle VM VirtualBox

Oracle Vagrant configuration

Oracle Linux Download

Official Docker configurations

Oracle Database on Docker

Oracle GoldenGate on Docker

Oracle Linux Images for Hands-On Labs

Pre-Built Developer VMs for Oracle VM VirtualBox

VM Virtual Box for Oracle Enterprise Manager Cloud Control 13c Release 1 (

VM Virtual Box for Oracle Enterprise Manager Cloud Control 13c Release 2 (

Oracle Enterprise Manager Downloads


Oracle DBA Interview Question

This Oracle DBA interview question is based on some work I did recently. I will leave you to decide whether it is too easy, too difficult or just right for your candidate.


I created two Oracle test databases on a UNIX server some time ago. I called them GBASRDB1 and GBASRDB2. Each database has a user called ANDREW. I can connect to GBASRDB1 from my Micrososft Windows PC like this:


Using SSMS with Power BI

I’m curious by nature and many have shown interest when I connect Power BI to the SQL Profiler to collect performance information, but if you can do that, what happens when you connect it to the SQL Server Management Studio, (SSMS)?

That can seem quite foreign, but if you can connect it to the SQL Profiler, you can connect it to the SSMS. Why you can do this is clearly understood when you begin to (more...)

Append hint

One of the questions that came up on the CBO Panel Session at the UKOUG Tech2018 conference was about the /*+ append */ hint – specifically how to make sure it was ignored when it came from a 3rd party tool that was used to load data into the database. The presence of the hint resulted in increasing amounts of space in the table being “lost” as older data was deleted by the application which (more...)

Comparison between #Oracle and #Exasol

After having worked with both databases for quite some time, this is what I consider to be the key differences between Oracle and Exasol. Of course the two have much in common: Both are relational databases with a transaction management system that supports the ACID model and both follow the ANSI SQL standard – both with some enhancements. Coming from Oracle as I do, much in Exasol looks quite familiar. But let’s focus on the (more...)

External table preprocessor on Windows

There are plenty of blog posts about using the pre-processor facility in external tables to get OS level information available from inside the database. Here’s a simple example of getting a directory listing:

@echo off
cd \oracle
dir /b

SQL> create table fs_size (
  2   disk varchar2(64)
  3  )
  4  organization external
  5  (  type oracle_loader
  6     default directory temp
  7     access parameters
  8     ( records delimited by newline
  9       preprocessor  temp:'run_os. (more...)

List of Publication

I am listing here 55 articles which I write and are published on the different Oracle Technology Network  (OTN), different Oracle User Group (OUG) and ToadWorld.

OTN Spanish

Connections with a wallet – redux

Wow…it is nearly 4 years ago now that I wrote an article on connecting to the database via a wallet to avoid having to hard code passwords into script. That article is here:

So I went to do a similar exercise on my new 18c Windows database today, and to my surprise things went pear shaped at the very first step

c:\oracle\product\18\bin>mkstore -create -wrl c:\temp\wallet
The syntax of the command is incorrect.

Not (more...)

Logical volume group partition inactive

We rebooted a one of our linux machine which is running a database, After rebooted We can’t able to start the database due to the one of partition of the logical volume group has missing.

[root@ezylebuat ~]# pvs
WARNING: Device for PV EiG4AR-8JDt-bzEj-5si7-Wf4z-xrYC-a8zXgu not found or rejected by a filter.
WARNING: Device for PV HfPGnn-1bgb-j1HH-7Xvd-6hvq-yk14-jMCrkM not found or rejected by a filter.
PV VG Fmt Attr PSize PFree
/dev/sda2 ol lvm2 a– <199.00g 0

Thoughts about Oracle Version Change

It’s been about a year since Oracle decided to change their database version schema, from version with a couple of releases (e.g. 12.1 is 12cR1 and 12.2 is 12cR2) to a single annual version (e.g. 18c and 19c). Now, when 18c is stable and 19c is here on the cloud and Exadata and almost here … Continue reading "Thoughts about Oracle Version Change"

12c Snapshots

I published a note a few years ago about using the 12c “with function” mechanism for writing simple SQL statements to takes deltas of dynamic performance views. The example I supplied was for v$event_histogram but I’ve just been prompted by a question on ODC to supply a couple more – v$session_event and v$sesstat (joined to v$statname) so that you can use one session to get an idea of the work done and time spent (more...)

Getting locale warnings when logging on to Linux

This blogpost is about the reason and solving getting the following message, or messages alike these when logging i to a linux box using ssh:

-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

However, this is a warning. Please mind such an issue might be come up in another way, which can be more disrupting; at least in the past I had issues running perl for the same issue:

[root@dmcel01 (more...)


Just a normal start to the day today…I had my coffee


and then started working on some AskTOM questions. Naturally pretty much the first thing I needed to do is connect to my database, and then this happened:

C:\oracle\product\18\bin>sqlplus scott/tiger@//gtx:1518/pdb1

SQL*Plus: Release - Production on Wed Mar 6 09:23:09 2019

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

ORA-12154: TNS:could not resolve  (more...)

Down the rabbit hole getting sqlnet client trace working

So I've been a 'non' DBA for getting on 2 years now but i still remember some stuff right...?

Or so i thought - so simple request just activate tracing for a client connection as we're trying to debug a problem - no issue i said that's easy - just set some flags in sqlnet.ora and away we go.....

Well it didn't turn out that way.

So to start with i just assumed i (more...)

Oracle Tidbits – February 2019 #oratidbit

“Oracle *daily* TidBits” (#oratidbit) published on Facebook & Twitter, during weekdays in February 2019. Hope you find these helpful to learn something new or to remind you of its existence and use. #oratidbit In Oracle Database 18c, RMAN can recover a standby database using “FROM SERVICE” to perform an Active Data Guard synchronization and refresh the standby …

Oracle 12c and its new things

I wrote many posts about all new features of Oracle 12c , how multi-tenant architecture works and all.

In this post, we will see how oracle’s internal mechanisms have changed with multi-tenant architecture for its existing technologies.

Let us start with Oracle Xstream :

In Oracle Xtream, capturing changes from the database must always be from the CDB root as we have a single redo log file per CDB. XStream outbound can be configured to (more...)

Installing Oracle Golden Gate

In previous articles, we have seen basic things we should know before getting started with Oracle Golden Gate

All Goldengate

In this article, we will see the system requirement for Oracle golden gate and will install oracle golden gate.

  1. Supported Operating System for Oracle GoldenGate 12c

Linux x86-64: In Linux, Linux 5 and 6 are supported and RHEL 5 and 6 are supported.
Solaris x86-64: Solaris 10 and 11 are supported, SPARC 64-bit: version 10 (more...)

Configuring Change Delivery

In previous articles, we have seen the configuration of change capture. Oracle Golden Gate architecture is mainly a collection of two main process Extract and Replicat.

Extract process runs as source side from which you want to capture data and Replicat process runs at Destination side where you want run replication process.

Each trail file generated by the associated extract process is read by the replicat process sequentially. Replicat supports a high volume of data (more...)

Data Selection and Filtering in Oracle Golden Gate

Oracle Golden Gate provides a variety of levels and conditions for selection and filtering data.

Let’s start with the selection of table :

We can map table1 with table2 so operation is done on table1 will be replicated on table2.

map hr.table1 , target hr.table2;

Data Selection with WHERE clause :

Where () clause is the easiest and simplest form of data selection.

The Where() clause appears on either the Map or the (more...)

Configuring and Using String Substitution in DDL and DDL Error Handling

In the previous article, we have seen the configuration of DDL replication

Configuring and Using Options for DDL Replication

Today we will see Configuration of String Substitution in DDL replication.

We can substitute strings within a DDL operation while it is being processed by Oracle Golden Gate. This feature provides convenience for changing and mapping comments, directory names and other things that are not directly related to data structures.

Multiple DDLSubst statements can be used.