Skip Headers
Oracle® Database Installation Guide
11g Release 2 (11.2) for Linux

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

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

2 Oracle Database Preinstallation Requirements

This chapter describes the tasks that you must complete before you start Oracle Universal Installer (OUI).

This guide contains information required to install Oracle Database 11g Release 2 (11.2). Ensure that you review information related to the platform on which you intend to install Oracle Database 11g.

Note:

It includes information about the following topics:

See Also:

2.1 About Installing the Linux Operating System

This section describes how to install a supported Linux distribution. It contains the following topics:

2.1.1 Completing a Minimal Linux Installation

To complete a minimal Linux installation, select one of the minimal installation options (either a custom installation where you select the Minimal option from Package Group Selection, or where you deselect all packages except for the Base pack). This installation lacks many RPMs required for installation, so you must use an RPM package for your Oracle Linux release to install the required packages. The package you use depends on your Linux release, and your support status with Unbreakable Linux Network (ULN).

Note:

The Oracle Pre-Install RPM installs the X11 client libraries, but it does not install the X Window System server packages. To use graphical user interfaces such as OUI, configuration assistants, and Oracle Enterprise Manager, set the display to a system with X Window System server packages.

Refer to the following URL for documentation regarding installation of a reduced set of packages:

https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=728346.1

Note:

If you are not a member of Unbreakable Linux Network or Red Hat Support network, and you are a My Oracle Support customer, then you can download instructions to configure a script that documents installation of a reduced set of packages:

https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=579101.1

You can also search for "Linux reduced set of packages" to locate the instructions.

SSH is required for an Oracle Grid Infrastructure installation. OpenSSH should be included in the Linux distribution minimal installation. To confirm that SSH packages are installed, enter the following command:

# rpm -qa |grep ssh

If you do not see a list of SSH packages, then install those packages for your Linux distribution.

Note:

The Oracle RDBMS Pre-Install RPM installs the X11 client libraries, but does not install the X Window System server packages. To use graphical user interfaces such as OUI, configuration assistants, and Oracle Enterprise Manager, set the display to a system with X Window System server packages.

2.1.2 Completing a Default Linux Installation

If you do not install the Oracle Pre-Install RPM, then Oracle recommends that you install your Linux operating system with the default software packages (RPMs). This installation includes most of the required packages and helps you limit manual verification of package dependencies. Oracle recommends that you do not customize the RPMs during installation.

For information about a default installation, log on to My Oracle Support:

https://support.oracle.com

Search for "default rpms linux installation," and look for your Linux distribution. For example:

https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=ID 401167.1

After installation, review system requirements for your distribution to ensure that you have all required kernel packages installed, and complete all other configuration tasks required for your distribution and system configuration.

2.1.3 About Oracle Linux and the Unbreakable Enterprise Kernel

Oracle's Unbreakable Enterprise Kernel delivers the latest innovations from upstream development to customers who run Red Hat Enterprise Linux (RHEL) 5 or Oracle Linux 5 in the data center. The Unbreakable Enterprise Kernel is included and enabled by default starting with Oracle Linux 5 Update 6.

The Unbreakable Enterprise Kernel is based on a recent stable mainline development Linux kernel, and also includes optimizations developed in collaboration with Oracle Database, Oracle middleware, and Oracle hardware engineering teams to ensure stability and optimal performance for the most demanding enterprise workloads.

Oracle highly recommends deploying the Oracle Unbreakable Enterprise Kernel in your Linux environment, especially if you run enterprise applications. However, using Oracle Unbreakable Enterprise Kernel is optional. If you require strict RHEL kernel compatibility, then Oracle Linux also includes a kernel compatible with the RHEL Linux kernel, compiled directly from the RHEL source code.

You can obtain more information about the Oracle Unbreakable Enterprise Kernel for Linux at the following URL:

http://www.oracle.com/us/technologies/linux

The Oracle Unbreakable Enterprise Kernel for Linux is the standard kernel used with Oracle products. The build and QA systems for Oracle Database and other Oracle products use the Oracle Unbreakable Enterprise Kernel for Linux exclusively. The Oracle Unbreakable Enterprise Kernel for Linux is also the kernel used in Oracle Exadata and Oracle Exalogic systems. Oracle Unbreakable Enterprise Kernel for Linux is used in all benchmark tests on Linux in which Oracle participates, as well as in the Oracle RDBMS preinstall RPM program for x86-64.

Ksplice, which is part of Oracle Linux, updates the Linux operating system (OS) kernel, while it is running, without requiring restarts or any interruption. Ksplice is available only with Oracle Linux.

2.1.4 About the Oracle RDBMS Pre-Install and Oracle Validated RPMs

If your Linux distribution is Oracle Linux, or Red Hat Enterprise Linux, and you are an Oracle Linux customer, then you can complete most preinstallation configuration tasks by using the Oracle RDBMS Server Pre-Install RPM or Oracle Validated RPM for your release, which is available from the Oracle Linux Network, or available on the Oracle Linux DVDs. Using the Oracle Pre-Install RPM is not required, but Oracle recommends you use it to save time in setting up your cluster servers.

When it is installed, the Oracle Pre-Install RPM or Oracle Validated RPM does the following:

  • Automatically downloads and installs any additional RPM packages needed for installing Oracle Grid Infrastructure and Oracle Database, and resolves any dependencies

  • Creates an oracle user, and creates the oraInventory (oinstall) and OSDBA (dba) groups for that user

  • As needed, sets sysctl.conf settings, system startup parameters, and driver parameters to values based on recommendations from the Oracle RDBMS Pre-Install program

  • Sets hard and soft resource limits

  • Sets other recommended parameters, depending on your kernel version

To become an Oracle Linux Network customer, contact your sales representative, or purchase a license from the Oracle Linux store:

https://shop.oracle.com/product/oraclelinux

To register your server on the Unbreakable Linux Network, or to find out more information, see the following URL:

https://linux.oracle.com

If you are using Oracle Linux 5.2 and higher, then the Oracle Pre-Install RPM is included on the install media.

Note:

The Oracle Pre-Install RPM designated for each Oracle Database release sets kernel parameters and resource limits only for the user account oracle. To use multiple software account owners, you must perform system configuration for other accounts manually.

You can obtain Linux kernels from the Oracle Linux public Yum repository. The public Yum repository for Oracle Linux 4, Oracle Linux 5 and Oracle Linux 6 is available at the following URL:

http://public-yum.oracle.com/

To become an Unbreakable Linux Network customer, contact your sales representative, or purchase a license from the Unbreakable Linux store:

https://shop.oracle.com/product/oraclelinux

To register your server on the Unbreakable Linux Network, or to find out more information, refer to the following URL:

https://linux.oracle.com

If you are using Oracle Linux 4.7 and higher, or Oracle Linux 5.2 and higher, then the Oracle RDBSM Pre-Install or Oracle Validated RPM is included on the install media.

Note:

The Oracle RDBMS Pre-Install RPM sets kernel parameters and resource limits only for the user account oracle. To use multiple software account owners, you must perform system configuration for other accounts manually.

In addition, users and groups are created using the next available ID numbers. If server group and user IDs are not identical on the cluster nodes where you run the Oracle RDBMS Pre-Install RPM, then it is possible that these ids will be different on the nodes, and the different group and user IDs will cause installation to fail.

To avoid this issue, run the command id user on all nodes, where user is the software owner user account. If group or user IDs are not identical on all the nodes, then change them as necessary to ensure that they are identical.

2.1.5 Installing the Oracle Pre-Install or Oracle Validated RPM with ULN Support

Use the following procedure to subscribe to Unbreakable Linux Network (ULN) Oracle Linux channels, and to add the Oracle Linux channel that distributes the Oracle RDBMS Server Pre-Install RPM or Oracle Validated RPM for your release:

  1. Register your server with Unbreakable Linux Network (ULN). By default, you are registered for the Oracle Linux Latest channel for your operating system and hardware.

  2. Log in to Unbreakable Linux Network:

    https://linux.oracle.com

  3. Click the Systems tab, and in the System Profiles list, select a registered server. The System Details window opens and displays the subscriptions for the server.

  4. Click Manage Subscriptions. The System Summary window opens.

  5. From the Available Channels list, select the Linux installation media copy and update patch channels corresponding to your Oracle Linux distribution. For example, if your distribution is Oracle Linux 5 Update 6 for x86_64, then select the following:

    • Oracle Linux 5 Update 6 installation media copy (x86_64)

    • Oracle Linux 5 Update 6 Patch (x86_64)

  6. Click Subscribe.

  7. Start a terminal session and enter the following command as root, depending on your platform.

    Oracle Linux 6:

    # yum install oracle-rdbms-server-12cR1-preinstall
    

    Oracle Linux 5 or Oracle Linux 4:

    # yum install oracle-validated
    

    You should see output indicating that you have subscribed to the Oracle Linux channel, and that packages are being installed. For example:

    el5_u6_i386_base
    el5_u6_x86_64_patch
    

    Oracle Linux automatically creates a standard (not role-allocated) Oracle installation owner and groups, and sets up other kernel configuration settings as required for Oracle installations.

  8. Repeat steps 1 through 8 on all other servers in your cluster.

    Note:

    Check the RPM log file to review the system configuration changes. For example:

    Oracle Linux 6:

    /var/log/oracle-rdbms-server-12cR1-preinstall/results/orakernel.log
    

    Oracle Linux 5 and Oracle Linux 4:

    /var/log/oracle-validated/results/orakernel.log
    

2.1.6 Installing the Oracle RDBMS Pre-Install RPM from DVD Disks or Images

Use the following procedure to install the Oracle RDBMS Pre-Install RPM or Oracle Validated Configuration RPM from the Oracle Linux distribution:

  1. Get Oracle Linux disks either by ordering the Oracle Linux media pack from Oracle Store, or downloading disk images from the Oracle Software Delivery Cloud portal for Oracle Linux and Oracle Virtual Machine (Oracle VM).

    Oracle Store:

    https://shop.oracle.com/store/enterpriselinux
    

    Oracle Software Delivery Cloud:

    https://edelivery.oracle.com/linux
    
  2. Start the Oracle Linux installation.

  3. At the first software selection screen, which lists task-specific software options, there is an option at the bottom of the screen to customize now or customize later. Select Customize now, and click Next.

  4. On the Customize selection page, select Base System on the list on the left side of the screen, and then select System Tools on the right side of the screen. Then, click Optional Packages.

  5. The Packages in System Tools window opens. Select the Oracle RDBMS Pre-Install RPM package box from the package list, and click Next.

  6. Complete the other screens to finish the Oracle Linux installation.

    Oracle Linux automatically creates a standard (not role-allocated) Oracle installation owner and groups, and sets up other kernel configuration settings as required for Oracle installations.

2.1.7 Using Ksplice to Perform a Zero Downtime Update

Ksplice Uptrack updates provide Linux security and bug fix updates, repackaged in a form that allows these updates to be applied without restarting the kernel.

To use Ksplice Uptrack:

  1. Obtain or verify your Oracle Linux premium support subscription from Unbreakable Linux Network:

    https://linux.oracle.com

  2. Log in as root.

  3. Ensure that you have access to the Internet on the server where you want to use Ksplice. For example, if you are using a proxy server, then set the proxy server and port values in the shell with commands similar to the following:

    # export http_proxy=http://proxy.example.com:port
    # export https_proxy=http://proxy.example.com:port
    
  4. Download the Ksplice Uptrack repository RPM package:

    https://www.ksplice.com/yum/uptrack/ol/ksplice-uptrack-release.noarch.rpm

  5. Run the following commands:

    rpm -i ksplice-uptrack-release.noarch.rpm
    yum -y install uptrack
    
  6. Open /etc/uptrack/uptrack.conf with a text editor, enter your premium support access key, and save the file. You must use the same access key for all of your systems.

  7. Run the following command to carry out a zero downtime update of your kernel:

    uptrack-upgrade -y
    

    See Also:

2.2 Logging In to the System as root

Before you install the Oracle software, you must complete several tasks as the root user. To log in as the root user, complete one of the following procedures:

Note:

Unless you intend to complete a silent-mode installation, you must install the software from an X Window System workstation, an X terminal, a PC, or other system with X server software installed.

For more information about silent-mode installations, see Appendix A.

2.3 Checking the Hardware Requirements

The system must meet the following minimum hardware requirements:

2.3.1 Memory Requirements

The following are the memory requirements for installing Oracle Database 11g Release 2 (11.2):

Minimum: 1 GB of RAM

Recommended: 2 GB of RAM or more

  • To determine the RAM size, enter the following command:

    # grep MemTotal /proc/meminfo
    

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

  • The following table describes the relationship between the installed RAM and the configured swap space recommendation:

    Note:

    On Linux, the HugePages feature allocates non-swappable memory for large page tables using memory-mapped files. If you enable HugePages, then you should deduct the memory allocated to HugePages from the available RAM before calculating swap space.
    RAM Swap Space
    Between 1 GB and 2 GB 1.5 times the size of the RAM
    Between 2 GB and 16 GB Equal to the size of the RAM
    More than 16 GB 16 GB

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

To determine the size of the configured swap space, enter the following command:

# grep SwapTotal /proc/meminfo

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

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

# free

Note:

  • Oracle recommends that you take multiple values for the available RAM and swap space before finalizing a value. This is because the available RAM and swap space keep changing depending on the user interactions with the computer.

  • Contact your operating system vendor for swap space allocation guidance for your server. The vendor guidelines supersede the swap space requirements listed in this guide.

Automatic Memory Management

Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm)and file descriptors. The size of the shared memory must be at least the greater of the MEMORY_MAX_TARGET and MEMORY_TARGET parameters for each Oracle instance on the computer. If the MEMORY_MAX_TARGET parameter or the MEMORY_TARGET parameter is set to a nonzero value, and an incorrect size is assigned to the shared memory, it results in an ORA-00845 error at startup. On Linux systems, if the operating system /dev/shm mount size is too small for the Oracle system global area (SGA) and program global area (PGA), it results in an ORA-00845 error.

The number of file descriptors for each Oracle instance must be at least 512*PROCESSES. The limit of descriptors for each process must be at least 512. If file descriptors are not sized correctly, you see an ORA-27123 error from various Oracle processes and potentially Linux Error EMFILE (Too many open files)in non-Oracle processes.

To determine the amount of shared memory available, enter the following command:

# df -h /dev/shm/

Note:

The MEMORY_MAX_TARGET and MEMORY_TARGET parameters cannot be used when the LOCK_SGA parameter is enabled, or with HugePages on Linux.

On the Initialization Parameters page, note the Memory Size (SGA and PGA), which sets the initialization parameter MEMORY_TARGET or MEMORY_MAX_TARGET. The initialization parameters cannot be greater than the shared memory file system on the operating system. For example, if the shared memory file system allocation on your system is 1 GB, but you set Memory Size (MEMORY_TARGET) to 2 GB, then the following error messages are displayed during database startup:

ORA-00845: MEMORY_TARGET not supported on this system
ORA-01078: Failure in processing system parameters

In addition, if you click All Initialization Parameters and the global database name is longer than eight characters, then the database name value (in the DB_NAME parameter) is truncated to the first eight characters, and the DB_UNIQUE_NAME parameter value is set to the global name.

The workaround, if you encounter the ORA-00845 error, is to increase the /dev/shm mountpoint size.

For example:

# mount -t tmpfs shmfs -o size=7g /dev/shm

To make this change persistent across system restarts, add an entry in /etc/fstab similar to the following:

shmfs /dev/shm tmpfs size=7g 0

2.3.2 System Architecture

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

# uname -m

Verify that the processor architecture matches the Oracle software release to install. If you do not see the expected output, then you cannot install the software on this system.

2.3.3 Disk Space Requirements

The following are the disk space requirements for installing Oracle Database 11g Release 2 (11.2):

  • 1 GB of space in the /tmp directory

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

    # df -h /tmp
    

    If the free space available in the /tmp directory is less than what is required, then complete one of the following steps:

    • Delete unnecessary files from the /tmp directory to meet the disk space requirement.

    • Set the TMP and TMPDIR environment variables when setting the oracle user's environment.

      See Also:

      "Configuring the oracle User's Environment" for more information about setting TMP and TMPDIR
    • Extend the file system that contains the /tmp directory. If necessary, contact the system administrator for information about extending file systems.

  • The following tables describe the disk space requirements for software files and data files for each installation type on Linux x86:

    Installation Type Requirement for Software Files (GB)
    Enterprise Edition 3.95
    Standard Edition 3.88

    Installation Type Disk Space for Data Files (GB)
    Enterprise Edition 1.7
    Standard Edition 1.5

  • The following tables describe the disk space requirements for software files and data files for each installation type on Linux x86-64:

    Installation Type Requirement for Software Files (GB)
    Enterprise Edition 4.35
    Standard Edition 4.22

    Installation Type Disk Space for Data Files (GB)
    Enterprise Edition 1.7
    Standard Edition 1.5

  • The following tables describe the disk space requirements for software files and data files for each installation type on IBM: Linux on System z:

    Installation Type Requirement for Software Files (GB)
    Enterprise Edition 4.9
    Standard Edition 4.5

    Installation Type Disk Space for Data Files (GB)
    Enterprise Edition 2.0
    Standard Edition 1.5

To determine the amount of free disk space on the system, enter the following command:

# df -h

Additional disk space, either on a file system or on an Oracle ASM disk group is required for the fast recovery area if you configure automated backups.

2.3.4 Display Requirements

The minimum resolution for Oracle Database 11g Release 2 (11.2) is 1024 x 768 or higher.

2.4 Checking the Software Requirements

Depending on the products that you intend to install, verify that the following software is installed on your system:

Note:

  • This guide contains information required to install Oracle Database 11g Release 2 (11.2). Ensure that you review information related to the platform on which you intend to install Oracle Database 11g.

  • Oracle Universal Installer performs checks on the system to verify that it meets the listed requirements. To ensure that these checks pass, verify the requirements before you start Oracle Universal Installer.

2.4.1 Operating System Requirements

The following operating system versions (or later) are required for Oracle Database 11g Release 2 (11.2):

  • On Linux x86

    • Asianux Server 3 SP2

    • Oracle Linux 4 Update 7

    • Oracle Linux 5 Update 2

    • Oracle Linux 6

    • Red Hat Enterprise Linux 4 Update 7

    • Red Hat Enterprise Linux 5 Update 2

    • Red Hat Enterprise Linux 6

    • SUSE Linux Enterprise Server 10 SP2

    • SUSE Linux Enterprise Server 11

  • On Linux x86-64

    • Asianux Server 3 SP2

    • Oracle Linux 4 Update 7

    • Oracle Linux 5 Update 2 (with Red Hat Compatible Kernel)

    • Oracle Linux 5 Update 5

    • Oracle Linux 6

    • Oracle Linux 6 (with Red Hat Compatible Kernel)

    • Red Hat Enterprise Linux 4 Update 7

    • Red Hat Enterprise Linux 5 Update 2

    • Red Hat Enterprise Linux 5 Update 5 (with the Oracle Unbreakable Enterprise Kernel for Linux)

    • Red Hat Enterprise Linux 6

    • Red Hat Enterprise Linux 6 (with the Oracle Unbreakable Enterprise Kernel for Linux)

    • SUSE Linux Enterprise Server 10 SP2

    • SUSE Linux Enterprise Server 11

  • On IBM: Linux on System z

    • Red Hat Enterprise Linux 4 Update 8

    • Red Hat Enterprise Linux 5 Update 4

    • SUSE Linux Enterprise Server 10 SP3

    • SUSE Linux Enterprise Server 11 SP1

Starting with Oracle Database 11g Release 2 (11.2), the Security Enhanced Linux (SELinux) feature is supported for Oracle Linux 4, Oracle Linux 5, Oracle Linux 6, Red Hat Enterprise Linux 4, Red Hat Enterprise Linux 5, and Red Hat Enterprise Linux 6.

Note:

For Asianux Server, Oracle Linux, and Red Hat Enterprise Linux, the system requirements are identical by kernel version, specifically:
  • Oracle Linux 4 and Red Hat Enterprise Linux 4 requirements are the same.

  • Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5 Update 2 requirements are the same.

  • Oracle Unbreakable Enterprise Kernel for Linux 5 Update 5 (2.6.32) and above, available for x86-64 systems, contains several additional features and performance enhancements not available either with Oracle Linux or with other supported Linux distributions. This kernel can be installed on either Oracle Linux or Red Hat Enterprise Linux distributions. Before installing the Oracle Unbreakable Enterprise Kernel, you must have either Oracle Linux 5 Update 5, Oracle Linux 6, Red Hat Enterprise Linux 5 Update 5, or Red Hat Enterprise Linux 6 installed on an x86-64 server.

  • The Oracle Unbreakable Enterprise Kernel for Linux is installed by default with the Oracle Linux 6 installation.

To determine the distribution and version of Linux installed, enter the following command:

# cat /proc/version

You can also enter the following command on some distributions of Linux:

# lsb_release -id

Note:

Only the distributions and versions listed in the previous list are supported. Do not install the software on other versions of Linux.

See Also:

"Hardware and Software Certification" for information about how to access the latest system requirements

2.4.2 Kernel Requirements

The following are the kernel requirements for Oracle Database 11g Release 2 (11.2):

For Linux x86 

  • On Oracle Linux 4 and Red Hat Enterprise Linux 4

    2.6.9 or later

  • On Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5

    2.6.18 or later

  • On Oracle Linux 6

    2.6.32.100 or later

  • On Red Hat Enterprise Linux 6

    2.6.32-71 or later

  • On SUSE Linux Enterprise Server 10

    2.6.16.21 or later

  • On SUSE Linux Enterprise Server 11:

    2.6.27.19 or later

For Linux x86-64 

  • On Oracle Linux 4 and Red Hat Enterprise Linux 4

    2.6.9 or later

  • On Oracle Linux 5 Update 5

    2.6.32-100.0.19 or later

  • On Oracle Linux 5 Update 2

    2.6.18 or later (with Red Hat Compatible Kernel)

  • On Oracle Linux 6

    2.6.32-100.28.5.el6.x86_64 or later

  • On Oracle Linux 6

    2.6.32-71.el6.x86_64 or later (with Red Hat Compatible Kernel)

  • On Red Hat Enterprise Linux 5 Update 5 with the Oracle Unbreakable Enterprise Kernel for Linux

    2.6.32 or later

  • On Red Hat Enterprise Linux 6 with the Oracle Unbreakable Enterprise Kernel for Linux

    2.6.32-100.28.5.el6.x86_64 or later

  • On Red Hat Enterprise Linux 6

    2.6.32-71.el6.x86_64 or later

  • On Asianux Server 3, Oracle Linux 5 Update 2, and Red Hat Enterprise Linux 5 Update 2

    2.6.18 or later

  • On SUSE Linux Enterprise Server 10

    2.6.16.21 or later

  • On SUSE Linux Enterprise Server 11

    2.6.27.19 or later

For IBM: Linux on System z 

  • On Red Hat Enterprise Linux 4

    2.6.9 or later

  • On Red Hat Enterprise Linux 5

    2.6.18 or later

  • On SUSE Linux Enterprise Server 10

    2.6.16.60 or later

  • On SUSE Linux Enterprise Server 11

    2.6.32.12 or later

To determine if the required kernel is installed, enter the following command:

# uname -r

The following is a sample output displayed by running this command on an Oracle Linux 5 system:

2.6.18-128.el5PAE

In this example, the output shows the kernel version (2.6.18) and errata level (-128.el5PAE) on the system.

If the kernel version does not meet the requirement, then contact the operating system vendor for information about obtaining and installing kernel updates.

2.4.3 Package Requirements

The following are the list of packages required for Oracle Database 11g Release 2 (11.2):

Note:

  • Oracle recommends that you install your Linux operating system with the default software packages (RPMs), unless you specifically intend to perform a minimal installation and follow the directions for performing such an installation to ensure that you have all required packages for Oracle software.

  • Oracle recommends that you do not customize RPMs during a default operating system installation. A default installation includes most required packages and helps you to limit manual verification of package dependencies.

  • If you did not perform a default Linux installation, you intend to use LDAP, and you want to use the scripts odisrvreg, oidca, or schemasync, then install the Korn shell RPM for the Linux distribution.

  • You must install the packages (or later versions) listed in the following table, and ensure that the list of RPMs and all of the prerequisites for these RPMs are installed.

See Also:

Oracle Database Package Requirements for Linux x86

Operating System Requirement
Oracle Linux 4 and Red Hat Enterprise Linux 4 The following packages (or later versions) must be installed:
binutils-2.15.92.0.2
compat-libstdc++-33-3.2.3
elfutils-libelf-0.97
elfutils-libelf-devel-0.97
gcc-3.4.6
gcc-c++-3.4.6
glibc-2.3.4-2.41
glibc-common-2.3.4
glibc-devel-2.3.4
glibc-headers-2.3.4
libaio-devel-0.3.105
libaio-0.3.105
libgcc-3.4.6
libstdc++-3.4.6
libstdc++-devel-3.4.6
make-3.80
numactl-0.6.4.i386
pdksh-5.2.14
sysstat-5.0.5
Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5 The following packages (or later versions) must be installed:
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106 
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2 
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2
Oracle Linux 6 and Red Hat Enterprise Linux 6 The following packages (or later versions) must be installed:
binutils-2.20.51.0.2-5.11.el6.i686
compat-libcap1-1.10-1.i686
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6.i686
gcc-c++-4.4.4-13.el6.i686
glibc-2.12-1.7.el6.i686
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6.i686
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6.i686
sysstat-9.0.4-11.el6.i686
SUSE Linux Enterprise Server 10 The following packages (or later versions) must be installed:
binutils-2.16.91.0.5
compat-libstdc++-5.0.7
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.4-31.63
glibc-devel-2.4-31.63
ksh-93r-12.9
libaio-0.3.104
libaio-devel-0.3.104
libelf-0.8.5
libgcc-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.80
sysstat-8.0.4
SUSE Linux Enterprise Server 11 The following packages (or later versions) must be installed:
binutils-2.19
gcc-4.3
gcc-c++-4.3
glibc-2.9
glibc-devel-2.9
ksh-93t
libstdc++33-3.3.3
libstdc++43-4.3.3_20081022
libstdc++43-devel-4.3.3_20081022
libaio-0.3.104
libaio-devel-0.3.104
libgcc43-4.3.3_20081022
libstdc++-devel-4.3
make-3.81
sysstat-8.1.5

Note:

  • The kernel-headers-2.6.18 package is not mandatory for database installations on Linux x86. You can ignore the OUI or CVU warning to install this package.

  • The numa package link for Linux x86 is /usr/lib.

Oracle Database Package Requirements for Linux x86-64

Note:

  • Starting with Oracle Database 11g Release 2 (11.2.0.2), all the 32-bit packages, except for gcc-32bit-4.3, listed in the following table are no longer required for installing a database on Linux x86-64. Only the 64-bit packages are required. However, for any Oracle Database 11g release before 11.2.0.2, both the 32-bit and 64-bit packages listed in the following table are required.

  • If you are using Oracle Unbreakable Enterprise Kernel, then all required kernel packages are installed as part of the Oracle Unbreakable Enterprise Kernel installation.

  • For Orace Linux 6 the Oracle Validated RPM has been replaced by the Oracle RDBMS Server 11gR2 Pre-install RPM. See "Completing a Minimal Linux Installation" for more information.

Operating System Requirement
Oracle Linux 4 and Red Hat Enterprise Linux 4 The following packages (or later versions) must be installed:
binutils-2.15.92.0.2
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.97
elfutils-libelf-devel-0.97
expat-1.95.7
gcc-3.4.6
gcc-c++-3.4.6
glibc-2.3.4-2.41
glibc-2.3.4-2.41 (32 bit)
glibc-common-2.3.4
glibc-devel-2.3.4
glibc-headers-2.3.4
libaio-0.3.105
libaio-0.3.105 (32 bit)
libaio-devel-0.3.105
libaio-devel-0.3.105 (32 bit)
libgcc-3.4.6
libgcc-3.4.6 (32-bit)
libstdc++-3.4.6
libstdc++-3.4.6 (32 bit)
libstdc++-devel 3.4.6
make-3.80
numactl-0.6.4.x86_64
pdksh-5.2.14
sysstat-5.0.5
Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5 The following packages (or later versions) must be installed:
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
Oracle Linux 6 and Red Hat Enterprise Linux 6 The following packages (or later versions) must be installed:
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
SUSE Linux Enterprise Server 10 The following packages (or later versions) must be installed:
binutils-2.16.91.0.5
compat-libstdc++-5.0.7
gcc-4.1.0
gcc-c++-4.1.2
glibc-2.4-31.63
glibc-devel-2.4-31.63
glibc-devel-32bit-2.4-31.63
ksh-93r-12.9
libaio-0.3.104
libaio-32bit-0.3.104
libaio-devel-0.3.104
libaio-devel-32bit-0.3.104
libelf-0.8.5
libgcc-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.80
numactl-0.9.6.x86_64
sysstat-8.0.4
SUSE Linux Enterprise Server 11 The following packages (or later versions) must be installed:
binutils-2.19
gcc-4.3
gcc-32bit-4.3
gcc-c++-4.3
glibc-2.9
glibc-32bit-2.9
glibc-devel-2.9
glibc-devel-32bit-2.9
ksh-93t
libaio-0.3.104
libaio-32bit-0.3.104
libaio-devel-0.3.104
libaio-devel-32bit-0.3.104
libstdc++33-3.3.3
libstdc++33-32bit-3.3.3
libstdc++43-4.3.3_20081022
libstdc++43-32bit-4.3.3_20081022
libstdc++43-devel-4.3.3_20081022
libstdc++43-devel-32bit-4.3.3_20081022
libgcc43-4.3.3_20081022
libstdc++-devel-4.3
make-3.81
sysstat-8.1.5

Note:

The numa package link for Linux x86-64 is /usr/lib64/.

Oracle Database Package Requirements for IBM: Linux on System z

Operating System Requirement
Red Hat Enterprise Linux 4 The following packages (or later versions) must be installed:
binutils-2.15.92.0.2-25 (s390x)
compat-libstdc++-33-3.2.3-47.3 (s390)
compat-libstdc++-33-3.2.3-47.3 (s390x)
gcc-3.4.6-11 (s390x)
gcc-c++-3.4.6-11 (s390x)
glibc-2.3.4-2.43 (s390)
glibc-2.3.4-2.43 (s390x)
glibc-devel-2.3.4-2.43 (s390)
glibc-devel-2.3.4-2.43 (s390x)
libaio-0.3.105-2 (s390)
libaio-0.3.105-2 (s390x)
libaio-devel-0.3.105-2 (s390)
libaio-devel-0.3.105-2 (s390x)
libgcc-3.4.6-11 (s390)
libgcc-3.4.6-11 (s390x)
libstdc++-3.4.6-10.0.1
libstdc++-3.4.6-10.0.1 (32-bit)
libstdc++-devel-3.4.6-10.0.1
libstdc++-devel-3.4.6-10.0.1 (x86_64)
make-3.80
pdksh
sysstat-5.0.5-25.el4 (s390x)
Red Hat Enterprise Linux 5 The following packages (or later versions) must be installed:
binutils-2.17.50.0.6-12.el5 (s390x)
compat-libstdc++-33-3.2.3-61 (s390)
compat-libstdc++-33-3.2.3-61 (s390x)
gcc-4.1.2-46.el5 (s390x)
gcc-c++-4.1.2-46.el5 (s390x)
glibc-2.5-42(s390)
glibc-2.5-42 (s390x)
glibc-devel-2.5-42 (s390)
glibc-devel-2.5-42 (s390x)
ksh
libaio-0.3.106-3.2 (s390)
libaio-0.3.106-3.2 (s390x)
libaio-devel-0.3.106-3.2 (s390)
libaio-devel-0.3.106-3.2 (s390x)
libgcc-4.1.2-46.el5 (s390)
libgcc-4.1.2-46.el5 (s390x)
libstdc++-4.1.2-46.el5 (s390)
libstdc++-4.1.2-46.el5 (s390x)
libstdc++-devel-4.1.2-46.el5 (s390x)
make-3.81
sysstat-7.0.2-3.el5 (s390x)
SUSE Linux Enterprise Server 10 The following packages (or later versions) must be installed:
binutils-32bit-2.16.91.0.5-23.34.33 (s390x)
gcc-4.1.2_20070115-0.29.6 (s390x)
gcc-c++-4.1.2_20070115-0.29.6 (s390x)
glibc-2.4-31.74.1 (s390x)
glibc-32bit-2.4-31.74.1 (s390x)
glibc-devel-2.4-31.74.1 (s390x)
glibc-devel-32bit-2.4-31.74.1 (s390x)
ksh
libaio-0.3.104-14.2 (s390x)
libaio-32bit-0.3.104-14.2 (s390x)
libaio-devel-0.3.104-14.2 (s390x)
libaio-devel-32bit-0.3.104-14.2 (s390x)
libstdc++-4.1.2_20070115-0.29.6 (s390x)
libstdc++-devel-4.1.2_20070115-0.29.6 (s390x)
make-3.80-202.2 (s390x)
sysstat-8.0.4-1.7.27 (s390x)
SUSE Linux Enterprise Server 11 The following packages (or later versions) must be installed:
binutils-2.20.0-0.7.9 (s390x)
gcc-4.3-62.198 (s390x)
gcc-c++-4.3-62.198 (s390x)
glibc-2.11.1-0.17.4 (s390x)
glibc-32bit-2.11.1-0.17.4 (s390x)
glibc-devel-2.11.1-0.17.4 (s390x)
glibc-devel-32bit-2.11.1-0.17.4 (s390x)
ksh
libaio-0.3.109-0.1.46 (s390x)
libaio-32bit-0.3.109-0.1.46 (s390x)
libaio-devel-0.3.109-0.1.46 (s390x)
libaio-devel-32bit-0.3.109-0.1.46 (s390x)
libstdc++43-4.3.4_20091019-0.7.35 (s390x)
libstdc++43-32bit-4.3.4_20091019-0.7.35 (s390x)
libstdc++43-devel-4.3.4_20091019-0.7.35 (s390x)
libstdc++43-devel-32bit-4.3.4_20091019-0.7.35 (s390x)
libgcc43-4.3.4_20091019-0.7.35 (s390x)
make-3.81
sysstat-8.1.5-7.9.56 (s390x)

See "Oracle ODBC Drivers" for information on ODBC packages.

To determine if the required packages are installed, enter commands similar to the following:

# rpm -q package_name

If a package is not installed, then install it from the Linux distribution media or download the required package version from the Linux vendor's Web site.

2.4.4 Compiler Requirements

For Linux x86 and Linux x86-64, Intel C++ Compiler 10.1 or later and the version of GNU C and C++ compilers listed under "Package Requirements" are supported with Pro*C/C++, Oracle Call Interface, Oracle C++ Call Interface, and Oracle XML Developer's Kit (XDK) for Oracle Database 11g Release 2.

Note:

On Linux x86 and Linux x86-64, Intel C++ Compiler 10.1 can be used only with the standard template libraries of the gcc versions mentioned in "Package Requirements" to build Oracle C++ Call Interface (OCCI) applications.

Oracle XML Developer's Kit is supported with the same compilers as OCCI.

For IBM: Linux on System z the version of GNU C and C++ compilers listed under "Package Requirements" are supported for Oracle Database 11g Release 2.

2.4.5 Additional Software Requirements

Depending on the components you want to use, you must ensure that the following software is installed:

2.4.5.1 Oracle ODBC Drivers

If you intend to use ODBC, then install the most recent ODBC Driver Manager for Linux. Download and install the ODBC Driver Manager and Linux RPMs from the following Web site:

http://www.unixodbc.org

To use ODBC on Linux x86, the following additional 32-bit ODBC RPMs are required:

  • On Oracle Linux 4 and Red Hat Enterprise Linux 4:

    unixODBC-2.2.11 (32 bit) or later
    unixODBC-devel-2.2.11 (32 bit) or later
    
  • On Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5:

    unixODBC-2.2.11 (32 bit) or later
    unixODBC-devel-2.2.11 (32 bit) or later
    
  • On Oracle Linux 6 and Red Hat Enterprise Linux 6:

    unixODBC-2.2.14-11.el6.i686 or later
    unixODBC-devel-2.2.14-11.el6.i686 or later
    
  • On SUSE Linux Enterprise Server 10:

    unixODBC-32bit-2.2.11 (32 bit) or later
    unixODBC-devel-32bit-2.2.11 (32 bit) or later
    
  • On SUSE Linux Enterprise Server 11:

    unixODBC-32bit-2.2.12 (32-bit) or later
    unixODBC-devel-32bit-2.2.12 (32 bit) or later
    

To use ODBC on Linux x86-64, the following additional ODBC RPMs are required:

  • On Oracle Linux 4 and Red Hat Enterprise Linux 4:

    unixODBC-2.2.11 (32 bit) or later
    unixODBC-devel-2.2.11 (64 bit) or later
    unixODBC-2.2.11 (64 bit ) or later
    
  • On Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5:

    unixODBC-2.2.11 (32 bit) or later
    unixODBC-devel-2.2.11 (64 bit) or later
    unixODBC-2.2.11 (64 bit) or later
    
  • On Oracle Linux 6, and Red Hat Enterprise Linux 6:

    unixODBC-2.2.14-11.el6 (x86_64) or later
    unixODBC-2.2.14-11.el6.i686 or later
    unixODBC-devel-2.2.14-11.el6 (x86_64) or later
    unixODBC-devel-2.2.14-11.el6.i686 or later
    
  • On SUSE Linux Enterprise Server 10:

    unixODBC-32bit-2.2.11 (32 bit) or later
    unixODBC-2.2.11 (64 bit ) or later
    unixODBC-devel-2.2.11 (64 bit) or later
    
  • On SUSE Linux Enterprise Server 11:

    unixODBC-2.2.12 or later
    unixODBC-devel-2.2.12 or later
    unixODBC-32bit-2.2.12 (32 bit) or later 
    

To use ODBC on IBM: Linux on System z, the following additional ODBC RPMs are required:

  • On Red Hat Enterprise Linux 4:

    unixODBC-2.2.11 (32 bit) or later
    unixODBC-devel-2.2.11 (64 bit) or later
    unixODBC-2.2.11 (64 bit ) or later
    
  • On Red Hat Enterprise Linux 5:

    unixODBC-2.2.11 (32 bit) or later
    unixODBC-devel-2.2.11 (64 bit) or later
    unixODBC-2.2.11 (64 bit) or later
    
  • On SUSE Linux Enterprise Server 10:

    unixODBC-32bit-2.2.11 (32 bit) or later
    unixODBC-2.2.11 (64 bit ) or later
    unixODBC-devel-2.2.11 (64 bit) or later
    
  • On SUSE Linux Enterprise Server 11:

    unixODBC-2.2.12 or later
    unixODBC-devel-2.2.12 or later
    unixODBC-32bit-2.2.12 (32 bit) or later 
    

2.4.5.2 Oracle JDBC/OCI Drivers

For Linux x86 and Linux x86-64

Use JDK 6 (Java SE Development Kit 1.6.0_21) or JDK 5 (1.5.0_24) with the JNDI extension with the Oracle Java Database Connectivity and Oracle Call Interface drivers. However, these are not mandatory for the database installation. JDK 1.5 is installed with this release.

For IBM: Linux on System z

Use JDK 6 (Java SE Development Kit 1.6.0.20.8 FP1 or higher) or JDK 5 (1.5.0.12.1 or higher).

2.4.5.3 Linux-PAM Library

Install the latest Linux-PAM (Pluggable Authentication Modules for Linux) library to enable the system administrator to choose how applications authenticate users.

2.4.5.4 Oracle Messaging Gateway

Oracle Messaging Gateway supports the integration of Oracle Streams Advanced Queuing (AQ) with the following software:

  • IBM WebSphere MQ V6.0, client and server, with corrective service diskette 5 (CSD05) or later:

    MQSeriesClient
    MQSeriesServer
    MQSeriesRuntime
    
  • TIBCO Rendezvous 7.3

2.4.5.5 Programming Languages

The following products are certified for use with:

  • Pro* COBOL

    • Micro Focus Server Express 5.1

2.4.5.6 Browser Requirements

Web browsers must support JavaScript, and the HTML 4.0 and CSS 1.0 standards. The following browsers meet these requirements for Oracle Enterprise Manager Database Control:

  • Netscape Navigator 8.1

  • Netscape Navigator 9.0

  • Microsoft Internet Explorer 6.0 SP2

  • Microsoft Internet Explorer 7.0 SP1

  • Microsoft Internet Explorer 8.0

  • Microsoft Internet Explorer 9.0

  • Firefox 2.0

  • Firefox 3.0.7

  • Firefox 3.5

  • Firefox 3.6

  • Safari 3.1

  • Safari 3.2

  • Safari 4.0.x

  • Google Chrome 3.0

  • Google Chrome 4.0

2.4.5.7 Oracle Database Vault Preinstallation Requirement

To install Oracle Database Vault, set the DB_BLOCK_SIZE initialization parameter to 4096 or larger. If the value is less than 4096, then you cannot change it. The only way to change the DB_BLOCK_SIZE value is by re-creating the database.

2.5 Reviewing Operating System Security Common Practices

Secure operating systems are an important basis for general system security. Ensure that your operating system deployment is in compliance with common security practices as described in your operating system vendor security guide.

2.6 Installation Fixup Scripts

During installation, for certain prerequisite verification failures, click Fix & Check Again to generate a fixup script (runfixup.sh). You can run this script as the root user to complete the required preinstallation steps.

The fixup script:

Oracle recommends that you do not modify the contents of the generated fixup script.

Note:

Using fixup scripts does not ensure that all the prerequisites for installing Oracle Database are met. You must still verify that all the preinstallation requirements are met to ensure a successful installation.

2.7 Verifying UDP and TCP Kernel Parameters

Set TCP/IP ephemeral port range parameters to provide enough ephemeral ports for the anticipated server workload. Ensure that the lower range is set to at least 9000 or higher, to avoid Well Known ports, and to avoid ports in the Registered Ports range commonly used by Oracle and other server ports. Set the port range high enough to avoid reserved ports for any applications you may intend to use. If the lower value of the range you have is greater than 9000, and the range is large enough for your anticipated workload, then you can ignore OUI warnings regarding the ephemeral port range.

For example, with IPv4, use the following command to check your current range for ephemeral ports:

$ cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000

In the preceding example, the lowest port (32768) and the highest port (61000) are set to the default range.

If necessary, update the UDP and TCP ephemeral port range to a range high enough for anticipated system workloads, and to ensure that the ephemeral port range starts at 9000 and above. For example:

# echo 9000 65500 > /proc/sys/net/ipv4/ip_local_port_range

Oracle recommends that you make these settings permanent. For example, as root, use a text editor to open /etc/sysctl.conf, and add or change to the following: net.ipv4.ip_local_port_range = 9000 65500, and then restart the network (# /etc/rc.d/init.d/network restart). Refer to your Linux distribution system administration documentation for detailed information about how to automate this ephemeral port range alteration on system restarts.

2.8 Installing the cvuqdisk Package for Linux

Install the operating system package cvuqdisk. Without cvuqdisk, the Cluster Verification Utility (CVU) cannot find shared disks, and you receive a "Package cvuqdisk not installed" error when you run the Cluster Verification Utility. Use the cvuqdisk RPM for your hardware (for example, x86_64, or i386).

To install the cvuqdisk RPM, complete the following procedure:

Note:

If you prefer, you can disable Cluster Verification Utility shared disk checks by adding the following line to the file oracle_home1/cv/admin/cvu_config:

CV_RAW_CHECK_ENABLED=FALSE

In this example, oracle_home1 is the Oracle home directory where the database is installed.

  1. Locate the cvuqdisk RPM package, which is in the directory rpm on the installation media. If you installed Oracle Grid Infrastructure, then it is in the directory oracle_home1/cv/rpm.

  2. Log in as root.

  3. Use the following command to find if you have an existing version of the cvuqdisk package:

    # rpm -qi cvuqdisk
    

    If you have an existing version, then enter the following command to deinstall the existing version:

    # rpm -e cvuqdisk
    
  4. Set the environment variable CVUQDISK_GRP to point to the group that owns cvuqdisk, typically oinstall, for example:

    # CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
    
  5. In the directory where you have saved the cvuqdisk RPM, use the following command to install the cvuqdisk package:

    rpm -iv package
    

    For example:

    # rpm -iv cvuqdisk-1.0.9-1.rpm
    

2.9 Checking the Network Setup

Typically, the computer on which you want to install Oracle Database is connected to the network. The computer has local storage to store the Oracle Database installation. It also contains a display monitor and DVD drive. This section describes how to install Oracle Database on computers that do not meet the typical scenario. It describes the following cases:

2.9.1 Installing on DHCP Computers

Dynamic Host Configuration Protocol (DHCP) assigns dynamic IP addresses on a network. Dynamic addressing enables a computer to have a different IP address each time it connects to the network. In some cases, the IP address can change while the computer is still connected. You can have a mixture of static and dynamic IP addressing in a DHCP system.

In a DHCP setup, the software tracks IP addresses, which simplifies network administration. This lets you add a new computer to the network without having to manually assign a unique IP address to the newly added computer.

2.9.2 Installing on Multihomed Computers

You can install Oracle Database on a multihomed computer. A multihomed computer is associated with multiple IP addresses. This is typically achieved by having multiple network cards on the computer. Each IP address is associated with a host name. In addition, you can set up aliases for the host name. By default, Oracle Universal Installer uses the ORACLE_HOSTNAME environment variable setting to find the host name. If ORACLE_HOSTNAME is not set and you are installing on a computer that has multiple network cards, then Oracle Universal Installer determines the host name from the /etc/hosts file.

Clients must be able to access the computer either by using this host name or by using aliases for this host name. To verify, ping the host name from the client computers using the short name (host name only) and the full name (host name and domain name). Both tests must be successful.

Setting the ORACLE_HOSTNAME Environment Variable

Use the following procedure to set the ORACLE_HOSTNAME environment variable. For example, if the fully qualified host name is somehost.us.example.com, then enter one of the following commands:

In Bourne, Bash, or Korn shell:

$ ORACLE_HOSTNAME=somehost.us.example.com
$ export ORACLE_HOSTNAME

In C shell:

% setenv ORACLE_HOSTNAME somehost.us.example.com

2.9.3 Installing on Computers with Multiple Aliases

A computer with multiple aliases is registered with the naming service under a single IP but with multiple aliases. The naming service resolves any of those aliases to the same computer. Before installing Oracle Database on such a computer, set the ORACLE_HOSTNAME environment variable to the computer whose host name you want to use.

2.9.4 Installing on Non-Networked Computers

You can install Oracle Database on a non-networked computer. If the computer, such as a laptop, is configured for DHCP and you plan to connect the computer to the network after the Oracle Database installation, then use the ping command on the computer on which you want to install the database to check if the computer can connect to itself. Perform this step by first using only the host name and then using the fully qualified name, which should be in the /etc/hosts file.

Note:

When you run the ping command on the computer itself, the ping command should return the IP address of the computer.

If the ping command fails, then contact the system administrator.

Connecting the Computer to the Network after Installation

If you connect the computer to a network after installation, then the Oracle Database instance on the computer can work with other instances on the network. The computer can use a static IP or DHCP, depending on the network to which you are connected.

2.10 Creating Required Operating System Groups and Users

Depending on if this is the first time Oracle software is being installed on this system and on the products that you are installing, you may have to create several operating system groups and users.

If you prefer to allocate operating system user privileges so that you can use one administrative user and one group for operating system authentication for all administrative privileges, then you can use the oracle user as the installation owner, and use one group as the primary group for any user requiring administrative privileges for Oracle ASM, and Oracle Database administration. This group must also be the Oracle Inventory group. To simplify using the defaults for Oracle tools the group name should be oinstall.

You can also create custom configuration groups and users based on job role separation. A custom configuration is a configuration with groups and users that divide access privileges granted by membership in separate operating system groups and users. You can create a single user (for example, oracle) to own both Oracle Database, and Oracle Grid Infrastructure installations. Alternatively, you can create a separate user (for example, grid) to own the Oracle Grid Infrastructure installation.

The Oracle Database, and the Oracle Grid Infrastructure for a standalone server installation owner users must belong to the Oracle Inventory group (oinstall).

Note:

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

2.10.1 Creating Custom Configuration Groups and Users for Job Roles

This section provides an overview of how to create users and groups to divide access privileges by job roles. Log in as root to create these groups and users.

2.10.1.1 Understanding Restrictions for Oracle Installations with Job Role Separation

Oracle recommends that you create one software owner to own each Oracle software installation (typically, oracle, for the database software and grid for the Oracle Restart owner user). You must create at least one software owner the first time you install Oracle software on the system.

To create separate Oracle software owners, to create separate users, and separate operating system privileges groups for different Oracle software installations, each of these users must have the Oracle central inventory group (oraInventory group) as their primary group. Members of this group have write privileges to the Oracle central inventory (oraInventory) directory, and and are also granted permissions for various Oracle Restart resources and directories in the Oracle Restart home to which DBAs need write access, and other necessary privileges. In Oracle documentation, this group is represented as oinstall in code examples. See "Creating the Oracle Inventory Group".

The database software owner (typically, oracle) must also have the OSDBA group of the Oracle Grid Infrastructure home so that database instances can log on to Oracle ASM, and (if you create it) the OSOPER group as secondary groups. In Oracle documentation, the Oracle software owner users are referred to as oracle users.

The Oracle Database, and the Oracle Grid Infrastructure for a standalone server installation owner users (oracle and grid respectively) must belong to the Oracle Inventory group (oinstall).

Each Oracle software owner must be a member of the same central inventory group. You cannot have more than one central inventory for Oracle installations. If an Oracle software owner has a different central inventory group, then you may corrupt the central inventory.

For Oracle Grid Infrastructure for a standalone server, the grid user (grid) must be in the OSDBA group of every database home.

See Also:

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

2.10.1.2 Database Groups for Job Role Installations

Create the following operating system groups if you are installing Oracle Database:

  • The OSDBA group (typically, dba)

    You must create this group the first time you install Oracle Database software on the system. This group identifies operating system user accounts that have database administrative privileges (the SYSDBA privilege). The name used for this group in Oracle code examples is dba.

  • The OSOPER group for Oracle Database (typically, oper)

    This is an optional group. Create this group if you want a separate group of operating system users to have a limited set of database administrative privileges (the SYSOPER privilege). This group cannot directly connect as SYSOPER, unless explicitly granted. However, they have the privileges granted by the SYSOPER privilege. By default, members of the OSDBA group have all privileges granted by the SYSOPER privilege.

    Oracle Universal Installer prompts you to specify the name of this group. The usual name chosen for this group is oper.

2.10.1.3 Oracle Grid Infrastructure Groups for Job Role Installations

Create the following operating system groups if you are installing Oracle Grid Infrastructure:

Note:

You can designate a unique group, separate from database administrator groups, or you can use the same group as the OSASM and OSDBA groups, to grant system privileges to administer both the Oracle ASM instances and Oracle Database instances.
  • The OSDBA group for Oracle ASM (typically, asmdba)

    The OSDBA group for Oracle ASM can be the same group used as the OSDBA group for the database, or you can create a separate OSDBA group for Oracle ASM (typically, asmdba) to provide administrative access to Oracle ASM instances.

    The Oracle Grid Infrastructure software owner (typically, grid) must be a member of the OSDBA group. Membership in the OSDBA group enables access to the files managed by Oracle ASM. If you have a separate OSDBA group for Oracle ASM, then the Oracle Restart software owner must be a member of the OSDBA group for each database and the OSDBA group for Oracle ASM.

  • The OSASM group for Oracle ASM (typically, asmadmin)

    SYSASM privileges for Oracle ASM files provide administrator privileges for storage file. In Oracle documentation, the operating system group whose members are granted SYSASM privileges is called the OSASM group, and in command lines, is referred to as asmadmin. Oracle ASM can support multiple databases.

    Members of the OSASM group can use SQL to connect to an Oracle ASM instance as SYSASM using operating system authentication. The SYSASM privileges permit mounting and dismounting of disk groups, and other storage administration tasks. SYSASM privileges provide no access privileges on an RDBMS instance.

    If you do not designate a separate group as the OSASM group, then the OSDBA group you define is also, by default, the OSASM group.

  • The OSOPER group for Oracle ASM (typically, asmoper)

    This is an optional group. Create this group if you want a separate group of operating system users to have a limited set of Oracle instance administrative privileges (the SYSOPER for ASM privilege), including starting up and stopping the Oracle ASM instance. By default, members of the OSASM group also have all privileges granted by the SYSOPER for ASM privilege.

    If you want to have an OSOPER group for Oracle ASM, then the Oracle Grid Infrastructure owner must be a member of this group.

2.10.2 Creating Database Operating System Groups and Users with Job Role Separation

The following sections describe how to create the required operating system user and groups:

Note:

  • After you create the required operating system groups described in this section, you must add the Oracle software owner user (typically, oracle) to these groups, otherwise these groups will not be available as an option in Oracle Universal Installer while performing the database installation.

  • The UIDs and GIDs mentioned in this section are illustrative only. Oracle recommends that you do not use the UID and GID defaults. Instead, provide common assigned group and user IDs, and confirm that they are unused before you create or modify groups and users.

  • If necessary, contact your system administrator before using or modifying an existing user.

2.10.2.1 Creating the Oracle Inventory Group

When you install Oracle software on the system for the first time, Oracle Universal Installer creates the oraInst.loc file. This file identifies the name of the Oracle Inventory group (typically, oinstall) and the path of the Oracle Inventory directory.

You can configure one group to be the access control group for Oracle Inventory, for database administrators (OSDBA), and for all other access control groups used by Oracle software for operating system authentication. However, this group then must be the primary group for all users granted administrative privileges.

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

Determining if the Oracle Inventory Group Exists

An oraInst.loc file has content 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, 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 the Oracle Inventory group exist, enter the following command:

# grep oinstall /etc/group

To determine if the oraInst.loc file exists, 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/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).

Creating the Oracle Inventory Group

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

# /usr/sbin/groupadd oinstall

2.10.2.2 Creating the OSDBA Group for Database Installations

You must create an OSDBA group in the following circumstances:

  • An OSDBA group does not exist, for example, if this is the first installation of Oracle Database software on the system

  • An OSDBA group exists, but you want to give a different group of operating system users database administrative privileges for a new Oracle Database installation

If the OSDBA group does not exist or if you require a new OSDBA group, then create it as follows. In the following procedure, use the group name dba unless a group with that name exists:

# /usr/sbin/groupadd -g 502 dba

2.10.2.3 Creating an OSOPER Group for Database Installations

Create an OSOPER group only to identify a group of operating system users with a limited set of database administrative privileges (SYSOPER operator privileges). For most installations, it is sufficient to create only the OSDBA group. If you want to use an OSOPER group, then you must create it in the following circumstances:

  • If an OSOPER group does not exist; for example, if this is the first installation of Oracle Database software on the system

  • If an OSOPER group exists, but you want to give a different group of operating system users database operator privileges in a new Oracle installation

If you require a new OSOPER group (typically, oper), then create it as follows. In the following, use the group name oper unless a group with that name exists:

# /usr/sbin/groupadd -g 503 oper

2.10.2.4 Creating the OSASM Group for Oracle Automatic Storage Management

If the OSASM group does not exist or if you require a new OSASM group, then create it as follows. In the following procedure, use the group name asmadmin unless a group with that name exists:

# /usr/sbin/groupadd -g 504 asmadmin

2.10.2.5 Creating the OSDBA Group for Oracle Automatic Storage Management

If you require a new OSDBA group for Oracle ASM, then create it as follows. In the following procedure, use the group name asmdba unless a group with that name exists:

# /usr/sbin/groupadd -g 506 asmdba

2.10.2.6 Creating the OSOPER Group for Oracle Automatic Storage Management

If you require an OSOPER group, then create it as follows. In the following procedure, use the group name asmoper unless a group with that name exists:

# /usr/sbin/groupadd -g 505 asmoper

2.10.2.7 Creating the Oracle Software Owner User

You must create an Oracle software owner user in the following circumstances:

  • If an Oracle software owner user does not exist; for example, if this is the first installation of Oracle software on the system.

  • If an Oracle software owner user exists, but you want to use a different operating system user, with different group membership, to give database administrative privileges to those groups in a new Oracle Database installation.

  • If you have created an Oracle software owner for Oracle Grid Infrastructure, such as grid, and you want to create a separate Oracle software owner for Oracle Database software, such as oracle.

2.10.2.7.1 Determining if an Oracle Software Owner User Exists

To determine if an Oracle software owner user named oracle, or grid exists, enter a command similar to the following:

# id oracle
# id grid

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

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

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

uid=8001(grid) gid=8001(oinstall) groups=8001(oinstall),8002(asmadmin),8003(asmdba),8006(dba)

Ensure that the Oracle software owner user (oracle or grid) has the Oracle Inventory group (oinstall) as its primary group and is a member of the appropriate OSDBA, ASMDBA, OSBACKUPDBA, OSDGDBA, and OSKMDBA groups you created in the preceeding sections. Depending on whether you want to create a new user, or use an existing user to do this, see the following sections:

Note:

If necessary, contact your system administrator before using or modifying an existing user.
2.10.2.7.2 Creating an Oracle Software Owner User

If the Oracle software owner user does not exist, or if you require a new Oracle software owner user, such as oracle or grid, then create it as described in this section (in this case to create the oracle user).

In the following procedure, use the user name oracle unless a user with that name exists:

  1. To create an oracle user, enter a command similar to the following:

    # /usr/sbin/useradd -u 502 -g oinstall -G dba,asmdba oracle
    

    In the preceding command:

    • The -u option specifies the user ID. Using this command flag is optional because the system can provide you with an automatically generated user ID number. You must note the oracle user ID number because you need it during preinstallation.

    • The -g option specifies the primary group, which must be the Oracle Inventory group, for example oinstall.

    • The -G option specifies the secondary groups, which must include the OSDBA group, and, if required, the OSOPER and ASMDBA groups, for example, dba, asmdba, or oper.

  2. Set the password of the oracle user:

    # passwd oracle
    
2.10.2.7.3 Modifying an Existing Oracle Software Owner User

If the oracle user exists, but its primary group is not oinstall, or it is not a member of the appropriate OSDBA or OSOPER groups, then modify it as follows:

Specify the primary group using the -g option and any required secondary group using the -G option:

# /usr/sbin/usermod -g oinstall -G dba,asmdba[,oper] oracle

2.11 Checking Resource Limits for the Oracle Software Installation Users

For each installation software owner, check the resource limits for installation, using the following recommended ranges:

Table 2-1 Installation Owner Resource Limit Recommended Ranges

Resource Shell Limit Resource Soft Limit Hard Limit

Open file descriptors

nofile

at least 1024

at least 65536

Number of processes available to a single user

nproc

at least 2047

at least 16384

Size of the stack segment of the process

stack

at least 10240 KB

at least 10240 KB, and at most 32768 KB


To check resource limits:

  1. Log in as an installation owner.

  2. Check the soft and hard limits for the file descriptor setting. Ensure that the result is in the recommended range, for example:

    $ ulimit -Sn
    1024
    $ ulimit -Hn
    65536
    
  3. Check the soft and hard limits for the number of processes available to a user. Ensure that the result is in the recommended range, for example:

    $ ulimit -Su
    2047
    $ ulimit -Hu
    16384
    
    
  4. Check the soft limit for the stack setting. Ensure that the result is in the recommended range, for example:

    $ ulimit -Ss
    10240
    $ ulimit -Hs
    32768
    
  5. Repeat this procedure for each Oracle software installation owner.

If necessary, update the resource limits in the /etc/security/limits.conf configuration file for the installation owner. For example, add the following lines to the /etc/security/limits.conf file:

oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240

Note:

  • The values mentioned in the previous example are illustrative and not actual values that must be added.

  • When the limits.conf file is changed, these changes take effect immediately. However, if the grid or oracle users are logged in, then these changes do not take effect until you log these users out and log them back in. You must do this before you use these accounts for installation.

2.12 Configuring Kernel Parameters for Linux

During the Oracle Database installation, you can generate and run the fixup script to check and set the kernel parameter values required for successful installation of the database. This script updates required kernel packages, if necessary, to minimum values.

If you cannot use the fixup script, then verify that the kernel parameters shown in the following table are set to values greater than or equal to the minimum value shown. See "Displaying and Changing Kernel Parameter Values" for information on how to verify and set the values manually.

IMPORTANT:

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

semmns

semopm

semmni

250

32000

100

128

/proc/sys/kernel/sem
shmall 2097152 /proc/sys/kernel/shmall
shmmax Minimum: 536870912
  • 32-bit Linux Systems

    Maximum: A value that is 1 byte less than 4 GB, or 4294967295

    Recommended: More than half the physical memory

  • 64-bit Linux Systems

    Maximum: A value that is 1 byte less than the physical memory

    Recommended: More than half the physical memory

See My Oracle Support Note 567506.1 for additional information about configuring shmmax.

/proc/sys/kernel/shmmax
shmmni 4096 /proc/sys/kernel/shmmni
file-max 6815744 /proc/sys/fs/file-max
aio-max-nr 1048576

Note: This value limits concurrent outstanding requests and should be set to avoid I/O subsystem failures.

/proc/sys/fs/aio-max-nr
ip_local_port_range Minimum: 9000

Maximum: 65500

See Verifying UDP and TCP Kernel Parameters

/proc/sys/net/ipv4/ip_local_port_range
rmem_default 262144 /proc/sys/net/core/rmem_default
rmem_max 4194304 /proc/sys/net/core/rmem_max
wmem_default 262144 /proc/sys/net/core/wmem_default
wmem_max 1048576 /proc/sys/net/core/wmem_max

Ensure that you set the TCP and UDP kernel parameters by following the procedure described in the Verifying UDP and TCP Kernel Parameters section.

Note:

If the current value for any parameter is greater than the value listed in this table, then the fixup script does not change the value of that parameter.

2.12.1 Displaying and Changing Kernel Parameter Values

Enter the commands shown in the following table to display the current values of the kernel parameters. Note these values and identify any values that you must change:

Parameter Command
semmsl, semmns, semopm, and semmni # /sbin/sysctl -a | grep sem

This command displays the value of the semaphore parameters in the order listed.

shmall, shmmax, and shmmni # /sbin/sysctl -a | grep shm

This command displays the details of the shared memory segment sizes.

file-max # /sbin/sysctl -a | grep file-max

This command displays the maximum number of file handles.

ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range

This command displays a range of port numbers.

rmem_default # /sbin/sysctl -a | grep rmem_default
rmem_max # /sbin/sysctl -a | grep rmem_max
wmem_default # /sbin/sysctl -a | grep wmem_default
wmem_max # /sbin/sysctl -a | grep wmem_max
aio-max-nr # /sbin/sysctl -a | grep aio-max-nr

If the value of any kernel parameter is different from the minimum value, then perform the following:

  1. Using any text editor, create or edit the /etc/sysctl.conf file, and add or edit lines similar to the following:

    Note:

    Include lines only for the kernel parameter values to change. For the semaphore parameters (kernel.sem), you must specify all four values. If any of the current values are larger than the minimum value, then specify the larger value.
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 4294967295
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    

    By specifying the values in the /etc/sysctl.conf file, they persist when you restart the system. On SUSE Linux Enterprise Server systems, enter the following command to ensure that the system reads the /etc/sysctl.conf file when it restarts:

    # /sbin/chkconfig boot.sysctl on
    
  2. Enter the following command to change the current values of the kernel parameters:

    # /sbin/sysctl -p
    

    Review the output from this command to verify that the values are correct. If the values are incorrect, edit the /etc/sysctl.conf file, then enter this command again.

  3. Enter the command /sbin/sysctl -a to confirm that the values are set correctly.

  4. On SUSE Linux Enterprise Server systems only, enter the following command for the system to read the /etc/sysctl.conf file when it restarts:

    # /sbin/chkconfig boot.sysctl on
    
  5. On SUSE Linux Enterprise Server systems only, you must enter the GID of the oinstall group as the value for the parameter /proc/sys/vm/hugetlb_shm_group. Doing this grants members of oinstall a group permission to create shared memory segments.

    For example, where the oinstall group GID is 501:

    # echo 501 > /proc/sys/vm/hugetlb_shm_group
    

    After running this command, use vi to add the following text to /etc/sysctl.conf, and enable the boot.sysctl script to run when the system restarts:

    vm.hugetlb_shm_group=501
    

    Note:

    Only one group can be defined as the vm.hugetlb_shm_group.
  6. After updating the values of the kernel parameters in the /etc/sysctl.conf file, either restart the computer, or run the command sysctl -p to make the changes in the /etc/sysctl.conf file available in the active kernel memory.

2.13 Identifying Required Software Directories

You must identify or create the following directories for the Oracle software:

Note:

  • Ensure that the paths you select for Oracle software, such as the Oracle home path and the Oracle base path, use only ASCII characters. Because installation owner names are used by default for some paths, this ASCII character restriction applies to user names, file names, and directory names.

  • Ensure that all paths used by the database software, such as the Oracle home path and the Oracle base path, use characters only from the following set: "# % & ' () * + , - . / : ; < = > ? @ _ A-Z a-z 0-9. This includes user names, file names, and directory names. At the time of this release, the use of other characters for an Oracle Grid Infrastructure home or Oracle Database home is not supported. The set of characters provided is further restricted by user and file naming rules of the operating system.

2.13.1 Oracle Base Directory

The Oracle base directory is a top-level directory for Oracle software installations. The Optimal Flexible Architecture (OFA) guidelines recommend that you use a path similar to the following for the Oracle base directory:

/mount_point/app/software_owner

In this example:

  • mount_point is the mount point directory for the file system that contains the Oracle software.

    The examples in this guide use /u01 for the mount point directory.

  • software_owner is the operating system user name of the software owner installing the Oracle software, for example oracle or grid.

Note:

If you start a database instance using the server parameter file (spfile) with the ORACLE_BASE environment variable set, then its value is automatically stored in spfile. If you unset the ORACLE_BASE environment variable and start the instance again, then the database uses the value of the Oracle base directory stored in spfile.

You must specify the Oracle base directory that contains all Oracle products.

Note:

If you have an existing Oracle base directory, then you can select it from the Oracle Base list during the database installation. If you do not have an Oracle base, then you can create one by editing the text in the list box. By default, the list contains the existing value for the Oracle base. See "Installing the Oracle Database Software" for more information.

You can use the same Oracle base directory for multiple installations or you can create separate Oracle base directories for different installations. If different operating system users install Oracle software on the same system, then each user must create a separate Oracle base directory. The following are examples of Oracle base directories that can exist on the same system:

/u01/app/oracle
/u01/app/orauser

See "Creating an Oracle Base Directory".

2.13.2 Oracle Inventory Directory

The Oracle Inventory directory (oraInventory) stores an inventory of all software installed on the system. It is required and shared by all Oracle software installations on a single system. If you have an existing Oracle Inventory path, then Oracle Universal Installer continues to use that Oracle Inventory.

The first time you install Oracle software on a system, Oracle Universal Installer provides an Optimal Flexible Architecture-compliant path in the format /u[01-09]/app, such as /u01/app. 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 ORACLE_BASE for the oracle user during installation, then Oracle Universal Installer creates the Oracle Inventory directory in the path ORACLE_BASE/../oraInventory. For example, if ORACLE_BASE is set to /u01/app/oracle, then the Oracle Inventory directory is created in the path /u01/app/oracle/oraInventory.

If you have neither created 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

Oracle Universal Installer creates the directory that you specify and sets the correct owner, group, and permissions for it. You do not have to create it.

Note:

  • All Oracle software installations rely on the Oracle Inventory directory. Ensure that you back it up regularly.

  • Do not delete this directory unless you have completely removed all Oracle software from the system.

  • By default, the Oracle Inventory directory is not installed under the Oracle Base directory. This is because all Oracle software installations share a common Oracle Inventory, so there is only one Oracle Inventory for all users. Whereas, there is a separate Oracle Base for each user.

2.13.3 Oracle Home Directory

The Oracle home directory is the directory where you install the software for a particular Oracle product. You must install different Oracle products or different releases of the same Oracle product in separate Oracle home directories. When you run Oracle Universal Installer, it prompts you to specify the path to this directory and a name that identifies it. The directory that you specify must be a subdirectory of the Oracle base directory. Oracle recommends that you specify a path similar to the following for the Oracle home directory:

oracle_base/product/11.1.0/dbhome_1
oracle_base/product/11.2.0/dbhome_1
oracle_base/product/11.2.0/grid

Oracle Universal Installer creates the directory path that you specify under the Oracle base directory. It also sets the correct owner, group, and permissions on it. You do not have to create this directory.

Note:

During the installation, you must not specify an existing directory that has predefined permissions applied to it as the Oracle home directory. If you do, then you may experience installation failure due to file and group ownership permission errors.

2.14 Identifying or Creating an Oracle Base Directory

Before starting the installation, you must either identify an existing Oracle base directory or, if required, create one. This section contains information about the following topics:

Note:

You can create an Oracle base directory, even if other Oracle base directories exist on the system.

2.14.1 Identifying an Existing Oracle Base Directory

Existing Oracle base directories may not have paths that follow the Optimal Flexible Architecture (OFA) guidelines. However, if you identify an existing Oracle Inventory directory or existing Oracle home directories, then you can usually identify the Oracle base directories, as follows:

  • Identifying an existing Oracle Inventory directory. See "Creating the Oracle Inventory Group" for more information.

    Note:

    Oracle recommends that you do not put the oraInventory directory under the Oracle base directory for a new installation. If you have an existing installation, then follow the steps in this section.
  • Identifying an existing Oracle home directory

    Enter the following command to display the contents of the oratab file:

    # more /etc/oratab
    

    If the oratab file exists, then it contains lines of code similar to the following:

    *:/u03/app/oracle/product/11.2.0/dbhome_1:N
    *:/opt/orauser/infra_904:N
    *:/oracle/9.2.0:N
    

    The directory paths specified on each line identify Oracle home directories. Directory paths that end with the user name of the Oracle software owner to use are valid choices for an Oracle base directory. If you intend to use the oracle user to install the software, then you can choose one of the following directories listed in the previous example:

    /u03/app/oracle
    /oracle
    

    Note:

    If possible, choose a directory path similar to the first one (/u03/app/oracle). This path complies with the OFA guidelines.
  • Identifying an existing Oracle base directory

    After you locate the Oracle home directory, run a similar command to confirm the location of Oracle base:

    cat /u01/app/oraInventory/ContentsXML/inventory.xml
    

Before deciding to use an existing Oracle base directory for this installation, ensure that it meets the following conditions:

  • It is not on the same file system as the operating system.

  • It has sufficient free disk space, as follows:

    Requirement Free Disk Space
    The Oracle base directory contains only software files. Up to 4 GB
    The Oracle base directory contains both software and database files (not recommended for production databases). Up to 6 GB

    To determine the free disk space on the file system where the Oracle base directory is located, enter the following command:

    # df -h oracle_base_path
    

See the following sections for more information:

2.14.2 Creating an Oracle Base Directory

Before you create an Oracle base directory, you must identify an appropriate file system with sufficient free disk space.

To identify an appropriate file system:

  1. To determine the free disk space on each mounted file system, use the following command:

    # df -h
    
  2. From the display, identify a file system that has the appropriate amount of free space.

    The file system that you identify can be a local file system, a cluster file system, or an NFS file system on a certified NAS device.

  3. Note the name of the mount point directory for the file system that you identified.

To create the Oracle base directory and specify the correct owner, group, and permissions for it:

  1. Enter commands similar to the following to create the recommended subdirectories in the mount point directory that you identified and set the appropriate owner, group, and permissions on them:

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

    For example:

    # mkdir -p /u01/app/oracle
    # chown -R oracle:oinstall /u01/app/oracle
    # chmod -R 775 /u01/app/oracle
    
  2. When you configure the oracle user's environment later in this chapter, set the ORACLE_BASE environment variable to specify the Oracle base directory that you created.

2.15 Choosing a Storage Option for Oracle Database and Recovery Files

Oracle Database files include data files, control files, redo log files, the server parameter file, and the password file. For all installations, you must choose the storage option to use for Oracle Database files. If you want to enable automated backups during the installation, then you must also choose the storage option to use for recovery files (the fast recovery area). You do not have to use the same storage option for each file type.

Note:

Database files and recovery files are supported on file systems and Oracle ASM.

Use the following guidelines when choosing the storage options for each file type:

For information on how to configure disk storage before you start the installation, see one of the following sections depending on your choice:

2.16 Creating Directories for Oracle Database or Recovery Files

This section contains the following topics:

2.16.1 Guidelines for Placing Oracle Database Files on a File System

If you choose to place the Oracle Database files on a file system, then use the following guidelines when deciding where to place them:

  • The default path suggested by Oracle Universal Installer for the database file directory is a subdirectory of the Oracle base directory.

  • You can choose either a single file system or more than one file system to store the database files:

    • If you want to use a single file system, then choose a file system on a physical device that is dedicated to the database.

      For best performance and reliability, choose a RAID device or a logical volume on more than one physical device and implement the stripe-and-mirror-everything (SAME) methodology.

    • If you want to use more than one file system, then choose file systems on separate physical devices that are dedicated to the database.

      This method enables you to distribute physical input-output operations and create separate control files on different devices for increased reliability. It also enables you to fully implement the OFA guidelines. You can choose the Advanced database creation option to implement this method.

  • If you intend to create a preconfigured database during the installation, then the file system (or file systems) that you choose must have at least 2 GB of free disk space.

    For production databases, you must estimate the disk space requirement depending on the use of the database.

  • For optimum performance, the file systems that you choose must be on physical devices that are used only by the database.

  • The oracle user must have write permissions to create the files in the path that you specify.

2.16.2 Creating Required Directories

Note:

You must perform this procedure only to place the Oracle Database or recovery files on a separate file system from the Oracle base directory.

To create directories for the Oracle database or recovery files on separate file systems from the Oracle base directory:

  1. Use the following to determine the free disk space on each mounted file system:

    # df -h
    
  2. From the display, identify the file systems to use:

    File Type File System Requirements
    Database files Choose either:
    • A single file system with at least 2 GB of free disk space

    • Two or more file systems with at least 2 GB of free disk space in total

    Recovery files Choose a file system with at least 2.4 GB of free disk space

    If you are using the same file system for many file types, then add the disk space requirements for each type to determine the total disk space requirement.

  3. Note the names of the mount point directories for the file systems that you identified.

  4. Enter commands similar to the following to create the recommended subdirectories in each of the mount point directories and set the appropriate owner, group, and permissions on them:

    • Database file directory:

      # mkdir /mount_point/oradata
      # chown oracle:oinstall /mount_point/oradata
      # chmod 775 /mount_point/oradata
      

      The default location for the database file directory is $ORACLE_BASE/oradata.

    • Recovery file directory (fast recovery area):

      # mkdir /mount_point/fast_recovery_area
      # chown oracle:oinstall /mount_point/fast_recovery_area
      # chmod 775 /mount_point/fast_recovery_area
      

      The default fast recovery area is $ORACLE_BASE/fast_recovery_area. Oracle recommends that you keep the fast recovery area on a separate physical disk than that of the database file directory. This enables you to use the fast recovery area to retrieve data if the disk containing oradata is unusable for any reason.

  5. If you also want to use Oracle ASM for storage, then see "Preparing Disks for an Oracle Automatic Storage Management Installation" and "Stopping Existing Oracle Processes" section.

2.17 Configuring Storage for Oracle Database Files Using Block Devices

This section describes how to configure Oracle Database files on block devices. Use the following procedure to create block device partitions:

  1. Use fdisk to create disk partitions on block devices for database files.

    If you intend to configure block devices and use Oracle ASM to manage data files, then create one partition for each disk comprising the whole disk, and go through the section Configuring Disks for Oracle ASM with ASMLIB in Oracle Grid Infrastructure Installation Guide.

  2. Create or modify the rules file in /etc/udev/rules.d to change the permissions of the data files from the default root ownership.

    Ensure that the file you create is appropriate for your distribution. For example, name this file 99-oracle.rules on Asianux, Red Hat Enterprise Linux, Oracle Linux, and SUSE Linux Enterprise Server systems.

    Example 2-1 Example of a Rules File with User oracle

    /etc/udev/rules.d/99-oracle.rules
    #
    # ASM disks
    KERNEL=="sdb[6-9]", OWNER="oracle", GROUP="dba", MODE="0660"
    KERNEL=="sdb10", OWNER="oracle", GROUP="dba", MODE="0660"
    

    Example 2-2 Example of a Rules File with User grid

    /etc/udev/rules.d/99-oracle.rules
    #
    # ASM disks
    KERNEL=="sdb[6-9]", OWNER="grid", GROUP="asmadmin", MODE="0660"
    KERNEL=="sdb10", OWNER="grid", GROUP="asmadmin", MODE="0660"
    

    See Also:

    Chapter 2, "Preparing Storage for ASM" in the Oracle Automatic Storage Management Administrator's Guide for information about preparing the storage subsystem before you configure Oracle ASM

2.18 Configuring Disk Devices for Oracle Database

The O_DIRECT parameter enables direct read and writes to block devices, avoiding kernel overhead. With Oracle Database Release 10.2 and later, Oracle Database files are configured by default to use direct input/output.

With the 2. 6 kernel or later for Red Hat Enterprise Linux, Oracle Linux, and SUSE Linux Enterprise Server, you must create a permissions file to maintain permissions on Oracle database files. If you do not create this permissions file, then permissions on disk devices revert to their default values, root:disk, and Oracle Database fails to start. Use the following steps to set the permissions file number:

To configure a permissions file for disk devices, see the following examples:

See Also:

Oracle Grid Infrastructure Installation Guide for information about configuring storage for Oracle database files on shared storage devices

2.18.1 Example of Creating a Udev Permissions File for Oracle Database

See the examples mentioned in "Configuring Storage for Oracle Database Files Using Block Devices" for more information about creating a permissions file.

2.18.2 Example of Configuring Block Device Storage for Oracle Database

The following procedure creates partitions for Oracle Database files on block devices:

  1. Log in as root

  2. Enter the fdisk command to format a specific storage disk. For example, /sbin/fdisk /dev/sdb

  3. Create a partition. For example, create a 280 MB partition for data files.

  4. Use the command similar to the following to update the kernel partition table for the shared storage device:

    /sbin/partprobe diskpath
    

The following is an example of how to use the fdisk command to create one partition on a shared storage block disk device for a data file:

$ sudo sh
Password:
# /sbin/fdisk /dev/sdb
The number of cylinders for this disk is set to 1024.
Command (m for help): n
Command action
  e   extended
  P   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1024, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-4462, default 1)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1024, default 4462): using default value 4462

Command (m for help):w

The partition table has been altered!
Calling ioctl () to re-read partition table.
Synching disks.
# exit
Last login Wed Feb 21 20:23:01 from localnode
$ sudo sh
Password:
# /sbin/partprobe /dev/sdb1

2.19 Stopping Existing Oracle Processes

Note:

If you are installing additional Oracle Database 11g products in an existing Oracle home, then stop all processes, including the listener and database, running in the Oracle home. You must complete this task to enable Oracle Universal Installer to relink certain executables and libraries.

Consider the following before you install Oracle Grid Infrastructure or Oracle Database:

If you create a database during the software installation, then most installation types configure and start a default Oracle Net listener using TCP/IP port 1521 and the IPC key value EXTPROC. If an existing Oracle Net listener process is using the same port or key value, Oracle Universal Installer looks for the next available port (for example, 1522) and configures and starts the new listener on this available port.

To determine if an existing listener process is running and to shut it down, if necessary:

  1. Switch user to oracle:

    # su - oracle
    
  2. Enter the following command to determine if a listener process is running and to identify its name and the Oracle home directory in which it is installed:

    $ ps -ef | grep tnslsnr
    

    This command displays information about the Oracle Net listeners running on the system:

    ... oracle_home1/bin/tnslsnr LISTENER -inherit
    

    In this example, oracle_home1 is the Oracle home directory where the listener is installed and LISTENER is the listener name.

    Note:

    If no Oracle Net listeners are running, then see the "Configuring the oracle User's Environment" section to continue.
  3. At the command prompt, set the ORACLE_HOME environment variable to specify the appropriate Oracle home directory for the listener:

    • Bourne, Bash, or Korn shell:

      $ ORACLE_HOME=oracle_home1
      $ export ORACLE_HOME
      
    • C or tcsh shell:

      % setenv ORACLE_HOME oracle_home1
      
  4. Enter the following command to identify the TCP/IP port number and IPC key value that the listener is using:

    $ $ORACLE_HOME/bin/lsnrctl status listenername
    

    Note:

    If the listener uses the default name LISTENER, then you do not have to specify the listener name in this command.
  5. Enter a command similar to the following to stop the listener process:

    $ $ORACLE_HOME/bin/lsnrctl stop listenername
    
  6. Repeat this procedure to stop all listeners running on this system.

2.20 Configuring the oracle User's Environment

You run Oracle Universal Installer from the oracle account. However, before you start Oracle Universal Installer, you must configure the environment of the oracle user. To configure the environment, you must:

Caution:

Use shell programs supported by your operating system vendor. If you use a shell program that is not supported by your operating system, then you can encounter errors during installation.

To set the oracle user's environment:

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

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

    $ xhost fully_qualified_remote_host_name
    

    For example:

    $ xhost somehost.us.example.com
    
  3. If you are not logged in to the system where you want to install the software, then log in to that system as the oracle user.

  4. If you are not logged in as the oracle user, then switch the user to oracle:

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

    $ echo $SHELL
    
  6. To run the shell startup script, enter one of the following commands:

    • Bash shell:

      $ . ./.bash_profile
      
    • Bourne or Korn shell:

      $ . ./.profile
      
    • C shell:

      % source ./.login
      
  7. If you are not installing the software on the local computer, then run the following command on the remote computer to set the DISPLAY variable:

    • Bourne, Bash or Korn shell:

      $ export DISPLAY=local_host:0.0      
      
    • C shell:

      % setenv DISPLAY local_host:0.0
      

    In this example, local_host is the host name or IP address of the local computer to use to display Oracle Universal Installer.

    Run the following command on the remote system to check if the SHELL and the DISPLAY environment variables are set correctly:

    echo $SHELL
    echo $DISPLAY
    

    Now to enable X applications, run the following commands on the local computer:

    $ xhost + fully_qualified_remote_host_name
    

    To verify that the X applications display is set properly, run an X11-based program that comes with the operating system such as xclock:

    $ xclock
    

    In this example, you can find xclock at /usr/X11R6/bin/xclocks. If the DISPLAY environment variable is set correctly, then you can see xclock on your computer screen. If you get any display errors, see "X Window Display Errors".

    See Also:

    PC-X Server or operating system vendor documents for more information
  8. If you determined that the /tmp directory has less than 1 GB of free disk space, then identify a file system with at least 1 GB of free space and set the TMP and TMPDIR environment variables to specify a temporary directory on this file system:

    1. To determine the free disk space on each mounted file system use the following command:

      # df -h /tmp
      
    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:

      $ sudo mkdir /mount_point/tmp
      $ sudo chmod a+wr /mount_point/tmp
      # exit
      
    3. Enter commands similar to the following to set the TMP and TMPDIR environment variables:

      • Bourne, Bash, or Korn shell:

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

        % setenv TMP /mount_point/tmp
        % setenv TMPDIR /mount_point/tmp
        
  9. Enter commands similar to the following to set the ORACLE_BASE and ORACLE_SID environment variables:

    • Bourne, Bash, or Korn shell:

      $ ORACLE_BASE=/u01/app/oracle
      $ ORACLE_SID=sales
      $ export ORACLE_BASE ORACLE_SID
      
    • C shell:

      % setenv ORACLE_BASE /u01/app/oracle
      % setenv ORACLE_SID sales
      

    In this example, /u01/app/oracle is the Oracle base directory that you created or identified earlier, and sales is the name of the database (typically no more than five characters).

  10. Enter the following commands to ensure that the ORACLE_HOME and TNS_ADMIN environment variables are not set:

    • Bourne, Bash, or Korn shell:

      $ unset ORACLE_HOME
      $ unset TNS_ADMIN
      
    • C shell:

      % unsetenv ORACLE_HOME
      % unsetenv TNS_ADMIN
      

    Note:

    If the ORACLE_HOME environment variable is set, then Oracle Universal Installer uses the value that it specifies as the default path for the Oracle home directory. If you set the ORACLE_BASE environment variable, then Oracle recommends that you unset the ORACLE_HOME environment variable and choose the default path suggested by Oracle Universal Installer.

See Also:

"Configuring the User's Environment" for information about setting the Oracle Grid Infrastructure software owner user's environment