Blog Archives

Oracle RDBMS Patch Table for Release Upgrade by Mad Dog Morgan

It seems that I am not the only person suffering from Oracle application interfaces, like Metalink. It is always very hard for me to use them. Thanks to Dan Morgan that he has recently put a clear list of Oracle binary patches for a release upgrade by various paths: Oracle Database Upgrade Patches

I hope Dan will keep this list up to date for all Oracle application disabled guys 🙂

Advertisements

How to Become an Oracle Expert ?

dbaoftheyearYet another success of my career left behind, after being awarded as DBA of the Year by Oracle Magazine Editors’ Choice Awards 2009.

In this post you will find some tips I have been using throughout my career to become successful as an expert of Oracle RDBMS. Although fine grain details of the post are focused on Oracle RDBMS, it is not very hard to generalize those ideas to any expertise.

With my wishes of those tips to be helpful for young experts …

Fall in Love

I never thought Oracle software as a way of making money in first place. Oracle stuff is simply a natural extension of what I did as a 12 year old kid with QBASIC. Beginning at those days, “IT” has become my whole life. I never thought on returns or feasibility of my effort on it. The more time I spend, the deeper my love becomes and the deeper my love gets, the more time I devote.

One of the most popular questions I always see in youngsters mind is “Is Oracle worth putting effort to have an outstanding income?” To tell the truth, Oracle is may be one of the last resorts to be taken just to make “good money” as you think about bugs, crashes, nightly wakeups, etc. Instead I put my reason as “I am spending time as an Oracle expert because I love to solve problems about very large databases”

It is always a great challenge for me to look for a cost-effective, robust, and scalable solution for any kind of VLDB problem:

Search for the solution, find it, develop/architect it and be in proud with your solution when it lives on production…

Growing from Jedi Youndling to Jedi Grand Master

I think being a good player in enterprise arena or academy is strongly associated with finding an appropriate master for you. When I look back, I take myself as pretty lucky to have great masters at any stage of my career. Those masters will not only technically guide you, but also (and more importantly) they will give the necessary non-technical tips to make you successful in arena.

Obviously next step is to be a master. You might think this as a pay-back to community. But more importantly this is very critical to improve your own skills. It is appreciated that explaining a concept is pretty much different by knowing it in details. After starting to guide Oracle newbies, I have noticed that my presentation skills got improved. My expressive capabilities (reduction, simplification, exemplification, etc) for non technical people (managers, customers, etc) on technical stuff have improved. Finally it is a great motivation for me to keep my knowledge fresh.

Knowledge Share

As a child of a trader family, not to share our business secrets was always very essential. After choosing IT as my career path, I have understood that in order to become an esteemed expert, only way is to share knowhow instead of hiding it. Today’s web environment makes it almost impossible to hide a piece of information of our domain. Either you spread that piece of information and catch other’s interest or some other expert will do that.

Presenting, blogging, answering questions at user forums, or any other way of sharing your knowhow are very important for you to become a well-known member of community. At this point never underestimate yourself. Everybody, expert or newbie, have words to speak on expertise he/she works.

Put it in a New Form

Never hesitate to taste new things. It is also valid for Oracle Technologies (not just for food or beverage). One of my most important quotes in Oracle Magazine is

“I think to be a successful Oracle DBA, you should always be looking to adopt new database Technologies, but you should always need to be very conservative in testing those Technologies”

When I look back in my career, “new” always accompanies me. Here are a few of them:

  • Turkcell
    • First Oracle Database Beta Testing with 11g Release 2
    • First large size RAC project
    • Introducing ASM
  • Turkey
    • First and the only ACED in Turkey
  • World
    • Youngest ACED and DBA of the Year award winner.

Let first to know, first to try be all your desire.

Ensure that Your “Team” is Ready to Go Anytime

Keep in mind that all projects will have their own problems. You will either face with an unreported bug or stuck at some point on design. The question is how many people can you ignite in case that something fails. My way is to put as many distinct profiles as possible when I face with a problem:

  • Experts in my company
  • Oracle My Support
  • Members of ACS from our Oracle region, EMEA
  • Oracle Development Team
  • Oracle PM Team
  • Esteemed expert of community

As this profile list gets longer, one question might be how to alert that many people as it is required. One problem I always see is that people are trying to alert people as problems start. That is not a practical way that will work.

The way to take is to build up your network before any problem even before starting the project. You can build up this by attending user group meetings, conferences or sending emails to those experts and introducing your projects and yourself. You will have an army of experts ready to go for action if you don’t let them forget you.

DBA or Developer? This is the Question

Yet another popular question from youngsters is “Should I build my career path as a DBA or developer?” I first start working with Oracle as a SQL and PL/SQL developer, after that I managed a software team in a startup company and finally I have been working as a VLDB DBA.

All those stuff has nothing to do with technology and expertise. It is all about companies’ organizational hierarchy. They are simply “titles” to be written on your business cards. Systems like Oracle are so complicated that they don’t like titles. If you wish to have a “good” relationship with Oracle RDBMS, you should be a composition of

  • Good DBA
  • Good Developer
  • Intermediate OS Admin
  • Good Hardware Spec Reader & Benchmarker.

That is simply because any failure somewhere within the stack will return as a failure at RDBMS level. As an expert you should prevent this.

Return to Basics

Another question by engineering students during their undergraduate education is “Why do we take that many theoretical courses? What is their use in real life?” To cut it short I can simply say they are extremely important.

I can exemplify it with queuing theory (based on probability theory and statistics). I have seen many people in enterprise interpreting service time, wait time, number of waiting requests, max wait time, etc in different contexts like I/O, network, OWI, etc. erroneously.

Indeed, three basic chapters from any queuing theory book are sufficient to interpret them correctly:

  • T = E +W
  • Little’s Law
  • Markov Chains

Unfortunately, today’s hardware and software is hard to understand by just knowing 4 arithmetic operations. So taking basic probability theory, simulation systems, queuing theory, algorithm analysis, linear/non-linear/stochastic equations has a great effect on me to interpret/solve enterprise level problems.

How to Backup & Recover Enormous Databases ?

Hi there,

I am finally back from UKOUG and I am sharing my presentation on backup & recovery of enourmous databases.

How to Install Oracle 11g Release 2 on OEL 5.4 on VirtualBox: Managing ASM with ASMCA

In the previous post, I have tried to explain how to install Grid Infrastructure on your VirtualBox instance. In this post, before moving to the next post in which I will be explaining RDBMS 11g Release 2 configuration, I wish to look at a new tool shipped with Grid Infrastructure, namely ASMCA(ASM Configuration Assistant).

We will not be going deep with ASMCA in this post but rather it will be just like a first contact with aliens. ASMCA is a very capable and accompanying tool with the new capabilities of ASM like ADVM or ACFS.

Starting with ASMCA

init Starting ASMCA is simple. Go to your GRID_HOME set ORACLE_SID to +ASM and run asmca binary.

[oracle@localhost ~]$ export ORACLE_HOME =/u01/app/oracle/product/11.2.0/grid
[oracle@localhost ~]$ export ORACLE_SID = +ASM
[oracle@localhost ~]$ $ORACLE_HOME/bin/asmca
 

As you will notice there is already one disk group namely DATA listed under Disk Gruops pane. This is the one created during Grid Infrastructure installation.
Now click on Create to create our FRA diskgroup.

creatediskgroup As you click on Create button a new dialog to create your new disk group will appear. 
Enter FRA for Disk Group Name textbox.
Choose External(None) radio button to choose external ASM redundancy.
Notice that not all disks (asm disks) are available for your use (this controlled by two radio buttons in Select Member Disks pane) Select all three disks for FRA.
Now click on Show Advanced Options button to see RDBMS and ASM compatibilities.
advancedoptions Notice that ASM and Database Compatibility fields are both set to 11.2.0.0.0
This means ASM instance will allow you to use all new features introduced in 11.2 for this diskgroup but the minimum RDMS instance can use this diskgroup should be in 11.2 release.
Click on Hide Advance Options button and then OK to complete diskgroup creation.
creatediskgroup2 ASM will do the necessary initializations to create FRA diskgroup and switch back to initial screen after it is done.
rightclickondiskgruop As you see FRA is created and mounted by your ASM instance.
rightclickonDATA Now right click on your DATA diskgroup. In the list ASMCA allows you to

  • Add Disks into the diskgroup
  • Edit Attributes of the diskgroup
  • Manage Templates for the diskgroup
  • Mount/Dismount the diskgroup
  • Drop the diskgroup

Choose Edit Attributes from the list to see attributes of DATA diskgroup.

diskgroupProperties As you see ASMCA enables the attribute fields those are possible to modify and disables the static ones (the ones fixed in creation of diskgroup).
Click X to close this window.
exit Click on Exit button to leave ASMCA.

ASMCA is the youngest member of Oracle *CA family. It seems that ASM users will be using it actively for management by the new features in 11g Release 2. Such as,

  • ASM Volume (ADVM) Management
  • ASM File System (ACFS) Management
  • Read-only snapshot management

How to become an Oracle Expert ?

Read the post recently published in my company’s blog to learn how I become an Oracle expert.

How to Install Oracle 11g Release 2 on OEL 5.4 on VirtualBox: Installing Grid Infrastructure

In Oracle 11g Release 2 you will find that things have changed even for single instance database installation. I will try to illustrate in this series of posts how to install a single instance Oracle 11g Release 2 database to your Linux machines.

As the first part of our installation series, we will start by installing brand new Grid Infrastructure which you might think to be a fancy name for CRS+ASM but you will find out later that it is a bit more.

VirtualBox Configuration

Here is the sufficient VirtualBox virtual hardware configuration for your 11g Release 2 playground (Keep in mind that this is the bare minimum configuration to have a painless installation. More resource is obviously better):

Hardware Amount Description
Memory 512MB Although minimum memory requirement for Oracle 11g Release 2 in a real production environment is documented to be 1024M, for all practical requirements of your playground 512MB will be sufficient.
Root Disk 16GB 16 GB root disk for OS+SWAP+Oracle Binary space will be sufficient
ASM Disks 6x2GB SCSI Disks Oracle 11g Release 2 Beta 2 AyarlarWe will be doing an ASM based installation so 6 disks over SCSI interface will be enough to simulate a real life experience with ASM.

You are now ready to start your VirtualBox for Oracle 11g Release 2 installation.

Install Grid Infrastructure

Pre-work

There are a few important tasks in OS level we should complete before starting grid infrastructure installation.

Physical Partition Creation

The first thing is to create physical partitions over your virtual SCSI devices. Actually this is not crucial for ASM installation because ASM can use physical disk as a whole without any partition. However if you wish to create ASMLIB you will need those partitions.

[root@localhost ~]# fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won’t be recoverable.Warning: invalid flag 0x0000 of partition table will be corrected by w(rite)Command (m for help): n
Command action
e     extended
p     primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-261, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261):
Using default value 261Command (m for help): w
The partition table has been altered!

 

Calling ioctl() to re-read partition table.
Synching disks.

Changing ASM devices ownership to oracle

Physical partitions we have created are owned by root. They should be changed to be owned by ASM user (oracle in our case) in order to make them visible for ASM discovery.

[root@localhost ~]# lsla /dev/sd?1
brw-r—– 1 root disk 8,  1 Sep 21 05:03 /dev/sda1
brw-r—– 1 root disk 8, 17 Sep 21 05:03 /dev/sdb1
brw-r—– 1 root disk 8, 33 Sep 21 05:03 /dev/sdc1
brw-r—– 1 root disk 8, 49 Sep 21 05:03 /dev/sdd1
brw-r—– 1 root disk 8, 65 Sep 21 05:03 /dev/sde1
brw-r—– 1 root disk 8, 81 Sep 21 05:03 /dev/sdf1[root@localhost ~]# chown oracle:dba /dev/sd?1[root@localhost ~]# ls –la /dev/sd?1
brw-r—– 1 oracle dba 8,  1 Sep 21 05:03 /dev/sda1
brw-r—– 1 oracle dba 8, 17 Sep 21 05:03 /dev/sdb1
brw-r—– 1 oracle dba 8, 33 Sep 21 05:03 /dev/sdc1
brw-r—– 1 oracle dba 8, 49 Sep 21 05:03 /dev/sdd1
brw-r—– 1 oracle dba 8, 65 Sep 21 05:03 /dev/sde1
brw-r—– 1 oracle dba 8, 81 Sep 21 05:03 /dev/sdf1

In order to make those changes permanent (if you reboot the system Linux will set all device owners back to root otherwise) you should create a udev permission file

[root@localhost ~]# more /etc/udev/rules.d/99-oracle.rules
#ASM disks
KERNEL==”sda”, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
KERNEL==”sdb”, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
KERNEL==”sdc”, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
KERNEL==”sdd”, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
KERNEL==”sde”, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
KERNEL==”sdf”, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″

Ensure /dev/shm is sufficiently sized

You should ensure that /dev/shm is minimum 256MB for a successful ASM installation (and 512-750M for RDBMS installation) with MEMORY_TARGET parameter.

[root@localhost ~]# dfha
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 15G 9.9G 3.9G 72% /
proc 0 0 0 /proc
sysfs 0 0 0 /sys
devpts 0 0 0 /dev/pts
/dev/hda1 99M 32M 63M 34% /boot
tempfs 125M 0 125M 0% /dev/shm
none 0 0 0 /proc/sys/fs/binfmt_misc
sunrpc 0 0 0 /var/lib/nfs/rpc_pipefs
oracleasmfs 0 0 0 /dev/oracleasm

You can resize tempfs online by using

[root@localhost ~]# mount /dev/shm –o size=750M,remount

In order to make this mount operation persistent you should modify the tempfs line in /etc/fstab file as follows:

[root@localhost ~]# cat /etc/fstab | grep tempfs
tmpfs                   /dev/shm                tmpfs   size=750m        0 0

Notice that although we have VirtualBox instance with 512M memory, Linux allows us to mount tempfs with a size of 750M. This most probably due to lazy allocation of memory over tempfs.

Create installation directory and set its ownership

Final step is to create our software directory and set the required ownership to it.

[root@localhost ~]# mkdir -p /u01/app
[root@localhost ~]# chown -R oracle:oinstall /u01/app/oracle

Installation

Camtasia Studio (5)
[oracle@localhost ~]$ unzip linux_11gR2_grid.zip
[oracle@localhost ~]$ cd grid
[oracle@localhost grid]$ ./runInstaller
Camtasia Studio (7) Choose Install and Configure Grid Infrastructure for a Standalone Server option and click on Next > button.
Camtasia Studio (14) Set Selected Language language to English and click on Next > button.
Camtasia Studio (9) Next step is to perform ASM configuration for your grid. Choose External as the redundancy of DATA diskgroup. Now click on Change Discovery Path… button to define asm_diskstring parameter.
Camtasia Studio (15) Set Disk Discovery Path to /dev/sd?1 and click on OK
Camtasia Studio (16) Since /dev/sd?1 matches all six SCSI partitions and they are not members of any other diskgroup, installer will list all of them as Candidate disks.Check-out /dev/sda1,/dev/sdb1,/dev/sdc1 devices as members disks of DATA diskgroup then click on Next >Other disks will be used for Flash Recovery Area later on.
Camtasia Studio (17) Choose Use same passwords for these account for a simple configuration then set Specify Password and Confirm Password fields to same password strings and click on Next >.I will be using sysadm throughout the post for any Oracle password required.
Camtasia Studio (18) One of the security enhancements introduced in Release 2 is the separation of different levels of ASM access. This defines different roles for “Who can start/stop ASM instance ?”, “Who can add/drop disks to/from diskgroups?” or “Who can use those diskgroups at RDBMS level ?”For the simplicity of installation we will be setting all roles to dba group.Now set all three select lists to dba and click on Next >.
Camtasia Studio (52) Set Oracle Base to /u01/app/oracle and Software Location to /u01/app/oracle/product/11.2.0/grid. Then click on Next >.
Camtasia Studio (22) Next step is unique to first Oracle software installation as you all may know. You should set Inventory Directory (if it is not already set by installer) to /u01/app/oraInventory. Keep oraInventory Group Name as oinstall and click on Next >
Camtasia Studio (23) In this step installer will check the installation prerequisites as it does in previous releases.
Camtasia Studio (26) By 11g Release 2, if any of the prerequisites fail it will be reported in a tree structure with different categories. In my case majority of the kernel settings are automatically managed since I have installed oracle-validated-configuration rpm during OEL installation.Only problem seems to be insufficiently sized core.net.wmem_max which is defined to be the maximum socket send buffer size.When you click on Fix & Check Again button, installer will generate a single shell script for you to correct all fixable errors and after its execution it will recheck for any possible problems left.
Camtasia Studio (27) Run the generated script as root user

[root@localhost ~]# /tmp/CVU_11.2.0.0.2_oracle/runfixup.sh
Response file being used is :/tmp/CVU_11.2.0.0.2_oracle/fixup.response
Enable file being used is :/tmp/CVU_11.2.0.0.2_oracle/fixup.enable
Log file location: /tmp/CVU_11.2.0.0.2_oracle/orarun.log
Setting Kernel Parameters…
net.core.wmem_max = 262144
net.core.wmem_max = 1048576

When the script is executed click OK to restart the prerequisite check process.

Camtasia Studio (31) As you see kernel parameter problem has gone. Other three errors can not be corrected by installer automatically, but we know that those are not critical ones. First one is PhysicalMemory error due to our VirtualBox 512 MB memory size. The second one is insufficient SwapSize that can be by-passed also for a play ground. And the final problem is RunLevel of Linux which is also not a great deal for us.Now check Ignore All and click on Next > (button will be enabled after checking out Ignore All) to continue.
Camtasia Studio (32) On the summary screen confirm that everything is ok and click on Finish to start installation.
Camtasia Studio (35) After installer successfully completes copy,install,link,etc steps it will pop-up a root.sh execution dialog. Run the required scripts as root.

[root@localhost ~]# /u01/app/oraInventory/orainstRoot.sh
[root@localhost ~]# /u01/app/oracle/product/11.2.0/grid/root.sh

Then switch back to installation dialog and click OK in Execute Configuration scripts dialog to proceed.

Camtasia Studio (45) Final tasks for installer will be to configure new HA service for ASM, diskgroup (DATA) and the default listener (on port 1521) which will be automatically configured also .
Camtasia Studio (48) Finally we are done 🙂 Your ASM, default listener, and HA service is ready to be used.

Post Installation Checks

Login ASM

[oracle@localhost ~]$ export ORACLE_HOME = /u01/app/oracle/product/11.2.0/grid [oracle@localhost ~]$ export ORACLE_SID = +ASM
[oracle@localhost ~]$ export PATH = $ORACLE_HOME/bin:$PATH
[oracle@localhost ~]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.0.2 Beta on Mon Sep 21 05:45:58 2009 Copyright © 1982, 2009, Oracle. All right reserved. Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.0.2 – Beta
With the Automatic Storage Management option

 

SQL> select name from v$asm_diskgroup;

NAME
——————————
DATA

Check Default Listener Status

[oracle@localhost ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 – Production on 31-OCT-2009 12:05:36 Copyright (c) 1991, 2009, Oracle.  All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
————————
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 – Production
Start Date                31-OCT-2009 11:51:00
Uptime                    0 days 0 hr. 14 min. 37 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Services Summary…
Service “+ASM” has 1 instance(s).
Instance “+ASM”, status READY, has 1 handler(s) for this service…
The command completed successfully

Check HA Targets

[oracle@localhost ~]$ crs_stat -t
Name           Type           Target    State     Host
————————————————————
ora.DATA.dg    ora….up.type ONLINE    ONLINE    localhost
ora….ER.lsnr ora….er.type ONLINE    ONLINE    localhost
ora.asm        ora.asm.type   ONLINE    ONLINE    localhost
ora.cssd       ora.cssd.type  ONLINE    ONLINE    localhost
ora.diskmon    ora….on.type ONLINE    ONLINE    localhost

RMAN Active Duplicate

All you may now that RMAN DUPLICATE command has two modes by 11g Release 1. The first mode is the good old Offline Duplicate which is based on making backups of the source system available to target system first.

offline Although it is a very useful feature, the basic problem with that  is to keep a staging are (either on tape or disk) to duplicate your database. When it comes to duplicate VLDBs it is always a problem.

The second mode is the so-called Active Duplicate which requires no staging area at all, but utilize the TCP/IP network (SQL*Net Layer) on the fly to ship what ever required to duplicate your database.

activeI think this feature is one of the best features introduced in 11g Release 1 for DBAs who are constantly duplicating their databases  (either full or partial) as test,poc, or/and development environments.

In this post you will find a playground example of this perfect tool to clone an Oracle 11g Release 2 database running on VirtualBox over another VirtualBox machine.

Create a Listener in RDBMS Home (Clone Site)

As you might notice by 11g Release 2, Oracle has standardized the default listener to be located in grid home. So we will not be using the default listener (on port 1521) for our clone database but create a new one on port 1525.

$ export ORACLE_HOME = /u01/app/oracle/product/11.1.0/rdbms

$ export ORACLE_SID = pgroundt

$ export PATH = $ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

$ netca

Oracle Net Services Configuration:

image Choose “Listener configuration” option and click on “Next”
image Choose “Add” option and click on “Next”
image Choose LISTENERT as the “Listener name” and click on “Next”
image Choose TCP as the “Selected Protocols” and click on “Next”
image Set “Use another port number” field to “1521 and click on “Next”
image Choose “No”  and click on “Next”
image Click on “Next”
image Click on “Finish” to leave NETCA

Fine Tunes

There  are two  important fine tunes we should do. first one is to change listener HOST parameter to a valid IP address and then to modify the listener we have created in a way that listener can accept connections even when the clone instance is not up. So open listener.ora with your vi editor

$ cd $ORACLE/network/admin

$ vi listener.ora

# Generated by Oracle configuration tools.

ADR_BASE_LISTENERT = /u01/app/oracle

LISTENERT =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP) (HOST = localhost.localdomain) (PORT=1525))

)

)

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENERT = ON

First change the HOST parameter of the listener to an IP that can be accessible from the source machine (I have created a private network between to virtual machines, you can find how to do this on VirtualBox HOWTOs and tutorials page)

Then add SID_LIST for the LISTENERT:

# Generated by Oracle configuration tools.

ADR_BASE_LISTENERT = /u01/app/oracle

SID_LIST_LISTENERT =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = pgroundt)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/rdbms01)

(SID_NAME= pgroundt)

)

)

LISTENERT =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP) (HOST = 10.2.0.6) (PORT=1525))

)

)

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENERT = ON

Now you are ready to restart your  listener LISTENERT.First stop the listener

$ lsnrctl stop LISTENERT

Then start it

$ lsnrctl start LISTENERT

At the bottom line of output if you see

Service “pgroundt” has 1 instance(s).

Instance “pgroundt”, status UNKNOWN, has 1 handler(s) for this service…

The command completed successfully

you are done with the listener configuration.

Create a Seed Parameter File and Start Your Clone Instance (Clone Site)

In the next step, we will be starting the clone instance with a very primitive server parameter file to let RMAN to connect it and restore SPFILE from source site.

$ cat pgroundt.ora

DB_NAME = pgroundt

diagnostic_dest = ’/u01/app/oracle’

CONTROL_FILES = ’+DATA’,’+FRA’

COMPATIBLE = 11.2.0.0.0

You can now start the instance with this seed parameter file

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Oct 22 13:58:18 2009

Copyright © 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount pfile = pgroundt.ora

ORACLE instance started.

Create Password Files at Clone and Source Sites

Equality of passwords for SYS user is critical for DUPLICATE to work when clone and source instances are located on different hosts. I will be using SYSADM for SYS password.

Clone Site

$ cd $ORACLE_HOME/dbs

$ rm orapwpground

$ orapwd file = orapwpgroundt

Enter password for SYS:

$

Source Site

Switch to VirtualBox machine that contains the source database

$ cd $ORACLE_HOME/dbs

$ orapwd file = orapwpground force = y

Enter password for SYS:

$

Modify TNSNAMES.ORA at Source Site to Reach Clone Instance (Source Site)

Next step will be to add TNS entry for clone instance into the TNSNAMES.ora file of the source site:

$ cd $ORACLE_HOME/network/admin

$ vi tnsnames.ora

Add the following lines into file then save & exit:

PGROUNDT =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP) (HOST = 10.2.0.6) (PORT=1525))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = pgroundt)

)

)

Ensure that you can connect to the NOMOUNT state clone instance over TNS from source site.

$ sqlplus sys@pgroundt as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Oct 22 14:04:08 2009

Copyright © 1982, 2009, Oracle. All rights reserved.

Enter password:

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production With the Partitioning, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options

SQL>

Create ADUMP Destination at Clone (Clone Site)

Audit log directory will not be generated by Oracle automatically as opposed to diagnostic destination directory hierarchy. So you should manually create before starting DUPLICATE. Now switch back to clone instance and create adump directory

$ cd /u01/app/oracle

$ mkdir –p admin/pgroundt/adump

Start DUPLICATE (Source Site)

After all, you are ready to run DUPLICATE. Switch back to source site and start DUPLICATE

$ rman log = ’duplicate.log’

RMAN> connect target sys@pground

target database Password:

RMAN> connect auxiliary sys@pgroundt

auxiliary database Password:

RMAN> DUPLICATE TARGET DATABASE

TO pgroundt

FROM ACTIVE DATABASE

SPFILE

PARAMETER_VALUE_CONVERT ‘/u01/app/oracle/admin/pground’,‘/u01/app/oracle/admin/pgroundt’

NOFILENAMECHECK;2> 3> 4> 5> 6>

You can find my duplicate.log file to see what RMAN is doing during DUPLICATE operation.

You are Done (Clone Site)

If duplication is completed without an error, your clone database will be up on the clone VirtualBox. Switch to clone VirtualBox instance and check it.

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Oct 22 14:04:08 2009

Copyright © 1982, 2009, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production With the Partitioning, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options

SQL> select count(*) from dba_tables;

COUNT(*)

———-

2719

SQL>

For More

“Oracle Database Backup-and-Recovery Best Practices and New Features” Material

In Open World 2009, my second presentation was a joint session with my friend Timothy Chien who works for Oracle as Principal Product Manager of Database HA products. The room was almost full (~900 people).Thanks to all attendees.  It seems this topic is still hot :). You can find Tim’s and my part below:

  • Part 1 (Timothy Chien’s Presentation)
  • Part 2 (Husnu Sensoy’s Presentation)

“How to Achieve All in One with Oracle 11g” Material

Here is the content of my first presentation in Open World 2009:

How to Achieve All in One with Oracle 11g

My Comments on Voltaire InfiniBand (IB)

logo_voltaire_sm As you all may know Voltaire is one of the most prominent IB technology vendors and investors had the partnership with Oracle in building Exadata Version 1. Yet another beautiful thing about Voltaire is that it is one of the companies invest on Open Source technologies and HPC (High Performance Computing) a lot, like OFED stack development on Linux.

You can find my comments about Voltaire 20Gbit IB solution which we have already used in our large (25TB) RAC consolidation project on Oracle 11g Release 1.

Business Worldwide Choose Voltaire InfiniBand to Enhance  Performance and Scalability of Oracle RAC