In-memory Aggregation

The title of this piece is the name given to a new feature in, and since I’ve recently blogged about a limitation of the in-memory option I thought I’d pick this feature as the next obvious thing to blog about. This is a bit of a non sequitur, though, as the feature seems to have nothing whatsoever to do with the in-memory option; instead it’s a cunning mechanism combining aspects of the star-transformation (but without the bitmap indexes), (more...)

AWR Warehouse

I just noticed last week that there is a new patch for Enterprise Manager and it is enabling AWR Warehouse feature. There is a note ID 1901202.1 which describe bundle patch for OEM 12c release 4.

Today I had a chance to install it in my lab and now I can start testing new OEM feature.
There is some documentation here and on Kellyn's blog.

It is not configured so first task is to (more...)

Crossplatform transportable tablespaces – part 2

It took some time since I wrote a first post about TTS migration but I finished that project literally hours before my summer break. Now after couple of days while I enjoyed thermal waters and good wine of Hungary it's time to write next post.

As I described in my previous post I had to migrate database from HP-UX into Linux and also upgrade it from 10g into 12c. This time it was only PoC (more...)

Why I don’t like the term “Center of Excellence”

I keep hearing about “Center of Excellence”. The term makes no sense to me. What does it mean? The middle (center) of wonderfulness? A place (center) where one goes to become excellent? Lately I’ve been hearing it used to describe our lab which is just a collection of computer equipment. In our case it’s a bunch of Oracle Engineered Systems. Our lab is really cool because we have a bunch of bad ass toys. I (more...)

ALS Ice Bucket Challenge at NoCOUG Fall Conference

2014 Fall Conference - Ice Bucket Challenge

NoCOUG president Hanan Hit and NoCOUG Journal editor Iggy Fernandez perform the ALS ice bucket challenge at the NoCOUG fall conference.

Commit Puzzle

This graph represents commit time compared to CPU utilization and redo log write time.  I’ve included only the hourly intervals with more than 1,000,000 commits.  At these peaks the number of commits ranges 1 to 1.6 million commits per hour so each point on the graph represents roughly the same commit rate.  I’m puzzled by why the commit time bounces around peaking above 5 milliseconds when I can’t see any peaks (more...)

Making the CDB Common User Without Using C## Prefix….

If you have done any play with the latest release of Oracle database 12c, you must have come across the concept of Common and Local users. I won’t rewrite what’s already there in the docs but for setting the context of the post, a Common user must be created with a prefix added to the username-C##. Miss that and you won’t be able to create one while being connected to the Container database. On (more...)

die Seilerwerks 2014-08-21 13:35:00

Fresh off the heels of my earlier composite partitioning post, I just ran into this confusing issue:

SQL> alter table p_objects
  2          add partition p201410
  3                  values less than (to_date('2014/11/01','yyyy/mm/dd'))
  4          (
  5                  subpartition p201410_spdts values ('DTS')
  6                 (more...)

Adding New Partitions with Custom Subpartition Definition (Range-List)

As part of a project for work I wanted to create a script that would create a new range partition but also pre-create all the list subpartitions. By default the subpartitions would be created based on the subpartition template. However for various reasons which I won't get into we don't update or use the subpartition template. I wanted to define the subpartition list as part of the ALTER TABLE ... ADD PARTITION statement. I assumed it (more...)

Quiz night

Here’s a script to create a table, with index, and collect stats on it. Once I’ve collected stats I’ve checked the execution plan to discover that a hint has been ignored (for a well-known reason):

create table t2
        mod(rownum,200)         n1,
        mod(rownum,200)         n2,
        rpad(rownum,180)        v1
        rownum <= 3000

create index t2_i1 on t2(n1);

                method_opt => 'for all columns size 1'

explain plan for

OTN Article : Oracle Database 12c, O que acontece em um CDB quando um PDB tem ser recuperado

OTN - Oracle Technology Network Latina America continue publish our articles. Our 7th technical article published on OTN in Portuguese Language at 20th August. This article entitled : Oracle Database 12c, O que acontece em um CDB quando um PDB tem ser recuperado written by Joel Perez (Oracle ACED), Mahir M. Quluzade (OCE) and Rodrigo Mufalini (Oracle ACE) .

It is a link of article:

Thanks to my friends, Joel and Rodrigo, for their (more...)

Who deserves the title “Expert” or (even worse) “Guru”?

I wanted to expand on a thread in a LinkedIn group I’m part of, where one of the members wrote “It’s funny when 2 experts are arguing about who is better”, using Tom Kyte and Jonathan Lewis as examples of people they say are “Experts”.

Disclaimer: I have not spoken to Jonathan or Tom in regard to their viewpoints on this subject, so this shouldn’t be taken as them saying any of this, just my (more...)

Commit scalability

I am learning about how well commits scale on Oracle 11.2 and so far they seem to scale surprisingly well.

I’ve looked at two waits – log file parallel write and log file sync.  Based on documents I’ve read on Oracle’s support site log file parallel write represents the time it takes to do one write to the redo logs.  For mirrored redo logs the log file parallel write time includes the (more...)

Viewing ASM trace files in VIM: Which Way Do You Use?


A couple of people have asked me recently about a classic problem that most DBAs know: how to view ASM trace files in the VIM editor when the filenames start with a + character. To my surprise, there are actually quite a few different ways of doing it. Since it’s come up, I thought I’d list a few of them here… If you have another one to add, feel free to comment. I know that (more...)

Oracle 12c ( database step by step installation guide on redhat linux 5.6


Download Document here

Oracle 12c database installation guide on redhat linux 5.6

OTech Magazine Issue #4: Summer 2014 Published

OTech Magazine - The independent magazine for Oracle professionals. Yesterday fourth issue of the OTech Magazine, the independent magazine for Oracle professionals published.

 In this issue also included my article: Oracle Database 12c: Cross Platform Transport non-CDB to PDB using RMAN Backup Sets

You can download online OTech Magazine #4 Isssue - Summer 2014

Summary of article

We can create a PDB using upgraded database (non-CDB) and can be adopt the 12.1 non-CDB into (more...)

New Tips and Techniques page

In case you haven’t noticed it – and chances are you haven’t noticed because I just created it! :) – I’ve added a new page called “Tips and Techniques” to the website. It’s where I keep a random collection of odd items I’ve come across that might be of interest yet don’t deserve a full blog post. It’s sort of like a FAQ list, but not necessarily with the “F”. :)

You can reach it either via (more...)

Block size and multirow DML peformance

While 8k is the default block size, Oracle supports other block sizes, too. Smaller block sizes (more commonly, 4k) are encouraged for OLTP workloads to reduce concurrency, and even smaller block size, 2k, is recommended for databases running on “Advanced format” (or “4K”) storage. Oracle documentation warns us of possible implications when storing larger rows in 2k/4k blocks, such as potentially larger space overhead due to metadata, or even possibility of row chaining. What it (more...)

Zone Map Zone ID’s

Just a quick follow up to my previous post on how Zone ID's are calculated.

Let's take the following example:
SQL> select rid, sys_op_zone_id(rid) zone_id
2 from
3 (
4 select chartorowid('AAAS5KAAHAAABYDAAA') rid
5 from dual
6 );

------------------ ------------

Recalling that extended ROWID has the following format (a nice picture from Oracle Documentation):

In the binary format that would correspond to:
  • Data Object Number -- 32 bits
  • Relative File (more...)

Oracle 11204 Clusterware upgrade – ASM glitch

Yet another tough challenge thrown at my team right after the disaster recovery (DR) simulation drill which performed barely couple of weeks ago. The new task (challenge) in hands is to upgrade the existing four cluster environments from to as Oracle already stopped supporting v11.2.0.2.

Although last week we had a 3 node successfully upgrade track record, we encountered ASM upgrade troubles whilst running (more...)