We are going to install a single node RAC database with ASM on Red Hat 5 Update 3 to leverage the latest and greatest features of Oracle Database 11g Release 2.

Before we begin, let’s look at the contents of the /etc/hosts file

[root@jin1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
# RAC Node #1
192.168.242.128         jin1.dbaexpert.com jin1
192.168.242.228         jin1-vip.dbaexpert.com jin1-vip
192.168.242.108         jin-cluster.dbaexpert.com jin-cluster
192.168.60.128          jin1-priv.dbaexpert.com jin1-priv

I make an assumption that you already downloaded Oracle Database 11g Release 2 from Oracle Technology Network (OTN). Here’s a really big change for Oracle Database 11g Release 2 from the previous release of Oracle that you are used to relative to ASM. Remember in the previous releases that ASM was part of the database software technology? As of Oracle Database 11g Release 2, ASM is now part of the Grid Infrastructure which includes both ASM and Clusterware. This change will surprise alot of DBAs!

The installation process that we are performing to install a single RAC instance with ASM is from the Grid Infrastructure software. If you have not, please download the Grid Infrastructure software and unzip it. From the unzipped software directory, let’s launch the OUI and setup our single node RAC.

[oracle@jin1 grid]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 80 MB.   Actual 115174 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2047 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-09-03_01-01-57AM. Please wait ...

Select the Installation Option:
Picture 29.png

Note: Do you notice that the OUI is completely revamped in terms of look and feel. At first you may wander what in the world did Oracle do, but later like me, you will probably embrace it.

In our example, we will choose to install and configure the Typical Grid Infrastructure for a Cluster.
Click on Next

Picture 30.png
Select the Typical Installation type and click on the Next button

From the Specify Cluster Configuration screen, click on the SSH Connectivity button:
Picture 31.png

You will see the options to enter the password for oracle and to setup/test the SSH user equivalence.
Picture 33.png
Enter the password for oracle and click on Setup
You will immediately see a small window indicating the ssh connectivity is being configured and may take several minutes. Upon completion, you will get a dialog box indicating that SSH connectivity setup is complete.
Picture 35.png
Click on the OK button

Next, click on the Network Interfaces button. You will be directed to the Identify Network Interfaces screen:
Picture 36.png

Make changes as required for you RAC environment. Please make sure that both private and public interfaces are only defined once and the remaining interfaces are marked as Do Not Use. Click on the OK button when complete. You will return to the Specify Cluster Configuration screen. Click on the Next button. At this point the OUI will check on the scan information, public network, and node readiness. You will be routed to the Specify Install Locations screen:
Picture 44.png
In this screen, specify/correct the directory name for ORACLE_BASE. You will need to change the Cluster Registry Storage Type from File System to Automatic Storage Management. Lastly, you will need to specify the password for SYSASM and confirm the password for accuracy.

Note:
#1. You will notice two differences in the password fields. First, as you start typing, you get an error message stating that the passwords do not match. Once you complete the password confirmation field, the password mismatch warning will go away. Also, oracle performs a password security check and informs you if your passwords conform to their security assessment.
#2. You may or may not have caught it but we just stuck the OCR/Vote disk inside ASM !!! This is another BIG ASM new feature in Oracle Database 11g Release 2. Come visit this blog site again in the near future … There’s more ASM surprises that will be revealed in future blog postings.

Click on the Next button
If your passwords do not conform to Oracle’s standards, you will receive an alert:
Picture 45.png
Click on the Yes button to be directed to the Create ASM Disk Group screen.
Picture 46.png
Specify the Disk Group name as Data and click on the disks that you want to associate with this diskgroup. We will only choose ORCL:DATA1 and ORCL:DATA2 for our diskgroup with external redundancy.
Click on the Next button to be directed to the Create OraInventory screen
Picture 38.png

Notice that Oracle Inventory is now one level below ORACLE_BASE
Click on the Next button
You will be directed to the Perform Prerequisite Checks screen
Picture 39.png

Note: For these errors, we can ignore the warning and proceed with the Grid Infrastructure Installation and Configuration
Click on the Ignore All checkbox on the upper right hand corner and click on the Next button to continue

On a side note, you may encounter failures in other components in the of the Perform Prerequisite Checks screen. Here’s an example where kernel parameters need to modified:
Picture 23.png
With Oracle Database 11g Release 2, you will notice the new Fix and Check Again button. Click on the” Fix & Check Again” button.

You will immediately see a window to execute the fixit script as root:
Picture 24.png

Change your directory to the /tmp/CVU* directory and execute the script as root:

[root@jin1 CVU_11.2.0.1.0_oracle]# ./runfixup.sh
Response file being used is :./fixup.response
Enable file being used is :./fixup.enable
Log file location: ./orarun.log
Setting Kernel Parameters...
fs.file-max = 327679
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500

After a successful execution as root, click on the OK button to go back to the Perform Prerequisite Checks screen. The OUI will automatically re-run the prerequisite checks and report any errors. You are strongly recommended to resolve all the issues reported from the Perform Prerequisite Checks screen. In our example, we will ignore the warnings for the Physical Memory, Swap Size and Network Time Protocol (NTP).
Click on Next

In the summary screen, you can review all your settings. You can even create a response file based on your selections. Click on the Finish button to start the software installation process.

In the Setup screen, you can view the status of the binary software copy:
Picture 40.png

After the software installation is complete, you will be instructed to execute configuration scripts as root: orainstRoot.sh and root.sh
Picture 41.png

Let’s first run the orainstRoot.sh script from the oraInventory directory:

[root@jin1 oraInventory]# ./orainstRoot.sh
Changing permissions of /apps/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /apps/oraInventory to oinstall.
The execution of the script is complete.

Now, let’s run the root.sh script from the GRID Infrastructure Home:

[root@jin1 oraInventory]# cd ../11.2.0/grid
[root@jin1 grid]# ./root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /apps/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
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.
2009-09-03 15:15:25: Parsing the host name
2009-09-03 15:15:25: Checking for super user privileges
2009-09-03 15:15:25: User has super user privileges
Using configuration parameter file: /apps/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
  root wallet
  root wallet cert
  root cert export
  peer wallet
  profile reader wallet
  pa wallet
  peer wallet keys
  pa wallet keys
  peer cert request
  pa cert request
  peer cert
  pa cert
  peer root cert TP
  profile reader root cert TP
  pa root cert TP
  peer pa cert TP
  pa peer cert TP
  profile reader pa cert TP
  profile reader peer cert TP
  peer user cert
  pa user cert
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
CRS-2672: Attempting to start 'ora.gipcd' on 'jin1'
CRS-2672: Attempting to start 'ora.mdnsd' on 'jin1'
CRS-2676: Start of 'ora.gipcd' on 'jin1' succeeded
CRS-2676: Start of 'ora.mdnsd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'jin1'
CRS-2676: Start of 'ora.gpnpd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'jin1'
CRS-2676: Start of 'ora.cssdmonitor' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'jin1'
CRS-2672: Attempting to start 'ora.diskmon' on 'jin1'
CRS-2676: Start of 'ora.diskmon' on 'jin1' succeeded
CRS-2676: Start of 'ora.cssd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on 'jin1'
CRS-2676: Start of 'ora.ctssd' on 'jin1' succeeded

ASM created and started successfully.

DiskGroup DATA created successfully.

clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-2672: Attempting to start 'ora.crsd' on 'jin1'
CRS-2676: Start of 'ora.crsd' on 'jin1' succeeded
CRS-4256: Updating the profile
Successful addition of voting disk 08463e4d8fd44f75bf05ac8785c8445c.
Successfully replaced voting disk group with +DATA.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   08463e4d8fd44f75bf05ac8785c8445c (ORCL:DATA1) [DATA]
Located 1 voting disk(s).
CRS-2673: Attempting to stop 'ora.crsd' on 'jin1'
CRS-2677: Stop of 'ora.crsd' on 'jin1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'jin1'
CRS-2677: Stop of 'ora.asm' on 'jin1' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on 'jin1'
CRS-2677: Stop of 'ora.ctssd' on 'jin1' succeeded
CRS-2673: Attempting to stop 'ora.cssdmonitor' on 'jin1'
CRS-2677: Stop of 'ora.cssdmonitor' on 'jin1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'jin1'
CRS-2677: Stop of 'ora.cssd' on 'jin1' succeeded
CRS-2673: Attempting to stop 'ora.gpnpd' on 'jin1'
CRS-2677: Stop of 'ora.gpnpd' on 'jin1' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'jin1'
CRS-2677: Stop of 'ora.gipcd' on 'jin1' succeeded
CRS-2673: Attempting to stop 'ora.mdnsd' on 'jin1'
CRS-2677: Stop of 'ora.mdnsd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.mdnsd' on 'jin1'
CRS-2676: Start of 'ora.mdnsd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.gipcd' on 'jin1'
CRS-2676: Start of 'ora.gipcd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'jin1'
CRS-2676: Start of 'ora.gpnpd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'jin1'
CRS-2676: Start of 'ora.cssdmonitor' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'jin1'
CRS-2672: Attempting to start 'ora.diskmon' on 'jin1'
CRS-2676: Start of 'ora.diskmon' on 'jin1' succeeded
CRS-2676: Start of 'ora.cssd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on 'jin1'
CRS-2676: Start of 'ora.ctssd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'jin1'
CRS-2676: Start of 'ora.asm' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'jin1'
CRS-2676: Start of 'ora.crsd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.evmd' on 'jin1'
CRS-2676: Start of 'ora.evmd' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'jin1'
CRS-2676: Start of 'ora.asm' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.DATA.dg' on 'jin1'
CRS-2676: Start of 'ora.DATA.dg' on 'jin1' succeeded
CRS-2672: Attempting to start 'ora.registry.acfs' on 'jin1'
CRS-2676: Start of 'ora.registry.acfs' on 'jin1' succeeded

jin1     2009/09/03 15:20:48     /apps/11.2.0/grid/cdata/jin1/backup_20090903_152048.olr
Preparing packages for installation...
cvuqdisk-1.0.7-1
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
Updating inventory properties for clusterware
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 2047 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /apps/oraInventory
'UpdateNodeList' was successful.

Note:
Just like every other release of Oracle Clusterware, executing root.sh is where rubber meets the road. All the OUI screens up to root.sh performs preliminary checks and collects information as to how the cluster is to be configured. Please make sure that you do not have any errors in your root.sh output.

Now click on OK to go back to the Setup screen:
Picture 47.png

Often the Oracle Cluster Verification Utility fails for various reasons:
Picture 48.png

Click on the OK button to continue
Picture 50.png
Click on the Close button to finish.

Notice that after our installation, we have eth0:1 and eth0:2: One for our traditional VIP and the other for our SCAN VIP.

eth0      Link encap:Ethernet  HWaddr 00:0C:29:A2:20:E2
          inet addr:192.168.242.128  Bcast:192.168.242.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fea2:20e2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28695 errors:26080 dropped:0 overruns:0 frame:0
          TX packets:75327 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6115396 (5.8 MiB)  TX bytes:65449062 (62.4 MiB)
          Interrupt:67 Base address:0x2024 

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:A2:20:E2
          inet addr:192.168.242.228  Bcast:192.168.242.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:67 Base address:0x2024 

eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:A2:20:E2
          inet addr:192.168.242.108  Bcast:192.168.242.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:67 Base address:0x2024 

eth1      Link encap:Ethernet  HWaddr 00:0C:29:A2:20:EC
          inet addr:192.168.60.128  Bcast:192.168.60.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fea2:20ec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3698 errors:3478 dropped:0 overruns:0 frame:0
          TX packets:17852 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:324710 (317.0 KiB)  TX bytes:2004525 (1.9 MiB)
          Interrupt:67 Base address:0x20a4

We have successfully installed our first single node RAC environment with Oracle Database 11g Release 2.

Posted by Charles Kim, Oracle ACE