You are on page 1of 88

Table of Contents

Rac10gR2OnLinux.............................................................................................................................................1 1. *Introduction.......................................................................................................................................1 1.1. *What you need to know....................................................................................................1 1.1.1. Software required for install...............................................................................2 1.1.2. Processor Model.................................................................................................2 1.1.3. Required RPM packages .....................................................................................2 1.1.3.1. 32-Bit Required RPM's .......................................................................3 1.1.3.2. 64-Bit Required RPM's .......................................................................4 1.1.3.3. *Oracle Enterprise Linux:..................................................................6 1.2. *Installation steps ..........................................................................................................................................6 1.3. *Schematic....................................................................................................................................................7 1.3.1. Hardware/software configuration BEFORE Oracle software install............................................7 1.3.2. Hardware/software configuration AFTER Oracle software install..............................................7 1.4. *Installation Method.....................................................................................................................................8 2. *Prepare the cluster nodes for Oracle RAC.....................................................................................................9 2.1. *User Groups and Accounts............................................................................................................9 2.1.1. *Creating the OSDBA (dba) Group .................................................................................9 2.1.2. *Creating an OSOPER Group (Optional) ......................................................................10 2.1.3. *Creating the Oracle Inventory Group (oinstall)...........................................................10 2.1.4. *Creating the Oracle Software Owner User..................................................................10 2.1.4.1. *Determining Whether an Oracle Software Owner User Exists...................11 2.1.4.2. *Creating an Oracle Software Owner User...................................................11 2.1.4.3. *Modifying an Oracle Software Owner User................................................11 2.1.5. *Verifying That the User nobody Exists.................................................................................................11 2.1.6. *Creating Identical Users and Groups on Other Cluster Nodes..............................................................12 2.2. *SSH Setup.................................................................................................................................................12 2.2.1. *Create RSA Keys On Each Node using the following steps:...................................................12 2.2.2. *Add All Keys to a Common authorized_keys File...................................................................13 2.2.3. *Enabling SSH User Equivalency on Cluster Member Nodes...................................................14 2.3. *Configuring the oracle's User Environment ..............................................................................................15 2.4. *Network Requirements.............................................................................................................................16 2.4.1. *Network Hardware Requirements .............................................................................................16 2.4.2. *IP Address Requirements ..........................................................................................................17 2.4.3. *Network Ping Tests...................................................................................................................18 2.4.4. *Network Adapter configuration................................................................................................18 2.5. *Time Sync.................................................................................................................................................18 2.6. *Configuring Kernel Parameters................................................................................................................19 2.7. *Setting Shell Limits for the oracle User....................................................................................................20 2.8. *Configuration of the Hangcheck-timer Module........................................................................................21 2.8.1. *Hangcheck-timer Module verification procedure.....................................................................21 2.9. *Platform Specific Setup............................................................................................................................22 2.10. *Required Software Directories................................................................................................................23 2.10.1. *Oracle Base Directory.............................................................................................................23 2.10.2. *Oracle Inventory Directory.....................................................................................................23 2.10.3. *Oracle Clusterware Home Directory......................................................................................23 2.10.4. *Oracle Home Directory...........................................................................................................24 2.10.5. *Identifying Existing Oracle Directories..................................................................................24 2.11. *CVU Stage Check...................................................................................................................................25 3. *Prepare the shared storage for Oracle RAC.................................................................................................26 3.1. *Create Partitions...........................................................................................................................27 3.1.1. Example of Configuring Block Device Storage for Oracle Clusterware .......................28 3.1.2. Example of Creating a Udev Permissions File for Oracle Clusterware........................28 3.1.3. Platform Specific Settings.............................................................................................29 3.2. *Installing the cvuqdisk Package for Linux ................................................................................................29 3.3. *CVU..........................................................................................................................................................30 i

Table of Contents
Rac10gR2OnLinux 4. Oracle Clusterware Installation and Configuration.......................................................................................30 4.1. *CVU Pre Oracle Clusterware install check ..................................................................................30 4.2. *Installing Oracle Clusterware with OUI......................................................................................30 4.2.1. Oracle Clusterware has been installed...........................................................................38 4.3. *CVU Post Oracle Clusterware install check.............................................................................................38 4.4. *Changing diagwait parameter to delay node reboot.................................................................................39 5. Oracle Clusterware patching..........................................................................................................................39 6. Install Oracle ASM Software only Home......................................................................................................43 7. Oracle ASM Software Home Patching..........................................................................................................48 8. Oracle RAC Database Listener Creation.......................................................................................................52 8.1. Create Node specific network listeners ..........................................................................................52 9. Oracle ASM Instance and diskgroup Creation..............................................................................................57 9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups..........................................57 10. Oracle RAC Database Home Software Install.............................................................................................66 10.1. CVU check - Pre Database Install...............................................................................................66 10.2. Oracle RAC Database Home Software Install.............................................................................67 11. Oracle RAC Software Home Patching........................................................................................................72 12. Oracle RAC Database Creation...................................................................................................................76 12.1. use dbca to create the RAC database...........................................................................................76

ii

Rac10gR2OnLinux

1. *Introduction
1.1. *What you need to know
Oracle Clusterware With Oracle Database 10g Release 2 (10.2), Cluster Ready Services, or CRS, is now called Oracle Clusterware. Cluster Verification Utility (CVU) This utility (also known as cvu or cluvfy) checks the state of your cluster at various stages of the install, from initial hardware and operating system configuration to post-installation cluster database configuration. It should catch operating system configuration issues that otherwise would have caused an unnecessary installation failure. You can download the latest version of CVU from otn. http://www.oracle.com/technology/products/database/clustering/cvu/cvu_download_homepage.html Clusterware Home Starting with Oracle Database 10g Release 2 (10.2), Oracle Clusterware should be installed in a separate Oracle Clusterware home directory. You should not install Oracle Clusterware in a release-specific Oracle home mount point, typically /u01/app/oracle/product/10.2.0. Automatic Storage Management (ASM) In this document, ASM is the standard method of storage for the database files (not the Oracle Home). ASM can provide Automatic striping, mirroring, and Volume Management. This document does not cover using OCFS and RAW devices for storage, though they are still available. ASM Instance With Oracle Database 10g Release 2 (10.2), a single ASM instance for each node is now able to serve disk groups to all the database instances in the cluster, whether or not the database is a RAC database or a Single Instance database. Automatic Storage Management should be installed in a separate ASM home directory. Virtual IP (VIP) Oracle Database uses the VIP address to provide a secondary IP for the main network adapter for the node. Clients connect to the VIP to gain access to the database. The purpose of the VIP is to improve detection of node failure by clients, and facilitate failover. The VIP is not a cluster IP. Installing 10gR2 RAC on Oracle Enterprise Linux 5(OEL5) or RHEL5 or SLES10 If you are installing Oracle RAC on one of these systems, there are issues that you must be aware of. You should check notes WebIV:414163.1 (10gR2 RAC Install issues on Oracle EL5 or RHEL5 or SLES10), WebIV:419646.1 (Requirements For Installing Oracle10gR2? On RHEL/OEL 5 (x86)) and WebIV:421308.1 (Requirements For Installing Oracle10gR2? On RHEL/OEL 5 (x86_64)) before beginning the installation. Disk requirements for Oracle Clusterware files The storage requirement for the OCR & vote devices used by Oracle Clusterware has been increased in 11g to 280 MB (256 MB, plus an additional buffer to allow for fdisk variation in space allocation). It is a best practice to use the same storage requirements for the clusterware files in 10g. Certification Rac10gR2OnLinux 1

Ensure that you have a certified combination of the operating system and an Oracle Database software release by referring to the OracleMetaLink? certification information.

1.1.1. Software required for install


Base Oracle 10gR2 (10.2.0.1) DVD 10.2.0.4 Patchset (*.zip file from OracleMetalink? )

1.1.2. Processor Model


This paper covers both 32bit and 64bit install. Please note that The OS Version of Oracle you install must match the OS Chip Version (e.g. on OEL4 32bit - you must install the 32bit versions of the Oracle software ) Operating system x86 Red Hat Enterprise Linux AS/ES 3 (Update 4 or later) Red Hat Enterprise Linux AS/ES 4 (Update 1 or later) Oracle Enterprise Linux 4 ( OEL4 ) Red Hat Enterprise Linux AS/ES 5 Oracle Enterprise Linux 5 ( OEL5 ) SUSE Linux Enterprise Server 9 ( 2.6.5-7.201 or higher) SUSE Linux Enterprise Server 10 Asianux 1.0 (2.4.21-27.EL or higher) Asianux 2.0 (2.6.9-5.0.5.EL or higher)

Operating systems x86 (64-bit) Red Hat Enterprise Linux AS/ES 3 (Update 4 or later) Red Hat Enterprise Linux AS/ES 4 (Update 1 or later) Oracle Enterprise Linux 4 ( OEL4 2.6.9-11.EL) Red Hat Enterprise Linux AS/ES 5 Oracle Enterprise Linux 5 ( OEL5 ) SUSE Linux Enterprise Server 9 (Service Pack 2 or later) SUSE Linux Enterprise Server 10 Asianux 2.0 For additional information on Linux Operating System support refer to Metalink Note 266043.1.

1.1.3. Required RPM packages


Install your Linux operating system with the default software packages (RPMs). This installation includes most of the required packages and helps you limit manual checks of package dependencies. Do not customize RPMs during installation. To determine whether the required packages are installed, enter commands similar to the following: # rpm -q package_name If a package is not installed, then install it.

1.1. *What you need to know

1.1.3.1. 32-Bit Required RPM's


Red Hat Enterprise Linux 3: gcc-3.2.3-34 glibc-2.3.2-95.20 make-3.79.1 openmotif21-2.1.30-8 compat-db-4.0.14.5 compat-gcc-7.3-2.96.128 compat-gcc-c++-7.3-2.96.128 compat-libstdc++-7.3-2.96.128 compat-libstdc++-devel-7.3-2.96.128 setarch-1.3-1 XFree86 (Spatial only) XFree86-devel (Spatial only) [Red Hat,Oracle] Enterprise Linux4: binutils-2.15.92.0.2-10.EL4 compat-db-4.1.25-9 compat-libstdc++-296-2.96-132.7.2 compat-libstdc++-33-3.2.3-47.3 control-center-2.8.0-12 gcc-3.4.3-9.EL4 gcc-c++-3.4.3-9.EL4 glibc-2.3.4-2 glibc-common-2.3.4-2 gnome-libs-1.4.1.2.90-44.1 libstdc++-3.4.3-9.EL4 libstdc++-devel-3.4.3-9.EL4 make-3.80-5 pdksh-5.2.14-30 sysstat-5.0.5-1 xscreensaver-4.18-5.rhel4.2 openmotif21-2.1.30-11.RHEL4.2 (required to install Oracle demos) libaio-0.3.102-1 [Red Hat,Oracle] Enterprise Linux 5.0 gcc-c++-4.1.1-52.el5.i386.rpm and all its dependent packages: gcc-4.1.1-52.el5.i386.rpm libstdc++-devel-4.1.1-52.el5.i386.rpm glibc-devel-2.5-12.i386.rpm glibc-headers-2.5-12.i386.rpm ibgomp-4.1.1-52.el5.i386.rpm libXp-1.0.0-8.i386.rpm compat-gcc-34-3.4.6-4.i386rpm compat-gcc-c++-34-3.4.6-4.i386rpm compat-libstdc++-33-3.2.3-61.i386.rpm sysstat-5.0.5-1.i386.rpm (OEL5 only)

SuSE SLES9: 1.1.3.1. 32-Bit Required RPM's 3

glibc-devel-2.3.3-98.47.i586.rpm gcc-3.3.3-43.34.i586.rpm. libstdc++-devel-3.3.3-43.34.i586.rpm gcc-c++-3.3.3-43.34.i586.rpm db1-1.85-85.1.i586.rpm orbit-0.5.17-330.1.i586.rpm gnome-libs-1.4.1.7-671.1.i586.rpm. plotutils-2.4.1-575.1.i586.rpm gnuplot-3.7.3-256.1.i586.rpm sysstat-5.0.1-35.4.i586.rpm. SuSE SLES10: glibc-devel-2.4-31.2.i586.rpm gcc-4.1.0-28.4.i586.rpm libstdc++-devel-4.1.0-28.4.i586.rpm gcc-c++-4.1.0-28.4.i586.rpm libaio-devel-0.3.104-14.2.i586.rpm

1.1.3.2. 64-Bit Required RPM's


Red Hat Enterprise Linux 3: compat-db 4.0.14-5.1 compat-gcc-7.3-2.96.128 (32 bit) compat-gcc-c++-7.3-2.96.128 (32 bit) compat-libstdc++-7.3-2.96.128 (32 bit) compat-libstdc++-devel-7.3-2.96.128 (32 bit) control-center-2.2.0.1-13 gcc-3.2.3-47 gcc-c++-3.2.3-47 gdb-6.1post-1.20040607.52 glibc-2.3.2-95.30 glibc-common-2.3.2-95.30 glibc-devel-2.3.2-95.30 glibc-devel-2.3.2-95.20 (32 bit) gnome-libs-1.4.1.2.90-34.2 (32 bit) libaio-0.3.96-3 libaio-devel-0.3.96-3 libstdc++-3.2.3-47 libstdc++-devel-3.2.3-47 make-3.79.1-17 openmotif-2.2.3-3.RHEL3 sysstat-5.0.5-5.rhel3 setarch-1.3-1 [Red Hat,Oracle] Enterprise Linux 4: binutils-2.15.92.0.2-13.0.0.0.2.x86_64 (you can install binutils-2.15.92.0.2-18.x86_64.rpm from RHEL4 Update 3.) compat-db-4.1.25-9.x86_64.rpm compat-gcc-32-c++ (with Patch 5240469 to correct bad genoccish file. see Note WebIV:430526.1)) compat-libstdc++-33-3.2.3-47.3.x86_64.rpm 1.1.3.2. 64-Bit Required RPM's 4

compat-libstdc++-33-3.2.3-47.3.i386.rpm control-center-2.8.0-12.x86_64.rpm gcc-3.4.3-47.x86_64.rpm gcc-c++-3.4.3-47.x86_64.rpm glibc-2.3.4-2.9.x86_64.rpm glibc-2.3.4-2.9.i386.rpm glibc-common-2.3.4-2.9.x86_64.rpm glibc-devel-2.3.4-2.9.x86_64.rpm glibc-devel-2.3.4-2.9.i386.rpm glibc-headers-2.3.4-2.9.x86_64.rpm glibc-kernheaders-2.4-9.1.87.x86_64.rpm gnome-libs-1.4.1.2.90-44.1.x86_64 libaio-0.3.103-3.i386.rpm libaio-0.3.103-3.x86_64.rpm libgcc-3.4.3-9.EL4 libstdc++-3.4.3-22.1.x86_64 libstdc++-devel-3.4.3-22.1.x86_64 make-3.80-5.x86_64.rpm pdksh-5.2.14-30.x86_64.rpm sysstat-5.0.5-1.x86_64.rpm util-linux-2.12a-16.EL4.23.x86_64 (for raw devices) xorg-x11-deprecated-libs-6.8.1-23 xscreensaver-4.18-5.rhel4.2.x86_64.rpm [Red Hat,Oracle] Enterprise Linux 5.0 compat-gcc-34-3.4.6-4 compat-gcc-34-c++-3.4.6-4 compat-libstdc++-33-3.2.3-61.i386.rpm compat-libstdc++-33-3.2.3-61.x86_64.rpm gcc-c++-4.1.1-52.el5.x86_64.rpm and all its dependent packages: ibstdc++-devel-4.1.1-52.el5.x86_64.rpm glibc-headers-2.5-12.x86_64.rpm glibc-devel-2.5-12.i386.rpm glibc-devel-2.5-12.x86_64.rpm ibgomp-4.1.1-52.el5.x86_64.rpm gcc-4.1.1-52.el5.x86_64.rpm libXp-1.0.0-8.i386.rpm sysstat-7.0.0-3.el5.x86_64.rpm util-linux-2.13-0.44.el5.x86_64 (for raw devices) SUSE SLES9: binutils-2.15.90.0.1.1-32.5 db1-1.85-85.1 gcc-3.3.3-43.24 gcc-c++-3.3.3-43.24 glibc-2.3.3-98.28 glibc-32bit-9-200506071326 glibc-devel-2.3.3-98-47 glibc-devel-32bit-9-200506062332 libaio-0.3.102.1.2 libaio-devel-0.3.102.1.2 1.1.3.2. 64-Bit Required RPM's 5

gnome-libs-1.4.1.7-671.1 gnuplot-3.7.3-256.1 (sysstat required RPM) libstdc++-3.3.3-43.24 libstdc++-devel-3.3.3-43.24 make-3.80-184.1 orbit-0.5.17-330.1 (gnome-libs required RPM) plotutils-2.4.1-575.1 (sysstat required RPM) pdksh-5.2.14-780.1 sysstat-5.0.1-35.1 XFree86-libs-4.3.99.902.43.48 SUSE SLES10: glibc-devel-2.4-31.2.x86_64.rpm gcc-4.1.0-28.4.x86_64.rpm libstdc++-devel-4.1.0-28.4.x86_64.rpm gcc-c++-4.1.0-28.4.x86_64.rpm glibc-devel-32bit-2.4-31.2.x86_64.rpm libaio-devel-0.3.104-14.2.x86_64.rpm

1.1.3.3. *Oracle Enterprise Linux:


As part of the Oracle Unbreakable Linux Program, Oracle offers for download or on CD: Oracle Enterprise Linux 4 fully compatible with Red Hat Enterprise Linux 4 AS/ES Oracle Enterprise Linux 5 fully compatible with Red Hat Linux 5 Server and Advanced Platform. If you install the Oracle Validated Configuration RPM, then it sets and verifies system parameters based on recommendations from the Oracle Validated Configurations program, and installs any additional packages needed for installing Oracle Clusterware and Oracle Database. It also updates sysctl.conf settings, system startup parameters, user limits, and driver parameters to values that testing shows will provide better performance. Note: Additional information on the Oracle Validated Configurations can be found at the following URL: http://www.oracle.com/technology/tech/linux/validated-configurations/index.html

1.2. *Installation steps


To summarise, the install steps are: Preparation Pre-reqs. to make sure the cluster is setup OK. Stage all the software on one node, typically Node1 Establish Oracle Clusterware Install the Oracle Clusterware (using the push mechanism to install on the other nodes in the cluster) Patch the Clusterware to the latest patchset Establish ASM Install an Oracle Software Home for ASM Patch the ASM Home to the latest patchset 1.1.3.3. *Oracle Enterprise Linux: 6

Create the Listeners Create the ASM Instances and initial Disk Group Establish RAC Database Install an Oracle Software Home for RAC Database Patch the RAC Database Home to the latest patchset Create the RAC Database Instances Note: Since RHEL5/OEL5 and SLES10 are not recognized by runInstaller, you will need to execute it with the -ignoreSysPrereqs option.

1.3. *Schematic
The following is a schematic of the software & hardware layout of a 2node RAC cluster. As explained in this document the actual number of LUNs required will vary depending on your mirroring requirements.

1.3.1. Hardware/software configuration BEFORE Oracle software install

1.3.2. Hardware/software configuration AFTER Oracle software install

1.2. *Installation steps

Notice that there are a number of LUNs present to both machines from the shared storage. 5 of 270MB LUNs 2 are used for the OCR devices 3 are used for the vote devices 9 of 1GB LUNs 6 are used for the +DATA ASM diskgroup 3 are used for the +FLASH diskgroup. Also notice there is a dedicated switch on the cluster interconnect.

1.4. *Installation Method


This document details one method of installing a 2-node Oracle 10gR2 RAC cluster on Linux: Block Device: The Oracle Clusterware, ASM & Oracle Database Homes binaries are established on the local disk of each of the RAC nodes. The files required by Oracle Clusterware are on Block devices. The database data-files are on ASM. It should be noted that there are other installation configurations. This document does not cover these methods: OCFS: The Oracle Cluster, ASM & Oracle Database Homes are established on the local disk of each of the RAC nodes. The files required by Oracle Clusterware are on OCFS. The database data-files are also on OCFS.

1.3.2. Hardware/software configuration AFTER Oracle software install

NFS: The Oracle Cluster, ASM & Oracle Database Homes are established on the local disk of each of the RAC nodes. The files required by Oracle Clusterware are on Block devices. The database data-files are also on NFS File Server. There are other possible combinations although Oracle recommends one of the above methods. You cannot place the Clusterware devices on directnfs. Directnfs is not covered here

2. *Prepare the cluster nodes for Oracle RAC


This page includes hidden sections, use the and image for each section to show/hide the section Show all Hide all

or you can 'Show' or 'Hide' all by selecting here :

This installation routine presumes that you have a 2-node Linux cluster. There are a number of items that require checking before the install commences. Getting this bit right will enhance your install experience. 1. User Groups and Accounts 2. SSH Setup 3. Configuring the oracle's User Environment 4. Network Requirements 5. Time sync 6. Kernel Parameters 7. Setting Shell Limits for oracle user 8. Configuration of the Hangcheck-Timer Module 9. Platform Specific Setup 10. Required Software Directories 11. CVU Stage Check

2.1. *User Groups and Accounts


Depending on whether this is the first time Oracle software is being installed on this system and on the products that you are installing, you may need to create several operating system groups and an operating system user account.

2.1.1. *Creating the OSDBA (dba) Group


You must create this group the first time you install Oracle Database software on the system. This group identifies operating system user accounts that have database administrative privileges (the SYSDBA privilege). The default name for this group is dba.You must create an OSDBA group in the following circumstances: An OSDBA group does not exist, for example, if this is the first installation of Oracle Database software on the system An OSDBA group exists, but you want to give a different group of operating system users database administrative privileges in a new Oracle installation To determine whether the OSDBA group exists, enter the following command: # grep OSDBA_group_name /etc/group If the OSDBA group does not exist or if you require a new OSDBA group, then create it as follows. In the 1.4. *Installation Method 9

following command, use the group name dba unless a group with that name already exists. # /usr/sbin/groupadd dba

2.1.2. *Creating an OSOPER Group (Optional)


This is an optional group. Create this group if you want a separate group of operating system users to have a limited set of database administrative privileges (the SYSOPER privilege). By default, members of the OSDBA group also have the SYSOPER privilege. The usual name chosen for this group is oper. For most installations, it is sufficient to create only the OSDBA group. If you require a new OSOPER group, then create it as follows. In the following command, use the group name oper unless a group with that name already exists. # /usr/sbin/groupadd oper

2.1.3. *Creating the Oracle Inventory Group (oinstall)


When you install Oracle software on the system for the first time, Oracle Universal Installer creates the oraInst.loc file. This file identifies the name of the Oracle Inventory group (typically, oinstall), and the path of the Oracle Inventory directory. If you have an existing Oracle Inventory, then ensure that you use the same Oracle Inventory for all Oracle software installations. If you do not have an existing Oracle Inventory, then you should create an Oracle Inventory group. To determine whether you have an Oracle Inventory on your system, enter the following command: # more /etc/oraInst.loc If the oraInst.loc file exists, then the output from this command is similar to the following: inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall If the Oracle Inventory group does not exist then create it as follows: # /usr/sbin/groupadd oinstall

2.1.4. *Creating the Oracle Software Owner User


You must create an Oracle software owner user in the following circumstances: If an Oracle software owner user does not exist, for example, if this is the first installation of Oracle software on the system If an Oracle software owner user exists, but you want to use a different operating system user, with different group membership, to give database administrative privileges to those groups in a new Oracle Database installation. Note:If you intend to use multiple Oracle software owners for different Oracle homes, then you should create a separate Oracle software owner for Oracle Clusterware, and install Oracle Clusterware using the Oracle Clusterware software owner.

2.1.1. *Creating the OSDBA (dba) Group

10

2.1.4.1. *Determining Whether an Oracle Software Owner User Exists


To determine whether an Oracle software owner user named oracle exists, enter the following command: # id oracle If the oracle user exists, then the output from this command is similar to the following: uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper) If the user exists, then determine whether you want to use the existing user or create another oracle user. If you want to use the existing user, then ensure that the users primary group is the Oracle Inventory group and that it is a member of the appropriate OSDBA and OSOPER groups.

2.1.4.2. *Creating an Oracle Software Owner User


In the following procedure, use the user name oracle unless a user with that name already exists. If the Oracle software owner user does not exist or if you require a new Oracle software owner user, then create it as follows: 1.To create the oracle user, enter a command similar to the following: # /usr/sbin/useradd -g oinstall -G dba[,oper] oracle In this command: The -g option specifies the primary group, which must be the Oracle Inventory group, for example oinstall The -G option specifies the secondary groups, which must include the OSDBA group and if required, the OSOPER group.dba or dba,oper 2.Set the password of the oracle user: # passwd oracle

2.1.4.3. *Modifying an Oracle Software Owner User


If the oracle user exists, but its primary group is not oinstall or it is not a member of the appropriate OSDBA or OSOPER groups, then enter a command similar to the following to modify it. Specify the primary group using the -g option and any required secondary group using the -G option: # /usr/sbin/usermod -g oinstall -G dba[,oper] oracle

2.1.5. *Verifying That the User nobody Exists


Verify that the unprivileged user nobody exists on the system. The nobody user must own the external jobs (extjob) executable after the installation. 1. To determine if the user exists, enter the following command: # id nobody If this command displays information about the nobody user, then you do not have to create that user. 2. If the nobody user does not exist, then enter the following command to create it:

2.1.4.1. *Determining Whether an Oracle Software Owner User Exists

11

# /usr/sbin/useradd nobody

2.1.6. *Creating Identical Users and Groups on Other Cluster Nodes


The Oracle software owner user and the Oracle Inventory, OSDBA, and OSOPER groups must exist and be identical on all cluster nodes. To create these identical users and groups, you must identify the user ID and group IDs assigned on the node where you created them, then create the user and groups with the same name and ID on the other cluster nodes. Note: If you are using users and groups defined in a directory service such as NIS, then they are already identical on each cluster node.

2.2. *SSH Setup


Before you install and use Oracle Real Application clusters, you must configure secure shell (SSH) for the oracle user on all cluster nodes. Oracle Universal Installer uses the ssh and scp commands during installation to run remote commands on and copy files to the other cluster nodes. You must configure SSH so that these commands do not prompt for a password. To determine if SSH is running, enter the following command: $ pgrep sshd If SSH is running, then the response to this command is one or more process ID numbers. In the home directory of the software owner that you want to use for the installation (crs, oracle), use the command ls -al to ensure that the .ssh directory is owned and writable only by the user. You need either an RSA or a DSA key for the SSH protocol. RSA is used with the SSH 1.5 protocol, while DSA is the default for the SSH 2.0 protocol. With OpenSSH, you can use either RSA or DSA. The instructions that follow are for SSH1. If you have an SSH2 installation, and you cannot use SSH1, then refer to your SSH distribution documentation to configure SSH1 compatibility or configure SSH2 with DSA.

2.2.1. *Create RSA Keys On Each Node using the following steps:
1. Log in as the software owner (in this example, the oracle user). 2. To ensure that you are logged in as the Oracle user, and that the user ID matches the expected user ID you have assigned to the Oracle user, enter the commands id and id oracle. Ensure that Oracle user group and user and the terminal window process group and user IDs are identical. For example: # id uid=502(oracle) gid=501(oinstall) groups=501(oinstall),502(oracle) # id oracle uid=502(oracle) gid=501(oinstall) groups=501(oinstall),502(oracle) 3. If necessary, create the .ssh directory in the crs user's home directory, and set permissions on it to ensure that only the crs user has read and write permissions: # mkdir ~/.ssh # chmod 700 ~/.ssh 4. Enter the following command: # /usr/bin/ssh-keygen -t rsa

2.1.5. *Verifying That the User nobody Exists

12

At the prompts: Accept the default location for the key file (press Enter). Enter and confirm a pass phrase unique for this installation user. This command writes the RSA public key to the ~/.ssh/id_rsa.pub file and the private key to the ~/.ssh/id_rsa file. Never distribute the private keys to anyone not authorized to perform Oracle software installations. 5. Repeat steps 1 through 4 on each node that you intend to make a member of the cluster, using the RSA keys.

2.2.2. *Add All Keys to a Common authorized_keys File


Complete the following steps: 1. Combine the contents of the id_rsa.pub files from each server. (You can do this all on one node) In the first node (stnsp001 in this case) run the commands below. As the oracle user: # cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys # ssh oracle@*stnsp002* cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys * Each time you connect from any node to a new hostname for the first time, you will see a message similar to: "The authenticity of host 'stnsp001 (10.137.8.215)' can't be established. RSA key fingerprint is ... Are you sure you want to continue connecting (yes/no)?" Type "yes" and press ENTER. You will then see the message: "Warning: Permanently added 'stnsp001,10.137.8.215' (RSA) to the list of known hosts. "oracle@stnsp001's password:" Type password and press ENTER. In the .ssh directory, you should see the id_rsa.pub key that you have created, and the file authorized_keys. # chmod 644 ~/.ssh/authorized_keys Do the same for the second node. As oracle user: # cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys # ssh oracle@*stnsp001* cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys # chmod 644 ~/.ssh/authorized_keys Notice that this time SSH will prompt for the passphrase you used when creating the keys rather than the oracle password. This is because the first node (stnsp001) now knows the public keys for the second node and SSH is now using a different authentication protocol. Note, if you didn't enter a passphrase when creating the keys with ssh-keygen, you will not be prompted for one here.

2.2.1. *Create RSA Keys On Each Node using the following steps:

13

2.2.3. *Enabling SSH User Equivalency on Cluster Member Nodes


After you have copied the authorized_keys file that contains all keys to each node in the cluster, complete the following procedure, in the order listed. In this example, the Oracle Clusterware software owner is named crs: 1. On the system where you want to run OUI, log in as the crs user. 2. Use the following command syntax, where hostname1, hostname2, and so on, are the public hostnames (alias and fully qualified domain name) of nodes in the cluster to run SSH from the local node to each node, including from the local node to itself, and from each node to each other node:
# ssh stnsp001 date # ssh stnsp002 date . . . For example: # ssh stnsp001 date The authenticity of host 'stnsp001 (xxx.xxx.8.215)' can't be established. RSA key fingerprint is 7z:60:60:zz:48:48:z1:a0:f7:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'stnsp001,xxx.xxx.8.215' (RSA) to the list of known hosts. Enter passphrase for key '/home/crs/.ssh/id_rsa': Mon May 19 11:08:13 PST 2008 # ssh stnsp001.oracle.com date The authenticity of host 'stnsp00.example.com (xxx.xxx.8.215)' can't be established. RSA key fingerprint is 7z:60:60:zz:48:48:z1:a0:f7:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'stnsp001.oracle.com,xxx.xxx.8.215' (RSA) to the list of known hosts. Enter passphrase for key '/home/crs/.ssh/id_rsa': Mon May 19 11:08:13 PST 2008 # ssh stnsp002 date Enter passphrase for key '/home/crs/.ssh/id_rsa': Mon May 19 11:08:35 PST 2008 . . .

At the end of this process, the public hostname for each member node should be registered in the known_hosts file for all other cluster member nodes. If you are using a remote client to connect to the local node, and you see a message similar to "Warning: No xauth data; using fake authentication data for X11 forwarding," then this means that your authorized keys file is configured correctly, but your ssh configuration has X11 forwarding enabled. To correct this, proceed as follows: a. Using any text editor, edit or create the ~oracle/.ssh/config file. b. Make sure that the ForwardX11? attribute is set to no. For example: Host * ForwardX11 no 3. Repeat step 2 on each cluster node member. 4. (Optional) If you entered passphrase above, and desire password-less login (needed for 10g RAC install), you need to inform the ssh-agent (already running for desktop) of the passphrase so that ssh clients would not be prompted for a passphrase. Once you notify ssh-agent the passphrase is cached for duration of the GUI 2.2.3. *Enabling SSH User Equivalency on Cluster Member Nodes 14

desktop login, and further client requests are satisfied by the ssh-agent. At the prompt, enter the pass phrase for each key that you generated. For example: # exec /usr/bin/ssh-agent $SHELL # ssh-add Enter passphrase for /home/crs/.ssh/id_rsa Identity added: /home/crs/.ssh/id_rsa (/home/crs/.ssh/id_rsa) These commands start the ssh-agent on the node, and load the RSA keys into memory so that you are not prompted to use pass phrases when issuing SSH commands. If you have configured SSH correctly, then you can now use the ssh or scp commands without being prompted for a password or a pass phrase. For example: # ssh stnsp002 date Mon May 19 23:34:42 UTC 2008 # ssh stnsp001 date Mon May 19 23:34:48 UTC 2008 If any node prompts for a password or pass phrase, then verify that the ~/.ssh/authorized_keys file on that node contains the correct public keys, and that you have created an Oracle software owner with identical group membership and IDs.

2.3. *Configuring the oracle's User Environment


You run Oracle Universal Installer from the oracle account. However, before you start Oracle Universal Installer you must configure the environment of the oracle user. To configure the environment, you must: Set the default file mode creation mask (umask) to 022 in the shell startup file log in to that system as the oracle user. Open the oracle user's shell startup file in any text editor Enter or edit the following line, specifying a value of 022 for the default file mode creation mask: umask 022 If the ORACLE_SID, ORACLE_HOME, or ORACLE_BASE environment variable is set in the file, then remove the appropriate lines from the file. You should also ensure that the PATH variable contains $ORACLE_HOME/bin before /usr/X11R6/bin If you are not installing the software on the local system, then enter a command similar to the following to direct X applications to display on the local system: Bourne, Bash, or Korn shell: $ DISPLAY=local_host:0.0 ; export DISPLAY C shell: % setenv DISPLAY local_host:0.0

2.3. *Configuring the oracle's User Environment

15

In this example, local_host is the host name or IP address of the system that you want to use to display Oracle Universal Installer (your workstation or PC). /tmp directory: If you determined that the /tmp directory has less than 400 MB of free disk space, then identify a file system with at least 400 MB of free space and set the TEMP and TMPDIR environment variables to specify a temporary directory on this file system Note: You cannot use a shared file system as the location of the temporary file directory (typically /tmp) for Oracle RAC installation. Install the cvuqdisk Package for Linux: If you are using Red Hat or SUSE Linux, then you must download and install the operating system package cvuqdisk. Without cvuqdisk, CVU is unable to discover shared disks, and you receive the error message "Package cvuqdisk not installed" when you run CVU. Use the cvuqdisk rpm for your hardware (i386, or for Itanium, ia64). To install the cvuqdisk RPM, complete the following procedure: Locate the cvuqdisk RPM package, which is in the directory clusterware/rpm on the installation media. If you have already installed Oracle Clusterware, then it is located in the directory CRS_home/rpm. Copy the cvuqdisk package to each node on the cluster. You should ensure that each node is running the same version of Linux. Log in as root. Using the following command, check to see if you have an existing version of the cvuqdisk package: # rpm -qi cvuqdisk If you have an existing version, then enter the following command to de-install the existing version: #rpm -e cvuqdisk Set the environment variable CVUQDISK_GRP to point to the group that will own cvuqdisk, typically oinstall. Use the following command to install the cvuqdisk package: #rpm -iv cvuqdisk-1.0.1-1.rpm Note: If you prefer, you can choose to disable CVU shared disk checks by adding the following line to the file CRS_ home/cv/admin/cvuconfig: CV_RAW_CHECK_ENABLED=FALSE

2.4. *Network Requirements


2.4.1. *Network Hardware Requirements
Each node in the cluster must meet the following requirements: 1. Each node must have at least two network adapters: one for the public network interface, and one for the private network interface (the interconnect). 2. The public interface names associated with the network adapters for each network must be the same on all nodes, and the private interface names associated with the network adaptors should be the same on all nodes. 2.4. *Network Requirements 16

For example: if eth0 is the public interface on node1, it must be the public interface on node2. You should configure the private interfaces on the same network adapters as well. If eth1 is the private interface for node1, then eth1 should be the private interface for node2. 3. For the public network, each network adapter must support TCP/IP. 4. For the private network, the interconnect must support the user datagram protocol (UDP) using high-speed network adapters and switches that support TCP/IP (Gigabit Ethernet or better recommended). 5. For the private network, the endpoints of all designated interconnect interfaces must be completely reachable on the network. There should be no node that is not connected to every private network. You can test whether an interconnect interface is reachable using a ping command. Note: UDP is the default interconnect protocol for Oracle RAC, and TCP is the interconnect protocol for Oracle Clusterware. Token-Ring is not supported for the interconnect.

2.4.2. *IP Address Requirements


You will need a total of 3 IP addresses per node: The public IP address, which should be recorded in hosts file on each node and, if available, DNS. This IP Address should be bound to the public adapter before starting the install. It should be a static, not DHCP, address The private IP address, which should be from a different subnet than the public IP address. This address does not require registering in DNS but you should place an entry in the hosts file on each node. This IP Address should be bound to the private adapter before starting the install. It should be a static, not DHCP, address A VIP address, which should be from the same subnet as the public IP address and should be recorded in DNS and the hosts file on each node. This IP Address should NOT be bound to the public adapter before starting the install. Oracle Clusterware is responsible for binding this address. It should be a static, not DHCP, address If you do not have a DNS server then make sure both the public and the VIP addresses are entered into all the relevant hosts files that are normally found in the /etc/hosts file. Show Networking setup information Hide Networking setup information You should use ifconfig on each node to confirm the correct IP addresses are bound to the correct adapters /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0E:0C:08:08:F2 inet addr:10.137.8.215 Bcast:10.137.15.255 Mask:255.255.248.0 inet6 addr: fe80::20e:cff:fe08:8f2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:111936568 errors:0 dropped:0 overruns:0 frame:0 TX packets:617958 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3027847550 (2.8 GiB) TX bytes:138428916 (132.0 MiB) Base address:0x2880 Memory:fe7c0000-fe7e0000 Link encap:Ethernet HWaddr 00:0E:0C:08:08:F3 inet6 addr: fe80::20e:cff:fe08:8f3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1041506 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:86613582 (82.6 MiB) TX bytes:398 (398.0 b) Base address:0x2840 Memory:fe7e0000-fe800000 Link encap:Ethernet HWaddr 00:04:23:A6:CD:61 inet addr:10.137.20.171 Bcast:10.137.23.255 Mask:255.255.252.0 inet6 addr: fe80::204:23ff:fea6:cd61/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth1

eth2

2.4.1. *Network Hardware Requirements

17

RX packets:41400340 errors:0 dropped:0 overruns:0 frame:0 TX packets:37403509 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:844975237 (805.8 MiB) TX bytes:43154372 (41.1 MiB) Base address:0x2800 Memory:fe880000-fe8a0000

A sample /etc/hosts file


# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 10.137.8.215 stnsp001.us.oracle.com stnsp001 # Also in DNS if available 10.137.8.233 stnsp001-vip.us.oracle.com stnsp001-vip # Also in DNS if available 10.137.20.171 stnsp001-rac.us.oracle.com stnsp001-rac

It is important to confirm that networking is configured correctly before commencing install. Show all Hide all

2.4.3. *Network Ping Tests


There are a series of 'ping' tests that should be completed, and then the network adapter binding order should be checked. You should ensure that the public IP addresses resolve correctly and that the private addresses are of the form 'nodename-priv' and resolve on both nodes via the hosts file. Public Ping test Pinging stnsp001 from stnsp001 should return stnsp001's public IP address Pinging stnsp002 from stnsp001 should return stnsp002's public IP address Pinging stnsp001 from stnsp002 should return stnsp001's public IP address Pinging stnsp002 from stnsp002 should return stnsp002's public IP address Private Ping test Pinging stnsp001 private from stnsp001 should return stnsp001's private IP address Pinging stnsp002 private from stnsp001 should return stnsp002's private IP address Pinging stnsp001 private from stnsp002 should return stnsp001's private IP address Pinging stnsp002 private from stnsp002 should return stnsp002's private IP address VIP Ping test Pinging the VIP address at this point should fail. VIPs will be activated at the end of the Oracle Clusterware install. If any of the above tests fail you should fix name/address resolution by updating the DNS or local hosts files on each node before continuing with the installation.

2.4.4. *Network Adapter configuration


If your network adapters allow configuration you should make sure that they are configured for Full Duplex and at the 'fastest' speed consistent among nodes. They should not be left to 'auto-negotiate'.

2.5. *Time Sync


Before starting the installation, ensure that each member node of the cluster is set as closely as possible to the same date and time. Oracle strongly recommends using the Network Time Protocol feature of most operating systems for this purpose, with all nodes using the same reference Network Time Protocol server. At the very least you should ensure that the system clocks on all nodes are as close as possible.

2.4.2. *IP Address Requirements

18

2.6. *Configuring Kernel Parameters


Verify that the kernel parameters shown in the following table are set to values greater than or equal to the recommended value shown. The procedure following the table describes how to verify and set the values. On all cluster nodes, verify that the kernel parameters shown in the following table are set to values greater than or equal to the recommended value shown. The procedure following the table describes how to verify and set the values. Parameter Value File semmsl 250 /proc/sys/kernel/sem semmns 32000 semopm 100 semmni 128 shmmax Half the size of physical memory (in bytes) /proc/sys/kernel/shmmax shmmni 4096 /proc/sys/kernel/shmmni shmall 2097152 /proc/sys/kernel/shmall file-max 65536 /proc/sys/fs/file-max ip_local_port_range Minimum: 9000 Maximum:65500 /proc/sys/net/ipv4/ip_local_port_range rmem_default 262144 /proc/sys/net/core/rmem_default rmem_max 2097152 /proc/sys/net/core/rmem_max wmem_default 262144 /proc/sys/net/core/wmem_default wmem_max 1048576 /proc/sys/net/core/wmem_max To view the current value specified for these kernel parameters, and to change them if necessary, follow these steps: 1. Enter the commands shown in the following table to view the current values of the kernel parameters: Parameters Command semmsl, semmns,semopm, and semmni # /sbin/sysctl -a | grep sem for shmall, shmmax, and shmmni # /sbin/sysctl -a | grep shm file-max # /sbin/sysctl -a | grep file-max ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range rmem_default, rmem_max, wmem_default, and wmem_max # /sbin/sysctl -a | grep net.core 2. If the value of any kernel parameter is less than the recommended value, then complete the following process: Using any text editor, create or edit the /etc/sysctl.conf file, and add or edit lines similar to the following: kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 2097152 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 By specifying the values in the /etc/sysctl.conf file, they persist when you restart the system. Note: Include lines only for the kernel parameter values that you want to change. For the semaphore parameters (kernel.sem), you must specify all four values. However, if any of the current system parameter values are greater than the recommended values, then keep using the larger values. On Red Hat systems, to have these changes take effect immediately so that you do not have to restart the 2.6. *Configuring Kernel Parameters 19

system, enter the following command: /sbin/sysctl -p 3. Repeat steps 1 and 2 on all other nodes in the cluster. On SUSE systems only, enter the following command to cause the system to read the /etc/sysctl.conf file when it restarts: # /sbin/chkconfig boot.sysctl on 4. On SUSE Linux Enterprise Server 9.0 only, set the kernel parameter disable_cap_mlock as follows: disable_cap_mlock = 1 5. After updating the values of kernel parameters in the /etc/sysctl.conf file, either restart the computer, or run the command sysctl -p to make the changes in the /etc/sysctl.conf file available in the active kernel memory.

2.7. *Setting Shell Limits for the oracle User


To improve the performance of the software on Linux systems, you must increase the following shell limits for the oracle user |Shell Limit |Item in limits.conf |Hard Limit| Maximum number of open file descriptors nofile 65536 Maximum number of processes available to a single user nproc 16384 To increase the shell limits: 1. Add the following lines to the /etc/security/limits.conf file: oracle oracle oracle oracle soft hard soft hard nproc 2047 nproc 16384 nofile 1024 nofile 65536

2. Add or edit the following line in the /etc/pam.d/login file, if it does not already exist: session required /lib/security/pam_limits.so

3. Depending on the oracle user's default shell, make the following changes to the default shell startup file: For the Bourne, Bash, or Korn shell, add the following lines to the /etc/profile file (or the file /etc/profile.local on SUSE systems): if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi For the C shell (csh or tcsh), add the following lines to the /etc/csh.login file (or the file /etc/csh.login.local on SUSE systems): if ( $USER == "oracle" ) then limit maxproc 16384 limit descriptors 65536 endif 1. Repeat this procedure on all other nodes in the cluster. 2.7. *Setting Shell Limits for the oracle User 20

2.8. *Configuration of the Hangcheck-timer Module


Before installing Oracle Real Application Clusters on Linux systems, verify that the hangcheck-timer module (hangcheck-timer) is loaded and configured correctly. hangcheck-timer monitors the Linux kernel for extended operating system hangs that could affect the reliability of a RAC node and cause a database corruption. If a kernel/device driver hang occurs, then the module restarts the node in seconds. There are 3 parameters used to control the behavior of the module: 1. The hangcheck_tick parameter: it defines how often, in seconds, the hangcheck-timer checks the node for hangs. The default value is 60 seconds. Oracle recommends to set it to 1 (hangcheck_tick=1). 2. The hangcheck_margin parameter: it defines how long the timer waits, in seconds, for a response from the kernel. The default value is 180 seconds. Oracle recommends to set it to 10 (hangcheck_margin=10) 3. The hangcheck_reboot parameter: If the value of hangcheck_reboot is equal to or greater than 1, then the hangcheck-timer module restarts the system. If the hangcheck_ reboot parameter is set to zero, then the hangcheck-timer module will not restart the node. It should always be set to 1. If the kernel fails to respond within the sum of the hangcheck_tick and hangcheck_margin parameter values, then the hangcheck-timer module restarts the system.

2.8.1. *Hangcheck-timer Module verification procedure


1. Log in as root, and enter the following command to check the kernel version: # uname -a 2. Enter the following command on each node to determine which kernel modules are loaded: # /sbin/lsmod 3. If the hangcheck-timer module is not listed for any node: on Kernel 2.4 enter a command similar to the following to start the module on that node: # /sbin/insmod hangcheck-timer hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1 on Kernel 2.6 enter a command similar to the following to start the module located in the directories of the current kernel version: # insmod /lib/modules/kernel_version/kernel/drivers/char/hangcheck-timer.ko hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1 In the preceding command example, the variable kernel_version is the kernel version running on your system that you have got from uname -a. 4. To confirm that the hangcheck module is loaded, enter the following command: # lsmod | grep hang The output should be similar to the following: hangcheck_timer 3289 0 5. To ensure that the module is loaded every time the system restarts, verify that the local system startup file contains the command shown in the previous step, or add it if necessary: on Red Hat: On Red Hat Enterprise Linux systems, add the command to the /etc/rc.d/rc.local file. on SUSE: On SUSE systems, add the command to the /etc/init.d/boot.local file. 2.8. *Configuration of the Hangcheck-timer Module 21

2.9. *Platform Specific Setup


Show How to Disable RUN_PARALLEL on SLES (SuSE Linux): Hide Disable RUN_PARALLEL on SLES: As per Metalink Note:464061.1, on SuSE Linux disable RUN_PARALLEL by setting it to "no" in /etc/sysconfig/boot. The default setting of "yes" prevents the Oracle Clusterware to start in most cases. For a different workaround refer to the note for details. Show How to Configure SELinux on OEL5 and RHEL5: Hide Configure SELinux on OEL5 and RHEL5: As per Metalink Note:454196.1, on Oracle Enterprise Linux 5 & Redhat Enterprise Linux 5 it's required to either disable or set SELinux to permissive mode using one of the methods below: Editing /etc/selinux/config: Change the SELINUX value to "SELINUX=disabled" or "SELINUX=permissive". Appending kernel boot options: Edit the kernel boot line and append "selinux=0" (to completely disable), or "enforcing=0" (to set to permissive mode) to the kernel boot options. For example: title Red Hat Enterprise Linux AS (2.6.9-42.ELsmp) root (hd0,0) kernel /vmlinuz-2.6.9-42.ELsmp ro root=LABEL=/ rhgb quiet selinux=0 initrd /initrd-2.6.9-42.ELsmp.img Do one of the above and then reboot the server for change to take effect, or if a reboot is not possible, issue as root: # setenforce 0 This will put SELinux into permissive mode immediately. Show How to Ensure latest glibc is installed: Hide Ensure latest glibc is installed: As per Metalink Note:731599.1, to avoid false node reboots, ensure your glibc rpm is updated as follows: EL4 customers: install glibc-2.3.4-2.40 (or above) or upgrade to EL4u7 EL5 customers: install glibc-2.5-24 (or above) or upgrade to EL5u2 SLES10 customers: bug 416838 filed for this problem, contact Novell for fix. Unbreakable Linux customers or Redhat Network subscribers can issue: # up2date glibc Refer to above note for further details. Show How to disable deletion of critical Clusterware files: Hide deleting critical Clusterware files: The Oracle Clusterware places important socket files in /var/tmp/.oracle directory, which can be removed by Linux crontab cleanup jobs. As per Metalink Note: 391790.1, ensure that such deletion does not occur. The supplied builtin tmpwatch cronjob: /usr/sbin/tmpwatch 720 /var/tmp

2.9. *Platform Specific Setup

22

is safe since it does not delete any socket or special files, only regular files. However custom scripts or 3rd party cleanup jobs might cleanup such files and cause Clusterware failures.

2.10. *Required Software Directories


You must identify or create the following directories for the Oracle software, as follows: 1. Oracle Base Directory 2. Oracle Inventory Directory 3. Oracle Clusterware Home Directory 4. Oracle Home Directory The following subsections describe the requirements for these directories.

2.10.1. *Oracle Base Directory


The Oracle base directory acts as a top-level directory for Oracle software installations. You can use the same Oracle base directory for more than one installation or you can create separate Oracle base directories for different installations. If different operating system users install Oracle software on the same system, then each user must create a separate Oracle base directory. Regardless of whether you create an Oracle base directory or decide to use an existing one, you must set the ORACLE_BASE environment variable to specify the full path to the Oracle base directory. Note: The Oracle base directory can be on a local file system or on an NFS file system on a certified NAS device. Do not create the Oracle base directory on an OCFS version 1 file system. If you are not using an NFS file system, then create identical Oracle base directories on the other nodes. It must have at least 1.5 GB free disk space on all the nodes in the cluster

2.10.2. *Oracle Inventory Directory


The Oracle Inventory directory (oraInventory) stores an inventory of all software installed on the system. It is required by, and shared by, all Oracle software installations on a single system. The first time you install Oracle software on a system, Oracle Universal Installer prompts you to specify the path to this directory. If you are installing the software on a local file system, then Oracle recommends that you choose the following path: oracle_base/oraInventory If the Oracle base directory is located either on a cluster file system, or on a shared NFS file system on a NAS device, then you must place the Oracle Central Inventory directory on a local file system, privately mounted on each node, so that each node has a separate copy of the central inventory. If you specify a shared location for the Oracle Central Inventory, then each node attempts to write to the same central inventory. This is not supported. Oracle Universal Installer creates the directory that you specify, and sets the correct owner, group, and permissions for it. You do not need to create it. Note: All Oracle software installations rely on the Oracle base directory. Make sure that you back it up regularly. Do not delete the Oracle base directory unless you have completely removed all Oracle software from the system.

2.10.3. *Oracle Clusterware Home Directory


The Oracle Clusterware home directory is the directory where you choose to install the software for Oracle Clusterware. You must install Oracle Clusterware in a separate home directory. When you run Oracle Universal Installer, it prompts you to specify the path to this directory, as well as a name that identifies it. Oracle Universal Installer (OUI) creates the Oracle Clusterware home directory for you. Ensure before you start the installation that you provide sufficient disk space on a file system for the Oracle Clusterware directory (at least 1.4GB of free space), and the parent directory of the Oracle Clusterware directory space is writable by the oracle user. Note: Because you must change the permissions of all of the parent directories of the Oracle Clusterware home directory after installing the software to grant write access only to the root user, the Oracle Clusterware 2.10. *Required Software Directories 23

home directory must not be a subdirectory of the Oracle base directory

2.10.4. *Oracle Home Directory


The Oracle home directory is the directory where you choose to install the software for a particular Oracle product. You must install different Oracle products, or different releases of the same Oracle product, in separate Oracle home directories. When you run Oracle Universal Installer, it prompts you to specify the path to this directory, as well as a name that identifies it. The directory that you specify must be a subdirectory of the Oracle base directory. Oracle Universal Installer creates the directory path that you specify under the Oracle base directory. It also sets the correct owner, group, and permissions on it. You do not need to create this directory. Caution: During the installation, you must not specify an existing directory that has predefined permissions applied to it as the Oracle home directory. If you do, then you may experience installation failure due to file and group ownership permission errors.

2.10.5. *Identifying Existing Oracle Directories


Identifying an existing Oracle Inventory directory Enter the following command on all nodes in the cluster to view the contents of the oraInst.loc file: On x86 and Itanium systems: # more /etc/oraInst.loc On IBM zSeries based systems: # more /var/opt/oracle/oraInst.loc If the oraInst.loc file exists, then the output from this command is similar to the following: inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall The inventory_loc parameter identifies the Oracle Inventory directory (oraInventory) on that system. The parent directory of the oraInventory directory is typically an Oracle base directory. In the previous example, /u01/app/oracle is an Oracle base directory. Identifying existing Oracle home directories Enter the following command on all nodes in the cluster to view the contents of the oratab file: # more /etc/oratab If the oratab file exists, then it contains lines similar to the following: *:/u03/app/oracle/product/10.2.0/db_1:N *:/opt/orauser/infra_904:N The directory paths specified on each line identify Oracle home directories. Directory paths that end with the user name of the Oracle software owner that you want to use are valid choices for an Oracle base directory. Before deciding to use an existing Oracle base directory for this installation, make sure that it satisfies the following conditions: 1. It should not be on the same file system as the operating system. 2. It must have an identical path on all nodes in the cluster, or it must be an NFS file system on a certified NAS device. If you are not using an NFS file system, then create identical Oracle base directories on the other nodes. 3. It must have at least 1.5 GB free disk space on all the nodes in the cluster

2.10.3. *Oracle Clusterware Home Directory

24

2.11. *CVU Stage Check


Now you can run the CVU (Cluster Verification Utility) to check the state of the Operating System configuration. CVU can be run from the installation media, but it is recommended to download the latest version from: http://www.oracle.com/technology/products/database/clustering/cvu/cvu_download_homepage.html After the hardware and OS has been configured, it is recommended to run CVU to verify the nodes are configured correctly: runcluvfy.sh stage -post hwos -n stnsp001,stnsp002 -verbose Show CVU -post hwos output Hide CVU output

./runcluvfy.sh stage -post hwos -n stnsp001,stnsp002 -verbose Performing post-checks for hardware and operating system setup Checking node reachability... Check: Node reachability from node "stnsp001" Destination Node Reachable? ------------------------------------ -----------------------stnsp001 yes stnsp002 yes Result: Node reachability check passed from node "stnsp001".

Checking user equivalence... Check: User equivalence for user "oracle11" Node Name Comment ------------------------------------ -----------------------stnsp002 passed stnsp001 passed Result: User equivalence check passed for user "oracle11". Checking node connectivity...

Interface information for node "stnsp002" Interface Name IP Address Subnet ---------------- ------------ -----------eth0 10.137.8.216 10.137.8.0 eth1 10.137.24.207 10.137.24.0 eth2 10.137.20.172 10.137.20.0

Subnet Gateway Default Gateway Hardware Address ------------ ------------ -----------0.0.0.0 10.137.8.1 00:0E:0C:08:06:4E 0.0.0.0 10.137.8.1 00:0E:0C:08:06:4F 0.0.0.0 10.137.8.1 00:04:23:A6:CD:BD

Interface information for node "stnsp001" Interface Name IP Address Subnet ---------------- ------------ -----------eth0 10.137.8.215 10.137.8.0 eth1 10.137.24.206 10.137.24.0 eth2 10.137.20.171 10.137.20.0

Subnet Gateway Default Gateway Hardware Address ------------ ------------ -----------0.0.0.0 10.137.8.1 00:0E:0C:08:08:F2 0.0.0.0 10.137.8.1 00:0E:0C:08:08:F3 0.0.0.0 10.137.8.1 00:04:23:A6:CD:61

Check: Node connectivity of subnet "10.137.8.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------stnsp002:eth0 stnsp001:eth0 yes Result: Node connectivity check passed for subnet "10.137.8.0" with node(s) stnsp002,stnsp001. Check: Node connectivity of subnet "10.137.24.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------stnsp002:eth1 stnsp001:eth1 yes Result: Node connectivity check passed for subnet "10.137.24.0" with node(s) stnsp002,stnsp001.

2.11. *CVU Stage Check

25

Check: Node connectivity of subnet "10.137.20.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------stnsp002:eth2 stnsp001:eth2 yes Result: Node connectivity check passed for subnet "10.137.20.0" with node(s) stnsp002,stnsp001. Interfaces found on subnet "10.137.8.0" that are likely candidates for a private interconnect: stnsp002 eth0:10.137.8.216 stnsp001 eth0:10.137.8.215 Interfaces found on subnet "10.137.24.0" that are likely candidates for a private interconnect: stnsp002 eth1:10.137.24.207 stnsp001 eth1:10.137.24.206 Interfaces found on subnet "10.137.20.0" that are likely candidates for a private interconnect: stnsp002 eth2:10.137.20.172 stnsp001 eth2:10.137.20.171 WARNING: Could not find a suitable set of interfaces for VIPs. Result: Node connectivity check passed.

Checking shared storage accessibility... WARNING: Package cvuqdisk not installed. stnsp001 NFS -----------------------------------/nas Sharing Nodes (2 in count) -----------------------stnsp002 stnsp001

Shared storage check was successful on nodes "stnsp002,stnsp001". Post-check for hardware and operating system setup was successful.

Show all

Hide all

3. *Prepare the shared storage for Oracle RAC


This section describes how to prepare the shared storage for Oracle RAC 1. Shared Disk Layout 2. Create Partitions 3. Clean the Partitions 4. Device Permissions 5. RAW Devices 6. CVU This section describes how to prepare the shared storage for Oracle RAC For all installations, you must choose the storage option that you want to use for Oracle Clusterware files and Oracle Real Application Clusters databases files (Oracle RAC). You do not have to use the same storage option for each file type. Oracle Clusterware files include: Voting disks, used to monitor cluster node status. Oracle Cluster Registry (OCR) which contains configuration information about the cluster.

3. *Prepare the shared storage for Oracle RAC

26

There are two ways of storing Oracle Clusterware files: Block or Raw Devices: Oracle Clusterware files can be placed on either Block or Raw devices based on shared disk partitions. Oracle recommends using Block devices for easier usage. Refer to note WebIV:401132.1 if you want to use block devices. A supported shared file system: Supported file systems include the following: A supported cluster file system: OCFS (Linux Kernel 2.4),OCFS2 (Linux Kernel 2.6) or GPFS (IBM POWER). Network File System (NFS): A file-level protocol that enables access and sharing of files Note 1. If you do not have a storage option that provides external file redundancy, then you must configure at least three voting disk areas to provide voting disk redundancy. 2. If you are using NFS, then you must set the values for the NFS buffer size parameters rsize and wsize to at least 16384. Oracle recommends that you use the value 32768. 3. You cannot use ASM to store Oracle Clusterware files, because these files must be accessible before any ASM instance starts. There three ways of storing Oracle Database and recovery files: Automatic Storage Management (ASM). This is the recommended option. A supported shared file system Raw partitions (database files only)

3.1. *Create Partitions


When you create partitions with fdisk by specifying a device size, such as +256M, the actual device created may be smaller than the size requested, based on the cylinder geometry of the disk. This is due to current fdisk restrictions. Oracle configuration software checks to ensure that devices contain a minimum of 256MB of available disk space. Therefore, Oracle recommends using at least 280MB for the device size. You can check partition sizes by using the command syntax fdisk -s partition. For example: [root@node1]$ fdisk -s /dev/sdb1 281106 As root, now configure storage for cluster registry, voting disk and database files. You are presented with a bunch of disks from the storage array. The output of fdisk s /dev/sd[b-e] command may look as follows. /dev/sdb: /dev/sdc: /dev/sdd: /dev/sde: 116924416 116924416 116924416 116924416

In this example we have four 116Gig LUNs: /dev/sdb /dev/sdc /dev/sdd /dev/sde 116G 116G 116G 116G

3.1. *Create Partitions

27

3.1.1. Example of Configuring Block Device Storage for Oracle Clusterware


The procedure to create partitions for Oracle Clusterware files on block devices is asfollows: 1. log in as root 2. Enter the fdisk command to format a specific storage disk (for example,/sbin/fdisk /dev/sdb) 3. Create a new partition, and make the partition 280 MB in size for both OCR andvoting disk partitions. 4. Use the command syntax /sbin/partprobe diskpath on each node in thecluster to update the kernel partition table for the shared storage device on eachnode. The following is an example of how to use fdisk to create one partition on a shared storage block disk device for an OCR file: [root@stnsp001] # /sbin/fdisk /dev/sdb The number of cylinders for this disk is set to 1024. Command (m for help): n Command action e extended P primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1024, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1024, default 1) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1024, default 1024):+280m Command (m for help):w The partition table has been altered! Calling ioctl () to re-read partition table. Synching disks.

Login as the root user on the remote nodes and execute the following: [root@stnsp002] # /sbin/partprobe /dev/sdb1 Note: Oracle recommends that you create partitions for Oracle Clusterware files on physically separate disks. The user account with which you perform the installation (oracle or crs) must have write permissions to create the files in the path that you specify.

3.1.2. Example of Creating a Udev Permissions File for Oracle Clusterware


The procedure to create a permissions file to grant oinstall group members write privileges to block devices is as follows: 1. Log in as root. 2. Change to the /etc/udev/permissions.d directory: # cd /etc/udev/permissions.d 3. Start a text editor, such as vi, and enter the partition information where you want to place the OCR and voting disk files, using the syntax device[partitions]:root:oinstall:0640. Note that Oracle recommends that you place the OCR and the voting disk files on separate physical disks. For example, to grant oinstall members access to SCSI disks to place OCR files on sdb1 and sdc1, and to 3.1.1. Example of Configuring Block Device Storage for Oracle Clusterware 28

grant the Oracle Clusterware owner (in this example crs) permissions to place voting disks on sdb5, sdc5 and sda5, add the following information to the file: # OCR disks sdb1:root:oinstall:0640 sdc1:root:oinstall:0640 # Voting disks sdb5:crs:oinstall:0640 sdc5:crs:oinstall:0640 sdd5:crs:oinstall:0640 4. Save the file: On Asianux 2, Enterprise Linux 4, and Red Hat Enterprise Linux 4 systems, savet he file as 49-oracle.permissions. On Asianux 3, Enterprise Linux 5, Red Hat Enterprise Linux 5, and SUSE Enterprise Server 10 systems, save the file as 51-oracle.permissions. 1. Using the following command, assign the permissions in the udev file to the devices: # /sbin/udevstart Use the following procedure above to create additional partitions to use for the OCR, Voting, and ASM disks. Refer to the OS documentation for additional information on using the fdisk command.

3.1.3. Platform Specific Settings


Show How to Disable HOTPLUG_USE_SUBFS on SLES9 (SuSE Linux): Hide Disable HOTPLUG_USE_SUBFS on SLES9: As per Metalink Note:357472.1, on SuSE Linux SLES9 disable HOTPLUG_USE_SUBFS by setting it to "no" in /etc/sysconfig/hotplug. The default setting of "yes" causes problems for multipath devices.

3.2. *Installing the cvuqdisk Package for Linux


If you are using Red Hat or SUSE Linux, then you must download and install the operating system package cvuqdisk. Without cvuqdisk, CVU is unable to discover shared disks, and you receive the error message "Package cvuqdisk not installed" when you run CVU. Use the cvuqdisk rpm for your hardware (i386, or for Itanium, ia64). To install the cvuqdisk RPM, complete the following procedure: 1. Locate the cvuqdisk RPM package, which is in the directory clusterware/rpm on the installation media. If you have already installed Oracle Clusterware, then it is located in the directory CRS_home/rpm. 2. Copy the cvuqdisk package to each node on the cluster. You should ensure that each node is running the same version of Linux. 3. Log in as root. 4. Using the following command, check to see if you have an existing version of the cvuqdisk package: # rpm -qi cvuqdisk If you have an existing version, then enter the following command to de-install the existing version: rpm -e cvuqdisk

3.1.2. Example of Creating a Udev Permissions File for Oracle Clusterware

29

5. Set the environment variable CVUQDISK_GRP to point to the group that will own cvuqdisk, typically oinstall. 6. Use the following command to install the cvuqdisk package: rpm -iv cvuqdisk-1.0.1-1.rpm

3.3. *CVU
To check for all shared storage available across all nodes on the cluster, use the following command: runcluvfy.sh comp ssa -n node_list If you want to check the shared accessibility of a specific shared storage type to specific nodes in your cluster, then use the following command syntax: runcluvfy.sh comp ssa -n node_list -s storageID_list For example: runcluvfy.sh comp ssa -n node1,node2 -s /dev/sdb,/dev/sdc

4. Oracle Clusterware Installation and Configuration


This page includes hidden sections, use the and image for each section to show/hide the section Show all Hide all

or you can 'Show' or 'Hide' all by selecting here :

Next we will install the Oracle Clusterware layer. Oracle Clusterware is an essential component of the Oracle RAC database infrastructure. Oracle Clusterware does not require any other clustering software. You must not install any other Cluster Software. To install Oracle Clkusterware you will need: To determine your cluster name To determine public node names, private node names, and virtual node names for each node in the cluster To Identify shared storage for Oracle Clusterware files (3 voting disks and 2 OCRs) and prepare disk partitions if necessary

4.1. *CVU Pre Oracle Clusterware install check


Before starting the Oracle Clusterware install it is prudent to complete a CVU check for this stage. Use the latest version from otn. $ ./runcluvfy.sh stage -pre crsinst -n node1,node2 -r 10gR2 -verbose

4.2. *Installing Oracle Clusterware with OUI


Start the runInstaller command from the clusterware directory on the Oracle Database 10g Release 2 (10.2) installation media. When OUI displays the Welcome page, click Next.. Note: When installing 10gR2 RAC on Oracle Enterprise Linux 5 or RHEL5 or SLES10, you must first install the base release, which is 10.2.0.1. As these version of OS are newer, you should use the following command 3.2. *Installing the cvuqdisk Package for Linux 30

to invoke the installer check again note WebIV:414163.1 before installing): $ runInstaller -ignoreSysPrereqs // This will bypass the OS check //

Notes The OUI will ask for the inventory directory. The default is ORACLE_BASE/oraInventory. It will also ask for the Operating System group that will have write permission to the inventory. Actions Specify a location for the Inventory directory and specify the Operating System group Click Next

Notes The OUI will name the Oracle Clusterware Home'OraCrs10g_home'. If you change this you should make sure that the name you use is unique Actions

4.2. *Installing Oracle Clusterware with OUI

31

Specify a location for the Oracle Clusterware Home Click Next

Notes The installer will validate the state of the cluster before continuing. If there are issues you should rectify them before continuing Actions Click Next

Notes Each Cluster requires a name, this should be unique within your organisation, The default is crs. This is where you specify details of all the nodes in the cluster. The installer will default names for the node it is running on. You must add other nodes manually Oracle defaults the names to 'nodename', 'nodename-priv', 'nodename-vip' Actions 4.2. *Installing Oracle Clusterware with OUI 32

Confirm the Cluster Name selected is acceptable Confirm the Details for the current node are OK. The defaults are: Public Node Name : must resolve via hosts and or DNS to the public IP address and must be live Private Node Name : must resolve via hosts to the interconnect IP address and must be live Virtual Host Name : must resolve via hosts and or DNS to a new IP address and must not be live If these are not correct select the node entry and click Edit to modify. Click Add to enter a new node

Notes Here you specify the details of the node you wish to add to the cluster nodes list Actions Enter the new node details Public Node Name : must resolve via hosts and or DNS to the public IP address and must be live Private Node Name : must resolve via hosts to the interconnect IP address and must be live Virtual Host Name : must resolve via hosts and or DNS to a new IP address and must not be live Click OK to return to the node list for the cluster

4.2. *Installing Oracle Clusterware with OUI

33

* Notes The installer lists all the Network adapters. You should have one Adapter correctly identified as type 'Public' and at least one adapter correctly identified as type 'Private'. The installer will try and guess the use of an adapter based on the IP address bound. If it guesses incorrectly you must change the usage. Here it has guessed that all adapters are Private, which is incorrect. Actions Select the Adapter eth0 Click Edit... Select the Interface Type : Public radio button Click OK You should see that you have successfully configured the network adapter usage. Ideally you will have only 1 adapter set as public and 1 adapter set as private. If you have multiple public or multiple private adapters it is better to team them at the OS adapter driver level before commencing the install. Click Next

Notes 4.2. *Installing Oracle Clusterware with OUI 34

Here we specify the shared storage devices that will be used by Oracle Clusterware. Ideally you will have 2 devices for the OCR, Oracle will mirror to these devices to protect you from a single OCR device failure. Also you will have an additional 3 vote devices to protect your cluster from the failure of a single vote device. Actions Select the Normal radio button Enter the device to be used for the First OCR Enter the device to be used for the Second OCR Click Next

Notes Next we specify the devices to be used for the Oracle Clusterware vote disks Actions Select the Normal radio button Enter the device to be used for the First vote disk Enter the device to be used for the Second vote disk Enter the device to be used for the Third vote disk Click Next

4.2. *Installing Oracle Clusterware with OUI

35

Notes the installer lists a summary of the planned actions Actions Click Install

Notes the installer installs the software onto the local node Actions none required

4.2. *Installing Oracle Clusterware with OUI

36

Notes The installer requires commands to be run as root on each f the nodes Action On the first node open a root shell window

Notes here the Oracle Clusterware is configured Action run the identified command as root on the first node This may take some time to run You must wait for the command to complete before continuing Notes open a root shell on the second node 4.2. *Installing Oracle Clusterware with OUI 37

Action run the identified command as root on the first node This may take some time to run Notes You can now contnue with the install Action return to the installer Click OK Notes a series of configuration assistants are run at the end of the install Actions none required Notes The installer has completed installation and configuration of Oracle Clusterware Actions Click Exit To see the resources configured by Oracle Clusterware, run the ./crs_stat -t comand from the Oracle Clusterware home bin directory [root@stnsp013 bin]# ./crs_stat -t Name Type Target State Host -----------------------------------------------------------ora....013.gsd application ONLINE ONLINE stnsp013 ora....013.ons application ONLINE ONLINE stnsp013 ora....013.vip application ONLINE ONLINE stnsp013 ora....014.gsd application ONLINE ONLINE stnsp014 ora....014.ons application ONLINE ONLINE stnsp014 ora....014.vip application ONLINE ONLINE stnsp014

4.2.1. Oracle Clusterware has been installed

4.3. *CVU Post Oracle Clusterware install check


The CRS installation was successful and you want to verify it. Perform the following post-check: cluvfy stage -post crsinst -n all The specific checks included in the tasks of this stage are node reachability, user equivalence, cluster manager integrity (CSS daemon up), OCR integrity (uniqueness, correct version, no non-clusterconfigs), CRS integrity (CSS, CRS, EVM daemons up), and node applications existence (VIP, ONS, GSD configured) Note: "-n all" picks up nodes from lsnodes if you are using vendor clusterware and from olsnodes if you are 4.2.1. Oracle Clusterware has been installed 38

using only Oracle clusterware.

4.4. *Changing diagwait parameter to delay node reboot


Show How to set diagwait in Clusterware: Hide setting diagwait in Clusterware: To avoid false node reboots due to OS scheduling latencies and Oprocd interaction, it is highly advised to set the Clusterware CSS parameter diagwait to 13, as per Metalink Note: 559365.1: Shutdown the Oracle Clusterware on all nodes in the cluster: As root: # <CRS_HOME>/bin/crsctl stop crs Ensure Oprocd is not running on all nodes: As root: # <CRS_HOME>/bin/oprocd stop Ensure that Clusterware stack is down by running ps -ef |egrep "crsd.bin|ocssd.bin|evmd.bin|oprocd". This should return no processes. From one node of the cluster, change the value of the diagwait parameter to 13 seconds by issuing the command: As root: # <CRS_HOME>/bin/crsctl set css diagwait 13 -force Restart the Oracle Clusterware on all the nodes by executing: As root: # <CRS_HOME>/bin/crsctl start crs To check current diagwait setting issue: As root: # <CRS_HOME>/bin/crsctl get css diagwait value returned should be "13".

5. Oracle Clusterware patching


At this point we have installed Oracle Clusterware 10.2.0.1. In this section we will patch the Oracle Clusterware to the latest release of Oracle 10gR2 - 10.2.0.4. The patchset can be downloaded from metalink. Note: The Oracle Clusterware software must be at the same or newer level as the Oracle software in the Oracle RAC Oracle home. Therefore, you should always upgrade Oracle Clusterware before you upgrade Oracle RAC. This patch does not allow you to upgrade Oracle RAC before you upgrade Oracle Clusterware. We will apply this patchset in a non rolling upgrade. The first step in the application of this patchset requires to shutdown the Oracle Clusterware on all nodes in the RAC configuration. Login as the root and issue the following command on all the nodes: # $CRS_home/bin/crsctl stop crs As Oracle user, enter the following commands to start Oracle Universal Installer, where patchset_directory is the directory where you unpacked the patch set software: $ cd patchset_directory/Disk1 $ ./runInstaller On the Welcome screen, click Next.

4.3. *CVU Post Oracle Clusterware install check

39

Notes Specify the name and the location of the clusterware home Action Check that the name and location are correct

Notes Both nodes in the RAC Cluster are displayed Action Click Next

5. Oracle Clusterware patching

40

Notes The installer will validate the state of the cluster before continuing. Action If there are issues you should rectify them before continuing. Click Next

Notes the installer lists a summary of the planned actions Actions Click Install

5. Oracle Clusterware patching

41

Notes the installer installs the software Actions none required

Notes The installer requires to run root102.sh as root on each the node Action (to be performed on each node, one after the other) Log in as the root user and enter the following command to shut down the Oracle Clusterware: # CRS_home/bin/crsctl stop crs Run the root102.sh script. It will automatically start the Oracle Clusterware on the patched node: 5. Oracle Clusterware patching 42

# CRS_home/install/root102.sh

6. Install Oracle ASM Software only Home


Start the runInstaller command from the database directory on the Oracle Database 10g Release 2 (10.2) installation media. When OUI displays the Welcome page, click Next.. $ ./runInstaller

Notes Here we can choose the type of database software to be installed Action Select the Enterprise Edition radio button Click Next

6. Install Oracle ASM Software only Home

43

Notes Here we specify the name and location of ASM home. Modify as required (usually the Home name and Home Path should include the word ASM) Action Specify a location for the Oracle ASM Home Click Next

Notes The installer has detected the presence of Oracle Clusterware and uses this to populate this dialog box. To build a cluster which includes all nodes you must ensure that there are check-boxes next to the node names Action Click Select All Click Next

6. Install Oracle ASM Software only Home

44

Notes The installer will validate the state of the cluster before continuing. If there are issues you should rectify them before continuing Actions Click Next

Notes We are going to install a Software only home and then subsequently configure the software Actions Select the Install Software Only radio button Click Next

Notes Here we can see a summary of the install. 6. Install Oracle ASM Software only Home 45

Actions Click Install

Notes Here the installer copies the software to all nodes in the cluster Actions none required

Notes The installer pauses, some scripts need to be run as root on both nodes of the cluster Action open a shell window on each node

6. Install Oracle ASM Software only Home

46

Notes here we run the root scripts - they should only take a few seconds to run on each node Action run the scripts indicated in the previous screen on both nodes (one after the other) then return to the installer and Click OK

Notes After the software install completes you will see this End of Installation dialog Actions Click Exit to exit the installer ans click Yes to confirm Oracle ASM software home has been installed

6. Install Oracle ASM Software only Home

47

7. Oracle ASM Software Home Patching


Once ASM software has been installed, the next step in the process is to apply the 10.2.0.4 patchset to the ASM ORACLE_HOME. If an Automatic Storage Management instance is present, then shut down the Automatic Storage Management instance. To shut down an Automatic Storage Management instance, enter the following command where node is the name of the node where the Automatic Storage Management instance is running: $ srvctl stop asm -n node Enter the following commands to start Oracle Universal Installer, where patchset_directory is the directory where you unpacked the patch set software: $ cd patchset_directory/Disk1 $ ./runInstaller On the Welcome screen, click Next.

Notes Specify the name and the location of the asm home Action Check that the name and location are correct

7. Oracle ASM Software Home Patching

48

Notes Both nodes in the RAC Cluster are displayed Action Click Next.

Notes The installer will run Product-specific Prerequisite Checks . Action If there are issues you should rectify them before continuing. Click Next

7. Oracle ASM Software Home Patching

49

Notes On this screen, you will register with Oracle Configuration Manager (OCM) Action If you want to register with OCM, enter details regarding the CSI Number, OracleMetaLink? Account user name and Country code (optional - The registration and configuration can also be done manually after patchset installation) Click Next

Notes Here we can see a summary of the install. Actions Click Install

7. Oracle ASM Software Home Patching

50

Notes The installer pauses, root.sh need to be run as root on both nodes of the cluster Action open a shell window on each node and run root.sh (one after the other) then return to the installer and Click OK

Action The installation is done. Click Exit to exit the installer Click Yes in the box Oracle ASM software home has been patched to 10.2.0.4

7. Oracle ASM Software Home Patching

51

8. Oracle RAC Database Listener Creation


8.1. Create Node specific network listeners
The Oracle network listeners traditionally run from the ASM home. Here we are going to create the listeners using netca from the ASM home. Ensure the ORACLE_HOME environement variable isse tto the recently installed ASM home location Change to the ASM home bin directory Run ./netca $cd /scratch/oracle11/oracle/product/10.2.0/asm/bin $./netca

Notes Netca detects that the Oracle Clusterware layer is running and offers Cluster or Single Node configuration Actions Select the Cluster configuration radio button Click Next

8. Oracle RAC Database Listener Creation

52

Notes Netca uses Oracle Clusterware to determine all the nodes in the cluster Actions Click Select all nodes Click Next

Notes You need to configure listeners Actions Select the Listener configuration radio button Click Next

Notes You need to add a listener Actions Select the Add radio button Click Next

8.1. Create Node specific network listeners

53

Notes The default name is LISTENER. Do not change this. The listeners will eventually be called LISTENER_nodename1 & LISTENER_nodename2. This is important for RAC Actions Click Next

Notes Oracle Net supports various network protocols, although TCP is the most common. Actions Ensure the Selected Protocols list includes TCP Click Next

8.1. Create Node specific network listeners

54

Notes It is possible to choose a non-default Port This is not recommended. Actions Ensure the Use the Standard port number of 1521 radio button is set Click Next

Notes After configuring the node listeners you get the opportunity to configure more network components Actions Select the No radio button Click Next

8.1. Create Node specific network listeners

55

Notes Listener configuration is completed Actions Click Next

------------------- Notes You get the opportunity to configure other networking components Action Click the Finish button to exit the tool You can see the listener resources inside Oracle Clusterware by running crs_stat. $ ./crs_stat -t Name Type Target State Host -----------------------------------------------------------ora....13.lsnr application ONLINE ONLINE stnsp013 ora....013.gsd application ONLINE ONLINE stnsp013 ora....013.ons application ONLINE ONLINE stnsp013 ora....013.vip application ONLINE ONLINE stnsp013 ora....14.lsnr application ONLINE ONLINE stnsp014 ora....014.gsd application ONLINE ONLINE stnsp014 8.1. Create Node specific network listeners 56

ora....014.ons application ora....014.vip application

ONLINE ONLINE

ONLINE ONLINE

stnsp014 stnsp014

A new managed resource has been added to Oracle Clusterware OCR for each listener. You have now completed the RAC cluster nodes Network listener configuration. Completed Node specific network listeners creation

9. Oracle ASM Instance and diskgroup Creation


9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups
Ensure the ORACLE_HOME environment variable is set to the ASM home directory and run from the ASM home bin directory $cd /scratch/oracle11/oracle/product/10.2.0/asm/bin $./dbca

Notes dbca detects the Oracle Clusterware layer is running and offers to create either cluster or single instance database Actions Select the Oracle Real Application Clusters database radio button Click Next

9. Oracle ASM Instance and diskgroup Creation

57

Notes We use dbca to create RAC databases and ASM instances Actions Select the Configure Automatic Storage Management radio button Click Next

Notes You need to make sure you create ASM instances on all the cluster nodes Actions Click Select All Click Next

9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups

58

Notes Here we specify the password for the ASM Oracle SYS user Actions Enter the SYS password Enter the same password for the Confirm SYS password Click on the parameter file button Click Next

Notes dbca will create and start ASM instances Actions Click OK

9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups

59

Notes This should take a few seconds Actions no action

Notes ASM requires disks to be group together into diskgroups. This section will be used to create 2 disk groups +DATA and +FLASH Actions Click Create New

9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups

60

Notes At the moment no disks are visible Actions Click Change Discovery Path

Notes Here we specifya filter to allow us to see the disks on the shared array Action Enter a filter to allow the installer to see the disks Click OK

9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups

61

Notes Here you can now see thr disksw are visible Action none requried

Notes Now we will assign disks to specific disk groups and create the DATA diskgroup Actions In the Disk Group Name enter DATA Select the External Redundancy radio button Select the Show All radio button Select the 6 disks to be used for the DATA diskgroup Click OK

9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups

62

Notes A progress message this should not take very long Actions none

Notes Here we can see the DATA diskgroup has been created and is mounted on 2/2 instances. We now need to create the FLASH diskgroup Actions Click Create New

9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups

63

Notes We need to allow the installer to see the disks reserved for the FLASH disk group Action Click Change Discovery Path

Notes We need to modify the disk discovery string and to add the new path Action Modify the string Click OK

9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups

64

* Notes Now we will assign disks to specific disk groups and create the FLASH diskgroup. This diskgroup is created with Normal redundancy Actions In the Disk Group Name enter FLASH Select the Normal radio button Select the Show Candidate disks radio button Select the remaining disks allocated for the FLASH diskgroup Click OK A progress message will be displayed.

Notes Here we can see the DATA and FLASH diskgroups have been created and are mounted on 2/2 instances. This completed the ASM configuration. Actions Click Finish

9.1. Create ASM Instance and add the +DATA and +FLASH diskgroups

65

Notes A confirmation dialog box Actions Click No The asm instances now are part of Oracle Clusterware [oracle11@stnsp013 bin]$ ./crs_stat -t Name Type Target State Host -----------------------------------------------------------ora....SM1.asm application ONLINE ONLINE stnsp013 ora....13.lsnr application ONLINE ONLINE stnsp013 ora....013.gsd application ONLINE ONLINE stnsp013 ora....013.ons application ONLINE ONLINE stnsp013 ora....013.vip application ONLINE ONLINE stnsp013 ora....SM2.asm application ONLINE ONLINE stnsp014 ora....14.lsnr application ONLINE ONLINE stnsp014 ora....014.gsd application ONLINE ONLINE stnsp014 ora....014.ons application ONLINE ONLINE stnsp014 ora....014.vip application ONLINE ONLINE stnsp014 Creation of ASM Instances and addition of the +DATA and +FLASH diskgroups are completed Congratulations you have installed ASM, Network listeners and created 2 ASM diskgroups

10. Oracle RAC Database Home Software Install


10.1. CVU check - Pre Database Install
Before installing the RAC Database software you should use the CVU utility to confirm the status of the cluster.

10. Oracle RAC Database Home Software Install

66

10.2. Oracle RAC Database Home Software Install


Start the runInstaller command from the database directory on the Oracle Database 10g Release 2 (10.2) installation media. When OUI displays the Welcome page, click Next.. $ ./runInstaller

Notes Here we can choose the type of database software to be installed Action Select the Enterprise Edition radio button Click Next

Notes Here we specify the name and location of ASM home. Modify as required (usually the Home name and Home Path should include the word ASM) Action Specify a location for the Oracle ASM Home Click Next

10.2. Oracle RAC Database Home Software Install

67

Notes The installer has detected the presence of Oracle Clusterware and uses this to populate this dialog box. To build a cluster which includes all nodes you must ensure that there are check-boxes next to the node names Action Click Select All Click Next

Notes The installer will validate the state of the cluster before continuing. If there are issues you should rectify them before continuing Actions Click Next

10.2. Oracle RAC Database Home Software Install

68

Notes The installer has detected another instance (ASM) and asks if you want to upgrade Actions Click No

Notes We are going to install a Software only home and then subsequently configure the software Actions Select the Install Software Only radio button Click Next

10.2. Oracle RAC Database Home Software Install

69

Notes Here we can see a summary of the install. Actions Click Install

Notes Here the installer installs and copies the software to all nodes in the cluster Actions none required

10.2. Oracle RAC Database Home Software Install

70

Notes The installer pauses, some scripts need to be run as root on both nodes of the cluster Action open a shell window on each node

Notes here we run the root scripts - they should only take a few seconds to run on each node Action run the scripts indicated in the previous screen on both nodes (one after the other) then return to the installer and Click OK

10.2. Oracle RAC Database Home Software Install

71

Notes After the software install completes you will see this End of Installation dialog Actions Click Exit to exit the installer ans click Yes to confirm Oracle RAC software home has been installed

11. Oracle RAC Software Home Patching


Once RAC software has been installed, the next step in the process is to apply the 10.2.0.4 patchset to the RAC ORACLE_HOME. Ensure that all databases using the to-be-patched Oracle Home are fully shutdown on all nodes, then proceed. Enter the following commands to start Oracle Universal Installer, where patchset_directory is the directory where you unpacked the patch set software: $ cd patchset_directory/Disk1 $ ./runInstaller On the Welcome screen, click Next.

11. Oracle RAC Software Home Patching

72

Notes Specify the name and the location of the RAC home Action Check that the name and location are correct

Notes Both nodes in the RAC Cluster are displayed Action Click Next.

Notes The installer will run Product-specific Prerequisite Checks . Action If there are issues you should rectify them before continuing. Click Next

11. Oracle RAC Software Home Patching

73

Notes On this screen, you will register with Oracle Configuration Manager (OCM) Action If you want to register with OCM, enter details regarding the CSI Number, OracleMetaLink? Account user name and Country code (optional - The registration and configuration can also be done manually after patchset installation) Click Next

Notes Here we can see a summary of the install. Actions Click Install

11. Oracle RAC Software Home Patching

74

Notes The installer pauses, root.sh need to be run as root on all nodes of the cluster Action open a shell window on each node and run root.sh (one after the other) then return to the installer and Click OK

11. Oracle RAC Software Home Patching

75

Action The installation is done. Click Exit to exit the installer Click Yes in the box Oracle RAC software home has been patched to 10.2.0.4

12. Oracle RAC Database Creation


12.1. use dbca to create the RAC database
Ensure the ORACLE_HOME environment variable is set to the new RAC Home and launch dbca from the RAC database home change to the RAC Home bin directory # cd $ORACLE_HOME/bin # run ./dbca

Notes dbca detects the Oracle Clusterware layer is running and offers to create either cluster or single instance database Actions

12. Oracle RAC Database Creation

76

Select the Oracle Real Application Clusters database radio button Click Next

Notes We use dbca to create RAC databases Actions Select the Create a Database radio button Click Next

Notes You need to make sure you create RAC database instances on all the cluster nodes Actions Click Select All Click Next

12.1. use dbca to create the RAC database

77

Notes Here you get to select the type of database Actions Select the General Purpose... radio button Click Next

Notes Now you specify the preface for the SIDs for the RAC database instances recommendation is to keep it simple Actions Enter your database name in the Global Database name, The SID should autofill Click Next

12.1. use dbca to create the RAC database

78

Notes Here you get to configure Oracle Enterprise Manager. If you have no Grid Control server then the best method is to use dbcontrol as detailed here. Actions Check the Configure Enterprise manager checkbox Select the Configure Database Control for local management radio button Click Next

Notes Here we specify the password for the Oracle Database users. In this example we are setting the same password for all users. You should set a password scheme that meets your requirements. Actions Select the Use the Same Administrative Password radio button Enter the password Enter the same password for the Confirm password Click Next

12.1. use dbca to create the RAC database

79

Notes Here you specify where you would like your database datafiles stored. We are going to use the ASM diskgroups we created earlier. Actions Select the Automatic Storage Management (ASM) radio button Click Next

Notes dbca displays the diskgroups we previously created. We are going to use the DATA diskgroup Actions Check the box on the DATA diskgroup line Click Next

12.1. use dbca to create the RAC database

80

Notes We will use Oracle Managed files . All the database files will be created on the DATA diskgroup. Actions Click Next

Notes Here we specify recovery configuration information. We are going to use a flash recovery area. Actions Check the Specify Flash Recovery Area checkbox In the Flash recovery area enter +FLASH Set the flash recovery size remember the size of the +FASH diskgroup Check the Enable Archiving checkbox Click Next

12.1. use dbca to create the RAC database

81

Notes Here you can choose to add the Oracle Sample schemas Actions Check the Sample schemas checkbox Click Next

Notes Here you can define services Actions We will not define additional services during the database creation Click Next

12.1. use dbca to create the RAC database

82

Notes Here you can modify the default initialisation parameters. Actions Click Next

Notes Here you can review the placement of various database files Actions Click Next

12.1. use dbca to create the RAC database

83

Notes You can decide to generate database creation scripts Actions Check the Create Database checkbox Click Next

Notes A summary screen Actions Click OK

12.1. use dbca to create the RAC database

84

Notes Database creation in progress Actions none

Notes After the database is created the summary screen is displayed. Note the URL for the Database Control Actions Click on Password Management if you want to manage and/or unlock passwords Click Exit

12.1. use dbca to create the RAC database

85

Notes The Database instances will be started on all nodes Actions none You can see that the cluster has registered started the database instances on each node # cd <CRS_home>/bin # ./crs_stat -t Name Type Target State Host -----------------------------------------------------------ora....SM1.asm application ONLINE ONLINE stnsp013 ora....13.lsnr application ONLINE ONLINE stnsp013 ora....013.gsd application ONLINE ONLINE stnsp013 ora....013.ons application ONLINE ONLINE stnsp013 ora....013.vip application ONLINE ONLINE stnsp013 ora....SM2.asm application ONLINE ONLINE stnsp014 ora....14.lsnr application ONLINE ONLINE stnsp014 ora....014.gsd application ONLINE ONLINE stnsp014 ora....014.ons application ONLINE ONLINE stnsp014 ora....014.vip application ONLINE ONLINE stnsp014 ora.wlm.db application ONLINE ONLINE stnsp013 ora....m1.inst application ONLINE ONLINE stnsp013 ora....m2.inst application ONLINE ONLINE stnsp014 RAC database creation is complete

12.1. use dbca to create the RAC database

86

You might also like