6 Installing Oracle Clusterware

This chapter describes the procedures for installing Oracle Clusterware for Linux. If you are installing Oracle Database with Oracle Real Application Clusters (Oracle RAC), then this is phase one of a two-phase installation.

This chapter contains the following topics:

6.1 Verifying Oracle Clusterware Requirements with CVU

Using the following command syntax, log in as the installation owner user (oracle or crs), and start Cluster Verification Utility (CVU) to check system requirements for installing Oracle Clusterware:

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

In the preceding syntax example, replace the variable mountpoint with the installation media mountpoint, and 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:

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

The Cluster Verification Utility Oracle Clusterware preinstallation stage check verifies the following:

  • Node Reachability: All of the specified nodes are reachable from the local node.

  • User Equivalence: Required user equivalence exists on all of the specified nodes.

  • Node Connectivity: Connectivity exists between all the specified nodes through the public and private network interconnections, and at least one subnet exists that connects each node and contains public network interfaces that are suitable for use as virtual IPs (VIPs).

  • Administrative Privileges: The oracle user has proper administrative privileges to install Oracle Clusterware on the specified nodes.

  • Shared Storage Accessibility: If specified, the OCR device and voting disk are shared across all the specified nodes.

  • System Requirements: All system requirements are met for installing Oracle Clusterware software, including kernel version, kernel parameters, memory, swap directory space, temporary directory space, and required users and groups.

  • Kernel Packages: All required operating system software packages are installed.

  • Node Applications: The virtual IP (VIP), Oracle Notification Service (ONS) and Global Service Daemon (GSD) node applications are functioning on each node.

    Note:

    Avoid changing host names after you complete the Oracle Clusterware installation, including adding or deleting domain qualifications. Nodes with changed host names must be deleted from the cluster and added back with the new name.

6.1.1 Interpreting CVU Messages About Oracle Clusterware Setup

If the Cluster Verification Utility report indicates that your system fails to meet the requirements for Oracle Clusterware installation, then use the topics in this section to correct the problem or problems indicated in the report, and run Cluster Verification Utility again.

User Equivalence Check Failed
Cause: Failure to establish user equivalency across all nodes. This can be due to not creating the required users, or failing to complete secure shell (SSH) configuration properly.
Action: Cluster Verification Utility provides a list of nodes on which user equivalence failed. For each node listed as a failure node, review the oracle user configuration to ensure that the user configuration is properly completed, and that SSH configuration is properly completed.

Use the command su - oracle and check user equivalence manually by running the ssh command on the local node with the date command argument using the following syntax:

$ ssh node_name date

The output from this command should be the timestamp of the remote node identified by the value that you use for node_name. If ssh is in the default location, the /usr/bin directory, then use ssh to configure user equivalence. You can also use rsh to confirm user equivalence.

If you have not attempted to use SSH to connect to the host node before running, then Cluster Verification Utility indicates a user equivalence error. If you see a message similar to the following when entering the date command with SSH, then this is the probable cause of the user equivalence error:

The authenticity of host 'node1 (140.87.152.153)' can't be established.
RSA key fingerprint is 7z:ez:e7:f6:f4:f2:4f:8f:9z:79:85:62:20:90:92:z9.
Are you sure you want to continue connecting (yes/no)?

Enter yes, and then run Cluster Verification Utility again to determine if the user equivalency error is resolved.

If ssh is in a location other than the default, /usr/bin, then Cluster Verification Utility reports a user equivalence check failure. To avoid this error, navigate to the directory $CV_HOME/cv/admin, open the file cvu_config with a text editor, and add or update the key ORACLE_SRVM_REMOTESHELL to indicate the ssh path location on your system. For example:

# Locations for ssh and scp commands
ORACLE_SRVM_REMOTESHELL=/usr/local/bin/ssh
ORACLE_SRVM_REMOTECOPY=/usr/local/bin/scp

Note the following rules for modifying the cvu_config file:

  • Key entries have the syntax name=value

  • Each key entry and the value assigned to the key defines one property only

  • Lines beginning with the number sign (#) are comment lines, and are ignored

  • Lines that do not follow the syntax name=value are ignored

When you have changed the path configuration, run Cluster Verification Utility again. If ssh is in another location than the default, you also need to start OUI with additional arguments to specify a different location for the remote shell and remote copy commands. Enter runInstaller -help to obtain information about how to use these arguments.

Note:

When you or OUI run ssh or rsh commands, including any login or other shell scripts they start, you may see errors about invalid arguments or standard input if the scripts generate any output. You should correct the cause of these errors.

To stop the errors, remove all commands from the oracle user's login scripts that generate output when you run ssh or rsh commands.

If you see messages about X11 forwarding, then complete the task "Setting Display and X11 Forwarding Configuration" to resolve this issue.

If you see errors similar to the following:

stty: standard input: Invalid argument
stty: standard input: Invalid argument

These errors are produced if hidden files on the system (for example, .bashrc or .cshrc) contain stty commands. If you see these errors, then refer to Chapter 2, "Preventing Oracle Clusterware Installation Errors Caused by stty Commands" to correct the cause of these errors.

Node Reachability Check or Node Connectivity Check Failed
Cause: One or more nodes in the cluster cannot be reached using TCP/IP protocol, through either the public or private interconnects.
Action: Use the command /bin/ping address to check each node address. When you find an address that cannot be reached, check your list of public and private addresses to make sure that you have them correctly configured. If you use third-party vendor clusterware, then refer to the vendor documentation for assistance. Ensure that the public and private network interfaces have the same interface names on each node of your cluster.
User Existence Check or User-Group Relationship Check Failed
Cause: The administrative privileges for users and groups required for installation are missing or incorrect.
Action: Use the id command on each node to confirm that the oracle user is created with the correct group membership. Ensure that you have created the required groups, and create or modify the user account on affected nodes to establish required group membership.

See Also:

"Creating Standard Configuration Operating System Groups and Users" in Chapter 3 for instructions about how to create required groups, and how to configure the oracle user

6.2 Preparing to Install Oracle Clusterware with OUI

Before you install Oracle Clusterware with Oracle Universal Installer (OUI), use the following checklist to ensure that you have all the information you will need during installation, and to ensure that you have completed all tasks that must be done before starting to install Oracle Clusterware. Mark the box for each task as you complete it, and write down the information needed, so that you can provide it during installation.

  • Shut Down Running Oracle Processes

    If you are installing Oracle Clusterware on a node that already has a single-instance Oracle Database 11g release 1 (11.1) installation, then stop the existing ASM instances. After Oracle Clusterware is installed, start up the ASM instances again. When you restart the single-instance Oracle database, the ASM instances use the Cluster Synchronization Services (CSSD) Daemon from Oracle Clusterware instead of the CSSDdaemon for the single-instance Oracle database.

    You can upgrade some or all nodes of an existing Cluster Ready Services installation. For example, if you have a six-node cluster, then you can upgrade two nodes each in three upgrading sessions.Base the number of nodes that you upgrade in each session on the load the remaining nodes can handle. This is called a "rolling upgrade."

    If a Global Services Daemon (GSD) from Oracle9i Release 9.2 or earlier is running, then stop it before installing Oracle Database 11g release 1 (11.1) Oracle Clusterware by running the following command:

    $ Oracle_home/bin/gsdctl stop
    

    where Oracle_home is the Oracle Database home that is running the GSD.

    Caution:

    If you have an existing Oracle9i release 2 (9.2) Oracle Cluster Manager (Oracle CM) installation, then do not shut down the Oracle CM service. Shutting down the Oracle CM service prevents the Oracle Clusterware 11g release 1 (11.1) software from detecting the Oracle9i release 2 nodelist, and causes failure of the Oracle Clusterware installation.

    Note:

    If you receive a warning to stop all Oracle services after starting OUI, then run the command
    Oracle_home/bin/localconfig delete
    

    where Oracle_home is the home that is running CSS.

  • Prepare for Clusterware Upgrade If You Have Existing Oracle Cluster Ready Services Software

    During an Oracle Clusterware installation, if OUI detects an existing Oracle Database 10g release 1 (10.1) Cluster Ready Services (CRS), then you are given the option to perform a rolling upgrade by installing Oracle Database 11g release 1 (11.1) Oracle Clusterware on a subset of cluster member nodes.

    If you intend to perform a rolling upgrade, then you should shut down the CRS stack on the nodes you intend to upgrade, and unlock the Oracle Clusterware home using the script mountpoint/clusterware/upgrade/preupdate.sh, which is available on the 11g release 1 (11.1) installation media.

    If you intend to perform a standard upgrade, then shut down the CRS stack on all nodes, and unlock the Oracle Clusterware home using the script mountpoint/clusterware/upgrade/preupdate.sh.

    When you run OUI and select the option to install Oracle Clusterware on a subset of nodes, OUI installs Oracle Database 11g release 1 (11.1) Oracle Clusterware software into the existing Oracle Clusterware home on the local and remote node subset. When you run the root script, it starts the Oracle Clusterware 11g release 1 (11.1) stack on the subset cluster nodes, but lists it as an inactive version.

    When all member nodes of the cluster are running Oracle Clusterware 11g release 1 (11.1), then the new clusterware becomes the active version.

    If you intend to install Oracle RAC, then you must first complete the upgrade to Oracle Clusterware 11g release 1 (11.1) on all cluster member nodes before you install the Oracle Database 11g release 1 (11.1) version of Oracle RAC.

  • Determine the Oracle Inventory location

    If you have already installed Oracle software on your system, then OUI detects the existing Oracle Inventory directory from the /etc/oraInst.loc file, and uses this location.

    If you are installing Oracle software for the first time on your system, and your system does not have an Oracle inventory, then you are asked to provide a path for the Oracle inventory, and you are also asked the name of the Oracle Inventory group (typically, oinstall).

    See Also:

    The preinstallation chapters in Chapter 2 for information about creating the Oracle Inventory, and completing required system configuration
  • Obtain root account access

    During installation, you are asked to run configuration scripts as the root user. You must run these scripts as root, or be prepared to have your system administrator run them for you. Note that these scripts must be run in sequence. If you attempt to run scripts simultaneously, then the installation will fail.

  • Decide if you want to install other languages

    During installation, you are asked if you want translation of user interface text into languages other than the default, which is English.

    Note:

    If the language set for the operating system is not supported by Oracle Universal Installer, then Oracle Universal Installer, by default, runs in the English language.

    See Also:

    Oracle Database Globalization Support Guide for detailed information on character sets and language configuration
  • Determine your cluster name, public node names, private node names, and virtual node names for each node in the cluster

    If you install the clusterware during installation, and are not using third-party vendor clusterware, then you are asked to provide a public node name and a private node name for each node.

    When you enter the public node name, use the primary host name of each node. In other words, use the name displayed by the hostname command. This node name can be either the permanent or the virtual host name.

    In addition, ensure that the following are true:

    • Determine a cluster name with the following characteristics:

      • It must be globally unique throughout your host domain.

      • It must be at least one character long and less than 15 characters long.

      • It must consist of the same character set used for host names: underscores (_), hyphens (-), and single-byte alphanumeric characters (a to z, A to Z, and 0 to 9). If you use third-party vendor clusterware, then Oracle recommends that you use the vendor cluster name.

    • Determine a private node name or private IP address for each node. The private IP address is an address that is accessible only by the other nodes in this cluster. Oracle Database uses private IP addresses for internode, or instance-to-instance Cache Fusion traffic. Oracle recommends that you provide a name in the format public_hostname-priv. For example: myclstr2-priv.

    • Determine a virtual host name for each node. A virtual host name is a public node name that is used to reroute client requests sent to the node if the node is down. Oracle Database uses VIPs for client-to-database connections, so the VIP address must be publicly accessible. Oracle recommends that you provide a name in the format public_hostname-vip. For example: myclstr2-vip.

      Note:

      The following is a list of additional information about node IP addresses:
      • For the local node only, OUI automatically fills in public, private, and VIP fields. If your system uses vendor clusterware, then OUI may fill additional fields.

      • Host names, private names, and virtual host names are not domain-qualified. If you provide a domain in the address field during installation, then OUI removes the domain from the address.

      • Private IP addresses should not be accessible as public interfaces. Using public interfaces for Cache Fusion can cause performance problems.

  • Identify shared storage for Oracle Clusterware files and prepare disk partitions if necessary

    During installation, you are asked to provide paths for two files that must be shared across all nodes of the cluster, either on a shared raw device, or a shared file system file:

    • The voting disk is a partition that Oracle Clusterware uses to verify cluster node membership and status.

      The voting disk must be owned by the user performing the installation (oracle or crs), and must have permissions set to 640.

    • The Oracle Cluster Registry (OCR) contains cluster and database configuration information for the Oracle RAC database and for Oracle Clusterware, including the node list, and other information about cluster configuration and profiles.

      The OCR disk must be owned by the user performing the installation (crs or oracle. That installation user must have oinstall as its primary group. The OCR disk partitions must have permissions set to 640, though permissions files used with system restarts should have ownership set to root:oinstall. During installation, OUI changes ownership of the OCR disk partitions to root. Provide at least 280 MB disk space for the OCR partitions.

    If your disks do not have external storage redundancy, then Oracle recommends that you provide one additional location for the OCR disk, and two additional locations for the voting disk, for a total of five partitions (two for OCR, and three for voting disks). Creating redundant storage locations protects the OCR and voting disk in the event of a disk failure on the partitions you choose for the OCR and the voting disk.

  • Ensure cron jobs do not run during installation

    If you run OUI during the time that daily cron jobs are running, then you may encounter unexplained installation problems if your cron job is performing cleanup, and temporary files are deleted before the installation is finished. Oracle recommends that you complete installation before daily cron jobs are run, or disable daily cron jobs that perform cleanup until after the installation is completed.

6.3 Installing Oracle Clusterware with OUI

This section provides you with information about how to use Oracle Universal Installer (OUI) to install Oracle Clusterware. It contains the following sections:

6.3.1 Running OUI to Install Oracle Clusterware

Complete the following steps to install Oracle Clusterware on your cluster. At any time during installation, if you have a question about what you are being asked to do, click the Help button on the OUI page.

  1. Unless you have the same terminal window open that you used to set up SSH, enter the following commands:

    $ exec /usr/bin/ssh-agent $SHELL
    $ /usr/bin/ssh-add
    
  2. Start the runInstaller command from the /Disk1 directory on the Oracle Database 11g release 1 (11.1) installation media. For example:

    $ cd /Disk1
    ./runInstaller
    
  3. Provide information or run scripts as root when prompted by OUI. If you need assistance during installation, click Help.

    Note:

    You must run root.sh scripts one at a time. Do not run root.sh scripts simultaneously.
  4. After you run root.sh on all the nodes, OUI runs the Oracle Notification Server Configuration Assistant, Oracle Private Interconnect Configuration Assistant, and Cluster Verification Utility. These programs run without user intervention.

When you have verified that your Oracle Clusterware installation is completed successfully, you can either use it to maintain high availability for other applications, or you can install an Oracle database.

If you intend to install Oracle Database 11g release 1 (11.1) with Oracle RAC, then refer to Oracle Real Application Clusters Installation Guide for Linux. If you intend to use Oracle Clusterware by itself, then refer to the single-instance Oracle Database installation guide.

See Also:

Oracle Real Application Clusters Administration and Deployment Guide for information about using cloning and node addition procedures, and Oracle Clusterware Administration and Deployment Guide for cloning Oracle Clusterware

6.3.2 Installing Oracle Clusterware Using a Cluster Configuration File

During installation of Oracle Clusterware, on the Specify Cluster Configuration page, you are given the option either of providing cluster configuration information manually, or of using a cluster configuration file. A cluster configuration file is a text file that you can create before starting OUI, which provides OUI with information about the cluster name and node names that it requires to configure the cluster.

Oracle suggests that you consider using a cluster configuration file if you intend to perform repeated installations on a test cluster, or if you intend to perform an installation on many nodes.

To create a cluster configuration file:

  1. On the installation media, navigate to the directory Disk1/response.

  2. Using a text editor, open the response file crs.rsp, and find the section CLUSTER_CONFIGURATION_FILE.

  3. Follow the directions in that section for creating a cluster configuration file.

6.3.3 Troubleshooting OUI Error Messages for Oracle Clusterware

The following is a list of some common Oracle Clusterware installation issues, and how to resolve them.

PRKC-1044 Failed to check remote command execution
Cause: SSH keys need to be loaded into memory, or there is a user equivalence error.
Action: Run the following commands to load SSH keys into memory:
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add

Note that you must have the passphrase used to set up SSH. If you are not the person who set up SSH, then obtain the passphrase. Note also that the .ssh folder in the user home that is performing the installation must be set with 600 permissions.

In addition, confirm group membership by entering the id command, and entering ID username. For example:

$ id
$ id oracle
Incorrect permissions on partitions used for OCR or Voting Disks
Cause: The user account performing the installation (oracle or crs) does not have permission to write to these partitions
Action: Make the partitions writable by the user performing installation. For example, use the command chown user to make the selected partitions writable by the user (oracle or crs) performing the installation. During installation, these permissions are changed to root ownership.

6.4 Confirming Oracle Clusterware Function

After installation, log in as root, and use the following command syntax to confirm that your Oracle Clusterware installation is installed and running correctly:

CRS_home/bin/crs_stat -t -v

For example:

[root@node1 /]:/u01/app/crs/bin/crs_stat -t -v
Name       a Type           R/RA   F/FT    Target    State       Host
crs....ac3.gsd application  0/5    0/0     Online    Online      node1
crs....ac3.ons application  0/5    0/0     Online    Online      node1
crs....ac3.vip application  0/5    0/0     Online    Online      node1
crs....ac3.gsd application  0/5    0/0     Online    Online      node2
crs....ac3.ons application  0/5    0/0     Online    Online      node2
crs....ac3.vip application  0/5    0/0     Online    Online      node2

You can also use the command crsctl check crs for a less detailed system check. for example:

[root@node1 bin] $ ./crsctl check crs
Cluster Synchronization Services appears healthy
Cluster Ready Services appears healthy
Event Manager appears healthy

Caution:

After installation is complete, do not remove manually or run cron jobs that remove /tmp/.oracle or /var/tmp/.oracle or its files while Oracle Clusterware is up. If you remove these files, then Oracle Clusterware could encounter intermittent hangs, and you will encounter error CRS-0184: Cannot communicate with the CRS daemon.