Exadata Flash Cache WriteBack

With the announcement Exadata X3, Oracle has introduced a new feature called “FlashCache Writeback” to allow writes to cell Flash Cache (aka Exadata Smart FlashCache) in WriteBack mode. Earlier with WriteThrough mode, writes were not written to FlashCache, instead they were written directly to cell disks. Exadata software used to decide whether to cache these writes back into FlashCache or not. In WriteBack mode, writes are written to cell FlashCache and acknowledgement is given back to calling process as soon as data is written to flashcache. Exadata Server software de-stages the dirty writes in flashcache to spinning disks in the (more...)

Comma Separated Multiple tnsalias For Single Entry

I learned something new today, so thought i would share on my blog here. Did you know that you can specify multiple tnsalias (or net service name link , as Oracle documentation likes to call it) for a single entry. Its not documented as is the case with many cool hidden features. I searched Oracle documentation and Oracle Support site, but could not find any reference to this feature. Google gave this link to Quest’s toad bug with search string of “comma separated tns alias”.

Usually tns entry is made in tnsnames.ora file as per below syntax (in its (more...)

SQL*Plus Variable defined by default

Earlier i used to maintain different sql script files for one function for every database version. As some of the older release dont have some of columns available in new release’s view/tables. I started updating my scripts to maintain a single script using Tanel Poder’s  snapper script’s idea of using SQL*Plus variables to automatically comment out the version specific code in the script (if its not applicable for logged in database version), so that it does not generate the syntax error.

So initialize the variables (_IF_ORA_9iR2_OR_HIGHER, _IF_ORA_10gR1_OR_HIGHER etc) with single line comment “–” and if version of logged in database (more...)

Exadata – Flash Card firmware Issue

After patching Exadata cell to, on running CheckHWnFwProfile or Exachk it reports the firmware version for Flash Card is not same as expected.

# /opt/oracle.SupportTools/CheckHWnFWProfile
[WARNING] The hardware and firmware are not supported. See details below

   AllSlots_AllHBAs SAS1068E B3orC0 105 011b5c00 AllDOMs_NotApplicable MARVELL SD88SA02 D20Y 4_16
   AllSlots_AllHBAs SAS1068E B3orC0 105 011b5b00 AllDOMs_NotApplicable MARVELL SD88SA02 D20Y 4_16

[WARNING] The  (more...)

Exadata – Critical Bug

Following issue has been identified in Exadata Storage Server software patch It only affects compute node minimal pack on X2-2 and X2-8 racks sporting a 10GigE network ports. It does not affect the V1 or V2 models as they dont have 10GigE network ports. For more information please refer to MOS Note 1348647.1

Critical Issues Discovered Post-Release

1) Bug 13083530 – 10Gb Ethernet network interfaces shut down unexpectedly.

For (more...)

Exadata Storage/Compute Node remote re-imaging

When you have a Exadata machine in the lab and you are testing lot of different things or giving hand-ons training to production DBA on lab Exadata to familiarize them with Exadata patching, one has to frequently start from scratch i.e . a particular storage/compute node image. Wouldn’t it be nice if you could write a script to re-image the servers? But alas!!! that is not possible with Exadata. One has to do all the (more...)

Exadata Storage Server Patching

Non-interactive shell issue for Database Host minimal pack 

Recently i set about patching Exadata Storage Server software to from 11.2.2.x.x to, which is the latest patch from Oracle Corporation. I was testing and documenting the process for one of my client and wanted to automate this as much as possible, as in past people actually executing the commands had missed running few commands on certain nodes. (more...)

Oracle Exadata Documentation

As  most of you are aware, Oracle does not publish the Exadata documentation. Apparently this is protect their software from competitors. But in my opinion, Oracle could increase their Exadata sales by making their documentation freely available for everyone to read, just like their other product’s documentation.  Wouldn’t it be nice, when someone asks you regarding a feature of Exadata, if you had the ability to direct them to a link of Exadata documentation for (more...)

Oracle 11gR2 on RHEL6

Just a quick note to say that RedHat submitted certification test result of Oracle 11gR2 on RHEL6 to Oracle Corporation on 09-Aug-2011, so we should expect the formal certification around last week of Sep-2011.

More news at – http://www.redhat.com/about/news/blog/Red-Hat-Submits-Oracle-11gR2-on-Red-Hat-Enterprise-Linux-6-Certification-Test-Results-to-Oracle

[Update: 17-Apr-2012]

Oracle has finally certified 11gR2 on OEL6 and RHEL6. See the announcement here

Filed under: 11gR2, Linux, Oracle

Direct Path Reads – 11g Changed Behaviour

In 10g, serial full table scans for “large” tables used to always go through cache (by default). If table was small it was placed at most recently used (MRU) end of the buffer cache. If table is large it is placed at least recently used (LRU) end of the buffer cache.

In 11g, full table scan do not always go through the buffer cache. Decision to read via direct path or through cache is based (more...)

Guaranteed Restore Point and Flashback Mode – Incorrect Documentation

I was going to write a new post about change in behaviour of Guaranteed Restore Point and Flashback mode. But looks like someone has already written about it at given below link. Its seems behaviour has changed in 11gR2, but documentation still refers to old behaviour.


I have raised a Oracle Service Request to correct the documentation. Documentation Bug – 12763133.



Filed under: 11gR2, Backup, Flashback, Oracle

Turning Flashback ON – Incorrect Documentation

Oracle documentation states that you can not use the FLASHBACK database clause (i.e turn it ON or OFF) while database is OPEN. Flashback mode can be turned ON only when database is in MOUNT mode. This is true in Oracle version 10.1, 10.2, 11.1. But in 11gR2, Oracle actually allows you to turn on the flashback even in OPEN mode, even though documentation says otherwise. I have raised an Oracle Service (more...)

Oracle RMAN command prompt hang???

This afternoon on a Oracle installation, i was trying to run the Oracle RMAN utility. Rman cli was just hanging and not going into RMAN.

[oracle@linux2 ~]$ . oraenv
ORACLE_SID = [oracle] ? 11202
The Oracle base has been set to /opt/oracle/product/rhel4/database/
[oracle@linux2 ~]$ rman

After entering above rman command, nothing happened. It just hung on the command prompt. I did not receive any error at all. Hmm… whats happening? (more...)

Exadata Model Comparison

Many times i find myself comparing various Oracle Exadata models. It becomes tedious to compare various data sheets for various Exadata models. So i have put together this spreadsheet (Exadata Model Comparison) for comparing various models in one glance.

It gives following details and more.

  • At Exadata level,
  • number/model of compute nodes and cell nodes.
  • number of Infiniband switches and their port count.
  • Key capabilities ( as per data sheets)
  • For each database (more...)
  • Predefined Oracle System Schemas

    If you have ever wondered what are the various predefined internal Oracle system schemas, you can find the list of such accounts and their use in Oracle® Database 2 Day + Security Guide
    11g Release 2 (11.2)
    at this link. This list comes in handy, when you want to do some analysis on database objects, but want to exclude all internal Oracle provided system accounts and want to focus only on application level (more...)

    Resizing disks on Linux

    RHEL 5.3 x64 disks

    On a RHEL OS using LVM volume manager, you can extend the underlying disk and its associated filesytem (non-root) can be extended while its mounted.

    • Extend the underlying virtual/SAN disks.
    • Check the size of disk

    #   fdisk -l

    • Force the re-scan of disk, so that OS kernel can see the new size

    # echo 1 > /sys/block/sdb/device/rescan

    where disk extended was /dev/sdb

    • Extend LVM physical volume size.

    # (more...)

    Moving spfile between ASM and filesystem

    Normally in RAC, database instance spfile file is stored on ASM so that parameters remain consistent across the instance and all instance use the same spfile.

    For this sometimes init.ora has following parameter

    # cat $ORACLE_HOME/dbs/init<ORACLE_SID>.ora

    Now if you want to move spfile between ASM and filesystem, here how you can do it.


    From ASM -> Filesystem

    <pre>SQL> CREATE pfile='/tmp/initORACLESID.ora' from spfile='+DATA/ORACLESID/spfileORACLESID.ora';
    SQL> CREATE SPFILE='/tmp/spfileORACLESID.ora'  (more...)

    Linux auto start/stop scripts

    Normally DBAs and SAs have a tendency to create the auto start/stop scripts like following.

    # cat /etc/init.d/oracle
    case $1 in
    # ln -s /etc/init.d/Oracle /etc/rc.d/rc0.d/K01oracle
    # ln -s /etc/init.d/Oracle /etc/rc.d/rc3.d/S99oracle
    # ln -s /etc/init.d/Oracle /etc/rc.d/rc4.d/S99oracle
    # ln -s /etc/init.d/Oracle /etc/rc.d/rc5.d/S99oracle
    # ln -s /etc/init.d/Oracle /etc/rc.d/rc6.d/K01oracle

    This works (more...)


    In case you wanted to know which Oracle version a particular SQL hint is applicable in or was introduced in. You can query V$SQL_HINT introduced in 11g for that. It holds even historical information. Column “version” gives oracle version in which a particular hint was introduced and version_outline probably gives upto which version upto which it is applicable.

    [Update:2009-05-03 : Jonathan Lewis mentioned in a email to me that version_outline gives version in (more...)

    Log File Write And Waits

    Here are some interesting articles regarding log file writing and associated I/O waits.

    Jonanthan Lewis – Log File Write

    Riyaj Shamsudeen – Log file sync tuning

    Christian Bilien – Log file sync wait

    Posted in Oracle, Performance