The opt_estimate hint is one of many that shouldn’t be used in end-user code and isn’t officially documented. Nevertheless – like so many other hints – it’s a hint that is hard to ignore when you see it floating around the code generated by the Oracle software. This note is prompted by a twitter question from fellow Oak Table member Stefan Koehler asking the about working of the hint’s index_filter parameter. Checking my library I (more...)


Provide info if tablespace is BIGFILE and existing increment by.
What I did might and might not be for the better – alter tablespace TBSNAME_XXXX autoextend on next 1g maxsize 250g;

sqlplus / as sysdba @free.sql TBSNAME_XXXX

SQL*Plus: Release Production on Sun May 7 05:47:54 2017

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

Connected to:
Oracle Database 11g Release - 64bit Production
With  (more...)

DBFS and XAG for Goldengate P2

In order to use agctl commands, we need to know goldengate instance_name.

Unfortunately, agctl does not work the same way as srvctl where it’s possible to determine what is configured.

ggsuser@hawk1 ~ $ $ORACLE_HOME/bin/srvctl config database

ggsuser@hawk1 ~ $ $GRID_HOME/bin/agctl config goldengate
XAG-212: Instance '' is not yet registered.
ggsuser@hawk1 ~ $ 

How do we find out what the goldengate instance name is? IFF XAG is configured, then grep for it.

ggsuser@hawk1 ~ $ $GRID_HOME/bin/crsctl  (more...)

Database Administration : Dead or Alive?

I get this type of question a lot at the moment. It’s not surprising as I’ve done a few things of late that seem to have got people a bit riled up.

  • During my cloud database talks I’ve been saying things like, if you think a DBAs job is just to install, backup and patch the database, the cloud has taken your job.
  • I happened to mention the Oracle Cloud Apps DBA role does not (more...)

DBFS and XAG for Goldengate P1

What’s the difference between the 2 GoldenGate configurations below.

$ $GRID_HOME/bin/agctl config goldengate gg_xx

GoldenGate location is: /u03/gg/12.2.0
GoldenGate instance type is: target
Configured to run on Nodes: arrow1 arrow2
ORACLE_HOME location is: /u01/app/oracle/product/12.1.0/db_1
Databases needed: ora.emu1.db
File System resources needed: dbfs_mount
Extracts to monitor: 
Replicats to monitor: 
Critical extracts: 
Critical replicats: 
Autostart on DataGuard role transition to PRIMARY: no
Autostart JAgent: no

$ $GRID_HOME/bin/agctl config goldengate gg_xx


10 Things I Love About Tech- Python Edition

So since I already complained about what I hate about tech from a diversity and culture perspective, I felt I needed to explain all the things I love about tech and why I wouldn’t want to be anywhere else.

Everyone would expect me to start with databases or virtualization, but I thought I’d keep everyone on their toes and start with my favorite programming language- PYTHON!

1.Timed (more...)

If at first you don’t succeed, give up?

Over the years I’ve noticed people have very different attitudes to problem resolution.

For some people the first hint of a problem leads them to believe what they are trying to do is impossible. I remember having a discussion with a former colleague about their solution to a problem. When I asked why they used a particular approach they said, “I tried to do it one way but it wouldn’t compile, so I used this approach instead.” (more...)

Setting up Redo Transport With Standby’s for ZDLRA with EM 13.2

Oracle ZDLRA or Zero Data loss Recovery Appliance allows for transporting redo from the protected database and stores it securely inside the Recovery Appliance. This allows for near zero Recovery Point Objectives to be met.
Setting up Real time redo Transport involves setting up a wallet and redo_transport_user  parameter to the virtual private catalog user as well as definition and archive log destination that points to the Recovery Appliance . This allows redo to be shipped (more...)

AWS Database Blog – Added To My Blog Roll

This is just a brief blog post to share that I’ve added the AWS Database Blog to my blogroll.  I recommend you do the same! Let’s follow what’s going on over there.

Some of my favorite categories under the AWS Database Blog are:



Readers: I do intent to eventually get proper credentials to make some posts on that (more...)

Downgrading a RAC database from to

It is not often that I see a database downgrade activity performed and so I thought it would be worthwhile just noting how it was done.
 2 node RAC database to, downgraded the database only and not the grid home.
Downgrade taking place on HP-UX, any downgrades taking place on Windows OS have several additional steps and won’t be covered in this post. 
This database does (more...)

I’m speaking at OTN EMEA Tour 2017 Baku

Local Oracle User Groups from the EMEA region are cooperating for the fourth year in a row to organize a tour of the region. The OTN EMEA Tour brings a star-studded cast, consisting of some of the world’s best Oracle ACEs, ACE Directors and Rock Star Speakers to the region. Azerbaijan Oracle User Group (AZEROUG) also joined EMEA Tour since last year (2016). This year also will be organize OTN EMEA Tour 2017 Baku (20th, (more...)

Ten Things I Really Hate About Tech Today

I love working in tech.  I can honestly say that nothing gives me greater satisfaction than working on a technical challenge or having a brilliant conversation about technology with peers.  Other days I feel like a broken record having the same conversations with the women in technology around me, facing a lack of diversity and the consistent exclusion in tech.  Until this changes, the beatings will continue and my expression may (more...)

Oracle Database – Application PDB unable to sync – An update

RSS content

In my last post, I had demonstrated that without OMF, If an  application creates new datafiles, application PDB’s always fails to sync with the  application.  When I mentioned it to Tim, he raised an SR with Oracle who have clarified that it is  Bug 21933632. Although  it is not documented yet but OMF is mandatory if using the Application Container feature. If it is attempted to sync application PDB’s  with an  application that creates   non-OMF (more...)


Here’s a performance problem that came up on OTN recently. The following query (reforematted) takes “ages” to run – how do you address the problem:

	report_ID IN (
		SELECT	report_id
		FROM	smp_dbuser2.workflow_report
		WHERE	trunc(start_time) = '28-Apr-2017'
		AND	user_id = 'nbi_ssc'

Various pieces of relevant information were supplied (the workflow_report table holds 1.4M rows the workflow_step_report table holds 740M rows and some indexes were described), but (more...)

Quick tip–identity columns

Lets say I’ve been reading about schema separation, and thus I am going to have a schema which owns all of my objects, which I’ll call APP_OWNER, which will have no connection privilege and a separate schema called APP_ADMIN which will take care of all of the DDL tasks.

Here’s my setup:

SQL> create user app_owner identified by app_owner;
User created.
SQL> grant
  2    create session,
  3    create any table,
  4    create any sequence,
  5   (more...)


Imagine you’re fairly new to Oracle and don’t have a lot of background information at your fingertips; then one day someone tells you to read the manual pages for the view dba_free_space. Look carefully at this sentence:

Note that if a data file (or entire tablespace) is offline in a locally managed tablespace, you will not see any extent information.

Can you spot the error ? Did you spot the error when you first read the (more...)

Oracle Tidbits – April 2017 #oratidbit

“Oracle *daily* TidBits” (#oratidbit) published on Facebook, Twitter and Google+ during weekdays in April 2017. You will also see these tidbits, one tidbit at a time, for each page refresh on the right side of this blog as well… Hope you find these helpful to learn something new or to remind you of its existence and use. […]

SQL validation during PL/SQL compilation

A recent posting on SQL.RU asked why Oracle doesn’t raise such errors like “ORA-00979 not a group by expression” during PL/SQL compilation. Since I couldn’t find a link to the answer (though I read about it many years ago, but I don’t remember where…), I’ve decided to post short answer:

During PL/SQL compilation Oracle checks static SQL using only:

  1. Syntactic analysis – Oracle verifies that keywords, object names, operators, delimiters, and so on are (more...)

VirtualBox 5.1.22

Hot on the heels of VirtualBox 5.1.20 comes VirtualBox 5.1.22. 🙂

Downloads and changelog are in the usual places.

I noticed this when I was in the airport yesterday, but I didn’t have enough time to download it. 🙂

It looks like it’s installed OK on my Windows 7 desktop at work and on my macOS Sierra laptop. I’ll have a go on an Oracle Linux 6 host tomorrow probably.



VirtualBox (more...)

Oracle Code : Prague – The Journey Home

I had to be at the airport for 12:15, which meant I got a lie in and I actually slept a bit, which was nice. 🙂

When I woke up I got some breakfast, edited a couple of short Oracle Code videos and caught up with my blog posts. After that was done I went through all the work emails I’ve missed over the last week, just so I don’t have that unpleasant job to do when (more...)