Updating indexes with partition maintenance

An index is basically a structure that maps keys (values) in columns to the physical location of their corresponding rows in a table.  So if you move the rows (ie, change the physical location of a row) then the index entries for those rows need to be updated, or the index is no longer usable.  And as most people are aware, the latter is the default when you perform a partition maintenance operation (more...)

RMAN Backup from Standby w Recovery Catalog

Apologies as this is not a very clean post as there is too much info to disseminate.

Hopefully, the info may be useful at some point.

Try connect using connect target sys/password@tns vs connect connect target;

Otherwise, RMAN> resync catalog from db_unique_name all will fail or get the error below.

RMAN-06820: WARNING: failed to archive current log at primary database

When using RMAN recovery catalog, “from db_unique_name and for db_unique_name” is introduced.
Either specify the required (more...)

Some Numbers on SaaS

It's money that matters
You know that it's true
It's money that matters
Whatever you do
               --From "It's Money That Matters" by Randy Newman

So we've just gotten through earnings announcements for several SaaS companies, including my own employer (Oracle).  And as the numbers come out, I see lots of different voices interpreting those numbers inaccurately.  Because SaaS has an entirely different business model from that of (more...)

Benefits and Use of Analytics for Insurance

The world in which we live is a volatile world, a fact that doesn’t bode well for the insurance industry whose greatest ally is “certainty”. Analytics, however, can somehow fill the gap. In this regard, BI reporting tools such as data visualization software are extremely useful.

Advanced analytics for insurance allows all stakeholders in the industry to identify new growth opportunities and risk factors as soon as they take shape. Insurance companies such as yours (more...)

Last Week in Stream Processing & Analytics – 19.9.2017

This is the 82nd edition of my blog series blog series around Stream Processing and Analytics!

This is another rather long blog post with both presentations and videos from Kafka Summit and Flink Forward 2017. @Confluentinc & @dataArtisans: Thanks a lot for making them available!

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 (more...)

With Subquery()

Here’s a little oddity that came up recently on the OTN database forum – an example where a “with” subquery (common table expression / factored subquery) produced a different execution plan from the equivalent statement with the subquery moved to an inline view; tested in and Here are the two variations:

with  tbl as (
          select 1 col1, 'a'  col2 from dual
union all select 2 ,  (more...)

My Oracle Open World 2017 Presentations

Oracle Open World 2017 will be happening very soon (1st-5th October). Still lots to do before I can get on that plane to San Francisco.

This year I'll be giving 2 presentations (see table below). One on the Sunday during the User Groups Sunday sessions. I've been accepted on the EMEA track. I then get a few days off to enjoy and experience OOW until Thursday when I have my second presentation that is part (more...)

Did You Know #21 – Adaptive Features

When Oracle are adding a new feature to the database, they usually add a parameter to control it. Sometimes, after adding feature and the parameter, they realize that the parameter they chose for controlling the feature is not suitable. It might be confusing, or too general or something else. In these cases they change the … Continue reading Did You Know #21 – Adaptive Features

Idempotent and Nullipotent in Cloud

I was going through the documentation of Oracle Cloud IaaS, when I came across the vaguely familiar term Idempotent.

One great thing which I have felt very strongly with all this Cloud-mania is the recall of various theoretical computing concepts which we learned/read in university courses way back. From networking through web concepts to operating system; there are plethora of concepts which are coming back to be in practice very actively in everyday life (more...)

Oracle Installer fails with [EXCEPTION]:java.lang.reflect.InvocationTargetException under RedHat 7.4

I recently had a customer with a fresh installed RedHat 7.4 system on which we wanted to install different Oracle Software in graphical mode, like Oracle Database, Oracle WebLogic Server and Oracle Data Integrator

Following error occured when we were starting the Oracle Installers, either runInstaller or java -jar fmw_12.

export JAVA_HOME=/u00/app/oracle/product/jdk1.8.0_131
export (more...)

Thoughts on RMAN Backup Strategy Part 3

Thoughts on RMAN Backup Strategy Part 2

Thoughts on RMAN Backup Strategy

Linux Locking using flock

From cron:

00 03 * * 0          rman_db_backup.sh 0     > /tmp/rman_l0.log 2>&1
00 03 * * 1,2,3,4,5  rman_db_backup.sh 1     > /tmp/rman_l1.log 2>&1
30 * * * *           rman_archive_backup.sh  > /tmp/rman_arch.log 2>1

Notice from cron, DB backup starts at 3am and achivelog backup starts at 30m after the hour.

What happens when DB performs (more...)

SRVCTL Status Doesn’t Show RAC instances Running Unlike SQLPLUS

Yesterday, I converted a single instance physical standby database to a cluster database with 2 nodes.

After converting that to RAC database, I brought both instances up in mount state on both nodes and they came up fine and I started managed recovery on one node and it started working perfectly fine and got in sync with the primary.

Then I added them as a cluster resource by srvctl like (more...)

Added save and restore data function to PythonDBAGraphs

I pushed out a quick change to PythonDBAGraphs to automatically save the data for any graph that you make so that you can redraw the graph later. This is better than saving an image file because the redrawn graph lets you see details about the points on the graph when you hover the mouse over the points.

Now when you generate a graph you get a line like this:

Saving data in C:\temp\ASH active session  (more...)

“Oracle Indexing Internals & Best Practices” Seminar: Australia 2017 Tour (Stage)

I’ll be running a fully revised and updated version of my acclaimed “Oracle Indexing Internals and Best Practices” seminar throughout Australia in Oct/Nov 2017. Previous versions of this seminar have been hugely popular and run in some 18 countries. This updated version will feature lots of new material including 12c related indexing capabilities and recommendations. […]

Business Intelligence for the Finance Industry

The banking and finance industry is experiencing continuous changes brought about by advances in technology. The changes are welcome – however not without the accompanying challenges.

As a result, the kind of market we now have is dynamic and Wall Street is making the necessary adjustments, not to dampen vibrancy in the market, but to improve strategies in line with the changing technology. That requires developing new tools and implementing them correctly.

Business Intelligence (BI) (more...)

Getting started with Oracle Jet: a CRUD service


AMIS has recently set up a brand new Enterprise Web Application team, of which I am proud to be a member. We will working in front-end development using a variety of Javascript based frameworks. As a first framework, we are currently investigating Oracle JET.  After working through the Oracle JET MOOC and a Knockout.js tutorial we have begun to build a meetings organisation app in order to get some more hands-on experience. This (more...)

Log Buffer #522: A Carnival of the Vanities for DBAs

This edition of Log Buffer covers Cloud, Oracle, SQL Server and MySQL and much more.


Introducing managed SSL for Google App Engine

Using Cloud Foundry CUPS to inject Spring Security credentials into a Spring Boot Application

ClusterControl in the Cloud – All Our Resources

Monitoring Amazon Aurora Audit Events with Amazon CloudWatch

Integrating Teradata with Amazon Redshift Using the AWS Schema Conversion Tool


Demo App for REST enabled SQL

The Insurance of Oracle (more...)

LEAP#341 USB Power Supply

I’ve taken apart and had enough “wall wart” power supplies blow up on me .. so perhaps it is about time to put one together instead! Cheap kits are available, although it pays to carefully map out the circuit and understand how it functions, as schematics don’t always match PCB/silkscreen, and components may also vary! The kit I’ve built here works just fine.. As always, all notes, schematics and code are in the Little Electronics & (more...)

LOBs and tiny typos

This one caught me out – I was racing around looking for bugs, or parameter files, or hidden settings that stopped SECUREFILE lobs from being created.  Here was my incredibly simple test case – create a securefile LOB, and then make sure it’s a securefile.

SQL> create table t1 ( b blob ) lob ( b ) store as securfile;

Table created.

SQL> select securefile
  2  from   user_lobs
  3  where  table_name = 'T1';


And the idiocy continues…

Been a while since my last post.  Then again, Oracle administration has become such a small part of my work that I hardly find the motivation... But the latest idiocy from the Larry Ellison camp is just too much! Yeah sure: another iteration of the "let's get rid of all those DBAs" nonsense that has essentially killed the company here in NSW Australia, since the days of release9! This one is