The Application DBA  

Upgrade to New Oracle Home

Introduction

The next steps will switch an existing RACdatabase to the new Oracle homes. This will be shown in a rolling fashion so down time will be restricted to just a single node at a time. Some applications may not gracefully recover from a down node with active connections and may need to be restarted.

Note: Any database patches that need to be applied may require a database wide outage.

Switch to New Oracle Home

Step 1 – Set the environment to the current database Oracle home

Set the linux environment to the original, source Oracle home.

Step 2 – List the current database configuration in the cluster

$ srvctl config database -d orcl -a
Database unique name: ORCL
Database name: ORCL
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/ORCL/spfileORCL.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: ORCL
Database instances: ORCL1,ORCL2,ORCL3
Disk Groups: DATA
Mount point paths:
Services:
Type: RAC
Database is enabled
Database is administrator managed
$

Step 3 – Change the Oracle home for the database

$ srvctl modify database -d orcl -o /u01/app/oracle/product/11.2.0/db_2

Step 4 – Update the oratab file

Change any database/instance Oracle homes listed for the database being switched from the source Oracle home to the cloned Oracle home.

ORCL1:/u01/app/oracle/product/11.2.0/db_2:N
ORCL:/u01/app/oracle/product/11.2.0/db_2:N              # line added by Agent

Step 5 – Copy any instance specific files in the Oracle home

Copy any instance specific files from the original Oracle home to the new cloned version. These files will include the init.ora, password file and possibly network files in the network/admin directory (i.e. sqlnet.ora and tnsnames.ora).

Step 6 – Stop the instance of the database

$ srvctl stop instance -d orcl -i ORCL1

Step 7- Set the environment to the new Oracle home

Now that the oratab file has been updated, reset the linux environment to the new Oracle home. Verify that no environment variables contain the old Oracle home.

$ . orasetup ORCL1
$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/db_2
$ cd $ORACLE_HOME

Step 8 – Start the instance of the database

$ srvctl start instance -d orcl -i ORCL1
$ srvctl status instance -d orcl -i ORCL1
Instance ORCL1 is running on node node1
$

Step 9 – Repeat for other database nodes

 

Copyright 1998-2013 AppsDBA Consulting. All Rights Reserved.