This post describes how to upgrade an existing single instance ASM installation to the latest and greatest, Oracle 11.2. The most noteworthy change is that ASM is no longer installed using RDBMS installer but rather the Grid Infrastructure.
Huh-installing CRS for single instance? That at first sounded like a bit of an overkill but Oracle left us with no choice. As you can see later, it’s not as bad as it seems, I have to say I rather like the Oracle Restart feature (see my previous blog post).
So-as always-start by downloading the necessary software linux.x64_11gR2_grid.zip and unzip it somewhere convenient.
I recommend getting some metadata from the ASM instance just in case:
SQL> select name,state from v$asm_diskgroup; NAME STATE ------------------------------ ----------- DATA MOUNTED FRA MOUNTED LOG MOUNTED SQL> select name,path from v$asm_disk; NAME PATH ------------------------------ ------------------- DATA1 ORCL:DATA1 LOG1 ORCL:LOG1 FRA1 ORCL:FRA1 SQL> show parameter asm NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ asm_diskgroups string DATA, FRA, LOG asm_diskstring string ORCL:* asm_power_limit integer 1 SQL>
Begin by shutting down all Oracle processes including ASM (databases first please :) Now start ./runInstaller and follow these steps:
- Chose Upgrade Grid Infrastructure, continue despite the warning that ASM instances have been detected. Strage error message, as we want to upgrade ASM!
- Select your language
- Specify a password for the new asmsnmp user
- Select dba for all 3 os groups or whatever is more appropriate for your environment
- Chose an ORACLE_BASE and ORACLE_HOME. I usually go with the defaults – ORACLE_BASE = /u01/app/oracle and ORACLE_HOME = /u01/app/oracle/product/11.2.0/grid
- On the verification screen, make sure to have all requirements satisfied (I usually ignore unixODBC). Kernel parameters can automatically be fixed by running the fixup script-click on “fix and check again”
[root@devbox ~]# /tmp/CVU_184.108.40.206.0_oracle/runfixup.sh Response file being used is :/tmp/CVU_220.127.116.11.0_oracle/fixup.response Enable file being used is :/tmp/CVU_18.104.22.168.0_oracle/fixup.enable Log file location: /tmp/CVU_22.214.171.124.0_oracle/orarun.log Setting Kernel Parameters... fs.file-max = 327679 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 net.core.wmem_max = 262144 net.core.wmem_max = 1048576
- Start the installation by clicking on “Finish” after reviewing the installation options
- When prompted, run the rootupgrade.sh script. I have included sample output below
- Wait for ASMCA to finish the ASM upgrade
- Voila! You successfully completed the upgrade
Sample, commented output from the rootupgrade.sh
[root@devbox ~]# /u01/app/oracle/product/11.2.0/grid/rootupgrade.sh Running Oracle 11g root.sh script... The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/11.2.0/grid 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]: The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: 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. 2010-02-05 10:40:48: Checking for super user privileges 2010-02-05 10:40:48: User has super user privileges 2010-02-05 10:40:48: Parsing the host name Using configuration parameter file: /u01/app/oracle/product/11.2.0/grid/crs/install/crsconfig_params Creating trace directory LOCAL ADD MODE Creating OCR keys for user 'oracle', privgrp 'oinstall'.. Operation successful. CSS appears healthy Stopping CSSD. Shutting down CSS daemon. Shutdown request successfully issued. Shutdown has begun. The daemons should exit soon. CRS-4664: Node devbox successfully pinned. Adding daemon to inittab CRS-4123: Oracle High Availability Services has been started. ohasd is starting devbox 2010/02/05 10:42:11 /u01/app/oracle/product/11.2.0/grid/cdata/devbox/backup_20100205_104211.olr Successfully configured Oracle Grid Infrastructure for a Standalone Server Updating inventory properties for clusterware Starting Oracle Universal Installer... Checking swap space: must be greater than 500 MB. Actual 7913 MB Passed The inventory pointer is located at /etc/oraInst.loc The inventory is located at /u01/app/oracle/oraInventory 'UpdateNodeList' was successful. [root@devbox ~]#
Note the line “node devbox successfully pinned”. This will allow us to run pre 11.2 databases on the machine, a step you’d have to complete manually had there not been existing RDBMS installations. OHASD is the Oracle High Availability Services Daemon, the “mother of all Clusterware processes”. And finally, we see the updateNodeList was successful message indicating successful completion of the script’s execution.
To make full use of Oracle Restart, register databases using the $GRID_HOME/bin/srvctl add database (the -h flag gives you the syntax if you’re unsure).
Contrary to what the documentation said I didn’t have to update the existing DBConsole’s monitoring configuration to reflect the ASM_HOME.