Video : Oracle Data Guard Broker

Today’s video is a quick demonstration of the Oracle Data Guard Broker.

Having recently written an article on it (here), I though a quick run through might help people see how easy it is. Maybe they will get converted like me. 🙂

The star of this video is Liron Amitzi, whose shopping habits have probably boosted the Canadian economy since his move there. By now I expect all the shelves in all (more...)

What convention to use for PDB?

I don’t know but best to have one.

With multi-tenant database, I would use OMF to keep it simple and to avoid having to remember about FILE_NAME_CONVERT.

When creating PDB, there may be specification for ADMIN USER as show below:


Here are some examples I have come across (Names and Blogs are not provided to protect the innocents):

create pluggable database PDB1 admin user pdb1_admin 
CREATE  (more...)

WordPress Fatal error: Call to undefined method PHPMailer::getCustomHeaders()

With numerous new themes and new versions of the wordpress, when you try to publish some post or page or try to send email or try to use contact form, you might get following error:

Fatal error: Call to undefined method PHPMailer::getCustomHeaders()

This error normally occurs if you are using incompatible wordpress and theme and plugin versions. The best course of action is to update your wordpress, your theme, and all the plugin and make (more...)

Oracle 12c Learning Series: In-database Archiving and Temporal Validity

One of the major challenge faced by an Oracle DBA is – how to effectively deal with historical data? Today, if we consider database tables for an enterprise, data in the table goes back several years and most of the data in the table is inactive. Challenge remains as to how to archive this data and make our query run efficiently.

If we choose to archive old data outside of database on a tape, cost (more...)

OTN Tour of Latin America 2016 : It’s Nearly Here

ace-directorIn a couple of days I will be setting off for this years OTN Tour of Latin America 2016 (Northern Leg). For me, the tour consists of the following locations:

  • Panama City, Panama:  01-Aug-2016
  • San Jose, Costa Rica:  03-Aug-2016
  • Mexico City, Mexico: 05-Aug-2016
  • Guatemala City, Guatemala: 08-Aug-2016
  • Pereira, Colombia: 11, 12-Aug-2016

I’ve had a last minute panic over hotels, but the main thing is I have flights. 🙂

If you’re coming to the events, it will be great (more...)

How To Learn Real Application Clusters (RAC) Administration

glasses-272399_1280-smallIn yesterday’s post about Learning, Career Development and Mentoring I mentioned a specific question I had been asked about learning RAC. I get it quite a bit, and after reading the comments from that post I thought I would write something I could use as a reply to that type of question in future. So here it is.

It’s very much an opinion piece, but I would like (more...)

Selecting Data from the Repository


As you may know, one of the many areas of responsibility I have as a product manager in the Enterprise Manager product management team is BI Publisher. BI Publisher is the tool of choice for reporting in Enterprise Manager. If it’s not a tool you’re familiar with, then you are missing out on a lot of the power of the Enterprise Manager repository to provide you the information you need to extend Enterprise Manager (more...)

Losing /u01

There was an incident where /u01 was lost.

This means having to reinstall and patch software again.

When installing grid and I encountered:

CRS is already configured on this node for crshome=/u01/app/oracle/product/11.2.0/grid

Ah Crap! This is me being melodramatic.

The system was using Oracle Restart, it needs to be removed.

# /u01/app/oracle/product/11.2.0/grid/crs/install/ -deconfig -force -verbose  

In hindsight, it would have been much easier to delete from /etc/oracle.

Guess what? ASM will (more...)

ReCreate ASM Disks

The following ASM disks were created which does not follow convention:
ASM_REDO01_006, ASM_REDO01_007, ASM_REDO01_008, ASM_REDO01_009, and ASM_REDO01_010

It should be:
ASM_REDO01_001, ASM_REDO01_002, ASM_REDO01_003, ASM_REDO01_004, and ASM_REDO01_005

Hence, we will need to recreate them. Here’s the process for me to remember.

conn / as sysasm
drop diskgroup DATA01;
drop diskgroup REDO01;
SQL> show parameter disk

------------------------------------ ----------- ------------------------------
asm_diskgroups			     string
asm_diskstring			     string	 ORCL:*


# /etc/init.d/oracleasm querydisk -d ASM_DATA01_001
Disk "ASM_DATA01_001" is  (more...)

Learning, Career Development and Mentoring

glasses-272399_1280-smallYesterday I received pretty much the same question from three different people, or maybe one person pretending to be three people. 🙂 The questions went something like this.

I want to get good at RAC. Will you teach me?

One of the three suggested I might want to use my Sundays teaching them. 🙂

I’m not mad at people for asking this and I don’t want to offend anyone by mentioning this, but it goes back (more...)

DOAG Conference + Exhibition

Another quick post to let you know I will be presenting at the German Oracle User Group Conference [DOAG], which runs from 14th-18th of November 2016

This is a huge conference and exhibition over 4 days with many DOAG_2016tracks and a vast array of great speakers.

I hope to see you in Nuremberg! It will be good. Oh, yes. Es wird gut sein


DOAG Konferenz + Ausstellung 2016

Filed under: Administration, Appearances (more...)

Lost Concatenation

This note models one feature of a problem that came from a client site recently from a system running – a possible bug in the way the optimizer handles a multi-column in-list that can lead to extremely bad cardinality estimates.

The original query was a simple three table join which produced a bad plan with extremely bad cardinality estimates; there was, however, a type-mismatch in one of the predicates (of the (more...)

A Neural Network Scoring Engine in PL/SQL

Topic: In this post, you will find an example of how to build and deploy a basic artificial neural network scoring engine using PL/SQL for recognizing handwritten digits. This post is intended for learning purposes, in particular for Oracle practitioners who want a hands-on introduction to neural networks.


Machine learning and neural networks in particular, are currently hot topics in data processing. Many tools and platform are now easily available to work and experiment  (more...)

VMWare, but I use Virtualbox!

A number of emails I received about trying out Delphix Express was regarding VMWare.  Many of my followers had used Virtualbox for a long time and we all know, no one likes change, (OK, maybe me, but we know how abnormal I am anyway… :))


Adding a VM in VMWare

Importing an OVA is pretty simple in VMWare.  In the VMWare Fusion application, click on File, Import and (more...)

Preventing a SPOF with CMAN 12c

I have already written about the use of Connection Manager 11.2 to govern access to a database. While researching this piece I have updated the original post so that it’s relevant for 12c as well.

Although the idea of using Connection Manager is tempting, the obvious first question is about high availability of the process. After all, if the gatekeeper to your database environment fails, you are effectively closed for business. One option would (more...)

Fixing SQL plans on ADG using SQL Profiles

With Active Dataguard setup, many of the read only applications runs on ADG and sometime the SQLs that are used by these applications runs into bad plans. ADG being a read only database, its not possible to create a baseline or a profile on ADG.

One of the way to have good plan for SQLs running on ADG is to make them run on primary first and fix the plan by creating profile or baseline (more...)

POUG 2-day event

Just a quick post to let you know I will be speaking, with a lot of other Oracle ACE and other excellent speakers at the Pint with/Polish Oracle User Group (Chapter IV), taking place on 7th/8th October in Warsaw. Click on Buy Ticket link to see some of the other speakers, or look at the images below.

Hope to see you there! Should be fabulous.



Filed under: Administration, Appearances Tagged: group, (more...)

GoldenGate 12.2 Object Exclude

1.8 Details of Support for Objects and Operations in Oracle DDL

The following tables are excluded by default.

  "*.AQ$*", // advanced queues
  "*.DR$*$*", // oracle text
  "*.M*_*$$", // Spatial index
  "*.MLOG$*", // materialized views
  "*.OGG$*", // AQ OGG queue table
  "*.ET$*", // Data Pump external tables
  "*.RUPD$*", // materialized views
  "*.SYS_C*", // constraints
  "*.MDR*_*$", // Spatial Sequence and Table
  "*.CMP*$*",  (more...)

Video Tutorial: XPLAN_ASH Active Session History – Part 9

The next part of the video tutorial explaining the XPLAN_ASH Active Session History functionality continuing the actual walk-through of the script output.

More parts to follow.

Troubleshooting ORA-02049: timeout: distributed transaction waiting for lock

Controlling Connections Established by Database Links

Tracing can be done using – ALTER SYSTEM SET EVENTS ‘2049 trace name ERRORSTACK level 3’;

Nice note from MOS.

How to Obtain a System State Trace BEFORE the Error ORA-2049 Occurs, While Still Experiencing the Contention (Doc ID 789517.1)

Commit after select from dblink – blocking lock.

Session 1:
04:44:51 ARROW:(DEMO@leo):PRIMARY>
04:45:30 ARROW:(DEMO@leo):PRIMARY> select name from v$pdbs@mdinh_april;


Elapsed: 00:00:00.01
04:45:36 ARROW:(DEMO@leo):PRIMARY> commit;

Commit  (more...)