I don’t have separate ASM home. I’m keeping ASM in ORACLE_HOME itself; So Now going to continue my database & asm upgrade.
- From oracle user you need to exeucte      “runInstaller” then you will get below screen shot.
- Please make sure your ORACLE_HOME in your path.
- Please check any listener running from all nodes;      (Else it’s will create problem)
- Please check any database/asm instance      running  (If yes; pls shutdown those      instance)
For example:
[oracle@linux1 bin]$ ps -ef | grep pmon
oracle 11993 22392 0 13:16 pts/2 00:00:00 grep pmon
[oracle@linux1 bin]$ ps -ef | grep lsn
oracle    5155     1  0 11:06 ?        00:00:08 
/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_LINUX1 -inherit
oracle 12000 22392 0 13:16 pts/2 00:00:00 grep lsn
[oracle@linux1 bin]$
[oracle@linux1 bin]$ lsnrctl stop LISTENER_LINUX1
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 19-JUL-2009 13:16:42
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
Connecting to 
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux1-vip.gen.com)(PORT=1521)(IP=FIRST)))
The command completed successfully
[oracle@linux2 bin]$ ps -ef | grep LISTENER_LINUX2
oracle   12726     1  0 13:29 ?        00:00:01 
/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_LINUX2 -inherit
oracle   14894  8929  0 13:36 pts/1    00:00:00 grep LISTENER_LINUX2
[oracle@linux2 bin]$ lsnrctl stop LISTENER_LINUX2
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 19-JUL-2009 13:36:35
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
Connecting to 
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux2-vip.gen.com)(PORT=1521)(IP=FIRST)))
The command completed successfully
[oracle@linux2 bin]$
[oracle@linux2 bin]$ ps -ef | grep pmon
oracle   14993  8929  9 13:36 pts/1    00:00:00 grep pmon
[oracle@linux2 bin]$ ps -ef | grep lsn
oracle   15002  8929  0 13:36 pts/1    00:00:00 grep lsn
[oracle@linux2 bin]$
Before upgrade cluster status & Listener status
[root@linux1 bin]# ./crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.devdb.db   application    OFFLINE   OFFLINE
ora....b1.inst application    OFFLINE   OFFLINE
ora....b2.inst application    OFFLINE   OFFLINE
ora...._taf.cs application    OFFLINE   OFFLINE
ora....db1.srv application    OFFLINE   OFFLINE
ora....db2.srv application    OFFLINE   OFFLINE
ora....SM1.asm application    ONLINE    ONLINE    linux1
ora....X1.lsnr application    ONLINE    ONLINE    linux1
ora.linux1.gsd application    ONLINE    ONLINE    linux1
ora.linux1.ons application    ONLINE    ONLINE    linux1
ora.linux1.vip application    ONLINE    ONLINE    linux1
ora....SM2.asm application    ONLINE    ONLINE    linux2
ora....X2.lsnr application    ONLINE    ONLINE    linux2
ora.linux2.gsd application    ONLINE    ONLINE    linux2
ora.linux2.ons application    ONLINE    ONLINE    linux2
ora.linux2.vip application    ONLINE    ONLINE    linux2
[oracle@linux1 bin]$ ps -ef | grep lsn
oracle    8117     1  0 03:17 ?        00:00:02 
/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_LINUX1 -inherit
oracle   12039 10732  0 03:28 pts/3    00:00:00 grep lsn
[oracle@linux1 bin]$
[oracle@linux1 bin]$ lsnrctl stop LISTENER_LINUX1
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 25-JUL-2009 03:28:18
Copyright (c) 1991, 2007, Oracle.  All rights reserved.
Connecting to 
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux1-vip.gen.com)(PORT=1521)(IP=FIRST)))
The command completed successfully
[oracle@linux1 bin]$
[oracle@linux1 bin]$ ps -ef | grep lsn
oracle   12085 10732  0 03:28 pts/3    00:00:00 grep lsn
[oracle@linux1 bin]$
[oracle@linux1 bin]$ ps -ef | grep pmon
oracle    8024     1  0 03:17 ?        00:00:03 asm_pmon_+ASM1
oracle   12162 10732  0 03:28 pts/3    00:00:00 grep pmon
[oracle@linux1 bin]$
[oracle@linux2 ~]$ cd /u01/app/oracle/product/10.2.0/crs/bin/
[oracle@linux2 bin]$ ps -ef | grep lsn
oracle    7134     1  0 03:19 ?        00:00:01 
/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_LINUX2 -inherit
oracle   10678 10552  0 03:29 pts/2    00:00:00 grep lsn
[oracle@linux2 bin]$
[oracle@linux2 bin]$ lsnrctl stop LISTENER_LINUX2
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 25-JUL-2009 03:29:45
Copyright (c) 1991, 2007, Oracle.  All rights reserved.
Connecting to 
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux2-vip.gen.com)(PORT=1521)(IP=FIRST)))
The command completed successfully
[oracle@linux2 bin]$
[oracle@linux2 bin]$ ps -ef | grep pmon
oracle   10784     1 21 03:29 ?        00:00:00 asm_pmon_+ASM2
oracle   10806 10552  0 03:30 pts/2    00:00:00 grep pmon
Step2:
This is TWO Nodes cluster; that’s why you will get your cluster nodes names list.
Step3
If you want register you CSI Nr then you can otherwise ignore this slide
Step4
This is pre-request checking steps; in case any thing wrong here you will come to know all the details.
Step5
Once successfully completed your pre-request then continue the patch installation on cluster.
Step6:
Now you need to execute below script for all nodes (Using root user)
/u01/app/oracle/product/10.2.0/db_1/root.sh
[root@linux1 bin]# /u01/app/oracle/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/10.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
[root@linux2 bin]# /u01/app/oracle/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/10.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
[oracle@linux1 bin]$ . oraenv
ORACLE_SID = [devdb1] ? devdb
[oracle@linux1 bin]$ export ORACLE_SID=devdb1
[oracle@linux1 bin]$ sqlplus '/as sysdba'
SQL*Plus: Release 10.2.0.4.0 - Production on Sat Jul 25 03:38:20 2009
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area  285212672 bytes
Fixed Size                  1267044 bytes
Variable Size             100666012 bytes
Database Buffers          176160768 bytes
Redo Buffers                7118848 bytes
SQL>
SQL> show parameter clus
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cluster_database                     boolean     TRUE
cluster_database_instances           integer     2
cluster_interconnects                string
SQL> alter system set cluster_database=FALSE scope=spfile;
System altered.
SQL> shutdown
ORA-01507: database not mounted
ORACLE instance shut down.
SQL>
SQL> exit
Disconnected from Oracle Database 10g 
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
[oracle@linux1 bin]$ sqlplus '/as sysdba'
SQL*Plus: Release 10.2.0.4.0 - Production on Sat Jul 25 03:40:20 2009
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
Connected to an idle instance.
SQL> startup upgrade
ORACLE instance started.
Total System Global Area  285212672 bytes
Fixed Size                  1267044 bytes
Variable Size             100666012 bytes
Database Buffers          176160768 bytes
Redo Buffers                7118848 bytes
Database mounted.
Database opened.
SQL>
SQL> show parameter cluster
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cluster_database                     boolean     FALSE
cluster_database_instances           integer     1
cluster_interconnects                string
SQL>
SQL>
SQL> spool /u01/patch.log
SQL>
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql
...
..
......
No errors.
No errors.
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP RUL        2009-07-25 11:54:47
DBUA_TIMESTAMP RUL        VALID       2009-07-25 11:54:47
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UPGRD_END  2009-07-25 11:54:50
.
Oracle Database 10.2 Upgrade Status Utility           07-25-2009 11:54:50
.
Component                                Status         Version  HH:MM:SS
Oracle Database Server                    VALID      10.2.0.4.0  01:23:50
JServer JAVA Virtual Machine              VALID      10.2.0.4.0  00:15:05
Oracle XDK                                VALID      10.2.0.4.0  00:02:21
Oracle Database Java Packages             VALID      10.2.0.4.0  00:02:39
Oracle Text                               VALID      10.2.0.4.0  00:01:48
Oracle XML Database                       VALID      10.2.0.4.0  00:11:57
Oracle Real Application Clusters          VALID      10.2.0.4.0  00:00:22
Oracle Workspace Manager                  VALID      10.2.0.4.3  00:04:23
Oracle Data Mining                        VALID      10.2.0.4.0  00:03:23
OLAP Analytic Workspace                   VALID      10.2.0.4.0  00:03:25
OLAP Catalog                              VALID      10.2.0.4.0  00:08:07
Oracle OLAP API                           VALID      10.2.0.4.0  00:06:20
Oracle interMedia                         VALID      10.2.0.4.0  00:31:09
Spatial                                   VALID      10.2.0.4.0  00:13:33
Oracle Expression Filter                  VALID      10.2.0.4.0  00:02:04
Oracle Enterprise Manager                 VALID      10.2.0.4.0  00:12:57
Oracle Rule Manager                       VALID      10.2.0.4.0  00:01:11
.
Total Upgrade Time: 03:24:44
DOC>#######################################################################
DOC>#######################################################################
DOC>
DOC>   The above PL/SQL lists the SERVER components in the upgraded
DOC>   database, along with their current version and status.
DOC>
DOC>   Please review the status and version columns and look for
DOC>   any errors in the spool log file.  If there are errors in the spool
DOC>   file, or any components are not VALID or not the current version,
DOC>   consult the Oracle Database Upgrade Guide for troubleshooting
DOC>   recommendations.
DOC>
DOC>   Next shutdown immediate, restart for normal operation, and then
DOC>   run utlrp.sql to recompile any invalid application objects.
DOC>
DOC>#######################################################################
DOC>#######################################################################
DOC>#
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area  285212672 bytes
Fixed Size                  1267044 bytes
Variable Size             146803356 bytes
Database Buffers          130023424 bytes
Redo Buffers                7118848 bytes
Database mounted.
Database opened.
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN  2009-07-25 12:12:32
DOC>   The following PL/SQL block invokes UTL_RECOMP to recompile invalid
.
...
.......
ERRORS DURING RECOMPILATION
---------------------------
                          0
PL/SQL procedure successfully completed.
SQL> show parameter cluster
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cluster_database                     boolean     FALSE
cluster_database_instances           integer     1
cluster_interconnects                string
SQL>
SQL> alter system set cluster_database=TRUE scope=spfile;
System altered.
SQL> alter system set cluster_database=TRUE scope=spfile;
System altered.
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area  285212672 bytes
Fixed Size                  1267044 bytes
Variable Size             163580572 bytes
Database Buffers          113246208 bytes
Redo Buffers                7118848 bytes
Database mounted.
Database opened.
SQL>
SQL> show parameter cluster
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cluster_database                     boolean     TRUE
cluster_database_instances           integer     2
cluster_interconnects                string
[oracle@linux1 bin]$ ./srvctl start instance -d devdb -i devdb1
[oracle@linux1 bin]$ ./crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.devdb.db   application    ONLINE    ONLINE    linux2
ora....b1.inst application    ONLINE    ONLINE    linux1
ora....b2.inst application    ONLINE    OFFLINE
ora...._taf.cs application    OFFLINE   OFFLINE
ora....db1.srv application    OFFLINE   OFFLINE
ora....db2.srv application    OFFLINE   OFFLINE
ora....SM1.asm application    ONLINE    ONLINE    linux1
ora....X1.lsnr application    ONLINE    ONLINE    linux1
ora.linux1.gsd application    ONLINE    ONLINE    linux1
ora.linux1.ons application    ONLINE    ONLINE    linux1
ora.linux1.vip application    ONLINE    ONLINE    linux1
ora....SM2.asm application    ONLINE    ONLINE    linux2
ora....X2.lsnr application    ONLINE    ONLINE    linux2
ora.linux2.gsd application    ONLINE    ONLINE    linux2
ora.linux2.ons application    ONLINE    ONLINE    linux2
ora.linux2.vip application    ONLINE    ONLINE    linux2
[oracle@linux2 bin]$ ./srvctl start instance -d devdb -i devdb2
[oracle@linux1 bin]$ ./crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.devdb.db   application    ONLINE    ONLINE    linux2
ora....b1.inst application    ONLINE    ONLINE    linux1
ora....b2.inst application    ONLINE    ONLINE    linux2
ora...._taf.cs application    OFFLINE   OFFLINE
ora....db1.srv application    OFFLINE   OFFLINE
ora....db2.srv application    OFFLINE   OFFLINE
ora....SM1.asm application    ONLINE    ONLINE    linux1
ora....X1.lsnr application    ONLINE    ONLINE    linux1
ora.linux1.gsd application    ONLINE    ONLINE    linux1
ora.linux1.ons application    ONLINE    ONLINE    linux1
ora.linux1.vip application    ONLINE    ONLINE    linux1
ora....SM2.asm application    ONLINE    ONLINE    linux2
ora....X2.lsnr application    ONLINE    ONLINE    linux2
ora.linux2.gsd application    ONLINE    ONLINE    linux2
ora.linux2.ons application    ONLINE    ONLINE    linux2
ora.linux2.vip application    ONLINE    ONLINE    linux2
[oracle@linux2 bin]$ . oraenv
ORACLE_SID = [devdb] ?
[oracle@linux2 bin]$ sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.4.0 - Production on Sat Jul 25 12:45:02 2009
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
Connected to an idle instance.
SQL> conn sys@devdb1 as sysdba
Enter password:
Connected.
SQL>
SQL> select * from v$version where rownum=1;
BANNER
----------------------------------------------------------------
Oracle Database 10g 
SQL> conn sys@devdb2 as sysdba
Enter password:
Connected.
SQL> select * from v$version where rownum=1;
BANNER
----------------------------------------------------------------
Oracle Database 10g 
Thanks
 
 


