MEMORY_TARGET (SGA_TARGET) or HugePages – which to choose?

Oracle 10g introduced the SGA_TARGET and SGA_MAX_SIZE parameter which dynamically resized many SGA components on demand. With 11g Oracle developed this feature further to include the PGA as well – the feature is now called “Automatic Memory Management” (AMM) which is enabled by setting the parameter MEMORY_TARGET.

Automatic Memory Management makes use of the SHMFS – a pseudo file system just like /proc. Every file created in the SHMFS is created in memory.

Unfortunately using MEMORY_TARGET or MEMORY_MAX_SIZE together with Huge Pages is not supported. You have to choose either Automatic Memory Management or HugePages. In this post i´d like to discuss AMM and Huge Pages.

Continue reading MEMORY_TARGET (SGA_TARGET) or HugePages – which to choose?

Oracle 11g Release 2 – RMAN compression comparison

Starting with Oracle 11g Oracle added several compression algorithms to compress data. They can be used for compressing tables, LOBs , compressed data pump exports or even RMAN backups. Unfortunately for some compression algorithms you need to purchase the “Advanced Compression Option”. The following table lists the available RMAN compression options, the most likely compression algorithm being used and states if an additional license is required:

[table id=13 /]

This article is intended to take a look at the different compression methods available in Oracle 11g and to compare them.

Continue reading Oracle 11g Release 2 – RMAN compression comparison

Calculate required kernel parameters for running Oracle 11g Release 2 on Linux

The following is a short guide on how to calculate the required kernel parameters for running Oracle 11g Release 2 database on Linux.

In addition to that i add some parameters recommended by myself.

Note that for running Oracle Grid Infrastrucure (aka “Clusterware”) some additional parameters might be required.

Continue reading Calculate required kernel parameters for running Oracle 11g Release 2 on Linux

ASM resilvering – or – how to recover your crashed cluster

In this and the following posts i will perform some crash and recover scenarios and show how to recover the cluster successfully.

At the moment the following tests are planned and will be published during the next days:

The environment used for the posts are explained in detail here.

Useful scripts can be found here.

ASM resilvering – or – how to recover your crashed cluster – Test no 4

Test #4: Corrupting the ASM disk with ASM disk group being online and active

After overwriting the ASM disk header while the disk group was offline we will now put some load on the full running cluster and corrupt the asm disk slightly.

Continue reading ASM resilvering – or – how to recover your crashed cluster – Test no 4

The Oracle Database File System (DBFS)

The following post is a summary of my tests with DBFS on a 11g Release 2 RAC.

DBFS – An Overview

Since the introduction of LOBs the database was used to store all kinds of files, for instance images, audio files, video files or even text files. Starting with Oracle 11g Release 1 introduced SecureFiles which introduced compression and de-duplication.

Oracle Database Filesystem (DBFS) creates a mountable file system which can be used to access files stored in the database as SecureFile LOBs. DBFS is a shared file system like NFS and consists of a server (the database) and a client. Just like a traditional database connection server and client can be on different systems which communicate over SQLNet. The same applies to DBFS as well.

The following figure illustrates DBFS:



Continue reading The Oracle Database File System (DBFS)

Oracle 11g Release 2 – How to enable SSH equivalence

There is a problem with shared oracle homes on ACFS documented here.

However if you have not configured SSH equivalence before this short guide shows how to do set up ssh equivalence between the nodes “” and “”:

1. Unpack the database installation files

2. Execute:

  -user ora11p -hosts "" -shared

-user: the name of the user for ssh equivalence to be configured
-hosts: space separated list of node names
-shared: indicates a shared oracle home (on acfs or nfs)

3. Check it

/usr/bin/ssh -o FallBackToRsh=no  -o PasswordAuthentication=no 
  -o StrictHostKeyChecking=yes  -o NumberOfPasswordPrompts=0 rac2 /bin/date
/usr/bin/ssh -o FallBackToRsh=no  -o PasswordAuthentication=no
  -o StrictHostKeyChecking=yes  -o NumberOfPasswordPrompts=0 rac1 /bin/date

The two commands above should return the current date. Thats it.

Oracle 11 Release 2 Install Guide – Creating a RAC database

This is the final part of the Oracle 11g Release 2 installation guide. At this point you should have:

  • Oracle database and grid infrastructure binaries installed
  • at least ONE or better two disk groups configured for:
    • database and binary files
    • flash recovery area

Our database name will be “ORA11P”.


  • create directory for cfgtools
create /u01/app/oracle/cfgtoollogs
mkdir -p /u01/app/oracle/cfgtoollogs
chown root:dba /u01/app/oracle/cfgtoollogs
chmod 775 /u01/app/oracle/cfgtoollogs
  • Check SSH equivalence once again:
    execute as user „ora11p“ (this is the user holding the oracle database binary installation):
/usr/bin/ssh -o FallBackToRsh=no  -o PasswordAuthentication=no 
  -o StrictHostKeyChecking=yes  -o NumberOfPasswordPrompts=0 rac2 /bin/date
/usr/bin/ssh -o FallBackToRsh=no  -o PasswordAuthentication=no 
  -o StrictHostKeyChecking=yes  -o NumberOfPasswordPrompts=0 rac1 /bin/date

Both commands should return the current date. If there are errors like „connection refused“, check:

  • network connectivity between both nodes
  • does a „normal“ SSH connection works?:
    • ssh root@rac1-priv
    • ssh root@rac1
    • ssh root@rac2-priv
    • ssh root@rac2

both commands should prompt for a password.

If SSH was working before and seems “gone” you might face a problem documented here.

  • add ACFS oracle home to cluster registry
$GRID_HOME/bin/srvctl add filesystem -d /dev/asm/ora11p_home-132
  -v ora11p_home -g DATA2 -m /u01/app/oracle/product/11.2.0/ora11p -u ora11p

-d: path of advm volume
-v: name of volume
-m: mount point path

„-u ora11p“ ist important and must match the owner of the database binary installation; else dbca will raise error compaining about missing permissions

Create the database with dbca

Start dbca























Where to go now?

  • Tune Instance, for instance:
    • memory_target
    • db_writer_processes
    • sessions parameter
  • Configure, perform and test your backup

Oracle 11g Release 2 – SCAN explained

Starting with Oracle 11g Release 2 Oracle introduced a new cluster database connection concept: SCAN – “Single Client Access Name”.

SCAN on the server side

When installing a 11g Release 2 grid infrastructure you are asked for the cluster name which will be part of the SCAN. The notation for the SCAN is:


For instance if your cluster is named “rac” and the domain “” the SCAN name will be “”.

In order to successful install grid infrastructure you need to configure your DNS (hosts file entries will not work!) prior installing grid infrastructure to resolve the name accordingly. Oracle requires at least one, better three IPs configured for the scan name. Your DNS zone file might look like this:



In the example zone file above we configured three IPs for the scan:, and

After installation you will find three listener processes running (separated on all cluster nodes) as shown in the following figure:


Listener for SCAN2 and SCAN3 are running on node “rac1” and listener for SCAN1 is running on node “rac2”. For each SCAN listener there will be a dedicated network interface running with the same IP as configured in DNS:


Client connections

Connection to database “RAC11P” using SCAN would use this tnsnames entry:

RAC11P =

The “old fashioned” way still works:

RAC11P_old =

Connecting to a named instance:

RAC11P =