The Definition of Done

One of things I find myself getting increasingly frustrated with is the definition of done by some people and companies.

For context, I’m speaking about work that is allegedly entirely complete, not necessarily what I expect out of the first sprint on a project. Sorry for stating the obvious, but someone will try to explain to me what the “Definition of Done” is from an agile perspective and I’ll get cranky… 🙂

Just off the top (more...)

European Indexing Internals Seminar Events: Please Help Me Select (Station To Station)

I’m currently determining which European countries to initially target for a series of my 2 day Oracle Indexing Internals and Best Practices seminars tentatively scheduled for the late May / early June time frame. The cost for the 2 day seminar is to be confirmed but will be approximately 1200 Euros (plus any local taxes), […]

Execution plans on LiveSQL

To protect the integrity of people’s data, and isolate sessions on LiveSQL, we lock down the environment.  Clearly if you are doing some testing with sensitive data, you don’t want an anonymous member of the user community mining V$SQL to see what commands you have been running.  Conversely, we want to allow people to perform most of the tasks that would do on a standard database installation without having to install or (more...)

How Do You Create Data Guard Configuration?

I have taken for granted to create Data Guard Configuration the same way most of the time that I don’t know what goes wrong with done differently.

$ sqlplus / as sysdba

SQL*Plus: Release Production on Mon Feb 19 23:41:49 2018

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

Connected to:
Oracle Database 12c Enterprise Edition Release - 64bit Production
With the Partitioning, Real  (more...)

Filter predicates with NVL on mandatory columns using the index

Last Friday at work, I overheard a conversation between two DBA's about a performance problem of a job which usually ran in 10 minutes, now taking more than 4 hours. I helped them pinpoint the problem: a simple SQL query which took >95% of the time. Clearly this query was the culprit. The query selects from just one table but with 10 filter predicates of this form: nvl(column,'@') = nvl(:

Last Week in Stream Processing & Analytics – 19.2.2018

This is the 103rd edition of my blog series blog series around Stream Processing and Analytics!

As every week I was also updating the following two lists with the presentations/videos of the current week:

As usual, find below the new blog articles, presentations, videos and software releases from last week:

News and Blog Posts


Spring into action with our new OBIEE 12c Systems Management & Security On Demand Training course

Rittman Mead are happy to release a new course to the On Demand Training platform.

The OBIEE 12c Systems Management & Security course is the essential learning tool for any developers or administrators who will be working on the maintenance & optimisation of their OBIEE platform.

Baseline Validation Tool

View lessons and live demos from our experts on the following subjects:

  • What's new in OBIEE 12c
  • Starting & Stopping Services
  • Managing Metadata
  • System Preferences
  • Troubleshooting Issues
  • Caching
  • Usage (more...)

Jarvis Pizzeria: The various Decisions of a Decision Model

| Feb 19, 2018
In one of our next posts we will implement the Decision Model in the Order Process. Before we do that we first explain the various type of decisions that are available for a Decision Model.

The Decision Model editor in PCS (Process Cloud Service) or the later OIC (Oracle Integration Cloud) supports the DMN (Decision Modeling Notation) standard version 1.1, and uses FEEL (Friendly Enough Expression Language) to make decision modeling easier and more (more...)

Firefox tab crashes by loading on ubuntu 16.04

On a ubuntu 16.04 system firefox crashes by loading

 The only way to fix this was going to "about:config":

On this page search for "webgl.disabled" and change the value from false
to true:

After that, loads without any problem...

Safe Harbor Statement – Oracle

Safe Harbor Statement

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.


The post Safe (more...)

Oracle ERP DB Exadata migration + AC-50480: Internal error occurred + ORA-12154

I was recently involved in a project to migrate an Oracle ERP database to an Exadata server. The ERP database was a non-RAC Oracle 12cR1 running on RHEL with Oracle EBusiness suite 12.1.3.

The migration involved only migrating the ERP database from traditional storage/server technologies to Exadata machine. Upgrade from non-RAC database to RAC. The application remains on the same host. Though similar migration projects were successfully done earlier, this time, I faced (more...)

18c is now available (but only on the Cloud)

On Friday afternoon (16th February) we started to see tweets and blog posts from people in Oracle saying that Oracle 18c was now available. But is only available on Oracle Cloud and Engineered Systems.

It looks like we will have to wait until the Autumn before we can install it ourselves on our own servers :-(

Here is the link to the official announcement for Oracle 18c.

Oracle 18c is really Oracle 12.2.0. (more...)

Shredding and Querying with Oracle Offline Persistence in JET

I think offline functionality topic should become a trend in the future. Its great that Oracle already provides solution for offline - Oracle Offline Persistence toolkit. This is my second post related to offline support, read previous post - Oracle Offline Persistence Toolkit - Simple GET Response Example with JET. I have tested and explained with sample app how it works to handle simple GET response offline. While today I would like to go one (more...)

First login to Oracle 18c

Database administrators have specific responsibilities and must understand how to complete database administration tasks. To get started with database administration, you must understand basic database concepts, such as the types of database users, database security, and privileges. You must also be able to complete basic tasks, such as submitting commands and SQL to the database and creating a password file

Below is first login Oracle Database 18c.

Stay Tuned for More Information on Oracle 18c


Oracle Database 18c Released : How to Get Started

Just in case you missed it, Oracle Database 18c was released on Friday. You can read the announcement in this post.

How to Get Started

You might be a bit disappointed if you don’t have an Oracle Cloud account, or an engineered system. Not to worry. You can try Oracle Database 18c on Live SQL.

The documentation is already available. You (more...)

Oracle Database 18c

Yup…it’s arrived!

New name obviously, because we’ve jumped to our new naming model to align with the calendar year as opposed to version number.  You might be thinking “So what?” but it’s a significant change in the way we getting software to customer.  Mike Dietrich blogged about this at length here so I won’t repeat what has been said, but in TL;DR form:

More frequent releases, with smaller amounts of change per (more...)

Display the sql_id for a query in Oracle 18c

The SET FEEDBACK command has an SQL_ID option to display the sql_id for the currently executed SQL or PL/SQL statements. The sql_id will be assigned to the predefined variable SQL_ID.

Displays the number of records returned by a script when a script selects at least n records. SQL_ID returns the sql_id for the SQL or PL/SQL statements that are executed. The sql_id will be assigned to the predefined variable SQL_ID.

SQL>  (more...)

SET LINESIZE window in Oracle 18c

Sets the total number of characters that SQL*Plus displays on one line before beginning a new line.

WINDOW adjusts the linesize and pagesize for the formatted output according to the width and height of the screen. If the output is longer than the screen width, then the output is wrapped accordingly

To set the linesize for the output to 30, enter
linesize 30

To dynamically change the (more...)

SQL Server Operations Studio

Since I reformatted my Surface Pro 4 so I could have my Docker running again, I also needed to recover my local SQL Server instance I like to have available on my PC.

This was a perfect time to get everything up and running, but instead of my standard way of doing this, use SQL Server Operations Studio, (SSOS).

The Lesson

Most SQL Server DBAs have a GUI took to assist in managing their (more...)

Oracle Database 18c and it’s features

Finally, Oracle officially released Oracle Database 18c with Oracle Documentation available on Oracle Public Cloud(OPC).  To get more detailed on Oracle 18c release read Oracle Support Document 2285040.1.

List of some new features in Oracle 18c:

Data Guard

  • Oracle Data Guard Multi-Instance Redo Apply Supports Use of Block Change Tracking Files for RMAN Backups
  • Automatic Correction of Non-logged Blocks at a Data Guard Standby Database

Application Continuity

  • Server Draining ahead of relocating or (more...)