2 Oracle Clusterware Preinstallation Tasks

This chapter describes the system configuration tasks that you must complete before you start Oracle Universal Installer (OUI) to install Oracle Clusterware.

This chapter contains the following topics:

2.1 Reviewing Upgrade Best Practices

If you have an existing Oracle installation, then document version numbers, patches, and other configuration information, and review upgrade procedures for your existing installation. Review Oracle upgrade documentation before proceeding with installation, to decide how you want to proceed.

For late-breaking updates and best practices about preupgrade, post-upgrade, compatibility, and interoperability discussions, refer to "Oracle Upgrade Companion." "Oracle Upgrade Companion" is available through Note 466181.1 on OracleMetaLink:

https://metalink.oracle.com

2.2 Logging In to a Remote System as root Using X Terminal

Before you install the Oracle software, you must complete several tasks as the root user on the system where you install Oracle software. To complete tasks as the root user on a remote server, you need to enable remote display as root.

Note:

If you log in as another user (for example, oracle), then you need to repeat this procedure for that user as well.

To enable remote display, complete one of the following procedures:

  • If you are installing the software from an X Window System workstation or X terminal, then:

    1. Start a local terminal session, for example, an X terminal (xterm).

    2. If you are not installing the software on the local system, then enter a command using the following syntax to enable remote hosts to display X applications on the local X server:

      $ xhost + remote_host
      

      where remote_host is the fully qualified remote hostname. For example:

      $ xhost + somehost.example.com
      somehost.example.com being added to the access control list
      
    3. If you are not installing the software on the local system, then use the ssh, command to connect to the system where you want to install the software:

      $ ssh remote_host
      

      where remote_host is the fully qualified remote hostname. For example:

      $ ssh somehost.example.com
      
    4. If you are not logged in as the root user, then enter the following command to switch the user to root:

      $ su - root
      password:
      #
      
  • If you are installing the software from a PC or other system with X server software installed, then:

    Note:

    If necessary, refer to your X server documentation for more information about completing this procedure. Depending on the X server software that you are using, you may need to complete the tasks in a different order.
    1. Start the X server software.

    2. Configure the security settings of the X server software to permit remote hosts to display X applications on the local system.

    3. Connect to the remote system where you want to install the software and start a terminal session on that system, for example, an X terminal (xterm).

    4. If you are not logged in as the root user on the remote system, then enter the following command to switch user to root:

      $ su - root
      password:
      #
      

2.3 Overview of Groups and Users for Oracle Clusterware Installations

You must create the following group and user to install Oracle Clusterware:

  • The Oracle Inventory group (typically, oinstall)

    You must create this group the first time that you install Oracle software on the system. In Oracle documentation, this group is referred to as oinstall.

    Note:

    If Oracle software is already installed on the system, then the existing Oracle Inventory group must be the primary group of the operating system user (oracle or crs) that you use to install Oracle Clusterware. Refer to Section 2.4.5.1, "Determining if an Oracle Software Owner User Exists" to identify an existing Oracle Inventory group.
  • Oracle clusterware software owner user (typically, oracle, if you intend to create a single software owner user for all Oracle software, or crs, if you intend to create separate Oracle software owners.)

    You must create at least one software owner the first time you install Oracle software on the system. This user owns the Oracle binaries of the Oracle Clusterware software, and you can also make this user the owner of the binaries of Automatic Storage Management and Oracle Database or Oracle RAC.

See Also:

Oracle Database Administrator's Reference for UNIX Systems and Oracle Database Administrator's Guide for more information about the OSDBA and OSOPER groups and the SYSDBA, SYSASM and SYSOPER privileges

2.4 Creating Groups and Users for Oracle Clusterware

Log in as root, and use the following instructions to locate or create the Oracle Inventory group and a software owner for Oracle Clusterware:

2.4.1 Understanding the Oracle Inventory Group

You must have a group whose members are given access to write to the Oracle Central Inventory (oraInventory). The Central Inventory contains the following:

  • A registry of the Oracle home directories (Oracle Clusterware, Oracle Database, and Automatic Storage Management) on the system

  • Installation logs and trace files from installations of Oracle software. These files are also copied to the respective Oracle homes for future reference.

Other metadata inventory information regarding Oracle installations are stored in the individual Oracle home inventory directories, and are separate from the Central Inventory.

2.4.2 Understanding the Oracle Inventory Directory

The first time you install Oracle software on a system, Oracle Universal Installer checks to see if you have created an Optimal Flexible Architecture (OFA) compliant path in the format u[01-09]/app, such as /u01/app, and that the user running the installation has permissions to write to that path. If this is true, then Oracle Universal Installer creates the Oracle Inventory directory in the path /u[01-09]/app/oraInventory. For example:

/u01/app/oraInventory

If you have set the environment variable $ORACLE_BASE for the user performing the Oracle Clusterware installation, then OUI creates the Oracle Inventory directory in the path $ORACLE_BASE/../oraInventory. For example, if $ORACLE_BASE is set to /opt/oracle/11, then the Oracle Inventory directory is created in the path /opt/oracle/oraInventory.

If you have created neither an OFA-compliant path nor set $ORACLE_BASE, then the Oracle Inventory directory is placed in the home directory of the user that is performing the installation. For example:

/home/oracle/oraInventory

As this placement can cause permission errors during subsequent installations with multiple Oracle software owners, Oracle recommends that you either create an OFA-compliant installation path, or set an $ORACLE_BASE environment path.

For new installations, Oracle recommends that you allow OUI to create the Central Inventory directory. By default, if you create an Oracle path in compliance with OFA structure, such as /u01/app, that is owned by an Oracle software owner, then the Central Inventory is created in the path u01/app/oraInventory using correct permissions to allow all Oracle installation owners to write to this directory.

2.4.3 Determining If the Oracle Inventory and Oracle Inventory Group Exists

When you install Oracle software on the system for the first time, OUI creates the oraInst.loc file. This file identifies the name of the Oracle Inventory group (typically, oinstall), and the path of the Oracle Central Inventory directory. An oraInst.loc file has contents similar to the following:

inventory_loc=central_inventory_location
inst_group=group

In the preceding example, central_inventory_location is the location of the Oracle Central Inventory (oraInventory), and group is the name of the group that has permissions to write to the central inventory.

If you have an existing Oracle Inventory, then ensure that you use the same Oracle Inventory for all Oracle software installations, and ensure that all Oracle software users you intend to use for installation have permissions to write to this directory.

To determine if 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

In the previous output example:

  • The inventory_loc group shows the location of the Oracle Inventory

  • The inst_group parameter shows the name of the Oracle Inventory group (in this example, oinstall).

2.4.4 Creating the Oracle Inventory Group If an Oracle Inventory Does Not Exist

If the oraInst.loc file does not exist, then create the Oracle Inventory group by entering a command similar to the following:

# mkgroup id=501 oinstall

The preceding command creates the group oinstall, with the group ID number 501.

2.4.5 Creating the Oracle Clusterware User

You must create a software owner for Oracle Clusterware 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, such as crs, with different group membership, to give separate clusterware and database administrative privileges to those groups in a new Oracle Clusterware and Oracle Database installation.

    In Oracle documentation, a user created to own only Oracle Clusterware software installations is called the crs user. A user created to own either all Oracle installations, or only Oracle database installations, is called the oracle user.

Note:

If you intend to use multiple Oracle software owners for different Oracle Database homes, then Oracle recommends that you create a separate Oracle software owner for Oracle Clusterware, and install Oracle Clusterware using the Oracle Clusterware software owner.

If you want to create separate Oracle software owners (oracle, crs, asm) to create separate users and separate operating system privileges groups for different Oracle software installations, then note that each of these users must have the oinstall group as their primary group, and each user must share the same Oracle Central Inventory, to prevent corruption of the Central Inventory. Refer to "Creating Custom Configuration Groups and Users for Job Roles".

2.4.5.1 Determining if an Oracle Software Owner User Exists

To determine whether an Oracle software owner user named oracle or crs exists, enter a command similar to the following (in this case, to determine if oracle exists):

# id oracle

If the user exists, then the output from this command is similar to the following:

uid=501(oracle) gid=501(oinstall) groups=502(dba),503(oper)

Determine whether you want to use the existing user, or create another user.

If you want to use the existing user, then ensure that the user's primary group is the Oracle Inventory group (oinstall).

2.4.5.2 Creating a Software Owner User for Oracle Clusterware

If the Oracle software owner (oracle, crs) user does not exist, or if you require a new Oracle software owner user, then create it. The following procedure uses crs as the name of the Oracle software owner.

  1. Enter the following command:

    # smit security
    
  2. On the Security & Users menu, select Users.

  3. On the Users menu, select Add a User.

  4. Choose the appropriate menu items to create the Oracle Clusterware user (crs or oracle). In the Primary GROUP field, specify the Oracle Inventory group. Make a note of the information you provide in the entry fields, so that you can provide the same value on other nodes.

    Note:

    The UID and GID for the Oracle Clusterware user must be less than 65536.
  5. Press F10 to exit.

  6. Set the password of the Oracle Clusterware oracle user. For example:

    # passwd crs
    
  7. Ensure that the Oracle Clusterware oracle user has the capabilities CAP_NUMA_ATTACH, CAP_BYPASS_RAC_VMM, and CAP_PROPAGATE.

    To check existing capabilities, enter the following command as root; in this example, the Oracle Clusterware oracle user is crs:

    # /usr/bin/lsuser -a capabilities crs
     
    

    To add capabilities, enter a command similar to the following:

    # /usr/bin/chuser 
    capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE crs 
    
  8. Repeat this procedure on all of the other nodes in the cluster.

2.4.5.3 Modifying an Existing Software Owner User

If the user account you want to use for Oracle Clusterware exists, but its primary group is not oinstall, then use the following procedure to modify the user to add groups:

  1. Enter the following command:

    # smit security
    
  2. Choose the appropriate menu items to modify the oracle user.

  3. In the Primary GROUP field, specify the Oracle Inventory group, for example oinstall.

  4. Press F10 to exit.

  5. Repeat this procedure on all of the other nodes in the cluster.

2.4.6 Example of Creating Users and Groups

The following is an example of how to create the Oracle Clusterware software owner (in this case, crs), and a path compliant with OFA structure with correct permissions for the oraInventory directory. This example also shows how to create separate Oracle Database and Oracle ASM homes with correct ownership and permissions, and how to create separate operating system groups for Oracle ASM, Oracle Clusterware, and Oracle Database system privileges:

# groupadd -g 1000 oinstall
# groupadd -g 1100 asmadmin
# groupadd -g 1200 dba
# groupadd -g 1300 asmdba
# groupadd -g 1301 asmoper
# useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper crs
# useradd -u 1101 -g oinstall -G dba,asmdba oracle
# useradd -u 1102 -g oinstall -G asmadmin,asmdba,asmoper asm
# mkdir -p /u01/app/crs
# chown -R crs:oinstall /u01
# mkdir -p /u01/app/oracle
# chown oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01
# mkdir /u01/app/asm
# chown asm:oinstall /u01/app/asm

At the end of this procedure, you will have the following:

  • /u01 owned by root.

  • /u01/app owned by crs:oinstall with 775 permissions. This ownership and permissions enables OUI to create the oraInventory directory, in the path /u01/app/oraInventory.

  • /u01/app/crs owned by crs:oinstall with 775 permissions. These permissions are required for installation, and are changed during the installation process.

  • /u01/app/oracle owned by oracle:oinstall with 775 permissions.

  • /u01/app/asm owned by asm:oinstall with 775 permissions.

2.5 Checking the Hardware Requirements

Each system must meet the following minimum hardware requirements:

  • At least 1 GB of physical RAM

  • Swap space equivalent to the multiple of the available RAM, using the following table as a guideline:

    Available RAM Swap Space Required
    Between 1 GB and 2 GB 1.5 times the size of RAM
    Between 2 GB and 8 GB Equal to the size of RAM
    More than 8 GB .75 times the size of RAM

    Note:

    On AIX systems with 1 GB or more of memory, Oracle recommends that you set the paging space to an initial setting of half the size of RAM plus 4 GB, with an upper limit of 32 GB. During installation, to optimize paging, monitor the paging space use in a separate window. Use the command lsps -a to increase or decrease the paging space size. The output of lsps -a should indicate paging space use of less than 25 percent on a healthy system. Refer to Oracle Database Administrator's Reference for AIX for more information about configuring paging space.
  • 400 MB of disk space in the /tmp directory

  • 2 GB of disk space for Oracle Clusterware files, in partitions on separate physical disks, assuming standard redundancy (2 Oracle Cluster Registry partitions and 3 voting disks)

  • 2.6 GB of disk space for the Oracle Clusterware home and log files

  • 7.5 GB of disk space for the Oracle Database files (Oracle base)

  • 2 GB of disk space for a preconfigured database that uses file system storage (optional)

    Note:

    The disk space requirement for databases that use Automatic Storage Management or raw device storage is described in Chapter 4.

    Additional disk space, either on a file system or in an Automatic Storage Management disk group, is required for the Fast recovery area if you choose to configure automated backups.

To ensure that each system meets these requirements, follow these steps:

  1. To determine the physical RAM size, enter the following command:

    # /usr/sbin/lsattr -E -l sys0 -a realmem
    

    If the size of the physical RAM installed in the system is less than the required size, then you must install more memory before continuing.

  2. To determine the available RAM and swap space, enter the following command:

    # /usr/sbin/lsps -s
    
  3. To determine the size of the configured swap space, enter the following command:

    # /usr/sbin/lsps -a
    

    If necessary, refer to your operating system documentation for information about how to configure additional swap space.

  4. To determine the amount of disk space available in the /tmp directory, enter the following command:

    • # df -k /tmp
      

    If there is less than 400 MB of disk space available in the /tmp directory, then complete one of the following steps:

    • Delete unnecessary files from the /tmp directory to make available the disk space required.

    • Set the TEMP and TMPDIR environment variables when setting the oracle user's environment (described later).

    • Extend the file system that contains the /tmp directory. If necessary, contact your system administrator for information about extending file systems.

  5. To determine the amount of free disk space on the system, use one of the following commands, depending on where you intend to place Oracle Clusterware files:

    GPFS:

    # df -k
    

    Raw Logical Volumes in Concurrent VG (HACMP); in the following example, the variable lv_name is the name of the raw logical volume whose space you want to verify:

    # lslv lv_name
    

    Raw hard disks; in the following example, the variable rhdisk# is the raw hard disk number that you want to verify, and the variable size_mb is the size in megabytes of the partition that you want to verify:

    # lsattr -El rhdisk# -a size_mb
    

    The following table shows the approximate disk space requirements for software files for each installation type:

    Installation Type Requirement for Software Files (GB)
    Enterprise Edition 4 GB
    Standard Edition 4 GB
    Custom (maximum) 4 GB

  6. To determine if the system architecture can run the software, enter the following command:

    # getconf HARDWARE_BITMODE
    

    Note:

    The expected output of this command is 64. If you do not see the expected output, then you cannot install the software on this system.
  7. To determine if the system is started in 64-bit mode, enter the following command:

    # bootinfo -K
    

    The result of this command should be 64, indicating that the 64-bit kernel is enabled.

2.6 Checking the Network Requirements

Check that you have the networking hardware and internet protocol (IP) addresses required for an Oracle Real Application Clusters installation.

Note:

For the most up-to-date information about supported network protocols and hardware for Oracle Clusterware installations, refer to the Certify pages on the OracleMetaLink Web site at
https://metalink.oracle.com

Network Hardware Requirements

Each node in the cluster must meet the following requirements:

  • Each node must have at least two network adapters: one for the public network interface, and one for the private network interface (the interconnect).

  • 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.

    For example: With a two-node cluster, you cannot configure network adapters on node1 with en0 as the public interface, but on node2 have en1 as the public interface. Public interface names must be the same, so you must configure en0 as public on both nodes. You should configure the private interfaces on the same network adapters as well. If en1 is the private interface for node 1, then en1 should be the private interface for node 2.

  • For increased reliability, configure redundant public and private network adapters for each node.

  • For the public network, each network adapter must support TCP/IP.

  • 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).

    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.

  • 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.

2.6.1 IP Address Requirements

Before starting the installation, you must have the following IP addresses available for each node:

  • An IP address with an associated network name registered in the domain name service (DNS) for the public interface. If you do not have an available DNS, then record the network name and IP address in the system hosts file, /etc/hosts.

  • One virtual IP (VIP) address with an associated network name registered in DNS. If you do not have an available DNS, then record the network name and VIP address in the system hosts file, /etc/hosts. Select an address for your VIP that meets the following requirements:

    • The IP address and network name are currently unused

    • The VIP is on the same subnet as your public interface

    Before installation, check that the default gateway can be accessed by a ping command. During installation, OUI uses the ping command to ensure that the VIP is reachable. To find the default gateway, use the route command, as described in your operating system's help utility. After installation, configure clients to use either the VIP address, or the network name associated with the VIP. If a node fails, then the node's virtual IP address fails over to another node.

  • A private IP address with a host name for each private interface

    Oracle recommends that you use private network IP addresses for these interfaces (for example: 10.*.*.* or 192.168.*.*). Use the /etc/hosts file on each node to associate private network names with private IP addresses.

For example, with a two node cluster where each node has one public and one private interface, you might have the configuration shown in the following table for your network interfaces, where the hosts file is /etc/hosts:

Node Interface Name Type IP Address Registered In
rac1 rac1 Public 143.46.43.100 DNS (if available, else the hosts file)
rac1 rac1-vip Virtual 143.46.43.104 DNS (if available, else the hosts file)
rac1 rac1-priv Private 10.0.0.1 Hosts file
rac2 rac2 Public 143.46.43.101 DNS (if available, else the hosts file)
rac2 rac2-vip Virtual 143.46.43.105 DNS (if available, else the hosts file)
rac2 rac2-priv Private 10.0.0.2 Hosts file

To enable VIP failover, the configuration shown in the preceding table defines the public and VIP addresses of both nodes on the same subnet, 143.46.43. When a node or interconnect fails, then the associated VIP is relocated to the surviving instance, enabling fast notification of the failure to the clients connecting through that VIP. If the application and client are configured with transparent application failover options, then the client is reconnected to the surviving instance.

2.6.2 Node Time Requirements

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.

2.6.3 Configuring the Network Requirements

To verify that each node meets the requirements, follow these steps:

  1. If necessary, install the network adapters for the public and private networks and configure them with either public or private IP addresses.

  2. Register the host names and IP addresses for the public network interfaces in DNS.

  3. For each node, register one virtual host name and IP address in DNS.

  4. For each private interface on every node, add a line similar to the following to the /etc/hosts file on all nodes, specifying the private IP address and associated private host name:

    10.0.0.1     rac1-priv1
    
  5. To identify the interface name and associated IP address for every network adapter, enter the following command:

    # netstat -i
    

    From the output, identify the interface name and IP address for all network adapters that you want to specify as public or private network interfaces.

    Note:

    When you install Oracle Clusterware and RAC, you will require this information.

2.7 Checking the Software Requirements

Depending on the products that you intend to install, verify that the following software is installed on the system. The procedure following the table describes how to verify whether these requirements are addressed.

Note:

Oracle Universal Installer performs checks on your system to verify that it meets the listed requirements.Check Oracle Certify for the most recent updates at the following URL:

https://metalink.oracle.com

Table 2-1 AIX Operating System Kernel Requirements

Item Requirement

Operating systems

AIX 6L version 6.1 (64-bit), TL01-SP01 (NOTE: AIX6.1-TL0-SP04 is not supported, due to an operating system bug)

AIX 5L version 5.3 (64-bit) TL 05, Service Pack 06 or later

AIX 6L operating system filesets

The following operating system filesets are required:

bos.adt.base
bos.adt.lib
bos.adt.libm
bos.perf.libperfstat
bos.perf.perfstat
bos.perf.proctools
rsct.basic.rte
rsct.compat.clients.rte
xlC.aix61.rte:9.0.0.1 (or later)
xlC.rte:9.0.0.1 (or later)

You must have the xlC C/C++ runtime filesets for installation, but you do not require the C/C++ compilers. You do not require a license for the xlC runtime filesets

AIX 5L operating system filesets

The following operating system filesets are required:

bos.adt.base
bos.adt.lib
bos.adt.libm
bos.perf.libperfstat
bos.perf.perfstat
bos.perf.proctools
rsct.basic.rte
rsct.compat.clients.rte
xlC.aix50.rte 8.0.0.7 (or later)
xlC.rte 8.0.0.7 (or later)

You must have the xlC C/C++ runtime filesets for installation, but you do not require the C/C++ compilers. You do not require a license for the xlC runtime filesets

Obtaining C/C++ Compilers

To obtain the XLC runtime filesets, Oracle Database users who do not install the IBM XL C/C++ Enterprise Edition V8.0 or V9.0 compiler should install the IBM XL C/C++ Enterprise Edition V8.0 for AIX Runtime Environment Component. For AIX5L, this contains xLC.aix.rte 8.0.0.8 and xlC.rte 8.0.0.8.

Download the C/C++ compiler from the following Web site:

http://www-1.ibm.com/support/docview.wss?uid=swg24015075

Download the C runtime environment file sets, with no license requirement, from the following Web site:

http://www-1.ibm.com/support/docview.wss?uid=swg24015077

Oracle RAC

High Availability Cluster Multi-Processing (HACMP) v5.4.1 (with AIX 6.1)

High Availability Cluster Multi-Processing (HACMP) v5.3 (with AIX 5L

Note: HACMP is required only if you want to use raw logical volumes for Oracle Clusterware or database file storage. However, it is supported for all installations. Review patch sets to ensure that you have required patches. Changes in the fileset packaging of HACMP 5.4, including 5.4.1, require updates to the Oracle rootpre.sh script. Download and install patch 6718715 before installing Oracle Clusterware.

General Parallel File System (GPFS) v3.1.0.10 or later.

Note: GPFS is required only if you want to use a cluster file system for Oracle Clusterware or database files.

ADA

OC Systems PowerAda 5.4d

JDK

IBM JDK 1.5 is installed with this release.

Pro*FORTRAN

IBM XL Fortran v. 10.1 for AIX

Pro*C/C++, Oracle Call Interface, Oracle C++ Call Interface, Oracle XML Developer's Kit (XDK), GNU Compiler Collection (GCC)

Note: If you do not install the C/C++ compilers, then you require the C/C++ runtime filesets for installation as described in the "Operating system filesets" row in this table.

Pro*COBOL

  • AcuCobol 6.1

  • Micro Focus Server Express 5.0 (Both 32-bit and 64-bit)

Oracle Messaging Gateway

IBM WebSphere MQ V6.0, client and server:

mqm.Client.Bnd
mqm.Server.Bnd

To ensure that the system meets these requirements:

  1. To determine the version of AIX installed, enter the following command:

    # oslevel -r
    

    If the operating system version is lower than AIX 5.3, then upgrade your operating system to at least this maintenance level. AIX 5L version 5.3 maintenance packages are available from the following Web site:

    http://www-912.ibm.com/eserver/support/fixes/

  2. To determine whether the required filesets are installed and committed, enter a command similar to the following:

    # lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.perfstat \
     bos.perf.libperfstat bos.perf.proctools rsct.basic.rte
    

    If a fileset is not installed and committed, then install it. Refer to your operating system or software documentation for information about installing filesets.

Verify that the following patches are installed on the system. The procedure following the table describes how to check these requirements

Note:

There may be more recent versions of the patches listed installed on your system. If a listed patch is not installed, then determine if you have a more recent patch installed that includes the listed patch before you install the patch version listed.

Table 2-2 AIX APAR and Other Operating System Fixes

Installation Type or Product Requirement

All AIX 5L v5.3 installations

All AIX 5L v. 5.3 installations Authorized Problem Analysis Reports (APARs) for AIX 5L v. 5.3 ML06, and the following AIX fixes:


IY89080
IY92037
IY94343
IZ01060, or efix for IZ01060
IZ03260, or efix for IZ03260

Oracle ODBC Drivers

You do not require ODBC drivers for Oracle Clusterware or Oracle Database.

To use ODBC with Oracle Database, you must also install gcc 3.4.5 or later.

Oracle ODBC driver on AIX is certified with ODBC Driver Manager 2.2.12. You can download and install the Driver Manager from the following link:

http://www.unixodbc.org

Oracle JDBC/OCI Drivers

AIX 5L v5.3

Note: These APARs are required only if you are using the associated JDK version.

APAR required for JDK 1.4.2 (64-bit):

  • IY63533: JDK 1.4.2 64-bit SR1 caix64142-20040917

APARs required for JDK 1.3.1.16 (32-bit):

  • IY58350: SDK 1.3.1 32-Bit SR7P: CA131IFX-20040721A

  • IY65305: JAVA142 32-bit PTF: CA142IFX-20041203

RAC

AIX 5L v5.3

If you use HACMP, then note the following additional requirements:

  • AIX: AIX 5.3 TL06 or newer (bosrte.lvm must be at least 5.3.0.60)

  • HACMP: Ensure the following versions are installed:

    * HACMP v. 5.3 with PTFS (APAR:IY94307) and cluster.es.clvm installed

    * HACMP APAR: IZ01809

  • RSCT (component of AIX): RSCT (rsct.basic.rte) version 2.4.7.3

APARs required for GPFS v3.1.0.10:

None.


To ensure that the system meets these requirements:

  1. To determine if required APARs are installed, enter a command similar to the following:

    # instfix -i -k "IY92312 IY97156 IY76252 IY94335 IY94334"
    

    If an APAR is not installed, then download it from the following Web site and install it:

    http://www-03.ibm.com/servers/eserver/support/pseries/aixfixes.html
    
  2. To determine whether a PTF is installed, enter a command similar to the following:

    # lslpp -l -B U489726 U485561 ...
    

    If a PTF is not installed, then download it from the following Web site and install it:

    http://www-03.ibm.com/servers/eserver/support/pseries/aixfixes.html
    
  3. If you require a CSD for WebSphere MQ, then refer to the following Web site for download and installation information:

    http://www-306.ibm.com/software/
    

2.8 Tuning AIX System Environment

Perform the following system tuning and configuration all cluster nodes.

Note:

The parameter and shell limit values shown in this section are recommended values only. For production database systems, Oracle recommends that you tune these values to optimize the performance of the system. See your operating system documentation for more information about tuning kernel parameters.

2.8.1 Tuning Virtual Memory Manager (VMM)

Oracle recommends that you use the vmo command to tune virtual memory using the following values:

Table 2-3 Recommended Values for Virtual Memory Manager

Parameter Value

minperm%

3 (default is 20)

maxperm%

90 (default is 80)

maxclient% = 90

90 (default is 80)

lru_file_repage

0 (default is 1)

strict_maxclient

1 (default is 1)

strict_maxperm

0 (default is 0)


For example:

vmo -p -o minperm%=3
vmo -p -o maxperm%=90
vmo -p -o maxclient%=90
vmo -p -o lru_file_repage=0
vmo -p -o strict_maxclient=1
vmo -p -o strict_maxperm=0

You must restart the system for these changes to take effect.

2.8.2 Increasing System Block Size Allocation

Oracle recommends that you increase the space allocated for ARG/ENV list to 128. The size is specified by number of 4K blocks.

For example:

chdev -l sys0 -a ncargs='128'

2.8.3 Configuring Shell Limits

To improve the performance of the software, you must increase the following shell limits for all Oracle software installation owners (oracle, crs) and for the root user (root):

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 maxuproc 16384

To increase the shell limits:

  1. Add the following lines to the /etc/security/limits file:

    default:
            fsize = -1
            core = -1
            cpu = -1
            data = 512000
            rss = 512000
            stack = 512000
            nofiles = 2000
    
  2. Enter the following command to list the current setting for the maximum number of process allowed by the Oracle software user:

    /etc/lsattr -E -l sys0 -a maxuproc
    

    If necessary, change the maxuproc setting using the following command:

    /etc/chdev -l sys0 -a maxuproc = 16384
    
  3. Repeat this procedure on all other nodes in the cluster.

2.8.4 Configuring User Process Parameters

Verify that the maximum number of processes allowed for each user is set to 2048 or greater:

Note:

For production systems, this value should be at least 128 plus the sum of the PROCESSES and PARALLEL_MAX_SERVERS initialization parameters for each database running on the system.
  1. Enter the following command:

    # smit chgsys
    
  2. Verify that the value shown for Maximum number of PROCESSES allowed for each user is greater than or equal to 2048.

    If necessary, edit the existing value.

  3. When you have finished making changes, press F10 to exit.

2.8.5 Configuring Network Tuning Parameters

Verify that the network tuning parameters shown in the following table are set to the values shown or higher values. The procedure following the table describes how to verify and set the values.

Network Tuning Parameter Recommended Value
ipqmaxlen 512
rfc1323 1
sb_max 2*65536
tcp_recvspace 65536
tcp_sendspace 65536
udp_recvspace 655360

Note: The recommended value of this parameter is 10 times the value of the udp_sendspace parameter. The value must be less than the value of the sb_max parameter.

udp_sendspace 65536

Note: This value is suitable for a default database installation. For production databases, the minimum value for this parameter is 4 KB plus the value of the database DB_BLOCK_SIZE initialization parameter multiplied by the value of the DB_MULTIBLOCK_READ_COUNT initialization parameter:

(DB_BLOCK_SIZE * DB_MULTIBLOCK_READ_COUNT) + 4 KB


To view the current value specified for these parameters, and to change them if necessary:

  1. To check the current values of the network tuning parameters, enter commands similar to the following:

    # no -a | more
    
  2. If you must change the value of any parameter, then enter the following command to determine whether the system is running in compatibility mode:

    # lsattr -E -l sys0 -a pre520tune
    

    If the system is running in compatibility mode, then the output is similar to the following, showing that the value of the pre520tune attribute is enable:

    pre520tune enable Pre-520 tuning compatibility mode True
    
  3. If the system is running in compatibility mode, then follow these steps to change the parameter values:

    1. Enter commands similar to the following to change the value of each parameter:

      # no -o parameter_name=value
      

      For example:

      # no -o udp_recvspace=655360
      
    2. Add entries similar to the following to the /etc/rc.net file for each parameter that you changed in the previous step:

      if [ -f /usr/sbin/no ] ; then
         /usr/sbin/no -o udp_sendspace=65536
         /usr/sbin/no -o udp_recvspace=655360
         /usr/sbin/no -o tcp_sendspace=65536
         /usr/sbin/no -o tcp_recvspace=65536
         /usr/sbin/no -o rfc1323=1
         /usr/sbin/no -o sb_max=2*655360
         /usr/sbin/no -o ipqmaxlen=512
      fi
      

      By adding these lines to the /etc/rc.net file, the values persist when the system restarts.

  4. If the system is not running in compatibility mode, then enter commands similar to the following to change the parameter values:

    • ipqmaxlen parameter:

      no -r -o ipqmaxlen=512
      
    • Other parameter:

      no -p -o parameter=value
      

    Note:

    If you modify the ipqmaxlen parameter, then you must restart the system.

    These commands modify the /etc/tunables/nextboot file, causing the attribute values to persist when the system restarts.

2.9 Configuring SSH on All Cluster Nodes

Before you install and use Oracle Clusterware, you must configure secure shell (SSH) on all cluster nodes for the user that you plan to use to install Oracle Clusterware. In the examples that follow, the Oracle software owner listed is the crs user.

If you intend to install Oracle RAC or other Oracle software, then you should configure SSH for each of the other users (oracle, asm or other software owner) that you plan to use to install software, and either do not use a passphrase, or ensure that you and other installation users load SSH keys into memory before running the installation. As you perform this procedure, replace the example with the user name for which you are configuring SSH.

OUI uses the ssh and scp commands during installation to run remote commands on and copy files to the other cluster nodes. If SSH is not available, then OUI falls back to rsh and rcp commands. If you want to use SSH for increased security during installation, then you must configure SSH so that the ssh and scp commands used during installation do not prompt for a password. The SSH configuration procedure in this section describes how to configure SSH using SSH1.

This section contains the following sections:

2.9.1 Checking Existing SSH Configuration on the System

To determine if SSH is running, enter the following command:

$ ps -ef | grep 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 to configure SSH2 with DSA.

2.9.2 Downloading and Installing SSH Filesets

  1. Install the OpenSSL package in the AIX bonus package installation disks, or download OpenSSL from the following URL:

    http://www-306.ibm.com/software/

    You require an IBM ID or Partner World ID to access this site.

  2. Install the following file sets from the AIX Base installation media:

    • openssh.base

    • openssh.license

    • openssh.msg.en_US

    • openssh.man.en_US

    You can also obtain filesets from the following URL:

    http://sourceforge.net/projects/openssh-aix

  3. Start the sshd daemon by running the following command:

    /usr/bin/startsrc -s sshd 
    

    Note:

    If the AIX server on which OpenSSH is installed also has GSA installed, then the SSH daemon will not start. This is a known problem.

    To resolve this issue, check to see if the sshd user exists on the system. If not, then create it using the following commands:

    mkgroup sshd
    mkuser -a pgrp=sshd login=false home=/var/empty gecos="OpenSSH\
    privilege separation" account_locked=true sshd
    

2.9.3 Configuring SSH on Cluster Member Nodes

To configure SSH, you must first create RSA or DSA keys on each cluster node, and then copy all the keys generated on all cluster node members into an authorized keys file that is identical on each node. Note that the SSH files must be readable only by root and by the software installation user (oracle, crs, asm), as SSH ignores a private key file if it is accessible by others. When this is done, then start the SSH agent to load keys into memory. In the examples that follow, the RSA key is used.

You must configure SSH separately for each Oracle software installation owner that you intend to use for installation.

To configure SSH, complete the following:

2.9.3.1 Create .SSH, and Create RSA Keys On Each Node

Complete the following steps on each node:

  1. Log in as the software owner (in this example, the crs 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(crs) gid=501(oinstall) groups=501(oinstall),502(crs)
    $ id crs
    uid=502(crs) gid=501(oinstall) groups=501(oinstall),502(crs)
    
  3. If necessary, create the .ssh directory in the crs user's home directory, and set permissions on it to ensure that only the oracle user has read and write permissions:

    $ mkdir ~/.ssh
    $ chmod 700 ~/.ssh
    
  4. Enter the following command:

    $ /usr/bin/ssh-keygen -t rsa
    

    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 key 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.

2.9.3.2 Add All Keys to a Common authorized_keys File

Complete the following steps:

  1. On the local node, change directories to the .ssh directory in the Oracle Clusterware owner's home directory (typically, either crs or oracle).

    Then, add the RSA key to the authorized_keys file using the following commands:

    $ cat id_rsa.pub >> authorized_keys
    $ ls
    

    In the .ssh directory, you should see the id_rsa.pub keys that you have created, and the file authorized_keys.

  2. On the local node, use SCP (Secure Copy) or SFTP (Secure FTP) to copy the authorized_keys file to the oracle user .ssh directory on a remote node. The following example is with SCP, on a node called node2, with the Oracle Clusterware owner crs, where the crs user path is /home/crs:

    [crs@node1 .ssh]$ scp authorized_keys node2:/home/crs/.ssh/
    

    You are prompted to accept an RSA key. Enter Yes, and you see that the node you are copying to is added to the known_hosts file.

    When prompted, provide the password for the crs user, which should be the same on all nodes in the cluster. The authorized_keys file is copied to the remote node.

    Your output should be similar to the following, where xxx represents parts of a valid IP address:

    [crs@node1 .ssh]$ scp authorized_keys node2:/home/crs/.ssh/
    The authenticity of host 'node2 (xxx.xxx.173.152) can't be established.
    RSA key fingerprint is 7e:60:60:ae:40:40:d1:a6:f7:4e:zz:me:a7:48:ae:f6:7e.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'node1,xxx.xxx.173.152' (RSA) to the list
    of known hosts
    crs@node2's password:
    authorized_keys       100%             828             7.5MB/s      00:00
    
  3. Using SSH, log in to the node where you copied the authorized_keys file, using the pass phrase you created. Then change to the .ssh directory, and using the cat command, add the RSA keys for the second node to the authorized_keys file:

    [crs@node1 .ssh]$ ssh node2
    The authenticity of host node2 (xxx.xxx.100.102) can't be established. RSA key fingerprint is z3:z3:33:z3:z3:33:zz:76:z3:z3:z3.
    Are you sure you want to continue connecting? (yes/no)? yes
    Enter passphrase for key '/home/oracle/.ssh/id_rsa':
    [crs@node2 crs]$ cd .ssh
    [crs@node2 ssh]$ cat id_rsa.pub  >> authorized_keys
    

    Repeat steps 2 and 3 from each node to each other member node in the cluster.

    When you have added keys from each cluster node member to the authorized_keys file on the last node you want to have as a cluster node member, then use scp to copy the authorized_keys file with the keys from all nodes back to each cluster node member, overwriting the existing version on the other nodes.

    If you want to confirm that you have all nodes in the authorized_keys file, enter the command more authorized_keys, and check to see that there is an RSA key for each member node. The file lists the type of key (ssh-rsa), followed by the key, and then followed by the user and server. For example:

    ssh-rsa AAAABBBB . . . = crs@node1
    

    Note:

    The crs user's /.ssh/authorized_keys file on every node must contain the contents from all of the /.ssh/id_rsa.pub files that you generated on all cluster nodes.

2.9.4 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:

    [crs@nodename]$ ssh hostname1 date
    [crs@nodename]$ ssh hostname2 date
        .
        .
        .
    

    For example:

    [crs@node1 crs]$ ssh node1 date
    The authenticity of host 'node1 (xxx.xxx.100.101)' 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 'node1,xxx.xxx.100.101' (RSA) to the list of
    known hosts.
    Enter passphrase for key '/home/crs/.ssh/id_rsa':
    Mon Dec 4 11:08:13 PST 2006
    [crs@node1 crs]$ ssh node1.example.com date
    The authenticity of host 'node1.example.com (xxx.xxx.100.101)' 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 'node1.example.com,xxx.xxx.100.101' (RSA) to the
    list of known hosts.
    Enter passphrase for key '/home/crs/.ssh/id_rsa':
    Mon Dec 4 11:08:13 PST 2006
    [crs@node1 crs]$ ssh node2 date
    Enter passphrase for key '/home/crs/.ssh/id_rsa':
    Mon Dec 4 11:08:35 PST 2006
    .
    .
    .
    

    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 issue, proceed to Section 2.9.5, "Setting Display and X11 Forwarding Configuration."

  3. Repeat step 2 on each cluster node member.

  4. On each node, enter the following commands to start the SSH agent, and to load the SSH keys into memory:

    $ exec /usr/bin/ssh-agent $SHELL
    $ /usr/bin/ssh-add
    

    At the prompt, enter the pass phrase for each key that you generated.

    For example:

    [crs@node1 .ssh]$ exec /usr/bin/ssh-agent $SHELL
    [crs@node1 .ssh]$ 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:

[crs@node1 ~]$ ssh node2 date
Mon Feb 26 23:34:42 UTC 2007
[crs@node1 ~]$ ssh node1 date
Mon Feb 26 23:34:48 UTC 2007
[crs@node1 ~]$ ssh node2

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.

Note:

You must run OUI from this session, or make a note of your SSH pass phrase, and remember to repeat step 4 before you start OUI from a different terminal session.

2.9.5 Setting Display and X11 Forwarding Configuration

  • If you are on a remote terminal, and the local node has only one visual (which is typical), then use the following syntax to set the DISPLAY environment variable:

    Bourne and Korn shells

    $ export DISPLAY=hostname:0
    

    C shell:

    $ setenv DISPLAY hostname:0
    

    For example, if you are using the Bourne shell, and if your hostname is node1, then enter the following command:

    $ export DISPLAY=node1:0
    
  • To ensure that X11 forwarding will not cause the installation to fail, create a user-level SSH client configuration file for the Oracle software owner user, as follows:

    1. Using any text editor, edit or create the software installation owner's ~/.ssh/config file.

    2. Make sure that the ForwardX11 attribute is set to no. For example:

      Host *
            ForwardX11 no
      

2.9.6 Preventing Oracle Clusterware Installation Errors Caused by stty Commands

During an Oracle Clusterware installation, OUI uses SSH to run commands and copy files to the other nodes. During the installation, hidden files on the system (for example, .cshrc) will cause makefile and other installation errors if they contain stty commands.

To avoid this problem, you must modify these files in each Oracle installation owner user home directory to suppress all output on STDERR, as in the following examples:

  • Bourne or Korn shell:

    if [ -t 0 ]; then
       stty intr ^C
    fi
    
  • C shell:

    test -t 0
    if ($status == 0) then
       stty intr ^C
    endif
    

    Note:

    When SSH is not available, the Installer uses the rsh and rcp commands instead of ssh and scp.

    If there are hidden files that contain stty commands that are loaded by the remote shell, then OUI indicates an error and stops the installation.

2.10 Configuring Software Owner User Environments

You run OUI from the user account that you want to own the Oracle Clusterware installation (oracle or crs). However, before you start OUI you must configure the environment of the user performing the Oracle Clusterware installation. In addition, create other required Oracle software owners, if needed.

2.10.1 Procedure for Configuring Oracle Software Owner Environments

To set the Oracle software owners' environments, follow these steps, for each software owner (crs, oracle, asm):

  1. Start a new terminal session; for example, start an X terminal (xterm).

  2. Enter the following command to ensure that X Window applications can display on this system:

    $ xhost + hostname
    

    The hostname is the name of the local host.

  3. If you are not already logged in to the system where you want to install the software, then log in to that system as the software owner user.

  4. If you are not logged in as the user, then switch to the software owner user you are configuring. For example, with the crs user:

    $ su - crs
    
  5. To determine the default shell for the user, enter the following command:

    $ echo $SHELL
    
  6. Open the user's shell startup file in any text editor:

    • Bourne shell (sh) or Korn shell (ksh):

      $ vi .profile
      
    • C shell (csh or tcsh):

      % vi .login
      
  7. Enter or edit the following line, specifying a value of 022 for the default file mode creation mask:

    umask 022
    
  8. If the ORACLE_SID, ORACLE_HOME, or ORACLE_BASE environment variable is set in the file, then remove the appropriate lines from the file.

  9. Save the file, and exit from the text editor.

  10. To run the shell startup script, enter one of the following commands:

    • Bourne or Korn shell:

      $ . ./.profile
      
    • C shell:

      % source ./.login
      
  11. 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 or Korn shell:

      $ DISPLAY=local_host:0.0 ; export DISPLAY
      
    • C shell:

      % setenv DISPLAY local_host:0.0
      

    In this example, local_host is the host name or IP address of the system that you want to use to display OUI (your workstation or PC).

  12. 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. If you place /tmp on a shared file system, then the installation fails.
    1. Use the df -k command to identify a suitable file system with sufficient free space.

    2. If necessary, enter commands similar to the following to create a temporary directory on the file system that you identified, and set the appropriate permissions on the directory:

      $ su - root
      # mkdir /mount_point/tmp
      # chmod 775 /mount_point/tmp
      # exit
      
    3. Enter commands similar to the following to set the TEMP and TMPDIR environment variables:

      • Bourne or Korn shell:

        $ TEMP=/mount_point/tmp
        $ TMPDIR=/mount_point/tmp
        $ export TEMP TMPDIR
        
      • C shell:

        % setenv TEMP /mount_point/tmp
        % setenv TMPDIR /mount_point/tmp
        
  13. To verify that the environment has been set correctly, enter the following commands:

    $ umask
    $ env | more
    

    Verify that the umask command displays a value of 22, 022, or 0022 and that the environment variables you set in this section have the correct values.

2.11 Running the rootpre.sh Script

Note:

Do not run the rootpre.sh script if you have a later release of the Oracle Database software already installed on this system.

Run the rootpre.sh script:

  1. Switch user to root:

    $ su - root
    
  2. Complete one of the following steps, depending on the location of the installation

    If the installation files are on disc, enter a command similar to the following, where directory_path is the disc mount point directory or the path of the database directory on the DVD:

    # /directory_path/rootpre.sh
    

    If the installation files are on the hard disk, change directory to the Disk1 directory and enter the following command:

    # ./rootpre.sh
    
  3. Exit from the root account:

    # exit
    
  4. Repeat steps 1 through 3 on all nodes of the cluster.

    Note:

    Do not run the rootpre.sh script if you have a later release of Oracle Database software already installed on this system.

2.12 Requirements for Creating an Oracle Clusterware Home Directory

During installation, you are prompted to provide a path to a home directory to store Oracle Clusterware binaries. Ensure that the directory path you provide meets the following requirements:

  • It should be created in a path separate from existing Oracle homes.

  • It should not be located in a user home directory.

  • It should be created either as a subdirectory in a path where all files can be owned by root, or in a unique path.

  • Before installation, it should be owned by the installation owner of Oracle Clusterware (typically oracle for a single installation owner for all Oracle software, or crs for role-based Oracle installation owners), and set to 750 permissions

For installations with Oracle Clusterware only, Oracle recommends that you create a path compliant with Oracle Optimal Flexible Architecture (OFA) guidelines, so that Oracle Universal Installer (OUI) can select that directory during installation. For OUI to recognize the path as an Oracle software path, it must be in the form u0[1-9]/app.

When OUI finds an OFA-compliant path, it creates the Oracle Clusterware and Oracle Central Inventory (oraInventory) directories for you.

Create an Oracle Clusterware path. For example:

# mkdir -p  /u01/app
# chown -R crs:oinstall /u01

Alternatively, if you later intend to install Oracle Database software, then create an Oracle base path. OUI automatically creates an OFA-compliant path for Oracle Clusterware derived from the Oracle base path. The Optimal Flexible Architecture path for the Oracle Base is /u01/app/user, where user is the name of the user account that you want to own the Oracle Database software. For example:

# mkdir -p  /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle

Note:

If you choose to create an Oracle Clusterware home manually, then do not create the Oracle Clusterware home under Oracle base. Creating an Oracle Clusterware installation in an Oracle base directory will cause succeeding Oracle installations to fail.

See Also:

"Creating Standard Configuration Operating System Groups and Users", and "Creating Custom Configuration Groups and Users for Job Roles" for information about creating groups, users, and software homes for additional Oracle software installations

2.13 Understanding and Using Cluster Verification Utility

Cluster Verification Utility (CVU) is a tool that performs system checks. This guide provides Cluster Verification Utility commands to assist you with confirming that your system is properly configured for Oracle Clusterware and Oracle RAC installation.

This section describes the following topics:

2.13.1 Entering Cluster Verification Utility Commands

Cluster Verification Utility is provided with two scripts: runcluvfy.sh, which is designed to be used before installation, and cluvfy, which is in the path CRS_home/bin. The script runcluvfy.sh contains temporary variable definitions which enable it to be run before installing Oracle Clusterware or Oracle Database. After you install Oracle Clusterware, use the command cluvfy to check prerequisites and perform other system readiness checks.

Before Oracle software is installed, to enter a Cluster Verification Utility command, change directories and start runcluvfy.sh using the following syntax:

cd /mountpoint
./runcluvfy.sh options

In the preceding example, the variable mountpoint represents the mountpoint path for the installation media and the variable options represents the Cluster Verification Utility command options that you select. For example:

$ cd /mnt/dvdrom
$ ./runcluvfy.sh comp nodereach -n node1,node2 -verbose

By default, when you enter a Cluster Verification Utility command, Cluster Verification Utility provides a summary of the test. During preinstallation, Oracle recommends that you obtain detailed output by using the -verbose argument with the Cluster Verification Utility command. The -verbose argument produces detailed output of individual checks. Where applicable, it shows results for each node in a tabular layout.

2.13.2 Using CVU to Determine if Installation Prerequisites are Complete

You can use Cluster Verification Utility to determine which system prerequisites for installation are already completed. Use this option if you are installing Oracle 11g release 1 (11.1) on a system with a pre-existing Oracle software installation. In using this option, note the following:

  • You must complete the prerequisites for using Cluster Verification Utility, notably configuring SSH between all nodes in the cluster, before you can complete a clusterwide status check.

  • Cluster Verification Utility can assist you by finding preinstallation steps that need to be completed, but it cannot perform preinstallation tasks

Use the following syntax to determine what preinstallation steps are completed, and what preinstallation steps must be performed

$ ./runcluvfy.sh stage -pre crsinst -n node_list 

In the preceding syntax example, replace the variable node_list with the names of the nodes in your cluster, separated by commas.

For example, for a cluster with mountpoint /mnt/dvdrom/, and with nodes node1, node2, and node3, enter the following command:

$ cd /mnt/dvdrom/
$ ./runcluvfy.sh stage -pre crsinst -n node1,node2,node3

Review the Cluster Verification Utility report, and proceed to the sections of the preinstallation chapter to complete additional steps as needed.

2.13.3 Using the Cluster Verification Utility Help

The cluvfy commands have context-sensitive help that shows correct syntax usage based on the command line arguments that you enter.

If you enter an invalid Cluster Verification Utility command, then Cluster Verification Utility shows the correct usage for that command. For example, if you type runcluvfy.sh stage -pre dbinst, then Cluster Verification Utility shows the correct syntax for the database preinstallation checks that Cluster Verification Utility performs with the dbinst stage option. The following is a list of context help commands.

  • cluvfy -help —Cluster Verification Utility displays detailed command information.

  • cluvfy comp -list—Cluster Verification Utility displays a list of components that can be checked, and brief descriptions of how each component is checked.

  • cluvfy comp -help—Cluster Verification Utility displays detailed syntax for each of the valid component checks.

  • cluvfy stage -list—Cluster Verification Utility displays a list of valid stages.

  • cluvfy stage -help—Cluster Verification Utility displays detailed syntax for each of the valid stage checks.

2.13.4 Using Cluster Verification Utility with Oracle Database 10g Release 1 or 2

You can use Cluster Verification Utility on the Oracle Database 11g release 1 (11.1) media to check system requirements for Oracle Database 10g release 1 (10.1) and later installations. To use Cluster Verification Utility to check 10. 2 installations, append the command flag -r 10gR2 to the standard Cluster Verification Utility system check commands.

For example, to perform a verification check for a Cluster Ready Services 10. 2 installation, on a system where the media mountpoint is /mnt/dvdrom, and the cluster nodes are node1, node2, and node3, enter the following command:

$ cd /mnt/dvdrom
$ ./runcluvfy.sh stage -pre crsinst -n node1,node2,node3 -r 10gR2

Note:

If you do not specify a release version to check, then Cluster Verification Utility checks for 11g release 1 (11.1) requirements.

2.13.5 Verbose Mode and "Unknown" Output

If you run Cluster Verification Utility using the -verbose argument, and the command responds with UNKNOWN for a particular node, then this is because Cluster Verification Utility cannot determine if a check passed or failed. The following is a list of possible causes for an "Unknown" response:

  • The node is down

  • Executables required by Cluster Verification Utility are missing in the /bin directory in the Oracle Clusterware home or Oracle home directory

  • The user account starting Cluster Verification Utility does not have privileges to run common operating system executables on the node

  • The node is missing an operating system patch, or a required package

  • The node has exceeded the maximum number of processes or maximum number of open files, or there is a problem with IPC segments, such as shared memory or semaphores

2.14 Checking Oracle Clusterware Installation Readiness with CVU

Use the Cluster Verification Utility (CVU) to check your servers for their readiness to install Oracle Clusterware:

As the installation owner user (oracle or crs), ensure that you have ssh keys loaded into memory, and enter a command using the following syntax to verify that your cluster is properly configured for Oracle Clusterware installation:

/mountpoint/runcluvfy.sh stage -pre crsinst -n node_list [-verbose]

In the preceding syntax example, the variable node_list is a comma-delimited list of nodes in your cluster. This command checks node reachability, user and group equivalence on each node, node connectivity, and basic system requirements, including kernel versions and packages.

Select the option -verbose to receive progress updates as Cluster Verification Utility performs its system checks, and detailed reporting of the test results.

For example, to verify system readiness on a two-node cluster with nodes node1 and node2, with the mountpoint /mnt/dvdrom, and with updates and a summary of the verification checks Cluster Verification Utility performs, enter the following command:

$ /mnt/dvdrom/runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose