This Document shows the step by step of upgrading
database from 10gR2 RAC to 11gR2 RAC. I have chosen the below upgrade path
which will allow me to upgrade 10gR2 Clusterware and ASM to 11gR2 Grid
infrastructure. In this upgrade Path, the original 10gR2 CRS installation was made
hidden as if there is no CRS existed. Then, the fresh installation of 11gR2
Grid Infrastructure was taken place and 10gR2 ASM diskgroups were moved and
mounted using the new 11gR2 Grid HOME. At this stage, the original 10gR2 RAC
database was managed by 11gR2 Grid HOME. At the end, the 11gR2 RAC database
home was installed and the original 10gR2 RAC database was upgraded to 11gR2
RAC manually.

Oracle Time Synchronization Service is chosen to be used
over the Linux system provided ntpd. So, ntpd needs to be
deactivated and deinstalled to avoid any possibility of it being conflicted
with the Oracle’s Cluster Time Sync Service (ctss).

While
Starting the 10gR2 RAC database, the below error was received. This is because,
as per Oracle, 11gR2 has dynamic configuration of cluster and 11gR1 or older
releases have static configuration.So,
in order to run older version databases in 11gR2, the cluster configuration
needs to be made persistent by pinning the nodes.

[oracle@node1 ~]$ which sqlplus

/u01/app/oracle/db/bin/sqlplus

[oracle@node1 ~]$ sqlplus / as
sysdba

SQL*Plus: Release 10.2.0.3.0 -
Production on Thu Oct 20 01:39:58 2011

Copyright (c) 1982, 2006,
Oracle.All Rights Reserved.

Connected to an idle instance.

SQL> startup

ORA-01078: failure in processing
system parameters

ORA-01565: error in identifying
file '+DATA/labdb/spfilelabdb.ora'

ORA-17503: ksfdopn:2 Failed to
open file +DATA/labdb/spfilelabdb.ora

ORA-15077: could not locate ASM
instance serving a required diskgroup

ORA-29701: unable to connect to
Cluster Manager

SQL>

/u01/app/grid11201/bin/crsctl pin css –n node1 node2 node3

The labdb
database was then started using sqlplus from 10gR2 home after pinning the node.
Then I had registered labdb to 11gR2 Grid using the 10gR2 srvctl (/u01/app/oracle/db/bin/srvctl
and ORACLE_HOME set to 10gR2) . The srvctl to
manage 10gR2 RAC database needs to be invoked from 10gR2 home itself until it
is upgraded to 11R2 RAC.