Multitenant Validation lab program for ISV partners

Hi Guys, As you all might have noticed from my social moves, we were running Multitenant Validation lab for ISV partners. Briefing on the program, the 2-day guided lab will enable the partners to test and validate their products/applications on Oracle 12c Multitenant architecture. Partners would be able to visualize and get hands-on with Multitenant … Continue reading

Oracle Midlands : Event #4 – Summary

What a cracking Oracle Midlands event!

The evening started with a session on “Designing Efficient SQL” by Jonathan Lewis. The first few slides prompted this tweet.


When someone asks me a question about SQL tuning my heart sinks. It’s part of my job and I can do it, but I find it really hard to communicate what I’m doing. Jonathan’s explanation during this session was probably the best one I’ve ever heard. Rather than trying (more...)

Create Physical Standby Database using RMAN Restore

Normally, when I create physical standby database, the configuration has the same directory structures and name values as production with the exception of db_unique_name.

But this time was not the case as shown below.

ANGEL:(SYS@xmenstby):PHYSICAL STANDBY> show parameter name

NAME                      TYPE        VALUE
------------------------- ----------- ----------------------------------------
cell_offloadgroup_name    string
db_file_name_convert      string      /oradata/xmenprod, /oradata/xmenstby
db_name                   string      xmenprod
db_unique_name            string      angel_xmenstby
global_names              boolean     FALSE
instance_name             string      xmenstby
lock_name_space           string
log_file_name_convert     string      /oradata/xmenprod, /oradata/xmenstby
processor_group_name      string
service_names             string      xmenstby

I (more...)

What books by what authors should I read?

I’ve been asked the same question by multiple people, around what books by what authors are good to have, so let me answer it once here. :) The answer is easy – it depends! Are you interested in database administration? Application development against an Oracle database? Technical apps? Functional apps? High Availability? Enterprise Manager? No […]

ASM Startup Fails With ORA-04031 After Adding CPUs

A few weeks ago we upgraded one of our production server, adding another CPU tray. This brought the number of CPU cores from 80 to 160, and took us from 2Tb of RAM to 4Tb (just in time for Oracle to announce the in-memory database in!).

However when I went to start things up, ASM wasn't starting up, giving me these errors:

ORA-04031: unable to allocate 32 bytes of shared (more...)

Deferrable RI – 2

A question came up on Oracle-L recently about possible locking anomalies with deferrable referential integrity constraints.

An update by primary key is taking a long time; the update sets several columns, one of which is the child end of a referential integrity constraint. A check on v$active_session_history shows lots of waits for “enq: TX – row lock contention” in mode 4 (share), and many of these waits also identify the current object as the index that (more...)

Exadata storage indexes and DML

Last week I’ve gotten a question on how storage indexes (SI) behave when the table for which the SI is holding data is changed. Based on logical reasoning, it can be two things: the SI is invalidated because the data it’s holding is changed, or the SI is updated to reflect the change. Think about this for yourself, and pick a choice. I would love to hear if you did choose the correct one.

First (more...)

Tuning EM12c, the OMS, Part II

We went over a few of the Java “tuning” options last time, so let’s go onto the OMS tier for this post.

Location, Location, Location

High latency issues between the OMS(Service) and the OMR, (Repository) when separated by geographical location is common.  It’s important when designing the Enterprise Manager environment that you keep your OMS hosts close to the repository hosts geo-locationally.  Your agents can be global, with minor network considerations, but the (more...)

Cloud Control: How a Camel can make you cross a Data Guard Mountain

In my recent post I already mentioned it a little bit: Integrating your manual Data Guard Broker configuration in OEM Cloud Control can become a sort of climbing a Mountain. And it doesn’t have to be.

But first a short description of the situation. I have a working Data Guard broker configuration between two Cluster Databases running Oracle on linux x86-64. Both clusters have an Cloud Control agent ( (more...)

Invoker Rights in Oracle Database 12c : Some more articles

I wrote about the Code Based Access Control (CBAC) stuff in Oracle Database 12c a while back.

I’ve recently “completed the set” by looking at the INHERIT PRIVILEGES and BEQUEATH CURRENT_USER stuff for PL/SQL code and views respectively.

Tidying up SYSAUX – removing old snapshots which you didn’t know existed

This post runs in parallel with a post I made 5 years ago and which is still the most read one on  this blog

It will show how to reduce space taken up in the  SYSAUX tablespace by because you have many more AWR snapshots being retained than you think.

Firstly lets take an example database and we can see that we are using 92Gb  of space


set linesize 120
set  (more...)

Oracle Linux and MySQL : Progress

A few months ago I wrote about some MySQL on Oracle Linux migrations we were working through. It’s been a long time coming, but last weekend was the go-live for this batch of migrations. So far so good! :)

Most of the elapsed time since my last post on this subject has been spent with the developers and users testing the migrations.

The process has taken a bit longer than some people would have liked. Rather (more...)

Connecting Oracle 11g to RDB database with Oracle Heterogenous Services

One of my clients has been running an Oracle RDB database on VMS for decades.

This RDB database stores mission critical data and interfaces with COBOL applications and Oracle 8i databases.
(If you wonder what RDB is; it’s a RDBMS created by DEC in 1984 and bought by Oracle in 1994)

While modernizing the IT landscape, the client expressed the desire to reduce complexity and migrate the mission critical data in RDB to an Oracle (more...)

Bugs with rm -rf from within asmcmd

Performing an rm -rf operation is normally a simple operation albeit risky if you are in the wrong folder. However within ASMCMD there are a couple of bugs associated with it.

Here are two examples and workrounds

FRA full - warning in the alert log  - action needs to be taken - this is an database on OEL (5.8)
ORA-19815: WARNING: db_recovery_file_dest_size of 10484711424 bytes is 100.00% used, and  (more...)

Installing Oracle Event Processing 12c

A week ago, Oracle released Oracle SOA Suite 12c. In this blog I will show how easy it is to create a Standalone-server environment for Oracle Event Processing (OEP) 12c.

The major new features of Oracle Event Processing 12 are the new integrated development environment based on Jdeveloper and the Event Delivery Network (EDN) event adapter nodes which provide that tight integration at runtime to SOA Suite composites and all other SOA components supporting the (more...)

SQL Plan Baselines

Here’s a thread from Oracle-L that reminded of an important reason why you still have to hint SQL sometimes (rather than following the mantra “if you can hint it, baseline it”).

I have a query that takes 77 seconds to optimize (it’s not a production query, fortunately, but one I engineered to make a point). I can enable sql plan baseline capture and create a baseline for it, and given the nature of the (more...)

Installing Oracle SOA Suite 12c Quick Start Distribution

A week ago, Oracle released Oracle SOA Suite 12c. In this blog I will show how easy it is to create a SOA Suite development environment. 

The Oracle SOA Suite 12c Quick Start distributions allow you to quickly install a development or evaluation environment on a single host computer. It only takes a couple of minutes to set it up. 

Before starting the installation, make sure that you have a working Java Development (more...)

Adjusting Histograms

This is a quick response to a question on an old blog post asking how you can adjust the high value if you’ve already got a height-balanced histogram in place. It’s possible that someone will come up with a tidier method, but this was just a quick sample I created and tested on in a few minutes.  (Note - this is specifically for height-balanced histograms,  and it’s not appropriate for 12c which has introduced (more...)

Speedy #em12c template export

Wither you use a single OEM and migrating to a new OEM or have multiple OEMs, the need to move templates between environments will arise.  I had this exact problem come up recently at a customer site between an OEM 11g and OEM 12c.  In order to move the templates, I needed to export the multiple monitoring templates using EMCLI.  The command that I used to do individual exports was the following:

./emcli export_template -name="<template  (more...)

Oracle SOA Suite 12c tips – Tuning the SOA infrastructure thread pool

One of the new capabilities of Oracle SOA Suite 12c is the ability to control the SOA infrastructure thread pools, except the resource pools for EDN and the adapters, with Oracle WebLogic Server work managers. Each partition will has its own work managers defined. This allows you to separate services in partitions and, to some extent, tune them separately based on for example specific SLA requirements.

Well, this blog posting is not about explaining the (more...)