Skip Headers
Oracle® Database Installation Guide
10g Release 2 (10.2) for Solaris Operating System (x86)

Part Number B15697-01
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
View PDF

2 Preinstallation Tasks

This chapter describes the tasks that you must complete before you start Oracle Universal Installer. It includes information about the following tasks:

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

2.2 Checking the Hardware Requirements

The system must meet the following minimum hardware requirements:

To ensure that the system meets these requirements:

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

    # /usr/sbin/prtconf | grep "Memory size"
    
    

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

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

    # /usr/sbin/swap -s
    
    

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

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

    # df -k /tmp
    
    

    If there is less than 400 MB of free disk space available in the /tmp directory, 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 (described later).

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

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

    # df -k
    
    

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

    Installation Type Requirement for Software Files (GB)
    Enterprise Edition 2.0
    Standard Edition 1.5
    Custom (maximum) 2.5

  5. To determine whether the system architecture can run the software, enter the following command:

    # /bin/isainfo -kv
    

    Note:

    The following is the expected output of this command:

    32-bit i386 kernel modules

    If you do not see the expected output, then you cannot install the software on this system.

2.3 Checking the Software Requirements

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

Note:

Oracle Universal Installer performs checks 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.
Item Requirement
Operating system Solaris 10
Packages
SUNWarc
SUNWbtool
SUNWhea
SUNWlibm
SUNWlibms
SUNWsprot
SUNWtoo
SUNWi1of
SUNWi1cs
SUNWi15cs
SUNWxwfnt

Note: You may also require additional font packages for Java, depending on your locale. Refer to the following Web site for more information:
http://java.sun.com/j2se/1.4.2/font-requirements.html
Oracle Messaging Gateway Oracle Messaging Gateway supports the integration of Oracle Streams Advanced Queuing (AQ) with the following software:

IBM MQSeries V6.0, client and server

Tibco Rendezvous 7.2

PL/SQL native compilation, Pro*C/C++, Oracle Call Interface, Oracle C++ Call Interface, Oracle XML Developer's Kit (XDK), GNU Compiler Collection (GCC) Sun ONE Studio 10 (C and C++ 5.5)

gcc 3.4.2

Oracle JDBC/OCI Drivers You can use the following optional JDK versions with the Oracle JDBC/OCI drivers, however they are not required for the installation:
  • Sun Java 2 SDK Standard Edition 1.3.1_11 and the JNDI extension

  • Sun Java 2 SDK Standard Edition 1.2.2_17 and the JNDI extension

Note: JDK 1.4.2_08 is installed with this release.


To ensure that the system meets these requirements:

  1. To determine which version of Solaris is installed, enter the following command:

    # uname -r
    
    

    If necessary, refer to your operating system documentation for information about upgrading the operating system.

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

    # pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot \
     SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
    
    

    If a package is not installed, then install it. Refer to your operating system or software documentation for information about installing packages.

In addition, you need to verify that the following patches are installed on the system. The procedure following the table describes how to check these requirements.

Note:

There may be more recent versions of the patches listed installed on the system. If a listed patch is not installed, then determine whether a more recent version is installed before installing the version listed.
Installation Type or Product Requirement
All installations The following patches are required:
  • 118345-03: SunOS 5.10_x86: ld & libc.so.1 Patch

  • 119961-01: SunOS 5.10_x86, x64, Patch for assembler

PL/SQL native compilation, Pro*C/C++, Pro*FORTRAN, Oracle Call Interface, Oracle C++ Call Interface, Oracle XML Developer's Kit (XDK) The following C and C++ patches are required:
  • 117837-05: Optimizer compiler patch for C++ compiler

  • 117846-08: Optimizer Compiler patch for C++ compiler

  • 118682-01: Patch for SS10_x86 debuginfo handling

Oracle Messaging Gateway Corrective service diskettes (CSDs) for WebSphere MQ:
  • CSD09 or later for MQSeries V6.0

  • MQSeries PTF U478911 SupportPac MACE


To ensure that the system meets these requirements:

  1. To determine whether an operating system patch is installed, enter a command similar to the following:

    # /usr/sbin/patchadd -p | grep patch_number(without version number)
    
    

    For example, to determine if any version of the 111713 patch is installed, use the following command:

    # /usr/sbin/patchadd -p | grep 111713
    
    

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

    http://sunsolve.sun.com

  2. If you require a CSD or a SupportPac for WebSphere MQ, then refer to the following Web site for download and installation information:

    http://www.ibm.com/software/integration/mqfamily/support/summary/sun.html

2.4 Checking the Network Setup

Typically, the computer on which you want to install Oracle Database is connected to the network, has local storage to contain the Oracle Database installation, has a display monitor, and has a CD-ROM or DVD drive.

This section describes how to install Oracle Database on computers that do not meet the typical scenario. It covers the following cases:

2.4.1 Configuring Name Resolution

When you run Oracle Universal Installer, an error may occur if name resolution is not set up. To avoid this error, before you begin installation, you must ensure that host names are resolved only through the /etc/hosts file.

To ensure that host names are resolved only through the /etc/hosts file:

  1. Verify that the /etc/hosts file is used for name resolution. You can do this by checking the hosts file entry in the nsswitch.conf file as follows:

    # cat /etc/nsswitch.conf | grep hosts
    
    

    The output of this command should contain an entry for files.

  2. Verify that the host name has been set by using the hostname command as follows:

    # hostname
    
    

    The output of this command should be similar to the following:

    myhost.mycomputer.com
    
    
  3. Verify that the domain name has not been set dynamically by using the domainname command as follows:

    # domainname
    
    

    This command should not return any results.

  4. Verify that the hosts file contains the fully qualified host name by using the following command:

    # cat /etc/hosts | grep `eval hostname`
    
    

    The output of this command should contain an entry for the fully qualified host name and for localhost.

    For example:

    192.168.100.16    myhost.us.mycompany.com   myhost
    127.0.0.1         localhost                 localhost.localdomain
    
    

    If the hosts file does not contain the fully qualified host name, then open the file and make the required changes in it.

2.4.2 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 that computer a unique IP address.

2.4.3 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 by using the first entry in 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 this, ping the host name from the client computers using the short name (hostname only) and the full name (hostname 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.acme.com, then enter one of the following commands:

Bourne, Bash, or Korn shell:

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

C shell:

% setenv ORACLE_HOSTNAME somehost.us.acme.com

2.4.4 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.4.5 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 your network 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 your 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.5 Creating Required Operating System Groups and Users

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

The following operating system groups and user are required if you are installing Oracle Database:

The following operating system group and user are required for all installations:

A single Oracle Inventory group is required for all installations of Oracle software on the system. After the first installation of Oracle software, you must use the same Oracle Inventory group for all subsequent Oracle software installations on that system. However, you can choose to create different Oracle software owner users, OSDBA groups, and OSOPER groups (other than oracle, dba, and oper) for separate installations. By using different groups for different installations, members of these different groups have DBA privileges only on the associated databases rather than on all databases on the system.

See Also:

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

Note:

The following sections describe how to create local users and groups. As an alternative to creating local users and groups, you could create the appropriate users and groups in a directory service, for example, Network Information Services (NIS). For information about using directory services, contact your system administrator or refer to your operating system documentation.

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

2.5.1 Creating the Oracle Inventory Group

You must create the Oracle Inventory group if it does not already exist. The following subsections describe how to determine the Oracle Inventory group name, if it exists, and how to create it if necessary.

Determining Whether the Oracle Inventory Group Exists

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 and the path of the Oracle Inventory directory.

To determine whether the Oracle Inventory group exists, enter the following command:

# more /var/opt/oracle/oraInst.loc

If the oraInst.loc file exists, then the output from this command is similar to the following:

inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall

The inst_group parameter shows the name of the Oracle Inventory group, 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.5.2 Creating the OSDBA Group

You must create an OSDBA group in the following circumstances:

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

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

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

# /usr/sbin/groupadd dba

2.5.3 Creating an OSOPER Group (Optional)

Create an OSOPER group only if you want 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, then create it as follows. In the following command, use the group name oper unless a group with that name already exists.

# /usr/sbin/groupadd oper

2.5.4 Creating the Oracle Software Owner User

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

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

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

2.5.4.1 Determining Whether an Oracle Software Owner User Exists

To determine whether an Oracle software owner user named oracle exists, enter the following command:

# id -a oracle

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

uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)

If the user exists, then determine whether you want to use the existing user or create another oracle user. If you want to use the existing user, then ensure that the user's primary group is the Oracle Inventory group and that it is a member of the appropriate OSDBA and OSOPER groups. Refer to one of the following sections for more information:

Note:

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

2.5.4.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, then create it as follows. In the following procedure, use the user name oracle unless a user with that name already exists.

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

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

    In this command:

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

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

  2. Set the password of the oracle user:

    # passwd -r files oracle
    
    

Refer to the "Verifying that the User nobody Exists" section to continue.

2.5.4.3 Modifying an Oracle Software Owner User

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

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

2.5.5 Verifying that the User nobody Exists

Before installing the software, perform the following procedure to verify that the nobody user exists on the system:

  1. To determine whether the user exists, enter the following command:

    # id nobody
    
    

    If this command displays information about the nobody user, then you do not have to create that user.

  2. If the nobody user does not exist, then enter the following command to create it:

    # /usr/sbin/useradd nobody
    

2.6 Configuring Kernel Parameters

Note:

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

Verify that the kernel parameters shown in the following table are set to values greater than or equal to the recommended value shown. The table also contains the resource controls that replace the /etc/system file for a specific kernel parameter. The procedure following the table describes how to verify and set the values.

Note:

In Solaris 10, you are not required to make changes to the /etc/system file to implement the System V IPC. Solaris 10 uses the resource control facility for its implementation.
Parameter Replaced by Resource Control Recommended Value
noexec_user_stack NA 1
semsys:seminfo_semmni project.max-sem-ids 100
semsys:seminfo_semmns NA 1024
semsys:seminfo_semmsl project.max-sem-nsems 256
semsys:seminfo_semvmx NA 32767
shmsys:shminfo_shmmax project.max-shm-memory 4294967295
shmsys:shminfo_shmmin NA 1
shmsys:shminfo_shmmni project.max-shm-ids 100
shmsys:shminfo_shmseg NA 10

Use the following procedure to view the current value specified for resource controls, and to change them if necessary:

  1. To view the current values of the resource control, enter the following commands:

    # id -p // to verify the project id
    uid=0(root) gid=0(root) projid=1 (user.root)
    # prctl -n project.max-shm-memory -i project user.root
    # prctl -n project.max-sem-ids -i project user.root
    
    
  2. If you must change any of the current values, then:

    1. To modify the value of max-shm-memory to 6 GB:

      # prctl -n project.max-shm-memory -v 6gb -r -i project user.root
      
      
    2. To modify the value of max-sem-ids to 256:

      # prctl -n project.max-sem-ids -v 256 -r -i project user.root
      
      

Note:

When you use the prctl command (Resource Control) to change system parameters, you do not need to restart the system for these parameter changes to take effect. However, the changed parameters do not persist after a system restart.

Use the following procedure to modify the resource control project settings, so that the settings are available after a system restart:

  1. By default, Oracle instances are run as the oracle user of the dba group . A project with the group.dba name is created to serve as the default project for the oracle user. Run the id command to verify the default project for the oracle user:

    # su - oracle
    $ id -p
    uid=100(oracle) gid=100(dba) projid=100(group.dba)
    $ exit
    
    
  2. To set the maximum shared memory size to 2 GB, run the projmod command:

    # projmod -sK "project.max-shm-memory=(privileged,2G,deny)" group.dba
    
    

    Alternatively, add the project.max-shm-memory=(privileged, 2147483648,deny) resource control to the last field of the project entries for the Oracle project.

  3. After these steps are complete, the /etc/project file should contain the following:

    # cat /etc/project
    
    

    The following is the output of the command:

    system:0::::
    user.root:1::::
    noproject:2::::
    default:3::::
    group.staff:10::::
    group.dba:100:Oracle default
    project:::project.max-shmmemory=(privileged,2147483648,deny)
    
    
  4. To verify that the resource control is active, run the id and prctl commands:

    # su - oracle
    $ id -p
    uid=100(oracle) gid=100(dba) projid=100(group.dba)
    $ prctl -n project.max-shm-memory -i process $$
    process: 5754: -bash
    NAME     PRIVILEGE     VALUE     FLAG     ACTION    RECIPIENT
    project.max-shm-memory
                   privileged         2.00GB     -             deny
    

Note:

For additional information, refer to the Solaris Tunable Parameters Reference Manual.

2.7 Identifying Required Software Directories

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

2.7.1 Oracle Base Directory

The Oracle base directory is a top-level directory for Oracle software installations. It is analogous to the C:\Oracle directory used for Oracle software installations on Microsoft Windows systems. On Solaris systems, the Optimal Flexible Architecture (OFA) guidelines recommend that you use a path similar to the following for the Oracle base directory:

/mount_point/app/oracle_sw_owner

In this example:

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

    The examples in this guide use /u01 for the mount point directory. However, you could choose another mount point directory, such as /oracle or /opt/oracle.

  • oracle_sw_owner is the operating system user name of the Oracle software owner, for example oracle.

You can use the same Oracle base directory for more than one installation or you can create separate Oracle base directories for different installations. If different operating system users install Oracle software on the same system, then each user must create a separate Oracle base directory. The following example Oracle base directories could all exist on the same system:

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

The following sections describe how to identify existing Oracle base directories that may be suitable for your installation and how to create an Oracle base directory if necessary.

Regardless of whether you create an Oracle base directory or decide to use an existing one, you must set the ORACLE_BASE environment variable to specify the full path to this directory.

2.7.2 Oracle Inventory Directory

The Oracle Inventory directory (oraInventory) stores an inventory of all software installed on the system. It is required by, and shared by, all Oracle software installations on a single system. The first time you install Oracle software on a system, Oracle Universal Installer prompts you to specify the path to this directory. then Oracle recommends that you choose the following path:

oracle_base/oraInventory

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

Note:

All Oracle software installations rely on this directory. Ensure that you back it up regularly.

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

2.7.3 Oracle Home Directory

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

oracle_base/product/10.2.0/db_1

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

Caution:

During 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.8 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:

Note:

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

2.8.1 Identifying an Existing Oracle Base Directory

Existing Oracle base directories may not have paths that comply with 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

    Enter the following command to view the contents of the oraInst.loc file:

    # more /var/opt/oracle/oraInst.loc
    
    

    If the oraInst.loc file exists, then the output from this command is similar to the following:

    inventory_loc=/u01/app/oracle/oraInventory
    inst_group=oinstall
    
    

    The inventory_loc parameter identifies the Oracle Inventory directory (oraInventory). The parent directory of the oraInventory directory is typically an Oracle base directory. In the previous example, /u01/app/oracle is an Oracle base directory.

  • Identifying existing Oracle home directories

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

    # more /var/opt/oracle/oratab
    
    

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

    *:/u03/app/oracle/product/10.2.0/db_1:N
    *:/opt/orauser/infra_904:N
    *:/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 that you want to use are valid choices for an Oracle base directory. If you intend to use the oracle user to install the software, then you could choose one of the following directories from the previous example:

    /u03/app/oracle
    /oracle
    

    Note:

    If possible, choose a directory path similar to the first (/u03/app/oracle). This path complies with the OFA guidelines.

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

  • It should not be on the same file system as the operating system.

  • It must have sufficient free disk space, as follows:

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

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

    • # df -k oracle_base_path
      
      

To continue:

  • If an Oracle base directory exists and you want to use it, then refer to the "Choosing a Storage Option for Oracle Database and Recovery Files" section.

    When you configure the oracle user's environment later in this chapter, set the ORACLE_BASE environment variable to specify the directory you chose.

  • If an Oracle base directory does not exist on the system or if you want to create an Oracle base directory, then refer to the following section.

2.8.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, as follows:

Requirement Free Disk Space
The Oracle base directory will contain only software files. Up to 3 GB, depending on the platform
The Oracle base directory will contain both software and database files (not recommended for production databases). Up to 4 GB, depending on the platform

To identify an appropriate file system:

  1. Use the df -k command to determine the free disk space on each mounted file system.

  2. From the display, identify a file system that has appropriate free space.

  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, if the mount point you identify is /u01 and oracle is the user name of the Oracle software owner, then the recommended Oracle base directory path is as follows:

    /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 have created.

2.9 Choosing a Storage Option for Oracle Database and Recovery Files

The following table shows the storage options supported for storing Oracle Database files and Oracle Database 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 that you want to use for Oracle Database files. If you want to enable automated backups during the installation, then you must also choose the storage option that you want to use for recovery files (the flash recovery area). You do not have to use the same storage option for each file type.

Important:

Database files are supported on file systems, Automatic Storage Management, and raw devices. Recovery files are supported only on file systems and Automatic Storage Management.
Storage Option File Types Supported
Database Recovery
File system Yes Yes
Automatic Storage Management Yes Yes
Raw devices Yes No

Use the following guidelines when choosing the storage options that you want to use for each file type:

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

2.10 Creating Directories for Oracle Database or Recovery Files

This section contains the following topics:

2.10.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 I/O and create separate control files on different devices for increased reliability. It also enables you to fully implement the OFA guidelines described in Appendix D, "Optimal Flexible Architecture". You must choose either the Advanced database creation option or the Custom installation type during the installation 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 1.2 GB of free disk space.

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

  • For optimum performance, the file systems that you choose should 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.10.2 Guidelines for Placing Oracle Recovery Files on a File System

Note:

You must choose a location for recovery files only if you intend to enable automated backups during the installation.

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

  • To prevent disk failure from making both the database files and the recovery files unavailable, place the recovery files in a file system on a different physical disk from the database files.

    Note:

    Alternatively, use an Automatic Storage Management disk group for both data and recovery files.
    • The file system that you choose should have at least 2 GB of free disk space.

      The disk space requirement is the default disk quota configured for the flash recovery area (specified by the DB_RECOVERY_FILE_DEST_SIZE initialization parameter).

      If you choose the Custom installation type or the Advanced database configuration option, then you can specify a different disk quota value. After you create the database, you can also use Oracle Enterprise Manager Grid Control or Database Control to specify a different value.

      See Also:

      Oracle Database Backup and Recovery Basics for more information about sizing the flash recovery area
  • The default path suggested by Oracle Universal Installer for the flash recovery area is a subdirectory of the Oracle base directory.

    This default location is not recommended for production databases.

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

2.10.3 Creating Required Directories

Note:

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

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

  1. Use the df -k command to determine the free disk space on each mounted file system.

  2. From the display, identify the file systems that you want to use:

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

    • Two or more file systems with at least 1.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 more than one type of file, 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
      
      
    • Recovery file directory (flash recovery area):

      # mkdir /mount_point/flash_recovery_area
      # chown oracle:oinstall /mount_point/flash_recovery_area
      # chmod 775 /mount_point/flash_recovery_area
      
      
  5. If you also want to use Automatic Storage Management or raw devices for storage, then refer to one of the following sections:

2.11 Preparing Disk Groups for an Automatic Storage Management Installation

This section describes how to configure disks for use with Automatic Storage Management. Before you configure the disks, you must determine the number of disks and the amount of free disk space that you require. The following sections describe how to identify the requirements and configure the disks on each platform:

2.11.1 General Steps for Configuring Automatic Storage Management

The following are the general steps to configure Automatic Storage Management:

  1. Identify the storage requirements of the site.

  2. Optionally, use an existing Automatic Storage Management disk group.

  3. If you are creating a new Automatic Storage Management disk group, create partitions for DAS or SAN disks.

  4. Use one of the following methods to complete the Automatic Storage Management configuration:

    • If you plan to install Oracle Database using interactive mode, Oracle Universal Installer prompts you for the Automatic Storage Management disk configuration information during the installation.

    • If you plan to install Oracle Database using noninteractive mode, you will need to manually configure the disks before performing the installation.

2.11.2 Step 1: Identifying Storage Requirements for Automatic Storage Management

To identify the storage requirements for using Automatic Storage Management, you must determine the number of devices and the amount of free disk space that you require. To complete this task:

  1. Determine whether you want to use Automatic Storage Management for Oracle Database files, recovery files, or both.

    Note:

    You do not have to use the same storage mechanism for data files and recovery files. You can use the file system for one file type and Automatic Storage Management for the other. If you plan to use Automatic Storage Management for both data files and recovery files, then you should create separate Automatic Storage Management disk groups for the data files and the recovery files.

    If you plan to enable automated backups during the installation, then you can choose Automatic Storage Management as the storage mechanism for recovery files by specifying an Automatic Storage Management disk group for the flash recovery area. Depending on how you choose to create a database during the installation, you have the following options:

    • If you select an installation method that runs Oracle Database Configuration Assistant in interactive mode, by choosing the Advanced database configuration option for example, then you can decide whether you want to use the same Automatic Storage Management disk group for database files and recovery files, or you can choose to use different disk groups for each file type. Ideally, you should create separate Automatic Storage Management disk groups for data files and for recovery files.

      The same choice is available to you if you use Oracle Database Configuration Assistant after the installation to create a database.

    • If you select an installation type that runs Oracle Database Configuration Assistant in noninteractive mode, then you must use the same Automatic Storage Management disk group for data files and recovery files.

  2. Choose the Automatic Storage Management redundancy level that you want to use for each Automatic Storage Management disk group that you create.

    The redundancy level that you choose for the Automatic Storage Management disk group determines how Automatic Storage Management mirrors files in the disk group and determines the number of disks and amount of disk space that you require, as follows:

    • External redundancy

      An external redundancy disk group requires a minimum of one disk device. The effective disk space in an external redundancy disk group is the sum of the disk space in all of its devices.

      If you select this option, Automatic Storage Management does not mirror the contents of the disk group. Choose this redundancy level under any one of the following conditions:

      • When the disk group contains devices, such as RAID devices, that provide their own data protection

      • The use of the database does not require uninterrupted access to data, for example, in a development environment where you have a suitable backup strategy

    • Normal redundancy

      In a normal redundancy disk group, by default Automatic Storage Management uses two-way mirroring for datafiles and three-way mirroring for control files, to increase performance and reliability. Alternatively, you can use two-way mirroring or no mirroring. A normal redundancy disk group requires a minimum of two failure groups (or two disk devices) if you are using two-way mirroring. The effective disk space in a normal redundancy disk group is half the sum of the disk space in all of its devices.

      For most installations, Oracle recommends that you use normal redundancy disk groups.

    • High redundancy

      The contents of the disk group are three-way mirrored by default. To create a disk group with high redundancy, you must specify at least 3 failure groups (a minimum of 3 devices).

      Although high-redundancy disk groups provide a high level of data protection, you must consider the higher cost of additional storage devices before deciding to use this redundancy level.

  3. Determine the total amount of disk space that you require for the database files and recovery files.

    Use the following table to determine the minimum number of disks and the minimum disk space requirements for the installation:

    Redundancy Level Minimum Number of Disks Data Files Recovery Files Both File Types
    External 1 1.15 GB 2.3 GB 3.45 GB
    Normal 2 2.3 GB 4.6 GB 6.9 GB
    High 3 3.45 GB 6.9 GB 10.35 GB

    If an ASM instance is already running on the system, then you can use an existing disk group to meet these storage requirements. If necessary, you can add disks to an existing disk group during the installation.

    The following step describes how to identify existing disk groups and determine the free disk space that they contain.

  4. Optionally, identify failure groups for the Automatic Storage Management disk group devices.

    Note:

    You need to perform this step only if you intend to use an installation method that runs Oracle Database Configuration Assistant in interactive mode. For example, if you intend to choose the Custom installation type or the Advanced database configuration option. Other installation types do not enable you to specify failure groups.

    If you intend to use a normal or high redundancy disk group, then you can further protect the database against hardware failure by associating a set of disk devices in a custom failure group. By default, each device comprises its failure group. However, if two disk devices in a normal redundancy disk group are attached to the same SCSI controller, then the disk group becomes unavailable if the controller fails. The controller in this example is a single point of failure.

    To avoid failures of this type, you can use two SCSI controllers, each with two disks, and define a failure group for the disks attached to each controller. This configuration would enable the disk group to tolerate the failure of one SCSI controller.

    Note:

    If you define custom failure groups, then you must specify a minimum of two failure groups for normal redundancy disk groups and three failure groups for high redundancy disk groups.
  5. If you are sure that a suitable disk group does not exist on the system, then install or identify appropriate disk devices to add to a new disk group. Apply the following guidelines when identifying appropriate disk devices:

    • All the devices in an Automatic Storage Management disk group should be the same size and have the same performance characteristics.

    • Do not specify more than one partition on a single physical disk as a disk group device. Automatic Storage Management expects each disk group device to be on a separate physical disk.

    • Although you can specify a logical volume as a device in an Automatic Storage Management disk group, Oracle does not recommend its use. Logical volume managers can hide the physical disk architecture. This would prevent Automatic Storage Management from optimizing I/O across the physical devices.

    See Also:

    "Step 4: Configuring Disks for Automatic Storage Management" for information about completing this task

2.11.3 Step 2: Using an Existing Automatic Storage Management Disk Group

Note:

This is an optional step.

If you want to store either database or recovery files in an existing Automatic Storage Management disk group, then you have the following choices, depending on the installation method that you select:

  • If you select an installation method that runs Oracle Database Configuration Assistant in interactive mode (for example, choosing the Advanced database configuration option), then you can decide whether you want to create a disk group or use an existing one.

    The same choice is available to you if you use Oracle Database Configuration Assistant after the installation to create a database.

  • If you select an installation method that runs Oracle Database Configuration Assistant in noninteractive mode, then you must choose an existing disk group for the new database; you cannot create a disk group. However, you can add disk devices to an existing disk group if it has insufficient free space for your requirements.

Note:

The ASM instance that manages the existing disk group can be running in a different Oracle home directory.

To determine whether an existing Automatic Storage Management disk group exists, or to determine whether there is sufficient disk space in a disk group, you can use Oracle Enterprise Manager Grid Control or Database Control. Alternatively, you can use the following procedure:

  1. View the contents of the oratab file to determine whether an ASM instance is configured on the system:

    # more /var/opt/oracle/oratab
    # more /etc/oratab
    
    

    If an ASM instance is configured on the system, then the oratab file should contain a line similar to the following:

    +ASM:oracle_home_path:N
    
    

    In this example, +ASM is the system identifier (SID) of the ASM instance and oracle_home_path is the Oracle home directory where it is installed. By convention, the SID for an ASM instance begins with a plus sign.

  2. Open a shell window and temporarily set the ORACLE_SID and ORACLE_HOME environment variables to specify the appropriate values for the ASM instance that you want to use.

    For example, if the Automatic Storage Management SID is named OraDB10g+ASM and is located in the asm subdirectory of the ORACLE_BASE directory, then enter the following commands to create the required settings:

    • Bourne, Bash, or Korn shell:

      $ ORACLE_SID=OraDB10g+ASM
      $ export ORACLE_SID
      $ ORACLE_HOME=/u01/app/oracle/product/10.2.0/asm
      $ export ORACLE_HOME
      
      
    • C shell:

      % setenv ORACLE_SID OraDB10g+ASM
      % setenv ORACLE_HOME /u01/app/oracle/product/10.2.0/asm
      
      
  3. By using SQL*Plus, connect to the ASM instance as the SYS user with SYSDBA privilege and start the instance if necessary:

    # $ORACLE_HOME/bin/sqlplus "SYS/SYS_password as SYSDBA"
    SQL> STARTUP
    
    
  4. Enter the following command to view the existing disk groups, their redundancy level, and the amount of free disk space in each one:

    SQL> SELECT NAME,TYPE,TOTAL_MB,FREE_MB FROM V$ASM_DISKGROUP;
    
    
  5. From the output, identify a disk group with the appropriate redundancy level and note the free space that it contains.

  6. If necessary, install or identify the additional disk devices required to meet the storage requirements listed in the previous section.

    Note:

    If you are adding devices to an existing disk group, then Oracle recommends that you use devices that have the same size and performance characteristics as the existing devices in that disk group.

2.11.4 Step 3: Creating DAS or SAN Disk Partitions for Automatic Storage Management

In order to use a DAS or SAN disk in Automatic Storage Management, the disk must have a partition table. Oracle recommends creating exactly one partition for each disk containing the entire disk.

Note:

You can use any physical disk for Automatic Storage Management, as long as it is partitioned.

2.11.5 Step 4: Configuring Disks for Automatic Storage Management

To configure disks for use with Automatic Storage Management:

  1. If necessary, install the disks that you intend to use for the disk group and restart the system.

  2. To create or identify the disk slices (partitions) that you want to include in the Automatic Storage Management disk group:

    1. To list the disks attached to the system, enter the following command:

      # /usr/sbin/format
      
      

      The output from this command is similar to the following:

      AVAILABLE DISK SELECTIONS:
             0. c0t0d0 <ST34321A cyl 8892 alt 2 hd 15 sec 63>
                /pci@1f,0/pci@1,1/ide@3/dad@0,0
             1. c1t5d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
                /pci@1f,0/pci@1/scsi@1/sd@5,0
      
      

      This command displays information about each disk attached to the system, including the device name (cxtydz).

    2. Enter the number corresponding to the disk that you want to use.

    3. Use the fdisk command to create a Solaris partition on the disk if one does not already exist.

      Solaris fdisk partitions must start at cylinder 1, not cylinder 0. If you create an fdisk partition, then you must label the disk before continuing.

    4. Enter the partition command, followed by the print command to display the partition table for the disk that you want to use.

    5. If necessary, create a single whole-disk slice, starting at cylinder 1.

      Note:

      To prevent Automatic Storage Management from overwriting the partition table, you cannot use slices that start at cylinder 0 (for example, slice 2).
    6. Make a note of the number of the slice that you want to use.

    7. If you modified a partition table or created a new one, then enter the label command to write the partition table and label to the disk.

    8. Enter q to return to the format menu.

    9. If you have finished creating slices, then enter q to quit from the format utility. Otherwise, enter the disk command to select a new disk and repeat steps b to g to create or identify the slices on that disks.

  3. If you plan to use existing slices, then enter the following command to verify that they are not mounted as file systems:

    # df -k
    
    

    This command displays information about the slices on disk devices that are mounted as file systems. The device name for a slice includes the disk device name followed by the slice number, for example cxtydzsn, where sn is the slice number.

  4. Enter commands similar to the following on every node to change the owner, group, and permissions on the character raw device file for each disk slice that you want to add to a disk group:

    # chown oracle:dba /dev/rdsk/cxtydzs6
    # chmod 660 /dev/rdsk/cxtydzs6
    
    

    In this example, the device name specifies slice 6.

    Note:

    If you are using a multi-pathing disk driver with Automatic Storage Management, then ensure that you set the permissions only on the correct logical device name for the disk.
  5. If you also want to use raw devices for storage, then refer to the "Configuring Raw Partitions or Raw Logical Volumes" section.

    Otherwise, refer to the following section:

    Stopping Existing Oracle Processes.

2.12 Configuring Raw Partitions or Raw Logical Volumes

The following subsections describe how to configure raw partitions or raw logical volumes.

Configuring Raw Partitions for Oracle Database File Storage

This section describes how to configure raw partitions for Oracle database files.

A partition is a slice defined on a disk or on a disk array volume. It can also be a soft partition created using Solaris Volume Manager.

Table 2-1 lists the number and size of the raw partitions that you must configure for database files.

Table 2-1 Raw Partitions Required for Database Files

Number Size (MB) Purpose and Database Object Identifier

1

500

SYSTEM tablespace:

system

1

500

SYSAUX tablespace:

sysaux

1

500

UNDOTBS1 tablespace:

undotbs1

1

250

TEMP tablespace:

temp

1

160

EXAMPLE tablespace:

example

1

120

USERS tablespace:

users

2

120

Two online redo log files (where m is the log number, 1 or 2):

redo1_m

2

110

First and second control files:

control{1|2}

1

5

Server parameter file (SPFILE):

spfile

1

5

Password file:

pwdfile

To configure raw partitions for database files:

  1. Choose a name for the database that you want to create.

    The name that you choose must start with a letter and have no more than four characters, for example, orcl.

  2. If necessary, install or configure the disks that you intend to use and restart the system.

  3. If you want to use Solaris Volume Manager soft partitions, then refer to the Solaris Volume Manager documentation for information about how to create them.

    The previous table shows the number and size of the partitions that you require.

  4. If you want to use disk slices, then follow these steps to create or identify the required disk slices:

    1. To list the disks attached to the system, enter the following command:

      # /usr/sbin/format
      
      

      The output from this command is similar to the following:

      AVAILABLE DISK SELECTIONS:
             0. c0t0d0 <ST34321A cyl 8892 alt 2 hd 15 sec 63>
                /pci@1f,0/pci@1,1/ide@3/dad@0,0
             1. c1t5d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
                /pci@1f,0/pci@1/scsi@1/sd@5,0
      
      

      This command displays information about each disk attached to the system, including the device name (cxtydz).

    2. Enter the number corresponding to the disk that you want to use.

      Note:

      Ensure that the disk you choose is not being used for another purpose. For example, ensure that it is not being used as a component for a logical volume manager volume.
    3. Use the fdisk command to create a Solaris partition on the disk if one does not already exist.

      Solaris fdisk partitions must start at cylinder 1, not cylinder 0. If you create an fdisk partition, then you must label the disk before continuing.

    4. Enter the partition command, followed by the print command to display the partition table for the disk that you want to use.

    5. Identify or create slices for each of the partitions that you require.

      The previous table shows the number and size of the partitions that you require for database files.

      Note:

      To prevent the database files from overwriting the partition table, do not use slices that start at cylinder 0 (for example, slice 2).
    6. Make a note of the number of the slices that you want to use.

    7. If you modified a partition table or created a new one, then enter the label command to write the partition table and label to the disk.

    8. Enter q to return to the format menu.

    9. After you have finished creating slices, enter q to quit from the format utility.

  5. If you plan to use existing partitions, then enter the following command to verify that they are not mounted as file systems:

    # df -k
    
    

    This command displays information about the devices that are mounted as file systems. The device name for a slice includes the disk device name followed by the slice number, for example cxtydzsn, where sn is the slice number. The device name for a Solaris Volume Manager partition is similar to /dev/md/dsk/dnnn, where dnnn is the soft partition name.

  6. Enter commands similar to the following to change the owner, group, and permissions on the character raw device file for each partition:

    Note:

    If you are using a multi-pathing disk driver, then ensure that you set the permissions only on the correct logical device name for the partition.
    • Solaris Volume Manager soft partitions:

      # chown oracle:dba /dev/md/rdsk/d100
      # chmod 660 /dev/md/rdsk/d100
      
      
    • Disk slices:

      # chown oracle:dba /dev/rdsk/cxtydzsn
      # chmod 660 /dev/rdsk/cxtydzsn
      
      
  7. Follow these steps to create the Oracle Database Configuration Assistant raw device mapping file:

    1. Set the ORACLE_BASE environment variable to specify the Oracle base directory that you identified or created previously:

      • Bourne, Bash, or Korn shell:

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

        % setenv ORACLE_BASE /u01/app/oracle
        
        
    2. Create a database file subdirectory under the Oracle base directory and set the appropriate owner, group, and permissions on it:

      # mkdir -p $ORACLE_BASE/oradata/dbname
      # chown -R oracle:oinstall $ORACLE_BASE/oradata
      # chmod -R 775 $ORACLE_BASE/oradata
      
      

      In this example, dbname is the name of the database that you chose previously.

    3. Change directory to the $ORACLE_BASE/oradata/dbname directory.

    4. Using any text editor, create a text file similar to the following that identifies the device file name associated with each database file.

      Oracle recommends that you use a file name similar to dbname_raw.conf for this file.

      Note:

      The following example shows a sample mapping file that specifies Solaris Volume Manager soft partitions. If you are using disk slices, then specify the appropriate device file name for each slice, for example:
      /dev/rdsk/cxdytzsn
      
      system=/dev/md/rdsk/d100
      sysaux=/dev/md/rdsk/d101
      example=/dev/md/rdsk/d102
      users=/dev/md/rdsk/d103
      temp=/dev/md/rdsk/d104
      undotbs1=/dev/md/rdsk/d105
      redo1_1=/dev/md/rdsk/d106
      redo1_2=/dev/md/rdsk/d107
      control1=/dev/md/rdsk/d108
      control2=/dev/md/rdsk/d109
      spfile=/dev/md/rdsk/d110
      pwdfile=/dev/md/rdsk/d111
      
      

      In this example, dbname is the name of the database.

      Use the following guidelines when creating or editing this file:

      • Each line in the file must have the following format:

        database_object_identifier=device_file_name
        
        
      • Specify one automatic undo tablespace data file (undotbs1) and two redo log files (redo1_1, redo1_2).

      • Specify at least two control files (control1, control2).

      • To use manual instead of automatic undo management, specify a single RBS tablespace data file (rbs) instead of the automatic undo management tablespace data files.

    5. Save the file and note the file name that you specified.

    6. When you are configuring the oracle user's environment later in this chapter, set the DBCA_RAW_CONFIG environment variable to specify the full path to this file.

Configuring Raw Logical Volumes for Oracle Database File Storage

This section describes how to configure raw logical volumes using VERITAS Volume Manager (VxVM) on SPARC systems.

Creating a Disk Group

To create a disk group:

  1. If necessary, install the disks that you intend to use for the disk group and restart the system.

  2. To ensure that the disks are available, enter the following command:

    # /usr/sbin/format
    
    

    The output from this command is similar to the following:

    AVAILABLE DISK SELECTIONS:
           0. c0t0d0 <ST34321A cyl 8892 alt 2 hd 15 sec 63>
              /pci@1f,0/pci@1,1/ide@3/dad@0,0
           1. c1t5d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
              /pci@1f,0/pci@1/scsi@1/sd@5,0
    
    

    This command displays information about each disk attached to the system, including the device name (cxtydz).

  3. From the list, identify the device names for the disk devices that you want to add to a disk group, then use Ctrl+D to exit from the format utility.

  4. Enter the following command to verify that the devices you identified are not mounted as file systems:

    # df -k
    
    

    This command displays information about the partitions (slices) on disk devices that are mounted as file systems. The device name for a slice includes the disk device name followed by the slice number, for example cxtydzsn, where sn is the slice number. Slice 2 (s2) represents the entire disk. The disk devices that you choose must not be shown as mounted partitions.

  5. Enter the following commands to verify that the devices you identified are not already part of a disk group:

    Note:

    The following command displays information about VERITAS Volume Manager (VxVM) disks. If you use a different LVM, then refer to the appropriate documentation for information about determining which disk devices it is managing.
    # /usr/sbin/vxdiskconfig
    # /usr/sbin/vxdisk list
    
    

    The vxdisk list command identifies the disk devices that are already configured in a disk group. The word online in the STATUS column also identifies disks that have been initialized and placed under VxVM control. The word error in the STATUS column identifies disks that are not initialized.

    The disk devices that you choose must not be in an existing disk group.

  6. If the disk devices that you want to use are not initialized, then enter a command similar to the following to initialize each disk:

    # /usr/sbin/vxdiskadd cxtydz
    
    
  7. To create a disk group, enter a command similar to the following, specifying all of the disks that you want to add to the group:

    # /usr/sbin/vxdg init diskgroup diskname=devicename ...
    
    

    In this example:

    • diskgroup is the name of the disk group that you want to create, for example, oradg

    • diskname is an administrative name that you assign to a disk, for example orad01

    • devicename is the device name, for example, c1t0d0

Creating Raw Logical Volumes in the New Disk Group

To create the required raw logical volumes in the new disk group:

  1. Choose a name for the database that you want to create.

    The name that you choose must start with a letter and have no more than four characters, for example, orcl.

  2. Identify the logical volumes that you must create.

    Table 2-2 lists the number and size of the logical volumes that you must create for database files.

    Table 2-2 Raw Logical Volumes Required for Database Files on Solaris

    Number Size (MB) Purpose and Sample Logical Volume Name

    1

    500

    SYSTEM tablespace:

    dbname_system_raw_500m
    

    1

    500

    SYSAUX tablespace:

    dbname_sysaux_raw_500m
    

    1

    500

    UNDOTBS1 tablespace:

    dbname_undotbs1_raw_500m
    

    1

    250

    TEMP tablespace:

    dbname_temp_raw_250m
    

    1

    160

    EXAMPLE tablespace:

    dbname_example_raw_160m
    

    1

    120

    USERS tablespace:

    dbname_users_raw_120m
    

    2

    120

    Two online redo log files (where m is the log number, 1 or 2):

    dbname_redo1_m_raw_120m
    

    2

    110

    First and second control files:

    dbname_control{1|2}_raw_110m
    

    1

    5

    Server parameter file (SPFILE):

    dbname_spfile_raw_5m
    

    1

    5

    Password file:

    dbname_pwdfile_raw_5m
    

  3. To create the required logical volumes, enter commands similar to the following:

    # /usr/sbin/vxassist -g diskgroup make volume size user=oracle \
     group=dba mode=660
    
    

    In this example:

    • diskgroup is the name of the disk group that you created previously, for example oradg

    • volume is the name of the logical volume that you want to create

      Oracle recommends that you use the sample names shown in the previous table for the logical volumes. Substitute the dbname variable in the sample logical volume name with the name you chose for the database in step 1.

    • size is the size of the logical volume, for example, 500m represents 500 MB

    • user=oracle group=dba mode=660 specifies the owner, group, and permissions on the volume

      Specify the Oracle software owner user and the OSDBA group for the user and group values (typically oracle and dba).

    The following example shows a sample command used to create a 500 MB logical volume in the oradg disk group for the SYSAUX tablespace of a database named test:

    # /usr/sbin/vxassist -g oradb make test_sysaux_500m 500m \
    user=oracle group=dba mode=660
    
    

Creating the Oracle Database Configuration Assistant Raw Device Mapping File

To enable Oracle Database Configuration Assistant to identify the appropriate raw device for each database file, you must create a raw device mapping file, as follows:

  1. Set the ORACLE_BASE environment variable to specify the Oracle base directory that you identified or created previously:

    • Bourne, Bash, or Korn shell:

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

      % setenv ORACLE_BASE /u01/app/oracle
      
      
  2. Create a database file subdirectory under the Oracle base directory and set the appropriate owner, group, and permissions on it:

    # mkdir -p $ORACLE_BASE/oradata/dbname
    # chown -R oracle:oinstall $ORACLE_BASE/oradata
    # chmod -R 775 $ORACLE_BASE/oradata
    
    

    In this example, dbname is the name of the database that you chose previously.

  3. Change directory to the $ORACLE_BASE/oradata/dbname directory.

  4. Enter the following command to create a text file that you can use to create the raw device mapping file:

    # find /dev/vx/rdsk/diskgroup -user oracle -name dbname* \
    -print > dbname_raw.conf
    
    
  5. Edit the dbname_raw.conf file in any text editor to create a file similar to the following:

    system=/dev/vx/rdsk/diskgroup/dbname_system_raw_500m
    sysaux=/dev/vx/rdsk/diskgroup/dbname_sysaux_raw_500m
    example=/dev/vx/rdsk/diskgroup/dbname_example_raw_160m
    users=/dev/vx/rdsk/diskgroup/dbname_users_raw_120m
    temp=/dev/vx/rdsk/diskgroup/dbname_temp_raw_250m
    undotbs1=/dev/vx/rdsk/diskgroup/dbname_undotbs1_raw_500m
    redo1_1=/dev/vx/rdsk/diskgroup/dbname_redo1_1_raw_120m
    redo1_2=/dev/vx/rdsk/diskgroup/dbname_redo1_2_raw_120m
    control1=/dev/vx/rdsk/diskgroup/dbname_control1_raw_110m
    control2=/dev/vx/rdsk/diskgroup/dbname_control2_raw_110m
    spfile=/dev/vx/rdsk/diskgroup/dbname_spfile_raw_5m
    pwdfile=/dev/vx/rdsk/diskgroup/dbname_pwdfile_raw_5m
    
    

    In this example:

    • diskgroup is the name of the disk group

    • dbname is the name of the database

    Use the following guidelines when creating or editing this file:

    • Each line in the file must have the following format:

      database_object_identifier=logical_volume
      
      

      The logical volume names suggested in this manual include the database object identifier that you must use in this mapping file. For example, in the following logical volume name, redo1_1 is the database object identifier:

      /dev/vx/rdsk/oradg/rac_redo1_1_raw_120m
      
      
    • For a single-instance database, the file must specify one automatic undo tablespace data file (undotbs1), and at least two redo log files (redo1_1, redo1_2).

    • Specify at least two control files (control1, control2).

    • To use manual instead of automatic undo management, specify a single RBS tablespace data file (rbs) instead of the automatic undo management tablespace data file.

  6. Save the file and note the file name that you specified.

  7. When you are configuring the oracle user's environment later in this chapter, set the DBCA_RAW_CONFIG environment variable to specify the full path to this file.

  8. To continue, refer to the "Stopping Existing Oracle Processes" section.

See Also:

Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide for Solaris Operating System for more information about raw devices on RAC

2.13 Stopping Existing Oracle Processes

Caution:

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

If you choose to create a database during the installation, then most installation types configure and start a default Oracle Net listener using TCP/IP port 1521 and the IPC key value EXTPROC. However, if an existing Oracle Net listener process is using the same port or key value, Oracle Universal Installer can only configure the new listener; it cannot start it. To ensure that the new listener process starts during the installation, you must shut down any existing listeners before starting Oracle Universal Installer.

To determine whether 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 whether 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 refer to the "Configuring the oracle User's Environment" section to continue.
  3. 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.14 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:

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.acme.com
    
    
  3. If you are not already logged in to the system where you want to install the software, then log in to that system as the oracle user.

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

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

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

    • Bourne shell (sh), Bash shell on SUSE (bash), or Korn shell (ksh):

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

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

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

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

  10. 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
      
      
  11. If you are not installing the software on the local system, then enter a command similar to the following to direct X applications to display on the local system:

    • Bourne, Bash, or Korn shell:

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

      % setenv DISPLAY local_host:0.0
      
      

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

  12. If you determined that the /tmp directory has less than 400 MB of free disk space, then identify a file system with at least 400 MB of free space and set the TMP and TMPDIR environment variables to specify a temporary directory on this file system:

    1. Use the df -k command to identify a suitable file system with sufficient free space.

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

      $ sudo mkdir /mount_point/tmp
      $ sudo chmod a+wr /mount_point/tmp
      
      
    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
        
        
  13. 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 these examples, /u01/app/oracle is the Oracle base directory that you created or identified earlier and sales is the name that you want to call the database (typically no more than five characters).

  14. If you are using raw devices for database storage, then set the DBCA_RAW_CONFIG environment variable to specify the full path to the raw device mapping file:

    • Bourne, Bash, or Korn shell:

      $ DBCA_RAW_CONFIG=$ORACLE_BASE/oradata/dbname/dbname_raw.conf
      $ export DBCA_RAW_CONFIG
      
      
    • C shell:

      % setenv DBCA_RAW_CONFIG=$ORACLE_BASE/oradata/dbname/dbname_raw.conf
      
      
  15. 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. However, 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.
  16. To verify that the environment has been set correctly, enter the following commands:

    $ umask
    $ env | more
    
    

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