Did You Know #16 – Package Permissions

When user A creates a procedure and grants execute permissions to user B, user B can execute the procedure (obviously), but he can also see the code (in ALL_SOURCE view). With packages this scenario is a little bit different. When user A creates a package and grants execute permission to user B, user B will … Continue reading Did You Know #16 – Package Permissions

Why oh Why Do Will Still Not Have a Fast Bulk “SQL*Unloader” Facility?

Way back in 2004 I was working at the UK side of the Human Genome project. We were creating a massive store of DNA sequences in an Oracle database (this was one of two world-wide available stores of this information, for free & open use by anyone {* see note!}). The database was, for back then, enormous at 5-6TB. And we knew it would approx double every 12 months (and it did, it was (more...)

Do you suffer from Storage Stockholm Syndrome?

The last year at DSSD (now a part of Dell EMC) has been an extremely interesting one for me, and I’ve learned a great deal, which is always good. Some of the lessons have been surprising, though… One of them is what I will rather dramatically refer to as Storage Stockholm Syndrome. Stockholm Syndrome is … Continue reading "Do you suffer from Storage Stockholm Syndrome?"

Delphix Users Panel Webinar

Delphix is sponsoring a user webinar on Wednesday from 10 to 11 am California time. I and a couple of other technical Delphix users will take part in a panel discussion. The webinar will give you a good chance to hear about other users’ experience with Delphix and a chance to ask questions. Like any good user meeting it will not be a non-technical sales pitch but it will instead focus on users sharing helpful technical information with other Delphix users.

Noted Oracle (more...)

Moving a VM- 100 Ways to Skin a Cat

I love technology-   ALL TECHNOLOGY.  This includes loving my Mac Air and loving my Microsoft Surface Pro 4.  I’ve recently went back to a Mac when I joined Delphix, trimming down the power I had on my Surface Pro 4, knowing the content I was providing would be required to run on hardware with lesser resources.

With the release of Microsoft SQL Server 2016 on Linux, I (more...)

Oracle Data Guard Broker and Static Service Registration (Doc ID 1387859.1)

This is a quick and dirty note to self about Doc ID 1387859.1 which may be incorrect for Single Instance Database with Oracle Restart.

Please share if you have configuration for Single Instance Database with Oracle Restart using DataGuard Broker and listener registered from Grid – TIA.

Oracle Data Guard Broker and Static Service Registration (Doc ID 1387859.1)	


Single Instance Database with Oracle Restart


Optimizing the order of MongoDB aggregation steps

MongoDB does have a query optimizer, and in most cases it's effective at picking the best of multiple possible plans.  However it's worth remembering that in the case of the aggregate function the sequence in which various steps are executed is completely under your control.  The optimizer won't reorder steps into the optimal sequence to get you out of trouble. 

Optimizing the order of steps probably comes mainly to reducing the amount (more...)

max_enabled_roles – nice touch

Some people get very excited with roles, and quickly the number of roles proliferates to huge numbers…Until this happens

ORA-28031: maximum of 148 enabled roles exceeded

But in helping someone out on AskTom, I just found a nice touch in  I had granted my account 200 roles (since the max_enabled_roles parameter is capped at 148), fully expecting to get the standard error when attempting to connect.  But I didn’t (more...)

Characterset again – this is beyond a joke now

So another week another characterset problem, this time it cleverly disguised itself to start with......

Here is what i was initially presented with

rman TARGET sys/password@DEMO AUXILIARY sys/password@DEMOS

run {
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate auxiliary channel aux1 type disk;
duplicate target database for standby from active database
set cluster_database='false'
set db_unique_name='DEMOS'
set control_files='+DATA'
set db_create_file_dest='+DATA'
set db_recovery_file_dest='+FRA'
set fal_server='DEMOS'
set db_recovery_file_dest_size='45G'
set local_listener='(DESCRIPTION =(ADDRESS = (PROTOCOL = (more...)

Delete/Insert #2

In the previous post I threw out a couple of options for addressing the requirement to transfer data from one table to another (“cut and paste” rather than just “copy”) without running into odd inconsistency errors. This triggered of a wonderful comment trail of alternatives based on how large the volume might be, how relaxed the concurrency requirements might be, and so on.

A comment by SydOracle1 picked up on my failure to get Oracle (more...)

SSO to zabbix with Azure AD

This is a very quick follow up to the last post and uses the same technique to enable SSO to the zabbix application.

The initial steps that need to be followed in Azure AD are exactly the same as the last post - if you want that again its here

To enable the same thing in zabbix you simple need to go to the following screen in the application

And populate the following information - (more...)

Smart Scanning GTTs – what about Flash Cache?

Continuing the example of the previous blog post (is it possible to Smart Scan GTTs?), I am investigating if Smart Scans against GTTs can benefit from Flash Cache, or “optimised reads”. The easiest way to see this in your session is to calculate the change in session counters based on v$mystat or v$sesstat. Other tools might also provide information about the amount of data read from Flash Cache, but there are quite often extra (more...)

Simple demo of message propagation

If you’re using AQ, then it’s simple to setup simple enqueue and dequeue facilities on your local database to provide all sorts of asynchronous style processing in your applications.  As long as you’re applications are designed and built to handle it, the “fire and forget” model to keep user applications responsive, and all of the “heavy lifting” done in the background is a very attractive one.

You can also use AQ to achieve the (more...)

SSO to cloud control 13c with Azure active directory

So more on this cloud stuff then.....

Well in this case the work is just as applicable to a normal on premises configuration with 'standard' Active directory (other types of ldap directory can be used but i guess AD is the most widespread).

In this particular case (a follow up to my post on configuring HA for cloud control in Azure) i now want to enable single sign on to this cloud control using (more...)

My Sangam 16 presentation: Policy Based Cluster Management In Oracle 12c

RSS content

Thanks to all those who attended my session on “Policy Based Cluster Management In Oracle 12c” during Sangam16. I have uploaded my presentation here.

Your comments and feedback are always welcome.



Exadata migration

Had a wonderful Sangam16 conference in India, and received much applaud for the two presentations delivered,  Oracle 12c multitenancy and Exadata migration best practices.

After a very short trip to India, life started to be business as usual again, and become busy. Was fully occupied with multiple assignments: Oracle EBS database health check assessment at a client for 2 days, GI/RDBMS/PSU deployments on Oracle Sun Super Cluster M7, Exadata configuration preparation and 9 databases migration (more...)

Online Redo Log Switching from RMAN Backup

I was troubleshooting backup from standby databases and encountered an oddity which I wanted to verify.

Backing Up Archived Redo Logs with RMAN

Before beginning the backup, RMAN switches out of the current redo log group, and archives all online redo logs that have not yet been archived, up to and including the redo log group that was current when BACKUP command with any of the following clauses:


23 is the new 42

A bizarre one this week....

We upgraded one of our criticial production apps from to (+ latest PSU) and everything went well during the upgrade and seemingly afterwards too, that was until we had reports from the business that some data transfers from another system into this one were often being delayed.

After a bit of investigation we found the data was being pulled over by a (more...)

Just one more week


I’m off to UKOUG again this year.  It’s an awesome conference, and I’ll be doing three talks there.

On Monday at 3:30 it’s my first keynote talk Smile  “12 Things You’ll Love About the Oracle Database 12.2”, followed up at 6pm by “AskTom – One Year On”.

On Tuesday, at 3:30 I’ll be doing a talk for anyone want to come up to speed on all of the partitioning features with “Partitioning 101”.


Little things worth knowing: Can I Smart Scan a Global Temporary Table?

A question that has come up while preparing to deliver another Exadata Optimisation Class is whether you can offload queries against Global Temporary Tables (GTT) or not. There are subtle differences between heap tables and GTTs such as how statistics are handled and where they are stored that merit a little investigation.

I have used the lab environment on the X3-2 (Exadata, RDBMS) to test (more...)