Skip Headers
Oracle® Database Release Notes
10g Release 2 (10.2) for Linux x86-64

Part Number B15666-12
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Master Index
Master Index
Go to Feedback page
Contact Us

  View PDF

Oracle® Database

Release Notes

10g Release 2 (10.2) for Linux x86-64

B15666-12

May 2008

This document contains important information that was not included in the platform-specific or product-specific documentation for this release. This document supplements Oracle Database Readme and may be updated after it is released. To check for updates to this document and to view other Oracle documentation, refer to the Documentation section on the Oracle Technology Network (OTN) Web site:

http://www.oracle.com/technology/documentation/

For additional information about this release, refer to the readme files located in the $ORACLE_HOME/relnotes directory.

The Database Quick Installation Guides are no longer available in printed format. These documents are available with the media in the same location as the software and on Oracle Technology Network.

This document contains the following topics:

1 Certification Information

The latest certification information for Oracle Database 10g release 2 (10.2) is available on OracleMetaLink at:

http://metalink.oracle.com

Linux Certification

Starting with Oracle Database 10g release 2 (10.2.0.4), the following operating systems are supported in addition to the list documented in Oracle Database Installation Guide for Linux x86-64:

Refer to "Documentation Corrections and Additions" section for the list of packages for Oracle Database 10g release 2 (10.2.0.4).

2 Unsupported Products

The following products are not supported with Oracle Database 10g release 2 (10.2):

3 Preinstallation Requirements

You must review the following sections before installing Oracle Database 10g release 2:

Note:

When installing SUSE Linux Enterprise Server 10, if you choose Oracle Server Base and C/C++ Compiler and Tools options in the Software Selection and System Tasks window, then the following prerequisites are automatically available in the operating system.

3.1 Install libaio Before Installing or Upgrading

Before upgrading to or installing Oracle Database 10g release 2, install the libaio package on Oracle Enterprise Linux 4.0 and Red Hat Enterprise Linux 4.0.

3.2 Install oracleasm-support to use ASMLib

Install oracleasm-support package version 2.0.0.1 or higher to use ASMLib on Oracle Enterprise Linux 4.0, Red Hat Enterprise Linux 4.0 Advanced Server, or SUSE Linux Enterprise Server 9. At the time of this publication, the ASMLib user space tools and kernel module packages are not yet available for SUSE Linux Enterprise Server 10.

3.3 Install binutils on Oracle Enterprise Linux 4.0 and Red Hat Enterprise Linux 4.0

Before installing Oracle Database 10g release 2 on Oracle Enterprise Linux 4.0 and Red Hat Enterprise Linux 4.0 Update 1, install the following package:

binutils-2.15.92.0.2-13.0.0.0.2.x86_64

This package can be downloaded from the following link:

http://oss.oracle.com/projects/compat-oracle/dist/files/RedHat/binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpm

This issue is tracked with Oracle bug 4619031.

3.4 Install libxm Before Installing Oracle Lite

Before installing Oracle Lite, ensure that the following package is installed:

libxml2-2.5.10-7.i386.rpm

3.5 Configuring Kernel Parameters

After updating the values of kernel parameters in the /etc/sysctl.conf file, ensure that you either reboot the computer or run the sysctl -p command to make the changes of the /etc/sysctl.conf file available in the active kernel memory.

On SUSE Linux Enterprise Server 9.0, ensure that you set the following kernel parameter:

disable_cap_mlock = 1

On SUSE Linux Enterprise Server 10, ensure that you set the hugetlb_shm_group kernel parameter to the gid of the group used as the dba group. For example, on a system using a group named dba with the following entry in the /etc/group file:

dba:!:104:oracle

On SUSE Linux Enterprise Server 10, ensure that you set the hugetlb_shm_group kernel parameter to the GID of the group used as the dba group. For example, on a system using a group named dba with the dba:!:104:oracle entry in the /etc/group file, the hugetlb_shm_group kernel parameter should be set to the following value:

hugetlb_shm_group = 104

3.6 Oracle HTTP Server on Oracle Enterprise Linux 4.0 and Red Hat Enterprise Linux 4.0

If you intend to use Oracle HTTP server, which is included in Companion CD of Oracle Database 10g Release 2 (10.2) Media pack, refer to the MetaLink note 317085.1 for more information on using Oracle HTTP server on Oracle Enterprise Linux 4.0 and Red Hat Enterprise Linux 4.0.

3.7 Oracle HTTP Server on Oracle Enterprise Linux 5.0 and Red Hat Enterprise Linux 5.0

If you intend to use Oracle HTTP server, which is included in Companion CD of Oracle Database 10g Release 2 (10.2) Media pack, refer to the MetaLink note 317085.1 for more information on using Oracle HTTP server on Oracle Enterprise Linux 5.0 and Red Hat Enterprise Linux 5.0.

Legacy entry points required by this version of Apache (libdb.so.2) are moved to gdbm-1.8.0-26.2.1.i386. You must create a symlink using the following command:

$ ln -s /usr/lib/libgdbm.so.2.0.0 /usr/lib/libdb.so.2

4 Installation, Configuration, and Upgrade Issues

Review the following sections for information about issues that affect Oracle Database installation, configuration, and upgrade:

4.1 Latest Upgrade Information

For late-breaking updates and best practices about preupgrade, post-upgrade, compatibility, and interoperability discussions, refer to Note 466181.1 on OracleMetalink (https://metalink.oracle.com/) that links to "The Upgrade Companion" Web site.

4.2 Upgrading Oracle Real Application Clusters Release 9.2

If you are upgrading a 9.2 RAC environment to Oracle Database 10g release 2 on Red Hat Linux 3.0, then you must apply a patch to GLIBC before proceeding with the Oracle Clusterware installation. Follow the instructions documented in OracleMetaLink note 284535.1.

This issue is tracked with Oracle bug 3006854.

4.3 Oracle Universal Installer Operating System Prerequisite Checks

If you are installing Oracle Database 10g on Oracle Enterprise linux 5.0, Red Hat Enterprise Linux 5.0, or SUSE Linux Enterprise Server 10, the current version of Oracle Universal Installer does not recognized these operating systems as supported operating systems and does not perform the installation.

Workaround #1 (recommended): Run the Oracle Universal Installer using the ignoreSysPrereqs flag which causes the installer to skip the operating system check and continue with the installation:

./runinstaller -ignoreSysPrereqs

As a side effect, the installer also skips other checks during the installation.

Workaround #2: On Oracle Enterprise Linux 5.0 and Red Hat Enterprise Linux 5.0, the installation passes the operating system prerequisite checks if you change each 5 to 4 in the /etc/redhat-release file. Ensure that you replace the original values in the /etc/redhat-release file after the Oracle installation is complete.

Original Value Changed Value
Enterprise Linux Enterprise Linux server release 5

(On Oracle Enterprise Linux 5.0)

Enterprise Release Enterprise Linux server release 4
Red Hat Enterprise Linux server release 5

(On Red Hat Enterprise Linux 5.0)

Red Hat Enterprise Linux server release 4

On SUSE Linux Enterprise Server 10, the installation will pass the operating system prerequisite checks if you change each 10 to 9 in the /etc/SuSE-release file. Ensure that you replace the original values in the /etc/SuSE-release file after the Oracle installation is complete.

Original Value Changed Value
SUSE Linux Enterprise Server 10 (x86_64) SUSE Linux Enterprise Server 9 (x86_64)
VERSION = 10 VERSION = 9

This workaround causes the installer to consider the system to be running earlier version of the operating system and the operating system check passes. The changes to the release file should be reverted after the installation of all Oracle software is complete. The changes to the release file could impact the ability of other tools to be properly installed on the operating system.

4.4 Installing Oracle Cluster Ready Services

Near the end of the installation of Oracle Cluster Ready Services, Oracle Universal Installer prompts for the $CRS_HOME/root.sh script to be run on all of the nodes in the cluster. When the root.sh script is run on the last node in the cluster, the script calls the VIPCA utility, which fails on Oracle Enterprise Linux 5.0, Red Hat Enterprise Linux 5.0, and SUSE Linux Enterprise Linux 10. Refer to the "SRVCTL and VIPCA Utilities Set the LD_ASSUME_KERNEL Parameter" section for more details.

Workaround: Before running the root.sh script on the last node in the cluster, alter the $CRS_HOME/bin/vipca script commenting out lines 119 through 123:

arch='uname -m'
#       if [ "$arch" = "i686" -o "$arch" = "ia64" -o "$arch" = "x86_64" ]
#       then
#            LD_ASSUME_KERNEL=2.4.19
#            export LD_ASSUME_KERNEL
#       fi

With the lines commented out, root.sh should be able to call VIPCA successfully. Ensure that you do not comment out line 118, which sets the arch variable as that is needed by the root.sh script.

4.5 Installing Enterprise Security Manager

To install Oracle Security Manager, install Oracle Client and then select the Administrator installation type.

4.6 Upgrading Oracle Clusterware 10.1.x to Oracle Clusterware 10.2

When upgrading from 10.1.x to 10.2, Oracle Clusterware will not start if the host name directory under the /etc/oracle/scls_scr directory includes the domain name. The following error message is displayed when you run the rootupgrade.sh script.

A file or directory in the path name does not exist.
/etc/init.cssd[509]: /etc/oracle/scls_scr/host_name/root/cssrun: 0403-005
Cannot create the specified file.

Workaround: Move the /etc/oracle/scls_scr/hostname.domain_name directory to /etc/oracle/scls_scr/hostname and rerun the rootupgrade.sh script.

This issue is tracked with Oracle bug 4472284.

4.7 extjob Executable Required Directory Permissions

To enable the extjob executable to locate required libraries, the $ORACLE_HOME/lib directory and all of its parent directories must have execute permissions for group and other.

4.8 Modifying a Virtual IP Address Node Application

Use the srvctl modify nodeapps command to modify the name, IP address, or netmask of an existing virtual IP address (VIP) resource. Use the -A argument to include the existing interfaces for the VIP:

srvctl modify nodeapps -n mynode1 -A 100.200.300.40/255.255.255.0/eth0

This issue is tracked with Oracle bug 4500688.

4.9 Raw Devices on Oracle Enterprise Linux and Red Hat Enterprise Linux

Verify that an appropriate raw devices utility (util-linux) rpm is installed for the update of the operating systems. For example, on Oracle Enterprise Linux 4.0 and Red Hat Enterprise Linux 4.0 (update 5), util-linux-2.12a-16.EL4.23.x86_64 or later rpm should be installed. On Oracle Enterprise Linux 5.0 and Red Hat Enterprise Linux 5.0, util-linux-2.13-0.44.EL5.x86_64 or later rpm should be installed.

When you restart an Oracle Enterprise Linux 4.0, Oracle Enterprise Linux 5.0, Red Hat Enterprise Linux 4.0, or Red Hat Enterprise Linux 5.0 system, raw devices revert to their original owners and permissions by default. If you are using raw devices with this operating system for your Oracle files, for example, for ASM storage or Oracle Clusterware files, you need to override this default behavior. To do this, add an entry to the /etc/rc.d/rc.local file for each raw device containing the chmod and chown commands required to reset them to the required values.

As an example, here are sample entries in a /etc/rc.d/rc.local file that control the restart behavior of raw devices for two ASM disk files (/dev/raw/raw6 and /dev/raw/raw7), two Oracle Cluster Registry files (/dev/raw/raw1 and /dev/raw/raw2), and three Oracle Clusterware voting disks (/dev/raw/raw3, /dev/raw/raw4, and /dev/raw/raw5):

# ASM
chown oracle:dba /dev/raw/raw6
chown oracle:dba /dev/raw/raw7
chmod 660 /dev/raw/raw6
chmod 660 /dev/raw/raw7
# OCR
chown root:oinstall /dev/raw/raw1
chown root:oinstall /dev/raw/raw2
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
# Voting Disks
chown oracle:oinstall /dev/raw/raw3
chown oracle:oinstall /dev/raw/raw4
chown oracle:oinstall /dev/raw/raw5
chmod 644 /dev/raw/raw3
chmod 644 /dev/raw/raw4
chmod 644 /dev/raw/raw5

4.10 Database Migration

Review the following sections if you want to migrate Oracle Database 10g release 2 database from Linux x86 to Linux x86-64:

4.10.1 Migrating Single Instance Database from Linux x86 to Linux x86-64

To migrate Oracle 10g release 2 single instance database from Linux x86 to Linux x86-64, complete the following procedure:

  1. To protect the existing database 10g release 2 against any failures during the migration, ensure that you take a complete backup of the database on Linux x86-64 system.

  2. To create a control file that helps file after the migration, run the following SQL command from the SQL prompt on the Linux x86 system:

    SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
    

    This command saves the control file information to a trace file in the UDUMP directory. The control file information is similar to the following where ia32lnx_path is the location of the Linux x86 Oracle home:

    CREATE CONTROLFILE REUSE DATABASE "SAMPLE" NORESETLOGS
    NOARCHIVELOG
    MAXLOGFILES 32
    MAXLOGMEMBERS 2
    MAXDATAFILES 32
    MAXINSTANCES 1
    MAXLOGHISTORY 112
    LOGFILE GROUP 1 '/ia32lnx_path/oradata/eegp22/redo01.log' 25M,
            GROUP 2 '/ia32lnx_path/oradata/eegp22/redo02.log' 25M
    DATAFILE '/ia32lnx_path/oradata/eegp22/system01.dbf',
    '/ia32lnx_path/oradata/eegp22/sysaux01.dbf',
    '/ia32lnx_path/oradata/eegp22/users01.dbf',
    '/ia32lnx_path/oradata/eegp22/undotbs01.dbf'
    CHARACTER SET WE8DEC;
    
  3. Perform a clean Oracle database shutdown.

    SQL> SHUTDOWN IMMEDIATE
    
  4. Copy the database files to the Linux x86-64 system.

  5. In a new Oracle home, install the Oracle 10g release 2 software for Linux x86-64.

  6. Copy the Oracle initialization parameter file (initsid.ora) to the new Oracle home. Change any Oracle home path references to use the new Oracle home path on the Linux x86-64 system.

  7. Start up the database using SQL commands similar to the following example where lnx_x86-64_path is the location of the Linux x86-64 Oracle home:

    SQL> STARTUP NOMOUNT;
    CREATE CONTROLFILE REUSE DATABASE "EEGP102" NORESETLOGS
    MAXLOGFILES 32
    MAXLOGMEMBERS 2
    MAXDATAFILES 32
    MAXINSTANCES 1
    MAXLOGHISTORY 112
    LOGFILE GROUP 1 '/lnx_x86-64_path/oradata/eegp22/redo01.log'size 25M,
            GROUP 2 '/lnx_x86-64_path/oradata/eegp22/redo02.log'size 25M
    DATAFILE '/lnx_x86-64_path/oradata/eegp22/system01.dbf',
     '/lnx_x86-64_path/eegp22/sysaux01.dbf',
     '/lnx_x86-64_path/eegp22/users01.dbf',
     '/lnx_x86-64_path/eegp22/undotbs01.dbf'
    CHARACTER SET WE8DEC
    ALTER DATABASE OPEN ;
    

    Note:

    In the preceding example, the path value changes as per the system.
  8. To change the word size of the release, run the following commands:

    SQL> STARTUP UPGRADE;
    SQL> @$ORACLE_HOME/rdbms/admin/utlirp.sql
    
  9. Run the utlrp.sql script to recompile all PL/SQL packages now instead of when the packages are accessed for the first time. This step is optional but recommended.

    SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
    
  10. Perform a clean shutdown of the database.

    SQL> SHUTDOWN IMMEDIATE
    
  11. Take a complete backup of the database.

    See Also:

    • Oracle Database Backup and Recovery Basics

    • Oracle Database Backup and Recovery Advanced User's Guide

    • Oracle Database Backup and Recovery Reference

    • Oracle Database Backup and Recovery Quick Start Guide

4.10.2 Migrating Oracle RAC Database from Linux x86 to Linux x86-64

To migrate Oracle RAC 10g release 2 from Linux x86 to Linux x86-64, complete the following procedure:

  1. Complete steps 1 to 5 of the "Migrating Single Instance Database from Linux x86 to Linux x86-64" section.

  2. Use the following command to ensure that gsd is running:

    $ ps -elf | grep gsd
    
  3. Use the $ORACLE_HOME/bin/srvctl utility to add the database name and the cluster node names in Linux x86-64. To create a database, use a command similar to the following command:

    $ srvctl add database -d 10gdb -o ORACLE_HOME -m us.oracle.com \-s /dev/raw/raw2
    

    To create an instance, use a command similar to the following command:

    $ srvctl add instance -d 10gdb -i 10gdb1 -n pl-adc.amd15
    
  4. Set the ORACLE_SID environment variable for one of the database instances in the environment.

    For the Bash or Korn shell:

    $ ORACLE_SID=10gdb1; export ORACLE_SID
    

    For the C shell:

    % setenv ORACLE_SID 10gdb1
    
  5. Export the server parameter file (SPFILE) to a text initialization parameter file as follows:

    SQL> CREATE PFILE = '$ORACLE_HOME/dbs/init10gdb1.ora' FROM SPFILE = '/dev/raw/raw2';
    
  6. Edit the text initialization parameter file to update path names to point to the Linux x86-64 Oracle home directory along with any other required changes. Then re-create the SPFILE as follows:

    SQL> CREATE SPFILE = '/dev/raw/raw2' FROM PFILE = '$ORACLE_HOME/dbs/init10gdb1.ora';
    

    Note:

    If the cluster database does not start in EXCLIUSIVE MODE, mark all the entries with cluster-database as comments in the SPFILE.
  7. Directories listed in the SPFILE must exist before you start the database. Create these directories, ensuring that they have write permissions for the oracle user and dba groups.

  8. Add a listener name for the database that listens on all cluster nodes to the $ORACLE_HOME/network/admin/tnsnames.ora file. Also add an entry for each instance. The following is an example of the entries:

    LISTENERS_10gdb.US.ORACLE.COM =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP) (HOST = server1-vip) (PORT = 1521)
    (ADDRESS = (PROTOCOL = TCP) (HOST = server2-vip) (PORT = 1521)
    LISTENERS_10gdb1.US.ORACLE.COM = 
    (ADDRESS = (PROTOCOL = TCP) (HOST = server1-vip) (PORT = 1521)
    LISTENERS_10gdb2.US.ORACLE.COM = 
    (ADDRESS = (PROTOCOL = TCP) (HOST = server2-vip) (PORT = 1521)
    
  9. Create the password file using the orapwd utility. Use a command similar to the following:

    $ orapwd file=$ORACLE_HOME/dbs/orapwd10gdb1 entries=10 password=manager
    
  10. Start the database without mounting it, using SQL commands similar to the following where lnx_x86-64_path is the location of the Linux x86-64 Oracle home:

    SQL> STARTUP NOMOUNT;
    CREATE CONTROLFILE REUSE DATABASE "SAMPLE" NORESETLOGS
    MAXLOGFILES 32
    MAXLOGMEMBERS 2
    MAXDATAFILES 32
    MAXINSTANCES 1
    MAXLOGHISTORY 112
    LOGFILE
    GROUP 1 '/lnx_x86-64_path/oracle/dbs/t_log1.dbf' size 25M
    GROUP 2 '/lnx_x86-64_path/oracle/dbs/t_log2.dbf' size 25M
    DATAFILE
    '/lnx_x86-64_path/oracle/dbs/t_db1.dbf'
    CHARACTER SET WE8DEC
    ALTER DATABASE OPEN
    
  11. Shut down the database.

    SQL> SHUTDOWN IMMEDIATE
    
  12. Before changing the word size of your release, you must edit the initialization parameter file (pfile) by adding the following line:

    _system_trig_enabled=false
    
  13. Use the following command to start the database:

    SQL> STARTUP PFILE = '$ORACLE_HOME/dbs/init-10gdb1.ora'
    
  14. Check the amount of free space in the SYSTEM tablespace. Ensure there is enough room for SYSTEM tablespace to increase its size by 50%.

    SQL> SELECT SUM (df.bytes) AS total,
    SUM (fs.bytes) AS free,
    (SUM (fs,bytes)/SUM(df.bytes) * 100) AS percent_free
    FROM dba_data_files df,
    DBA_FREE_SPACE fs
    WHERE df.tablespace_name = 'SYSTEM'
    AND
    df.tablespace_name = fs.tablespace_name
    GROUP BY df.tablespace_name
    

    If you get a percent_free value less than 33%, then you must add a new raw device data file to SYSTEM tablespace, for example:

    SQL> ALTER TABLESPACE SYSTEM ADD DATAFILE '/dev/raw/raw108' SIZE 200M;
    
  15. Use the following commands to restart the database in upgrade mode:

    SQL> SHUTDOWN IMMEDIATE;
    SQL> STARTUP UPGRADE
    
  16. To change the word size of your release, enter the following command:

    SQL> @$ORACLE_HOME/rdbms/admin/utlirp.sql
    
  17. Run the utlrp.sql script to recompile all PL/SQL packages now instead of when the packages are accessed for the first time. This step is optional but recommended.

    SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
    

    Note:

    You need to shutdown the database and start it in upgrade mode.
  18. Edit the text initialization parameter file to remove the following line:

    _system_trig_enabled=false
    
  19. To restart the database, use the following command:

    ./srvctl start database -d 10gdb -o pfile=$USR_ORA_PFILE
    

    Ensure that the USR_ORA_PFILE variable is set to the location of pfile. Alternately, you can specify the complete path of pfile in the command.

  20. To create instances on the other cluster nodes, complete the following steps:

    1. Copy the $ORACLE_HOME/network/admin/tnsnames.ora file to the same location on each node.

    2. Create the dump directories listed in the initialization parameter file (pfile) in the Oracle home directory.

    3. Copy the initialization parameter file (pfile) from the original node to the $ORACLE_HOME/dbs directory, changing its name to reflect the instance name on the current node.

    4. Create a password file in the $ORACLE_HOME/dbs directory, ensuring its name includes the instance name for the node.

    5. Start up the instance.

4.11 Oracle Cluster Ready Services Daemon fails on Computer Restart

If different user IDs are used for installing Oracle Database 10g and Oracle Clusterware, then restarting the system results in OCR errors. Refer to the OracleMetaLink note 551478.1 for more information.

Workaround: Oracle recommends that you apply patch set 10.2.0.3 or higher to Oracle Clusterware install before patching Oracle Database.

This issue is tracked with the Oracle bug 4748946.

4.12 Error When Installing Oracle Database 10g on Asianux Server 3

When installing Oracle Database 10g on Asianux Serever 3, the Product Specific Prerequisite Checks screen reports that the operating system requirement checks fail.

Workaround: Change the contents of /etc/asianux-release from Asianux Server 3 (Quartet) to Asianux release 3 (Quartet).

This issue is tracked with the Oracle bug 6457598.

4.13 Configuring Storages Devices for Oracle Clusterware on 2.6 Kernel Distributions

This section is for database and system administrators who intend to install or migrate to Oracle10g Release 2 (10.2.0) RAC on Red Hat Enterprise Linux 5 (RHEL5) or Oracle Enterprise Linux 5 (OEL5), and who need to configure raw devices for Oracle RAC and Oracle Clusterware. The Linux 2.6 kernel with these distributions requires additional configuration steps. The section contains the following topics:

4.13.1 Overview of Device Naming Persistence Changes

With the Linux 2.6 kernel, support for raw devices is deprecated. The preferred storage access is direct input/output to block devices using O_DIRECT. As a result of this change, the RHEL4 and OEL4 file /etc/sysconfig/rawdevice and the RHEL5 and OEL5 file /etc/udev/rules.d/60-raw.rules are deprecated. For details, refer to the Linux documentation for your 2.6 kernel.

The 2.4 kernel device file naming scheme devlabel maintained persistent device file names between server restarts. By default, the 2.6 kernel device file naming scheme udev dynamically creates device file names when the server is started, and assigns ownership of them to root. If udev applies default settings, then it changes device file names and owners for voting disks or Oracle Cluster Registry partitions, corrupting them when the server is restarted. For example, a voting disk on a device named /dev/sdd owned by the user crs may be on a device named /dev/sdf owned by root after restarting the server.

To prevent corruption, you need to create a custom rules file. When udev is started, it sequentially carries out rules (configuration directives) defined in rule files. These files are in the path /etc/udev/rules.d/. Rules files are read in lexical order. For example, rules in file 10-wacom.rules are parsed and carried out before rules in rule file 90-ib.rules. Where rules files describe the same devices, on Asianux, Red Hat, and Oracle Enterprise Linux, the last file read is the one that is applied. (On SUSE 2.6 kernels, it is the first file read).

4.13.2 Configuring Raw Devices for Clusterware on Red Hat and Oracle Enterprise Linux 5

This section contains the following topics:

Configure SCSI_ID to Return Unique Device Identifiers

Before you can configure udev to name devices, you must first configure scsi_id to return device identifiers, and then ensure that these devices are visible and accessible on all cluster nodes. To do this, complete the following task:

  1. Modify the /etc/scsi_id.config file by adding or replacing the 'option=-b' parameter/value pair (if it exists) with 'option=-g'. For example:

    # cd /etc
    # cp scsi_id.config scsi_id.config.orig
    # grep -v ^# /etc/scsi_id.config
    vendor="ATA",options=-p 0x80
    options=-g
    
  2. Run the command fdisk (/sbin/fdisk) to ensure that Clusterware devices are visible. For example:

    # /sbin/fdisk -l /dev/sdb1 /dev/sde1
     
    Disk /dev/sdb1: 261 MB, 261890048 bytes
    9 heads, 56 sectors/track, 1014 cylinders
    Units = cylinders of 504 * 512 = 258048 bytes
     
    Disk /dev/sdb1 doesn't contain a valid partition table
     
    Disk /dev/sde1: 52 MB, 52403200 bytes
    2 heads, 50 sectors/track, 1023 cylinders
    Units = cylinders of 100 * 512 = 51200 bytes
     
    Disk /dev/sde1 doesn't contain a valid partition table
    

    In some cases, to see newly provisioned or modified) devices on shared storage, you may need to update cluster node operating systems. Do this either by restarting the nodes, or by using commands such as /sbin/partprobe device, or sfdisk -r device. Resolve any issues preventing cluster nodes from correctly seeing or accessing storage devices you intend to use for Clusterware files before proceeding.

    Note:

    At this point, cluster nodes may refer to the devices using different device file names. This is expected.
  3. Run the command scsi_id (/sbin/scsi_id) on storage devices from one cluster node to obtain their unique device identifiers. When running the scsi_id command with the -s argument, the device path and name passed should be that relative to the sysfs directory /sys (for example, /block/device) when referring to /sys/block/device. For example:

    # /sbin/scsi_id -g -s /block/sdb/sdb1
    360a98000686f6959684a453333524174
     
    # /sbin/scsi_id -g -s /block/sde/sde1
    360a98000686f6959684a453333524179
    

    Record the unique SCSI identifiers of Clusterware devices, so you can provide them when required in the following section, Configure Udev for Persistent Naming of Clusterware Devices.

    Note:

    The command scsi_id should return the same device identifier value for a given device, regardless of which node the command is run from.

Configure Udev for Persistent Naming of Clusterware Devices

Configure persistent user-defined naming of Clusterware device file names in a udev rules file. This step is optional, but recommended.

The default rule files affecting storage devices are rule files 50 and 51. So create a custom rules file using the format [number]-[name][.rules] with a number value greater than 51 to ensure that the device settings you provide are the ones applied. For example:

55-oracle-naming.rules

To do this, complete the following tasks:

  1. Create a custom udev device naming rule file. For example:

    # touch /etc/udev/rules.d/55-oracle-naming.rules
    
  2. Using the a text editor such as vi, add to the custom device naming rule file the device-matching rules for the storage devices you intend to use with Oracle Clusterware, matching them to the unique SCSI identifiers you determined in the preceding section. For example:

    # Configure persistent, user-defined Oracle Clusterware device file names
    KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id", 
    RESULT=="360a98000686f6959684a453333524174", NAME="ocr1", OWNER="root", 
    GROUP="oinstall", MODE="0640"
    KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="360a98000686f6959684a453333524179", NAME="vote1", OWNER="oracle", GROUP="oinstall", MODE="0640"
    

    For each rule, if all specified keys (KERNEL, BUS, PROGRAM, RESULT) are matched, then the rule is applied and the specified assignments (NAME, OWNER, GROUP, MODE) are assigned to the device file name. However, if one or more keys are unmatched, then the rule is completely ignored and the default (arbitrary) kernel-assigned device file names are assigned to devices.

    Note:

    In the example rules files shown, Oracle Clusterware devices are created with oraInventory group (oinstall). Oracle recommends that you do this to ensure that you can run Cluster Verification Utility during installation.
  3. Run the command udevtest (/sbin/udevtest) to test the udev rules configuration you have created. The output should indicate that the block devices are available and the rules are applied as expected. For example:

    # udevtest /block/sdb/sdb1
    main: looking at device '/block/sdb/sdb1' from subsystem 'block'
    udev_rules_get_name: add symlink
    'disk/by-id/scsi-360a98000686f6959684a453333524174-part1'
    udev_rules_get_name: add symlink
    'disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.887085-part1'
    udev_node_mknod: preserve file '/dev/.tmp-8-17', because it has correct dev_t
    run_program: '/lib/udev/vol_id --export /dev/.tmp-8-17'
    run_program: '/lib/udev/vol_id' returned with status 4
    run_program: '/sbin/scsi_id'
    run_program: '/sbin/scsi_id' (stdout) '360a98000686f6959684a453333524174'
    run_program: '/sbin/scsi_id' returned with status 0
    udev_rules_get_name: rule applied, 'sdb1' becomes 'ocr1'
    udev_device_event: device '/block/sdb/sdb1' validate currently present symlinks
    udev_node_add: creating device node '/dev/ocr1', major = '8', minor = '17', 
    mode = '0640', uid = '0', gid = '500'
    udev_node_add: creating symlink
    '/dev/disk/by-id/scsi-360a98000686f6959684a453333524174-part1' to '../../ocr1'
    udev_node_add: creating symlink
    '/dev/disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.84187085
    -part1' to '../../ocr1'
    main: run: 'socket:/org/kernel/udev/monitor'
    main: run: '/lib/udev/udev_run_devd'
    main: run: 'socket:/org/freedesktop/hal/udev_event'
    main: run: '/sbin/pam_console_apply /dev/ocr1
    /dev/disk/by-id/scsi-360a98000686f6959684a453333524174-part1
    /dev/disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.84187085-
    part1'
    

    In the example output, note that applying the rules renames OCR device /dev/sdb1 to /dev/ocr1.

  4. Restart the udev service by running the command start_udev (/sbin/start_udev). Restarting udev applies the udev rules to the devices, including the device file rules you have created. Use the command ls -l command to ensure that the rules file has applied the new device names the rules file has applied. For example:

    # start_udev
     
    # ls -l /dev | grep -e 'ocr1\|vote1'
    brw-r----- 1 root   oinstall 8, 17 Oct 29 15:31 ocr1
    brw-rw---- 1 oracle oinstall 8, 65 Oct 29 15:31 vote1
    

Bind Raw Devices Using Udev

  1. If the file /etc/udev/rules.d/60-raw.rules does not exist, then create it. If it does exist, then create a rules file for raw devices used with Oracle installations. For example:

    # touch /etc/udev/rules.d/60-raw.rules
    

    or

    # touch /etc/udev/rules.d/61-oracleraw.rules
    
  2. Add the udev raw binding rules to the raw devices rules file you created. For example:

    vi /etc/udev/rules.d/61-oracleraw.rules
    # Raw bind to Oracle Clusterware devices
    ACTION=="add", KERNEL=="sd*", PROGRAM=="/sbin/scsi_id",
     RESULT=="360a98000686f6959684a453333524174", RUN+="/bin/raw /dev/raw/raw1 %N"
    ACTION=="add", KERNEL=="sd*", PROGRAM=="/sbin/scsi_id",
     RESULT=="360a98000686f6959684a453333524179", RUN+="/bin/raw /dev/raw/raw2 %N"
     t 29 15:31 vote1
    
  3. Create a udev raw permissions file /etc/udev/rules.d/65-raw-permissions.rules. For example:

    # touch /etc/udev/rules.d/65-raw-permissions.rules
    
  4. Using a text editor, add the udev raw permission rules to the file /etc/udev/rules.d/65-raw-permissions.rules. For example:

    # Set permissions of raw bindings to Oracle Clusterware devices
    KERNEL=="raw1", OWNER="root", GROUP="oinstall", MODE="640"
    KERNEL=="raw2", OWNER="oracle", GROUP="oinstall", MODE="640"
    
  5. Test the udev rules by running the udevtest command (/sbin/udevtest) again to ensure that the rules are applied, and that they create proper permissions for Oracle Clusterware devices. For example:

    # udevtest /block/sdb/sdb1
    main: looking at device '/block/sdb/sdb1' from subsystem 'block'
    udev_rules_get_name: add symlink 'disk/by-id/scsi-360a98000686f69
    59684a453333524174-part1'
    udev_rules_get_name: add symlink 'disk/by-path/ip-192.168.1.1:3260
    -iscsi-iqn.1992-08.com.netapp:sn.84187085-part1'
    udev_node_mknod: preserve file '/dev/.tmp-8-17', because it has 
    correct dev_t
    run_program: '/lib/udev/vol_id --export /dev/.tmp-8-17'
    run_program: '/lib/udev/vol_id' returned with status 4
    run_program: '/sbin/scsi_id'
    run_program: '/sbin/scsi_id' (stdout) '360a98000686f6959684a45333
    3524174'
    run_program: '/sbin/scsi_id' returned with status 0
    udev_rules_get_name: rule applied, 'sdb1' becomes 'ocr1'
    udev_device_event: device '/block/sdb/sdb1' validate currently 
    present symlinks
    udev_node_add: creating device node '/dev/ocr1', major = '8', 
    minor = '17', mode = '0640', uid = '0', gid = '500'
    udev_node_add: creating symlink '/dev/disk/by-id/scsi-360a9800068
    6f6959684a453333524174-part1' to '../../ocr1'
    udev_node_add: creating symlink '/dev/disk/by-path/ip-192.168.1.1
    :3260-iscsi-iqn.1992-08.com.netapp:sn.84187085-part1' to '../../ocr1'
    main: run: 'socket:/org/kernel/udev/monitor'
    main: run: '/lib/udev/udev_run_devd'
    main: run: 'socket:/org/freedesktop/hal/udev_event'
    main: run: '/sbin/pam_console_apply /dev/ocr1 /dev/disk/by-id/scsi-36
    0a98000686f6959684a453333524174-part1 /dev/disk/by-path/ip-192.168.1.
    1:3260-iscsi-iqn.1992-08.com.netapp:sn.84187085-part1'
    main: run: '/bin/raw /dev/raw/raw1 /dev/.tmp-8-17'
    
  6. Restart udev to implement the rules you have created and tested. For example:

    # start_udev
    

Verify Persistent Clusterware Storage Devices

  1. Use the fdisk command to check device naming. For example:

    # fdisk -l /dev/ocr1 /dev/vote1
     
    Disk /dev/ocr1: 261 MB, 261890048 bytes
    9 heads, 56 sectors/track, 1014 cylinders
    Units = cylinders of 504 * 512 = 258048 bytes
     
    Disk /dev/ocr1 doesn't contain a valid partition table
     
    Disk /dev/vote1: 52 MB, 52403200 bytes
    2 heads, 50 sectors/track, 1023 cylinders
    Units = cylinders of 100 * 512 = 51200 bytes
     
    Disk /dev/vote1 doesn't contain a valid partition table
    
  2. Use the ls command to check device ownership. For example:

    # ls -l /dev | grep -ie 'ocr\|vote'
    brw-r----- 1   root dba  8, 17 Oct 29 15:31 ocr1
    brw-rw---- 1 oracle dba  8, 65 Oct 29 15:31 vote1
    
  3. Use the udevinfo command to confirm unique SCSI device identifier mappings. For example:

    # udevinfo -q all -n /dev/ocr1
    P: /block/sdb/sdb1
    N: ocr1
    S: disk/by-id/scsi-360a98000686f6959684a453333524174-part1
    S: disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.87085-part1
    E: ID_VENDOR=NETAPP
    E: ID_MODEL=LUN
    E: ID_REVISION=0.2
    E: ID_SERIAL=360a98000686f6959684a453333524174
    E: ID_TYPE=disk
    E: ID_BUS=scsi
    E: ID_PATH=ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.84187085
    
  4. Use the raw and ls commands to confirm raw devices are bound. For example:

    # raw -qa
    /dev/raw/raw1: bound to major 8, minor 17
    /dev/raw/raw2: bound to major 8, minor 65
    
    # ls -l /dev/raw/raw*
    crw-r----- 1 root   oinstall 162, 11 Oct 30 12:54 /dev/raw/raw1
    crw-r----- 1 oracle oinstall 162, 21 Oct 30 14:26 /dev/raw/raw2
    

After you have completed configuring and checking raw storage devices, you can proceed to install Oracle Clusterware and Oracle Real Application Clusters.

4.13.3 Relocate Oracle Clusterware Files from Raw to Block Devices

Oracle recommends that you move Oracle Clusterware files from raw devices to block devices.

Tip:

Oracle Database 2 Day + Real Application Clusters Guidefor more information about relocating voting disks and Oracle Cluster Registry files.

5 Other Known Issues

The following sections contain information about issues related to Oracle Database 10g and associated products:

5.1 Building Pro*C Applications if PostgreSQL is Installed

If the postgresql-devel package is installed on the system, then you must add the following directory to the beginning of the sys_include parameter in the $ORACLE_HOME/precomp/admin/pcscfg.cfg file before building Pro*C applications:

$ORACLE_HOME/precomp/public

If you do not make this change, then you may encounter errors similar to the following when linking the applications:

/tmp/ccbXd7v6.o(.text+0xc0): In function 'drop_tables': 
: undefined reference to 'sqlca'

This issue is tracked with Oracle bug 3933309.

5.2 Encoding Information Not Present in Translated Help Files

If the system uses a European language, you might see corrupted characters in Table of Contents of database tools, such as Database Configuration Assistant.

This issue is tracked with Oracle bug 3957096.

Workaround: If the system uses a European language, do not use the .UTF-8 locale. For example, if the system uses German, set the LANG and LC_ALL environment variables to de_DE instead of de_DE.UTF-8.

5.3 Oracle Clusterware Files Issues

The following note applies if you are using Oracle Enterprise Linux 4.0, Oracle Enterprise Linux 5.0, Red Hat Enterprise Linux 4.0, Red Hat Enterprise Linux 5.0, or SUSE Linux Enterprise Server 10 and using raw devices to store the Oracle Cluster Registry (OCR) and the voting disk for Oracle Clusterware, or using raw devices for Automatic Storage Management (ASM) database files. For each raw device used for the purposes listed, you must add two entries in the /etc/rc.d/rc.local file on Oracle Enterprise Linux 4.0, Oracle Enterprise Linux 5.0, Red Hat Enterprise Linux 4.0, and Red Hat Enterprise Linux 5.0, or the /etc/init.d/after.local file on SUSE Linux Enterprise Server 10 after running the root.sh script following the installation of Oracle Clusterware.

For each OCR file, the entries should look as follows, where oinstall is the Oracle install group and /dev/raw/rawn is an individual device file:

chown root:oinstall /dev/raw/rawn
chmod 660 /dev/raw/rawnmar

For each voting disk file, the entries should look as follows, where oracle is the Oracle user, oinstall is the Oracle install group, and /dev/raw/rawn is an individual device file:

chown oracle:oinstall /dev/raw/rawn
chmod 644 /dev/raw/rawnmar

For each ASM file, the entries should look as follows, where oracle is the Oracle user, oinstall is the Oracle install group, and /dev/raw/rawn is an individual device file:

chown oracle:oinstall /dev/raw/rawn
chmod 660 /dev/raw/rawnmar

5.4 Cluster Verification Utility

This section lists the issues with Cluster Verification Utility on Oracle Enterprise Linux 4.0, Oracle Enterprise Linux 5.0, Red Hat Enterprise Linux 4.0, Red Hat Enterprise Linux 5.0, and SUSE Linux Enterprise Server 9 and 10:

  • Cluster Verification Utility (CVU) does not support shared checks for raw disks used for Oracle Cluster File System version 2 on Oracle Enterprise Linux 4.0, Oracle Enterprise Linux 5.0, Red Hat Enterprise Linux 4.0, Red Hat Enterprise Linux 5.0, and SUSE Linux Enterprise Server 9 and 10.

  • Cluster Verification Utility (CVU) does not detect SMP-Kernel rpms for the hosts and displays the "Kernel check failed" message. In verbose mode, the status for kernel is displayed as "missing".

    This issue is tracked with Oracle bug 4685951.

  • The preinstallation stage verification checks for Oracle Clusterware and Oracle Real Applications Clusters and reports missing packages. Ignore the following missing packages and continue with the installation:

    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
    

5.5 Removing Metrics for Wait Classes Removes Them Permanently

Do not remove the key values for the wait class metrics. Doing so removes them permanently and currently there is no easy way to recover them.

This issue is tracked with Oracle bug 4602952.

5.6 Support for 64-Bit JDBC

For Oracle Database 10g release 2 on Linux x86-64, 64-bit JDBC (using JDK 5) is supported.

5.7 Patch for Oracle Clusterware Configuration with Voting Disk on Network Attached Storage

To resolve Oracle Clusterware configuration issue when voting disk is on Network Attached Storage, you need to apply the patch tracked through Oracle bug 4697432.

5.8 SRVCTL and VIPCA Utilities Set the LD_ASSUME_KERNEL Parameter

The SRVCTL and VIPCA utilities shipped with Oracle Database 10g release 2 and Oracle Clusterware software set the environmental variable LD_ASSUME_KERNEL. On SUSE Linux Enterprise Server 10, because the older Linux threads API has been removed from GLIBC, setting this parameter causes the SRVCTL and VIPCA utilities to exit with the following error:

/opt/oracle/crs/jdk/jre/bin/java: 
error while loading shared libraries: 
libpthread.so.0: cannot open shared object file: 
No such file or directory

Workaround: Comment out the lines that set the LD_ASSUME_KERNEL variable from the VIPCA and SRVCTL utilities. For the VIPCA utility alter the $CRS_HOME/bin/vipca script commenting out lines 119 through 123 as follows:

arch='uname -m'
#       if [ "$arch" = "i686" -o "$arch" = "ia64" -o "$arch" = "x86_64" ]
#       then
#            LD_ASSUME_KERNEL=2.4.19
#            export LD_ASSUME_KERNEL
#       fi

With the lines commented out, root.sh should be able to call VIPCA successfully. Ensure that you do not to comment out line 118 which sets the arch variable as that is needed by the script.

For the SRVCTL utility alter the $CRS_HOME/bin/srvctl and the $ORACLE_HOME/bin/srvctl scripts commenting out lines 173 and 174 as follows:

#Remove this workaround when the bug 3937317 is fixed#LD_ASSUME_KERNEL=2.4.19#export LD_ASSUME_KERNEL

5.9 Mapping of 127.0.0.2 to the Local Hostname

By default, the hostname of a machine is mapped to the IP address 127.0.0.2 through an entry in the /etc/hosts similar to the following on SUSE Linux Enterprise Server 10:

127.0.0.2       test test.example.com

YaST does this to provide compatibility with earlier versions of the applications that had problems running on desktops with dynamically assigned hostnames from DHCP. This mapping may cause certain Oracle networking libraries to encounter errors when they attempt to resolve the hostname of the machine. To avoid these problems, the entry should be removed from the /etc/hosts file. Note that several network related YaST utilities may add this entry back to the file.

5.10 Error While Loading Shared Library When selinux is Enabled on Oracle Enterprise Linux 5.0 and Red Hat Enterprise Linux 5.0

Oracle Call Interface (OCI) program calls fail with selinux enabled on Oracle Enterprise Linux 5.0 and Red Hat Enterprise Linux 5.0.

Workaround: Disable selinux on the system.

This issue is tracked with Oracle bug 6079461.

5.11 MAX_IDLE_BLOCKER_TIME Does Not Work in Oracle RAC Environment

Setting a value for MAX_IDLE_BLOCKER_TIME feature of Resource manager does not work as expected in Oracle RAC environment.

Workaround: Set a value for MAX_IDLE_TIME instead of setting a value for MAX_IDLE_BLOCKER_TIME.

This issue is tracked with Oracle bug 6114355.

5.12 Database Control Does not Display the Listener Details

When you connect to the database using Database Control, the page does not display the listener details.

Workaround: After installing Oracle Database 10g release 2, you must shutdown the Database Control with the command emctl stop dbconsole. Modify the targets.xml file located in $ORACLE_HOME/hostname_SID/sysman/emd directory so that the value of the machinename field is the same for listener and database. Restart Database Control with the command emctl start. dbconsole to display the listener details.

This issue is tracked with Oracle bug 6743916.

6 Documentation Corrections and Additions

This section lists the following corrections to the installation guides for Linux x86-64.

6.1 Additional Kernel parameters

The following Kernel parameters should be added to Chapter 2, "Oracle Database Preinstallation Requirements" of Oracle Database Installation Guide for Linux x86-64:

  • The table listing the recommended values for the kernel parameters in the section should contain the following rows:

    Parameter Minimum Value File
    tcp_wmem 262144 /proc/sys/net/ipv4/tcp_wmem
    tcp_rmem 4194304 /proc/sys/net/ipv4/tcp_rmem

  • The table listing the commands to display the values of the kernel parameters in the section should contain the following rows:

    Parameter Command
    tcp_wmem # /sbin/sysctl -a | grep tcp_wmem
    tcp_rmem # /sbin/sysctl -a | grep tcp_rmem

  • The list of parameters and their values in the /etc/sysctl.conf file should also contain the following entries:

    net.ipv4.tcp_wmem = 262144 262144 262144
    net.ipv4.tcp_rmem = 4194304 4194304 4194304
    

7 Documentation Accessibility

Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/.

Accessibility of Code Examples in Documentation

Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.

TTY Access to Oracle Support Services

Oracle provides dedicated Text Telephone (TTY) access to Oracle Support Services within the United States of America 24 hours a day, seven days a week. For TTY support, call 800.446.2398.


Oracle Database Release Notes, 10g Release 2 (10.2) for Linux x86-64

B15666-12

Copyright © 2008 Oracle. All rights reserved.

The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited.

The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose.

If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software—Restricted Rights (June 1987). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs.

Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.