Upgrade to New Oracle Home
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
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:
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.
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
$ 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