|
Oracle® Database Installation Guide
10g Release 1 (10.1) for UNIX Systems: AIX-Based Systems, hp HP-UX, hp Tru64 UNIX, Linux, and Solaris Operating System Part No. B10811-05 |
|
![]() Previous |
![]() Next |
This chapter describes the tasks that you must complete before you start the Oracle Universal Installer. It includes information about the following tasks:
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, or a PC or other system with X server software installed.For more information about silent-mode installations, see Appendix B. |
If you are installing the software from an X Window System workstation or X terminal:
Start a local terminal session, for example, an X terminal (xterm).
If you are not installing the software on the local system, enter the following command to enable remote hosts to display X applications on the local X server:
$ xhost +
If you are not installing the software on the local system, use the ssh, rlogin, or telnet command to connect to the system where you want to install the software:
$ telnet remote_host
If you are not logged in as the root user, enter the following command to switch user to root:
$ su - root password: #
If you are installing the software from a PC or other system with X server software installed:
|
Note: If necessary, see your X server documentation for more information about completing this procedure. Depending on the X server software that you are using, you may need to complete the tasks in a different order. |
Start the X server software.
Configure the security settings of the X server software to permit remote hosts to display X applications on the local system.
Connect to the remote system where you want to install the software and start a terminal session on that system, for example, an X terminal (xterm).
If you are not logged in as the root user on the remote system, enter the following command to switch user to root:
$ su - root password: #
The system must meet the following minimum hardware requirements:
512 MB of physical RAM
1 GB of swap space (or twice the size of RAM)
On systems with 2 GB or more of RAM, the swap space can be between one and two times the size of RAM. On AIX systems with 1 GB or more of memory, do not increase the swap space above 2 GB. See the Oracle Database Administrator's Reference for UNIX Systems for more information about configuring swap space on AIX.
400 MB of disk space in the /tmp directory
Between 1.5 GB and 3 GB of disk space for the Oracle software, depending on the installation type and platform
1.2 GB of disk space for a preconfigured database that uses file system storage (optional)
|
Note: The disk space requirement for databases that use Automatic Storage Management (ASM) or raw device storage is described later in this chapter. |
Additional disk space, either on a file system or in an ASM disk group, is required for the flash recovery area if you choose to configure automated backups.
To ensure that the system meets these requirements, follow these steps:
To determine the physical RAM size, enter one of the following commands:
| Platform | Command |
|---|---|
| AIX |
# /usr/sbin/lsattr -E -l sys0 -a realmem |
| HP-UX |
# grep "Physical:" /var/adm/syslog/syslog.log |
| Linux |
# grep MemTotal /proc/meminfo |
| Solaris |
# /usr/sbin/prtconf | grep "Memory size" |
| Tru64 UNIX |
# /bin/vmstat -P | grep "Total Physical Memory" |
If the size of the physical RAM installed in the system is less than the required size, you must install more memory before continuing.
To determine the size of the configured swap space, enter one of the following commands:
| Platform | Command |
|---|---|
| AIX |
# /usr/sbin/lsps -a |
| HP-UX |
# /usr/sbin/swapinfo -a |
| Linux |
# grep SwapTotal /proc/meminfo |
| Solaris |
# /usr/sbin/swap -s |
| Tru64 UNIX |
# /sbin/swapon -s |
If necessary, see your operating system documentation for information about how to configure additional swap space.
To determine the amount of disk space available in the /tmp directory, enter one of the following commands:
HP-UX:
# bdf /tmp
Other operating systems:
# df -k /tmp
If there is less than 400 MB of disk space available in the /tmp directory, complete one of the following steps:
Delete unnecessary files from the /tmp directory to achieve the required disk space.
Set the TEMP and TMPDIR environment variables when setting the oracle user's environment (described later).
Extend the file system that contains the /tmp directory. If necessary, contact your system administrator for information about extending file systems.
To determine the amount of free disk space on the system, enter one of the following commands:
HP-UX:
# bdf
Other operating systems:
# df -k
The following table shows the approximate disk space requirements for software files for each installation type:
| Platform | Installation Type | Requirement for Software Files (GB) |
|---|---|---|
| AIX | Enterprise Edition | 3 |
| Standard Edition | 3 | |
| Custom (maximum) | 3 | |
| HP-UX | Enterprise Edition | 2.5 |
| Standard Edition | 2.5 | |
| Custom (maximum) | 2.5 | |
| Linux | Enterprise Edition | 1.5 |
| Standard Edition | 1.5 | |
| Custom (maximum) | 1.5 | |
| Solaris | Enterprise Edition | 1.5 |
| Standard Edition | 1.5 | |
| Custom (maximum) | 1.5 | |
| Tru64 UNIX | Enterprise Edition | 3 |
| Standard Edition | 3 | |
| Custom (maximum) | 3 |
To determine whether the system architecture can run the software, enter one of the following commands:
|
Note: If you do not see the expected output, you cannot install the software on this system. |
| Platform | Command | Expected Output |
|---|---|---|
| AIX |
# /usr/bin/getconf HARDWARE_BITMODE |
64 |
| HP-UX |
# /bin/getconf KERNEL_BITS |
64 |
| Linux (x86 and Itanium) |
# grep "model name" /proc/cpuinfo |
This command displays the processor type. Verify that the processor architecture matches the Oracle software release that you want to install. |
| Solaris |
# /bin/isainfo -kv |
SPARC systems:
64-bit sparcv9 kernel modules x86 systems: 32-bit i386 kernel modules |
Depending on your operating system, see one of the following sections for information about checking the software requirements:
|
Note: The Oracle Universal Installer performs checks on your system to verify that it meets the requirements listed for your platform. To ensure that these checks pass, verify the requirements before you start the Installer. |
Check that the required software and patches are installed on the system.
Check for Required Software
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 check these requirements.
To ensure that the system meets these requirements, follow these steps:
To determine which version of AIX is installed, enter the following command:
# oslevel -r
If the operating system version is lower than AIX 5.2.0.0 Maintenance Level 1 (5200-01), upgrade your operating system to this level. AIX 5L version 5.2 maintenance packages are available from the following Web site:
http://www-912.ibm.com/eserver/support/fixes/
To determine whether the required filesets are installed and committed, enter a command similar to the following:
# lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.perfstat \ bos.perf.libperfstat bos.perf.proctools
If a fileset is not installed and committed, then install it. See your operating system or software documentation for information about installing filesets.
Check for Required Patches
Depending on the products that you intend to install, verify that the following patches are installed on the system. The procedure following the table describes how to check these requirements.
To ensure that the system meets these requirements, follow these steps:
To determine whether an APAR is installed, enter a command similar to the following:
# /usr/sbin/instfix -i -k "IY43980 IY44810 IY45462 IY45707 IY46214 IY46605 \ IY48525 IY51801 IY56024"
If an APAR is not installed, download it from the following Web site and install it:
http://www-912.ibm.com/eserver/support/fixes/
To determine whether a PTF is installed, enter a command similar to the following:
# lslpp -l -B U489726 U485561 ...
If a PTF is not installed, download it from the following Web site and install it:
http://www-912.ibm.com/eserver/support/fixes/
If you require a CSD for WebSphere MQ, see the following Web site for download and installation information:
http://www.ibm.com/software/integration/mqfamily/support/summary/aix.html
To continue completing pre-installation tasks, go to the "Create Required UNIX Groups and User" section.
Check that the required software and patches are installed on the system.
Check for Required Software
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 check these requirements.
To ensure that the system meets these requirements, follow these steps:
To determine which version of HP-UX is installed, enter the following command:
# uname -a
HP-UX hostname B.11.11 U 9000/800 109444686 unlimited-user license
In this example, the version of HP-UX 11i is 11.11.
To determine whether a bundle, product, or fileset is installed, enter a command similar to the following, where level is bundle, product, or fileset:
# /usr/sbin/swlist -l level | more
If a required bundle, product, or fileset is not installed, you must install it. See your operating system or software documentation for information about installing products.
Check for Required Patches
Depending on the products that you intend to install, 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, determine whether a more recent version is installed before installing the version listed. |
| Installation Type or Product | Requirement |
|---|---|
| All installations | Quality Pack bundle:
HP-UX 11i (11.11): HP-UX 11i Quality Pack (GOLDQPK11i), June 2003 or later: GOLDAPPS11i GOLDBASE11i HP-UX 11i v2 (11.23): None currently required |
| All installations | Patches for HP-UX 11i (11.11):
Patches for HP-UX 11i v2 (11.23):
|
| All installations | Patches for JDK on HP-UX 11i (11.11):
Note: See the following Web site for information about additional patches that might be required by JDK 1.4.2: http://www.hp.com/products1/unix/java/patches/index.html |
|
PL/SQL native compilation,
Pro*C/C++, Oracle Call Interface, Oracle C++ Call Interface, Oracle XML Developer's Kit (XDK) |
Patches for HP-UX 11i (11.11):
Patches for HP-UX 11i v2 (11.23):
|
| Oracle DCE Integration (part of Oracle Advanced Security) or Oracle Net protocol support for DCE (PA-RISC only) | Patches for HP-UX 11i (11.11):
|
| Oracle Messaging Gateway (PA-RISC only) | Corrective service diskettes (CSDs) for WebSphere MQ:
|
To ensure that the system meets these requirements, follow these steps:
On PA-RISC systems only, enter the following command to determine whether the HP-UX 11i Quality Pack is installed:
# /usr/sbin/swlist -l bundle | grep GOLD
If the Quality Pack is not installed, or if the date is before June 2003, download the latest Quality Pack from the following Web site and install it:
http://www.software.hp.com/SUPPORT_PLUS/qpk.html
To determine whether a patch is installed, enter a command similar to the following:
# /usr/sbin/swlist -l patch | grep PHSS_28880
Alternatively, to list all installed patches, enter the following command:
# /usr/sbin/swlist -l patch | more
If a required patch is not installed, download it from the following Web site and install it:
http://itresourcecenter.hp.com
If the Web site shows a more recent version of the patch, download and install that version.
If you require a CSD for WebSphere MQ, see the following Web site for download and installation information:
http://www.ibm.com/software/integration/mqfamily/support/summary/hpx.html
Create Required Symbolic Links
|
Note: This task is required only if the Motif 2.1 Development Environment package (X11MotifDevKit.MOTIF21-PRG) is not installed. |
To allow you to successfully relink Oracle products after installing this software, enter the following commands to create required X library symbolic links in the /usr/lib directory:
# cd /usr/lib # ln -s libX11.3 libX11.sl # ln -s libXIE.2 libXIE.sl # ln -s libXext.3 libXext.sl # ln -s libXhp11.3 libXhp11.sl # ln -s libXi.3 libXi.sl # ln -s libXm.4 libXm.sl # ln -s libXp.2 libXp.sl # ln -s libXt.3 libXt.sl # ln -s libXtst.2 libXtst.sl
To continue completing pre-installation tasks, go to the "Create Required UNIX Groups and User" section.
Check that the required software and patches are installed on the system.
Check for Required Software
Depending on the system architecture, verify that the software listed in one of the following tables is installed on the system:
Table 2-1, "Software Requirements for Installations on x86 Systems"
Table 2-2, "Software Requirements for Installations on Itanium Systems"
Table 2-3, "Software Requirements for Installations on zSeries Systems"
Additionally, depending on the products that you intend to install or use, verify that the software listed in Table 2-4, "Product-Specific Software Requirements for Linux Systems" is installed.
The procedure following the tables describes how to check these requirements.
Table 2-1 Software Requirements for Installations on x86 Systems
Table 2-2 Software Requirements for Installations on Itanium Systems
Table 2-3 Software Requirements for Installations on zSeries Systems
Table 2-4 Product-Specific Software Requirements for Linux Systems
To ensure that the system meets these requirements, follow these steps:
To determine which distribution and version of Linux is installed, enter the following command:
# cat /etc/issue
|
Note: Only the distributions and versions listed in the previous table are supported. Do not install the software on other versions of Linux. |
To determine whether the required kernel version is installed, enter the following command:
# uname -r
If the kernel version is lower than the required version, download and install the required version or a higher version from your Linux vendor's Web site.
To determine whether the required packages are installed, enter commands similar to the following:
# rpm -q package_name
If a package is not installed, install it from your Linux distribution media or download the required package version from your Linux vendor's Web site.
If you require a CSD for WebSphere MQ, see the following Web site for download and installation information:
http://www.ibm.com/software/integration/mqfamily/support/summary/lin.html
To continue completing pre-installation tasks, go to the "Create Required UNIX Groups and User" section.
Check that the required software and patches are installed on the system.
Check for Required Software
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 check these requirements.
| Installation Type or Product | Requirement |
|---|---|
| All installations | Operating system versions:
SPARC systems: Solaris 8 or Solaris 9, 64-bit x86 systems: Solaris 9 |
| Operating system packages:
SPARC and x86 systems: SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SPARC systems only: SUNWsprox Note: You might also require additional font packages for Java, depending on your locale. See the following Web site for more information: http://java.sun.com/j2se/1.4.2/font-requirements.html |
|
| Oracle Spatial | Motif RunTime Kit:
SUNWmfrun Note: This software is required only to build the sample programs. |
| Oracle Messaging Gateway | Oracle Messaging Gateway supports the integration of Oracle Streams Advanced Queuing (AQ) with the following software: |
|
PL/SQL native compilation,
Pro*C/C++, Oracle Call Interface, Oracle C++ Call Interface, Oracle XML Developer's Kit (XDK) |
Sun ONE Studio 8 (C and C++ 5.5) |
| 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:
Note: JDK 1.4.2_01 (SPARC) or 1.4.2_04 (x86) is installed with this release. |
| Oracle Transparent Gateway for Sybase (SPARC only) | Either of the following:
|
| Oracle Transparent Gateway for Informix (SPARC only) | One of the following:
Note: This version of the gateway does not support Informix SE. |
| Oracle Transparent Gateway for Ingres (SPARC only) | Ingres II version 2.0, 2.5, or 2.6 |
| Oracle Transparent Gateway for Teradata (SPARC only) | NCR Teradata ODBC Driver v02.04.00.00 |
To ensure that the system meets these requirements, follow these steps:
To determine which version of Solaris is installed, enter the following command:
# uname -r 5.9
In this example, the version shown is Solaris 9 (5.9). If necessary, see your operating system documentation for information about upgrading the operating system.
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. See your operating system or software documentation for information about installing packages.
Depending on the products that you intend to install, verify that the following patches are installed on the system. The procedure following the table describes how to check these requirements.
|
Note: The patch versions shown in the following table are minimum versions. Higher versions of the same patches are also supported. |
| Installation Type or Product | Requirement |
|---|---|
| All installations | Patches for Solaris 8 (SPARC only):
All of the patches included in the J2SE Patch Cluster for Solaris 8:
The following additional patches:
|
| All installations | Patches for Solaris 9 (SPARC):
Patches for Solaris 9 (x86):
|
|
PL/SQL native compilation,
Pro*C/C++, Oracle Call Interface, Oracle C++ Call Interface, Oracle XML Developer's Kit (XDK) |
Patches for Solaris 8 and Solaris 9 (SPARC):
|
| Oracle Messaging Gateway | Corrective service diskettes (CSDs) for WebSphere MQ:
SPARC systems: CSD06 or later for WebSphere MQ V5.3 x86 systems:
|
To ensure that the system meets these requirements, follow these steps:
To determine whether an operating system patch is installed, enter a command similar to the following:
# /usr/sbin/patchadd -p | grep patch_number
If an operating system patch is not installed, download it from the following Web site and install it:
http://sunsolve.sun.com
If you require a CSD or a SupportPac for WebSphere MQ or MQSeries, see the following Web site for download and installation information:
http://www.ibm.com/software/integration/mqfamily/support/summary/sun.html
To continue completing pre-installation tasks, go to the "Create Required UNIX Groups and User" section.
Check that the required software and patches are installed on the system.
Check for Required Software
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 check these requirements.
To ensure that the system meets these requirements, follow these steps:
To determine which version of Tru64 UNIX is installed, enter the following command:
# /usr/sbin/sizer -v Compaq Tru64 UNIX V5.1B (Rev. 2650); Mon Nov 3 10:13:28 PST 200
In this example, the version shown is V5.1B. If necessary, see your operating system documentation for information about upgrading the operating system.
To determine whether Java SDK 1.4.2 is installed, enter the following command:
# /usr/sbin/setld -i JAVA142 | more
If Java SDK 1.4.2 is installed, this command displays the paths to all of the installed files. Note the path of the Java home directory. You must specify this value during the installation. The default path is:
/usr/opt/java142
If this command returns the message Unknown subset, Java SDK 1.4.2 is not installed. Download Java SDK 1.4.2-3 or higher from the following Web site and install it:
http://www.compaq.com/java/download/index.html
To determine whether the required software subsets are installed, enter one of the following commands:
To view the list of all software subsets installed on the system, enter the following command:
# /usr/sbin/setld -i | more
To determine whether a particular software subset is installed, enter a command similar to the following:
# /usr/sbin/setld -i | grep subsetname
If necessary, install the required software subset. If you require the Compaq C Compiler V6.5-207 (dtk), you can download it from the following Web site:
http://www.tru64unix.compaq.com/dtk/
If you intend to use Oracle Messaging Gateway and require MQSeries classes for Java and MQSeries classes for Java Message Service (SupportPac MA88), download it from the following Web site:
http://www.ibm.com/software/integration/support/supportpacs/individual/ma88.html
Depending on the products that you intend to install, verify that the following patches are installed on the system. The procedure following the table describes how to check these requirements.
To determine whether the required patch kits are installed, enter the following command:
# /usr/sbin/dupatch -track -type kit
If this command does not display the identifiers shown in the previous table for the required patch kits (or the identifier for a higher patch kit level), download the latest patch kit from the following Web site and install it (registration is required to access this Web site):
http://itrc.hp.com/service/patch/mainPage.do
If you require a CSD for MQSeries, see the following Web site for download and installation information:
http://www.ibm.com/software/integration/mqfamily/support/summary/dig.html
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 UNIX groups and a UNIX user.
The following UNIX groups and user are required if you are installing Oracle Database:
You must create this group the first time you install Oracle Database software on the system. It identifies UNIX users that have database administrative privileges (the SYSDBA privilege). The default name for this group is dba.
If you want to specify a group name other than the default dba group, you must choose the Custom installation type to install the software or start the Installer as a user that is not a member of this group. In this case, the Installer prompts you to specify the name of this group.
This is an optional group. Create this group if you want a separate group of UNIX users to have a limited set of database administrative privileges (the SYSOPER privilege). By default, members of the OSDBA group also have the SYSOPER privilege.
If you want to specify a separate OSOPER group, other than the default dba group, you must choose the Custom installation type to install the software or start the Installer as a user that is not a member of the dba group. In this case, the Installer prompts you to specify the name of this group. The usual name chosen for this group is oper.
An unprivileged user (nobody on most platforms)
On platforms other than HP-UX, you must verify that the unprivileged user nobody exists on the system. On HP-UX systems, you must create a new unprivileged user. The nobody user, or the HP-UX user that you create, must own the external jobs (extjob) executable after the installation.
The following UNIX group and user are required for all installations:
The Oracle Inventory group (oinstall)
You must create this group the first time you install Oracle software on the system. The usual name chosen for this group is oinstall. This group owns the Oracle inventory, which is a catalog of all Oracle software installed on the system.
|
Note: If Oracle software is already installed on the system, the existing Oracle Inventory group must be the primary group of the UNIX user that you use to install new Oracle software. The following sections describe how to identify an existing Oracle Inventory group. |
The Oracle software owner user (oracle)
You must create this user the first time you install Oracle software on the system. This user owns all of the software installed during the installation. The usual name chosen for this user is oracle. This user must have the Oracle Inventory group as its primary group. It must also have the OSDBA and OSOPER groups as a secondary groups.
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: The Oracle Database Administrator's Reference for UNIX Systems and the Oracle Database Administrator's Guide contain more information about the OSDBA and OSOPER groups and the SYSDBA and SYSOPER privileges. |
The following sections describe how to create the required UNIX user and groups.
|
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 see your operating system documentation. |
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.
Determine Whether the Oracle Inventory Group Exists
When you install Oracle software on the system for the first time, the 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:
AIX, Linux x86, or Linux Itanium:
# more /etc/oraInst.loc
Other operating systems:
# more /var/opt/oracle/oraInst.loc
If the oraInst.loc file exists, 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).
Create the Oracle Inventory Group
If the oraInst.loc file does not exist, create the Oracle Inventory group as follows, depending on your operating system:
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 UNIX users database administrative privileges in a new Oracle installation
If the OSDBA group does not exist or if you require a new OSDBA group, create it as follows, depending on your operating system. In the following procedure, use the group name dba unless a group with that name already exists.
Create an OSOPER group only if you want to identify a group of UNIX 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, 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 UNIX users database operator privileges in a new Oracle installation
If you require an new OSOPER group, create it as follows, depending on your operating system. In the following procedure, use the group name oper unless a group with that name already exists.
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 UNIX user, with different group membership, to give database administrative privileges to those groups in a new Oracle Database installation
Determine Whether an Existing Oracle Software Owner User Exists
To determine whether an Oracle software owner user named oracle exists, enter one of the following commands:
Solaris:
# id -a oracle
Other operating systems:
# id oracle
If the oracle user exists, 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, determine whether you want to use the existing user or create a new user. If you want to use the existing user, 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. See one of the following sections for more information:
|
Note: If necessary, contact your system administrator before using or modifying an existing user. |
If you want to use the existing Oracle software owner user, and the user's primary group is the Oracle Inventory group, see one of the following sections:
To modify an existing user, see the "Modify an Existing Oracle Software Owner User" section.
To create a new user, see the following section.
Create a New Oracle Software Owner User
If the Oracle software owner user does not exist or if you require a new Oracle software owner user, create it as follows, depending on your operating system. In the following procedure, use the user name oracle unless a user with that name already exists.
AIX:
# smit security
Choose the appropriate menu items to create the oracle user, specifying the following information:
In the Primary GROUP field, specify the Oracle Inventory group, for example oinstall.
In the Group SET field, specify the OSDBA group and if required, the OSOPER group, for example dba or dba,oper.
|
Note: The UID for theoracle user must be less than 65536.
|
Press F10 to exit.
Set the password of the oracle user:
# passwd oracle
Other operating systems:
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
Set the password of the oracle user:
# passwd oracle
See one of the following sections to continue:
Modify 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, you can modify it as follows depending on your operating system:
AIX:
Enter the following command:
# smit security
Choose the appropriate menu items to modify the oracle user.
In the Primary GROUP field, specify the Oracle Inventory group, for example oinstall.
In the Group SET field, specify the required secondary groups, for example dba and oper.
Press F10 to exit.
Other operating systems:
Enter a command similar to the following, specifying the primary group using the -g option and any required secondary groups using the -G option:
# /usr/sbin/usermod -g oinstall -G dba[,oper] oracle
|
Note: This section applies only to HP-UX systems. If you are installing the software on a different system, see the "Verifying that the UNIX User nobody Exists" section. |
You must create a new unprivileged local user to own the extjob executable. You can use any user name for this user, but this document uses the name extjob. To create the extjob user, enter the following command:
# /usr/sbin/useradd extjob
To continue, see the "HP-UX Only: Grant Privileges to the OSDBA Group" section.
|
Note: This section does not apply to installations on HP-UX systems. |
Before installing the software, verify that the UNIX user nobody exists on the system:
To determine whether the user exists, enter the following command:
# id nobody
If this command displays information about the nobody user, you do not have to create that user.
If the nobody user does not exist, enter one of the following commands to create it:
AIX:
# smit security
Specify the appropriate options to create an unprivileged nobody user, then press F10 to exit.
Other operating systems:
# /usr/sbin/useradd nobody
|
Note: If you are installing Oracle Database on a platform other than HP-UX, go to the "Configure Kernel Parameters and Shell Limits" section. |
To enhance the performance of the software on HP-UX systems, you must grant several system privileges to the OSDBA group. Complete the following steps if you are installing the software on HP-UX:
Using any text editor, open the /etc/privgroup file, or create it if necessary.
Add or edit the following line, which begins with the name of the OSDBA group, specifying the privileges MLOCK, RTPRIO, and RTSCHED, that you want to grant to this group every time the system reboots:
dba MLOCK RTPRIO RTSCHED
Save the file and exit from the text editor.
Enter the following command to grant the privileges to the OSDBA group:
# /usr/sbin/setprivgrp -f /etc/privgroup
Enter the following command to verify that the privileges are set correctly:
# /usr/bin/getprivgrp dba
|
Note: The parameter and shell limit values shown in the following sections are recommended values only. For production database systems, Oracle recommends that you tune these values to optimize the performance of the system. See your operating system documentation for more information about tuning kernel parameters. |
Depending on your operating system, see one of the following sections for information about configuring the system kernel parameters and shell limits:
Oracle recommends that you set shell limits and system configuration parameters as described in this section.
Configure Shell Limits
Verify that the shell limits shown in the following table are set to the values shown. The procedure following the table describes how to verify and set the values.
| Shell Limit (As Shown in smit) | Recommended Value |
|---|---|
| Soft FILE size | -1 (Unlimited) |
| Soft CPU time | -1 (Unlimited)
Note: This is the default value. |
| Soft DATA segment | -1 (Unlimited) |
| Soft STACK size | -1 (Unlimited) |
To view the current value specified for these shell limits, and to change them if necessary, follow these steps:
Enter the following command:
# smit chuser
In the User NAME field, enter the user name of the Oracle software owner, for example oracle.
Scroll down the list and verify that the value shown for the soft limits listed in the previous table is -1.
If necessary, edit the existing value.
When you have finished making changes, press F10 to exit.
Configure System Configuration Parameters
Verify that the maximum number of processes allowed per user is set to 2048 or greater:
|
Note: For production systems, this value should be at least 128 plus the sum of the PROCESSES and PARALLEL_MAX_SERVERS initialization parameters for each database running on the system. |
Enter the following command:
# smit chgsys
Verify that the value shown for Maximum number of PROCESSES allowed per user is greater than or equal to 2048.
If necessary, edit the existing value.
When you have finished making changes, press F10 to exit.
To continue completing pre-installation tasks, go to the "Identify Required Software Directories" section.
|
Note: The kernel parameter values shown in this section are recommended values only. For production database systems, Oracle recommends that you tune these values to optimize the performance of the system. See your operating system documentation for more information about tuning kernel parameters. |
Verify that the kernel parameters shown in the following table are set either to the formula shown, or to values greater than or equal to the recommended value shown. The procedure following the table describes how to verify and set the values.
|
Note: If the current value for any parameter is higher than the value listed in this table, do not change the value of that parameter. |
To view the current value or formula specified for these kernel parameters, and to change them if necessary, follow these steps:
Follow these steps, depending on your platform:
PA-RISC:
Optionally, set the DISPLAY environment variable to specify the display of the local system:
Bourne, Bash, or Korn shell:
# DISPLAY=local_host:0.0 ; export DISPLAY
C shell:
# setenv DISPLAY local_host:0.0
Start System Administration Manager (SAM):
# /usr/sbin/sam
Choose the Kernel Configuration area, then choose the Configurable Parameters area.
Check the value or formula specified for each of these parameters and, if necessary, modify that value or formula.
If necessary, see the SAM online help for more information about completing this step.
|
Note: If you modify the value of a parameter that is not dynamic, you must reboot the system. |
Itanium:
Enter the following command to start the kcweb application:
# /usr/sbin/kcweb -F
Check the value or formula specified for each of these parameters and, if necessary, modify that value or formula.
If necessary, see the kcweb online help for more information about completing this step.
|
Note: If you modify the value of a parameter that is not dynamic, you must reboot the system. |
If necessary, when the system restarts, log in and switch user to root.
To continue completing pre-installation tasks, go to the "Identify Required Software Directories" section.
Verify that the kernel parameters shown in the following table are set to values greater than or equal to the recommended value shown. The procedure following the table describes how to verify and set the values.
|
Note: If the current value for any parameter is higher than the value listed in this table, do not change the value of that parameter. |
To view the current value specified for these kernel parameters, and to change them if necessary, follow these steps:
Enter the commands shown in the following table to view the current values of the kernel parameters:
|
Note: Make a note of the current 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
|
| file-max | # /sbin/sysctl -a | grep file-max
|
| ip_local_port_range | # /sbin/sysctl -a | grep ip_local_port_range
This command displays a range of port numbers. |
If the value of any kernel parameter is different to the recommended value, complete the following steps:
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 that you want to change. For the semaphore parameters (kernel.sem), you must specify all four values. However, if any of the current values are larger than the recommended value, specify the larger value.
|
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000
By specifying the values in the /etc/sysctl.conf file, they persist when you reboot the system.
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.
On SUSE systems only, enter the following command to cause the system to read the /etc/sysctl.conf file when it reboots:
# /sbin/chkconfig boot.sysctl on
Set Shell Limits for the oracle User
To improve the performance of the software on Linux systems, you must increase the following shell limits for the oracle user:
| Shell Limit | Item in limits.conf | Hard Limit |
|---|---|---|
| Maximum number of open file descriptors | nofile
|
65536 |
| Maximum number of processes available to a single user | nproc
|
16384 |
Add the following lines to /etc/security/limits.conf file:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
Add or edit the following line in the /etc/pam.d/login file, if it does not already exist:
session required /lib/security/pam_limits.so
Depending on the oracle user's default shell, make the following changes to the default shell start-up file:
For the Bourne, Bash, or Korn shell, add the following lines to the /etc/profile file (or the /etc/profile.local file on SUSE systems):
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
For the C shell (csh or tcsh), add the following lines to the /etc/csh.login file (or the /etc/csh.login.local file on SUSE systems):
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif
To continue completing pre-installation tasks, go to the "Identify Required Software Directories" section.
Verify that the kernel parameters shown in the following table are set to values greater than or equal to the recommended value shown. The procedure following the table describes how to verify and set the values.
| Parameter | Recommended Value |
|---|---|
| noexec_user_stack (SPARC only) | 1 |
| semsys:seminfo_semmni | 100 |
| semsys:seminfo_semmns | 1024 |
| semsys:seminfo_semmsl | 256 |
| semsys:seminfo_semvmx | 32767 |
| shmsys:shminfo_shmmax | 4294967295 |
| shmsys:shminfo_shmminFoot 1 | 1 |
| shmsys:shminfo_shmmni | 100 |
| shmsys:shminfo_shmsegFootref 1 | 10 |
|
Note: If the current value for any parameter is higher than the value listed in this table, do not change the value of that parameter. |
To view the current value specified for these kernel parameters, and to change them if necessary, follow these steps:
To view the current values of these parameters, enter the following commands:
# grep noexec_user_stack /etc/system # /usr/sbin/sysdef | grep SEM # /usr/sbin/sysdef | grep SHM
If you must change any of the current values, follow these steps:
Create a backup copy of the /etc/system file, for example:
# cp /etc/system /etc/system.orig
Open the /etc/system file in any text editor and, if necessary, add lines similar to the following (edit the lines if the file already contains them):
set noexec_user_stack=1 set semsys:seminfo_semmni=100 set semsys:seminfo_semmns=1024 set semsys:seminfo_semmsl=256 set semsys:seminfo_semvmx=32767 set shmsys:shminfo_shmmax=4294967295 set shmsys:shminfo_shmmin=1 set shmsys:shminfo_shmmni=100 set shmsys:shminfo_shmseg=10
Enter the following command to reboot the system:
# /usr/sbin/reboot
When the system restarts, log in and switch user to root.
To continue completing pre-installation tasks, go to the "Identify Required Software Directories" section.
Verify that the kernel subsystem attributes shown in the following table are set to values greater than or equal to the recommended value shown. The procedure following the table describes how to verify and set the values.
| Subsystem | Attribute | Recommended Value |
|---|---|---|
| ipc | shm_max | 4278190080 (4 GB minus 16 MB) |
| shm_min | 1 | |
| shm_mni | 256 | |
| shm_seg | 256 | |
| ssm_threshold | Set this attribute to 0 only if the rad_gh_regions[n] or gh_chunks attributes are set in the vm subsystem. Otherwise, do not change the value. | |
| proc | exec_disable_arg_limit | 1 |
| per_proc_stack_size | 8388608 (8 MB)Foot 1 | |
| max_per_proc_stack_size | 33554432 (32 MB)Footref 1 | |
| per_proc_data_size | 335544320 (320MB) | |
| max_per_proc_data_size | 335544320 (320MB) | |
| max_per_proc_address_space | Equal to the size of RAM or 1073741824 (1 GB), whichever is larger. | |
| per_proc_address_space | Equal to the size of RAM or 1073741824 (1 GB), whichever is larger. | |
| rdg | msg_size | 32768 |
| max_objs | 5120 | |
| max_async_req | 256 | |
| max_sessions | 500 (or at least 20 plus the value of the PROCESSES initialization parameter for all databases on the system, if this value is higher.) | |
| rdg_max_auto_msg_wires | 0 | |
| rdg_auto_msg_wires | 0 | |
| rt | aio_task_max_num | 8193 |
| vfs | fifo_do_adaptive | 0 |
| vm | new_wire_method | 0 |
|
Note: If the current value for any kernel subsystem attribute is higher than the value listed in this table, except for the attributes with a recommended value of 0, do not change the value of that attribute. |
To view the current value specified for these kernel subsystem attributes, and to change them if necessary, follow these steps:
To view the current values of the subsystem attributes, enter commands similar to the following:
# /sbin/sysconfig -q subsystem
For example, to view attribute values for the ipc subsystem, enter the following command:
# /sbin/sysconfig -q ipc
If you must change any of the current values, follow these steps:
Create a backup copy of the /etc/sysconfigtab file, for example:
# cp /etc/sysconfigtab /etc/sysconfigtab.orig
Using any text editor, create a file similar to the following, specifying the subsystems and attributes that you want to modify:
ipc:
shm_max = 4278190080
shm_min = 1
shm_mni = 256
shm_seg = 128
proc:
exec_disable_arg_limit = 1
per_proc_stack_size = 8388608
max_per_proc_stack_size = 33554432
per_proc_data_size = 335544320
max_per_proc_data_size = 335544320
max_per_proc_address_space = 4294967296
per_proc_address_space = 4294967296
Enter a command similar to the following to add the subsystem attributes to the /etc/sysconfigtab file:
# /sbin/sysconfigdb -m -f filename
In this example, filename is the name of the file you created in step b.
Enter the following command to reboot the system:
# /sbin/shutdown -r now
When the system restarts, log in and switch user to root.
You must identify or create three directories for the Oracle software, as follows:
Oracle base directory
Oracle Inventory directory
Oracle home directory
The following subsections describe the requirements for these directories.
The Oracle base directory acts as a top-level directory for Oracle software installations. It is analogous to the C:\Oracle directory used for Oracle software installations on Windows systems. On UNIX 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
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, /oracle or /opt/oracle for example.
oracle_sw_owner is the UNIX 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 UNIX users install Oracle software on the same system, 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 might be suitable for your installation and how to create a new Oracle base directory if necessary.
Regardless of whether you create a new 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.
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, the Installer prompts you to specify the path to this directory. Oracle recommends that you choose the following path:
oracle_base/oraInventory
The Installer creates the directory that you specify and sets the correct owner, group, and permissions on it. You do not need to create it.
|
Note: All Oracle software installations rely on this directory. Make sure that you back it up regularly.Do not delete this directory unless you have completely removed all Oracle software from the system. |
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 the 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.1.0/db_1
The 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.
Before starting the installation, you must either identify an existing Oracle base directory or if required, create a new one. This section contains information about the following:
|
Note: You can choose to create a new Oracle base directory, even if other Oracle base directories exist on the system. |
Identifying an Existing Oracle Base Directory
Existing Oracle base directories might not have paths that comply with OFA guidelines. However, if you identify an existing Oracle Inventory directory or existing Oracle home directories, you can usually identify the Oracle base directories, as follows:
Identify an existing Oracle Inventory directory
Enter the following command to view the contents of the oraInst.loc file:
AIX, Linux x86, or Linux Itanium:
# more /etc/oraInst.loc
Other operating systems:
# more /var/opt/oracle/oraInst.loc
If the oraInst.loc file exists, 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.
Identify existing Oracle home directories
Enter the following command to view the contents of the oratab file:
Solaris:
# more /var/opt/oracle/oratab
Other operating systems:
# more /etc/oratab
If the oratab file exists, it contains lines similar to the following:
*:/u03/app/oracle/product/10.1.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, 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, make sure 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:
To determine the free disk space on the file system where the Oracle base directory is located, enter the following command:
HP-UX:
# bdf oracle_base_path
Other operating systems:
# df -k oracle_base_path
To continue:
If an Oracle base directory exists and you want to use it, see the "Create Directories for Oracle Database or Recovery Files" section.
When you are configuring 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 a new Oracle base directory, see the following section.
Creating a New Oracle Base Directory
Before you create a new Oracle base directory, you must identify an appropriate file system with sufficient free disk space, as follows:
To identify an appropriate file system, follow these steps:
Use the df -k command (or bdf command on HP-UX) to determine the free disk space on each mounted file system.
From the display, identify a file system that has appropriate 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.
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, follow these steps:
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
If the mount point you identified is /u01 and oracle is the user name of the Oracle software owner, the recommended Oracle base directory path is as follows:
/u01/app/oracle
When you are configuring the oracle user's environment later in this chapter, set the ORACLE_BASE environment variable to specify this directory.
The following table shows the storage options supported for storing Oracle database files and Oracle database recovery files. Oracle database files include datafiles, 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, 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.
| 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:
You can choose any combination of the supported storage options for each file type.
Oracle recommends that you choose ASM as the storage option for database and recovery files.
For more information about these storage options, see the "Database Storage Options" section.
For information about how to configure disk storage before you start the installation, see one of the following sections depending on your choice:
To use a file system for database or recovery file storage, see the "Create Directories for Oracle Database or Recovery Files" section.
To use ASM for database or recovery file storage, see the "Configure Disks for Automatic Storage Management" section.
To use raw devices (partitions or logical volumes) for database file storage, see the "Configure Raw Devices" section.
If you decide to place the Oracle database or recovery files on a file system, use the following guidelines when deciding where to place them.
Guidelines for Placing Oracle Database Files on a File System
If you choose to place the Oracle database files on a file system, use the following guidelines when deciding where to place them:
The default path suggested by the Installer for the database file directory is a subdirectory of the Oracle base directory.
This default location is not recommended for production databases.
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, 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, choose file systems on separate physical devices that are dedicated to the database.
This method allows you to distribute physical I/O and create separate control files on different devices for increased reliability. It also allows 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, 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.
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, 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 ASM disk group with a normal or high redundancy level for either or both file types. |
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, 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.
For more information about sizing the flash recovery area, see the Oracle Backup and Recovery Basics manual.
The default path suggested by the 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.
|
Note: You must complete 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, follow these steps:
If necessary, configure the file systems that you want to use and mount them on each node.
Use the df -k command (or bdf command on HP-UX) to determine the free disk space on each mounted file system.
From the display, identify the file systems that you want to use:
| File Type | File System Requirements |
|---|---|
| Database files | Choose either:
|
| Recovery files | Choose a file system with at least 2 GB of free disk space. |
If you are using the same file system for more than one type of file, add the disk space requirements for each type to determine the total disk space requirement.
Note the names of the mount point directories for the file systems that you identified.
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
If you also want to use ASM or raw devices for storage, see one of the following sections:
Otherwise, see the "Stop Existing Oracle Processes" section.
This section describes how to configure disks for use with ASM. 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:
|
Note: Although this section refers to disks, you can also use zero-padded files on a certified NAS storage device in an ASM disk group. See Appendix C for information about creating and configuring NAS-based files for use in an ASM disk group. |
To identify the storage requirements for using ASM, you must determine how many devices and the amount of free disk space that you require. To complete this task, follow these steps:
Determine whether you want to use ASM for Oracle database files, recovery files, or both.
|
Note: You do not have to use the same storage mechanism for database files and recovery files. You can use the file system for one file type and ASM for the other. |
If you enable automated backups during the installation, you can choose ASM as the storage mechanism for recovery files by specifying an ASM 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 DBCA in interactive mode, by choosing the Advanced database configuration option for example, you can decide whether you want to use the same ASM disk group for database files and recovery files, or you can choose to use different disk groups for each file type.
The same choice is available to you if you use DBCA after the installation to create a database.
If you select an installation method that runs DBCA in non-interactive mode, you must use the same ASM disk group for database files and recovery files.
Choose the ASM redundancy level that you want to use for the ASM disk group.
The redundancy level that you choose for the ASM disk group determines how ASM 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.
Because ASM does not mirror data in an external redundancy disk group, Oracle recommends that you use only RAID or similar devices that provide their own data protection mechanisms as disk devices in this type of disk group.
Normal redundancy
In a normal redundancy disk group, ASM uses two-way mirroring by default, to increase performance and reliability. A normal redundancy disk group requires a minimum of two disk devices (or two failure groups). 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
In a high redundancy disk group, ASM uses three-way mirroring to increase performance and provide the highest level of reliability. A high redundancy disk group requires a minimum of three disk devices (or three failure groups). The effective disk space in a high redundancy disk group is one-third the sum of the disk space in all of its devices.
While high redundancy disk groups do provide a high level of data protection, you must consider the higher cost of additional storage devices before deciding to use this redundancy level.
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 | Database 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, 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 section describes how to identify existing disk groups and determine the free disk space that they contain.
Optionally identify failure groups for the ASM disk group devices.
|
Note: You need to complete this step only if you intend to use an installation method that runs DBCA 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, you can further protect your database against hardware failure by associating a set of disk devices in a custom failure group. By default, each device comprises its own failure group. However, if two disk devices in a normal redundancy disk group are attached to the same SCSI controller, the disk group becomes unavailable if the controller fails. The controller in this example is a single point of failure.
To protect against failures of this type, you could 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, you must specify a minimum of two failure groups for normal redundancy disk groups and three failure groups for high redundancy disk groups. |
If you are sure that a suitable disk group does not exist on the system, install or identify appropriate disk devices to add to a new disk group. Use the following guidelines when identifying appropriate disk devices:
All of the devices in an ASM 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. ASM expects each disk group device to be on a separate physical disk.
Although you can specify a logical volume as a device in an ASM disk group, Oracle does not recommend their use. Logical volume managers can hide the physical disk architecture, preventing ASM from optimizing I/O across the physical devices.
For information about completing this task, see the "Configuring Disks for ASM" section.
If you want to store either database or recovery files in an existing ASM disk group, you have the following choices, depending on the installation method that you select:
If you select an installation method that runs DBCA in interactive mode, by choosing the Advanced database configuration option for example, you can decide whether you want to create a new disk group or use an existing one.
The same choice is available to you if you use DBCA after the installation to create a database.
If you select an installation method that runs DBCA in non-interactive mode, you must choose an existing disk group for the new database; you cannot create a new 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 ASM 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:
View the contents of the oratab file to determine whether an ASM instance is configured on the system:
Solaris:
# more /var/opt/oracle/oratab
Other operating systems:
# more /etc/oratab
If an ASM instance is configured on the system, 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.
Set the ORACLE_SID and ORACLE_HOME environment variables to specify the appropriate values for the ASM instance that you want to use.
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
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;
From the output, identify a disk group with the appropriate redundancy level and note the free space that it contains.
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, Oracle recommends that you use devices that have the same size and performance characteristics as the existing devices in that disk group. |
The following sections describe how to configure the disks that you want to use in an ASM disk group. It includes information about the following:
To configure disks for use with ASM on AIX, follow these steps:
If necessary, install the disks that you intend to use for the ASM disk group and reboot the system.
To make sure that the disks are available, enter the following command:
# /usr/sbin/lsdev -Cc disk
The output from this command is similar to the following:
hdisk0 Available 1A-09-00-8,0 16 Bit LVD SCSI Disk Drive hdisk1 Available 1A-09-00-9,0 16 Bit LVD SCSI Disk Drive hdisk2 Available 17-08-L SSA Logical Disk Drive
If a disk is not listed as available, enter the following command to configure the new disks:
# /usr/sbin/cfgmgr
Enter the following command to identify the device names for the physical disks that you want to use:
# /usr/sbin/lspv | grep -i none
This command displays information similar to the following for each disk that is not configured in a volume group:
hdisk2 0000078752249812 None
In this example, hdisk2 is the device name of the disk and 0000078752249812 is the physical volume ID (PVID). The disks that you want to use might have a PVID, but they must not belong to a volume group.
Enter commands similar to the following to clear the PVID from each disk device that you want to use:
# /usr/sbin/chdev -l hdiskn -a pv=clear
Enter commands similar to the following to change the owner, group, and permissions on the character raw device file for each disk that you want to add to the disk group:
# chown oracle:dba /dev/rhdiskn # chmod 660 /dev/rhdiskn
|
Note: If you are using a multi-pathing disk driver with ASM, make sure that you set the permissions only on the correct logical device name for the disk. |
If you also want to use raw devices for storage, see the "Configure Raw Devices" section.
Otherwise, see the "Stop Existing Oracle Processes" section.
To configure disks for use with ASM on HP-UX, follow these steps:
If necessary, install the disks that you intend to use for the ASM disk group.
To make sure that the disks are available, enter the following command:
# /usr/sbin/ioscan -fun -C disk
The output from this command is similar to the following:
Class I H/W Path Driver S/W State H/W Type Description
==========================================================================
disk 0 0/0/1/0.6.0 sdisk CLAIMED DEVICE HP DVD-ROM 6x/32x
/dev/dsk/c0t6d0 /dev/rdsk/c0t6d0
disk 1 0/0/1/1.2.0 sdisk CLAIMED DEVICE SEAGATE ST39103LC
/dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
This command displays information about each disk attached to the system, including the block device name (/dev/dsk/cxtydz) and the character raw device name (/dev/rdsk/cxtydz).
If the ioscan command does not display device name information for a device that you want to use, enter the following command to install the special device files for any new devices:
# /usr/sbin/insf -e
For each disk that you want to add to a disk group, enter the following command to verify that it is not already part of an LVM volume group:
# /sbin/pvdisplay /dev/dsk/cxtydz
If this command displays volume group information, the disk is already part of a volume group. The disks that you choose must not be part of an LVM volume group.
|
Note: If you are using different volume management software, for example VERITAS Volume Manager, see the appropriate documentation for information about verifying that a disk is not in use. |
Enter commands similar to the following to change the owner, group, and permissions on the character raw device file for each disk that you want to add to a disk group:
# chown oracle:dba /dev/rdsk/cxtydz # chmod 660 /dev/rdsk/cxtydz
|
Note: If you are using a multi-pathing disk driver with ASM, make sure that you set the permissions only on the correct logical device name for the disk. |
If you also want to use raw devices for storage, see the "Configure Raw Devices" section.
Otherwise, see the "Stop Existing Oracle Processes" section.
On Linux systems, Oracle provides an ASM library driver that you can use to simplify the configuration and management of the disk devices that you want to use with ASM. If you intend to use ASM for database storage on Linux, Oracle recommends that you install the ASM library driver and associated utilities and use them to configure the devices that you want to include in an ASM disk group. If you do not use the ASM library driver, you must bind each disk device that you want to use to a raw device. The following sections describe how to configure disks using each method:
|
Note: If you choose to configure disks using the ASM library driver, you must use Database Configuration Assistant (DBCA) in interactive mode to create the database. You can run DBCA in interactive mode by choosing the Custom installation type or the Advanced database configuration option. You must also change the default disk discovery string toORCL:*.
|
To use the ASM library driver to configure ASM devices, complete the following tasks.
Install and Configure the ASM Library Driver Software
To install and configure the ASM library driver software, follow these steps:
Enter the following command to determine the kernel version and architecture of the system:
# uname -rm
If necessary, download the required ASM library driver packages from the OTN Web site:
http://www.oracle.com/technology/software/tech/linux/asmlib/index.html
|
Note: For release 10.1.0.3, ASM library driver packages for some kernel versions are available on the Oracle Database CD-ROM in theRPMS/asmlib directory and on the DVD-ROM in the db/RPMS/asmlib directory. However, Oracle recommends that you check the OTN Web site for the most up-to-date packages.
|
You must install the following three packages, where version is the version of the ASM library driver, arch is the system architecture, and kernel is the version of the kernel that you are using:
oracleasm-support-version.arch.rpm oracleasm-kernel-version.arch.rpm oracleasmlib-version.arch.rpm
Switch user to the root user:
$ su -
Enter a command similar to the following to install the packages:
# rpm -Uvh oracleasm-support-version.arch.rpm \ oracleasm-kernel-version.arch.rpm \ oracleasmlib-version.arch.rpm
For example, if you are using the Red Hat Enterprise Linux AS 2.1 enterprise kernel on an x86 system, enter a command similar to the following:
# rpm -Uvh oracleasm-support-1.0.0-1.i386.rpm \
oracleasm-2.4.9-e-enterprise-1.0.0-1.i686.rpm \
oracleasmlib-1.0.0-1.i386.rpm
Enter a command similar to the following to determine the UID of the Oracle software owner user that you are using for this installation (typically oracle) and the GID of the OSDBA group (typically dba):
# id oracle
Enter the following command to run the oracleasm initialization script with the configure option:
# /etc/init.d/oracleasm configure
Enter the following information in response to the prompts that the script displays:
| Prompt | Suggested Response |
|---|---|
| Default UID to own the driver interface: | Specify the UID of the Oracle software owner user (oracle).
|
| Default GID to own the driver interface: | Specify the GID of the OSDBA group (dba).
|
| Start Oracle ASM Library driver on boot (y/n): | Enter y to start the Oracle ASM library driver when the system starts.
|
The script completes the following tasks:
Creates the /etc/sysconfig/oracleasm configuration file
Creates the /dev/oracleasm mount point
Loads the oracleasm kernel module
Mounts the ASM library driver file system
|
Note: The ASM library driver file system is not a regular file system. It is used only by the ASM library to communicate with the ASM driver. |
Configure the Disk Devices to Use the ASM Library Driver
To configure the disk devices that you want to use in an ASM disk group, follow these steps:
If you intend to use IDE, SCSI, or RAID devices in the ASM disk group, follow these steps:
If necessary, install or configure the disk devices that you intend to use for the disk group and reboot the system.
To identify the device name for the disks that you want to use, enter the following command:
# /sbin/fdisk -l
Depending on the type of disk, the device name can vary:
To include devices in a disk group, you can specify either whole-drive device names or partition device names.
|
Note: On Linux systems, Oracle recommends that you create a single whole-disk partition on each disk that you want to use. |
Use either fdisk or parted to create a single whole-disk partition on the disk devices that you want to use.
On zSeries Linux only, if you intend to use direct access storage devices (DASDs), follow these steps:
If necessary, install or configure the DASDs that you intend to use for the disk group and reboot the system.
Enter the following command to identify the DASDs configured on the system:
# more /proc/dasd/devices
The output from this command contains lines similar to the following:
0302(ECKD) at ( 94: 48) is dasdm : active at blocksize: 4096, 540000 blocks, 2109 MB
These lines display the following information for each DASD:
The device number (0302)
The device type (ECKD or FBA)
The Linux device major and minor numbers (94: 48)
The Linux device file name (dasdm)
In general, DASDs have device names in the form dasdxxxx, where xxxx is between one and four letters that identify the device.
The block size and size of the device
From the display, identify the devices that you want to use.
If you want to use FBA type DASDs, go to step 3.
You do not have to format FBA type DASDs in Linux. The device name for the single whole-disk partition for FBA type DASDs is /dev/dasdxxxx1.
If you want to use ECKD type DASDs, enter a command similar to the following to format the DASD, if it is not already formatted:
# /sbin/dasdfmt -b 4096 -f /dev/dasdxxxx
|
Caution: Formatting a DASD destroys all existing data on the device. Make sure that:
|
This command formats the DASD with a block size of 4 KB and the compatible disk layout (default), which enables you to create up to three partitions on the DASD.
Alternatively, you could use the -d ldl option to format the DASD using the Linux disk layout if you require only a single partition. If you use this disk layout, the partition device name for the DASD is /dev/dasdxxxx1.
If you formatted the DASD with the compatible disk layout, enter a command similar to the following to create a single whole-disk partition on the device:
# /sbin/fdasd -a /dev/dasdxxxx
The device name for the single whole-disk partition for the DASDs is /dev/dasdxxxx1
Enter a command similar to the following to mark a disk as an ASM disk:
# /etc/init.d/oracleasm createdisk DISK1 /dev/sdb1
In this example, DISK1 is a name that you want to assign to the disk.
|
Note: The disk names that you specify can contain uppercase letters, numbers, and the underscore character. They must start with an uppercase letter.If you are using a multi-pathing disk driver with ASM, make sure that you specify the correct logical device name for the disk. |
|
Note: To create a database during the installation using the ASM library driver, you must choose an installation method that runs DBCA in interactive mode, for example by choosing the Custom installation type or the Advanced database configuration option. You must also change the default disk discovery string toORCL:*.
|
Administer the ASM Library Driver and Disks
To administer the ASM library driver and disks, use the oracleasm initialization script with different options, as follows:
| Option | Description |
|---|---|
configure |
Use the configure option to reconfigure the ASM library driver, if necessary:
# /etc/init.d/oracleasm configure |
enable disable |
Use the disable and enable options to change the behavior of the ASM library driver when the system boots. The enable option causes the ASM library driver to load when the system boots:
# /etc/init.d/oracleasm enable |
start stop restart |
Use the start, stop, and restart options to load or unload the ASM library driver without rebooting the system:
# /etc/init.d/oracleasm restart |
createdisk |
Use the createdisk option to mark a disk device for use with the ASM library driver and give it a name:
# /etc/init.d/oracleasm createdisk DISKNAME devicename |
deletedisk |
Use the deletedisk option to unmark a named disk device:
# /etc/init.d/oracleasm deletedisk DISKNAME
Caution: Do not use this command to unmark disks that are being used by an ASM disk group. You must drop the disk from the ASM disk group before you unmark it. |
querydisk |
Use the querydisk option to determine whether a disk device or disk name is being used by the ASM library driver:
# /etc/init.d/oracleasm querydisk {DISKNAME | devicename}
|
listdisks |
Use the listdisks option to list the disk names of marked ASM library driver disks:
# /etc/init.d/oracleasm listsdisks |
scandisks |
Use the scandisks option to enable cluster nodes to identify which shared disks have been marked as ASM library driver disks on another node:
# /etc/init.d/oracleasm scandisks |
|
Note: For improved performance and easier administration, Oracle recommends that you use the ASM library driver rather than raw devices to configure ASM disks. |
To configure disks for ASM using raw devices, follow these steps:
If you intend to use IDE, SCSI, or RAID devices in the ASM disk group, follow these steps:
If necessary, install or configure the disk devices that you intend to use for the disk group and reboot the system.
To identify the device name for the disks that you want to use, enter the following command:
# /sbin/fdisk -l
Depending on the type of disk, the device name can vary:
To include devices in a disk group, you can specify either whole-drive device names or partition device names.
|
Note: On Linux systems, Oracle recommends that you create a single whole-disk partition on each disk that you want to use. |
Use either fdisk or parted to create a single whole-disk partition on the disk devices that you want to use.
On zSeries Linux only, if you intend to use direct access storage devices (DASDs), follow these steps:
If necessary, install or configure the DASDs that you intend to use for the disk group and reboot the system.
Enter the following command to identify the DASDs configured on the system:
# more /proc/dasd/devices
The output from this command contains lines similar to the following:
0302(ECKD) at ( 94: 48) is dasdm : active at blocksize: 4096, 540000 blocks, 2109 MB
These lines display the following information for each DASD:
The device number (0302)
The device type (ECKD or FBA)
The Linux device major and minor numbers (94: 48)
The Linux device file name (dasdm)
In general, DASDs have device names in the form dasdxxxx, where xxxx is between one and four letters that identify the device.
The block size and size of the device
From the display, identify the devices that you want to use.
If you want to use FBA type DASDs, go to step 3.
You do not have to format FBA type DASDs in Linux. The device name for the single whole-disk partition for FBA type DASDs is /dev/dasdxxxx1.
If you want to use ECKD type DASDs, enter a command similar to the following to format the DASD, if it is not already formatted:
# /sbin/dasdfmt -b 4096 -f /dev/dasdxxxx
|
Caution: Formatting a DASD destroys all existing data on the device. Make sure that:
|
This command formats the DASD with a block size of 4 KB and the compatible disk layout (default), which enables you to create up to three partitions on the DASD.
Alternatively, you could use the -d ldl option to format the DASD using the Linux disk layout if you require only a single partition. If you use this disk layout, the partition device name for the DASD is /dev/dasdxxxx1.
If you formatted the DASD with the compatible disk layout, enter a command similar to the following to create a single whole-disk partition on the device:
# /sbin/fdasd -a /dev/dasdxxxx
The device name for the single whole-disk partition for the DASDs is /dev/dasdxxxx1
On Red Hat systems, complete the following steps to bind the disk devices to raw devices:
To determine what raw devices are already bound to other devices, enter the following command:
# /usr/bin/raw -qa
Raw devices have device names in the form /dev/raw/rawn, where n is a number that identifies the raw device.
For each device that you want to include in the disk group, identify a raw device name that is unused.
Open the /etc/sysconfig/rawdevices file in any text editor and add a line similar to the following for each device that you want to include in a disk group:
/dev/raw/raw1 /dev/sdb1
|
Note: If you are using a multi-pathing disk driver with ASM, make sure that you specify the correct logical device name for the disk. |
Specify an unused raw device for each disk device.
For each raw device that you specified in the rawdevices file, enter commands similar to the following to set the owner, group, and permissions on the device file:
# chown oracle:dba /dev/raw/rawn # chmod 660 /dev/raw/rawn
To bind the disk devices to the raw devices, enter the following command:
# /sbin/service rawdevices restart
The system automatically binds the devices listed in the rawdevices file when it reboots.
On SUSE systems, complete the following steps to bind the disk devices to raw devices:
To determine what raw devices are already bound to other devices, enter the following command:
# /usr/sbin/raw -qa
Raw devices have device names in the form /dev/raw/rawn, where n is a number that identifies the raw device.
For each device that you want to include in the disk group, identify a raw device name that is unused.
Open the /etc/raw file in any text editor and add a line similar to the following for each device that you want to include in a disk group:
raw1:sdb1
|
Note: If you are using a multi-pathing disk driver with ASM, make sure that you specify the correct logical device name for the disk. |
Specify an unused raw device for each disk device.
For each raw device that you specified in the /etc/raw file, enter commands similar to the following to set the owner, group, and permissions on the device file:
# chown oracle:dba /dev/raw/rawn # chmod 660 /dev/raw/rawn
To bind the disk devices to the raw devices, enter the following command:
# /etc/init.d/raw start
To ensure that the raw devices are bound when the system reboots, enter the following command:
# /sbin/chkconfig raw on
If you also want to use raw devices for storage, see the "Configure Raw Devices" section.
Otherwise, see the "Stop Existing Oracle Processes" section.
To configure disks for use with ASM on Solaris, follow these steps:
If necessary, install the disks that you intend to use for the disk group and reboot the system.
On SPARC systems only, enter the following commands to identify devices that are part of a logical volume manager (LVM) disk group:
# vxdiskconfig # /usr/sbin/vxdisk list
If this command displays disk group information associated with a disk device, the disk is already part of an LVM disk group. Do not use disks that are part of an LVM disk group.
To create or identify the disk slices (partitions) that you want to include in the ASM disk group, follow these steps:
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).
Enter the number corresponding to the disk that you want to use.
On x86 systems only, 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 a new fdisk partition, you must label the disk before continuing.
Enter the partition command, followed by the print command to display the partition table for the disk that you want to use.
If necessary, create a single whole-disk slice, starting at cylinder 1.
|
Note: To prevent ASM from overwriting the partition table, you cannot use slices that start at cylinder 0 (for example, slice 2). |
Make a note of the number of the slice that you want to use.
If you modified a partition table or created a new one, enter the label command to write the partition table and label to the disk.
Enter q to return to the format menu.
If you have finished creating slices, 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.
If you plan to use existing slices, 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.
Enter commands similar to the following 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 ASM, make sure that you set the permissions only on the correct logical device name for the disk. |
If you also want to use raw devices for storage, see the "Configure Raw Devices" section.
Otherwise, see the "Stop Existing Oracle Processes" section.
To configure disks for use with ASM on Tru64 UNIX, follow these steps:
If necessary, install the disks that you intend to use for the disk group and reboot the system.
To make sure that the disks are available, enter the following command:
# file /dev/rdisk/dsk*c
The output from this command is similar to the following:
/dev/rdisk/dsk0c: character special (19/38) SCSI #1 "RZ1CB-CA" disk #2
(SCSI ID #1) (SCSI LUN #0)
/dev/rdisk/dsk10c: character special (19/218) SCSI #2 "RZ1DB-CS" disk #4
(SCSI ID #2) (SCSI LUN #0)
/dev/rdisk/dsk11c: character special (19/234) SCSI #2 "RZ1DB-CS" disk #5
(SCSI ID #3) (SCSI LUN #0)
/dev/rdisk/dsk12c: character special (19/250) SCSI #2 "RZ1DB-CS" disk #6
(SCSI ID #4) (SCSI LUN #0)
This command displays information about each disk attached to the system, including the raw character device name for partition c, which represents the entire disk (/dev/rdisk/dsknc).
From the list, identify the device names for the disk devices that you want to add to a disk group.
To determine whether the disk is unused, enter a command similar to the following:
# /sbin/disklabel dskn
This command displays information about the partitions on the disk, and identifies whether they are in use.
Enter the following command to verify that the device you identified is not used in an AdvFS domain:
# ls /etc/fdmns/*/*
This command displays information about the devices included in AdvFS domains in the following format, identifying the domains and the disks associated with each domain:
/etc/fdmns/domain_name/dsknp
In this example, domain_name is the name of the domain, n is the disk number, and p is the partition letter.
Enter the following command to verify that the device is not mounted as a UFS file system:
# /sbin/mount
The device that you want to add to the ASM disk group must not be listed in the output.
Enter the following command to verify that the device you identified is not already part of a Tru64 UNIX Logical Storage Manager (LSM) disk group:
# /sbin/voldisk list
Disks listed without DISK and GROUP names, and with a status of unknown are not LSM disks.
Enter commands similar to the following to change the owner, group, and permissions on the character raw device file for each disk that you want to add to a disk group:
# chown oracle:dba /dev/rdisk/rdsknc # chmod 660 /dev/rdisk/rdsknc
In this example, the device name specifies partition c, which represents the entire disk.
|
Note: If you are using a multi-pathing disk driver with ASM, make sure that you set the permissions only on the correct logical device name for the disk. |
To continue, see the "Stop Existing Oracle Processes" section.
Depending on your operating system, see one of the following sections for information about configuring raw devices:
The following subsections describe how to configure or raw logical volumes on AIX.
To create a volume group for the Oracle database files, follow these steps:
If necessary, install the disks that you intend to use.
To make sure that the disks are available, enter the following command:
# /usr/sbin/lsdev -Cc disk
The output from this command is similar to the following:
hdisk0 Available 1A-09-00-8,0 16 Bit LVD SCSI Disk Drive hdisk1 Available 1A-09-00-9,0 16 Bit LVD SCSI Disk Drive hdisk2 Available 17-08-L SSA Logical Disk Drive
If a disk is not listed as available, enter the following command to configure the new disks:
# /usr/sbin/cfgmgr
Enter the following command to identify the device names and any associated volume group for each disk:
# /usr/sbin/lspv
The output from this command is similar to the following:
hdisk0 0000078752249812 rootvg hdisk1 none none hdisk4 00034b6fd4ac1d71 ccvg1
For each disk, this command shows:
The disk device name
Either the 16 character physical volume identifier (PVID) if the disk has one, or none
Either the volume group to which the disk belongs, or none
The disks that you want to use might have a PVID, but they must not belong to existing volume groups.
If a disk that you want to use for the volume group does not have a PVID, enter a command similar to the following to assign one to it:
# /usr/sbin/chdev -l hdiskn -a pv=yes
To identify used device major numbers, enter the following command:
# ls -la /dev | more
This command displays information about all configured devices, similar to the following:
crw-rw---- 1 root system 45, 0 Jul 19 11:56 vg1
In this example, 45 is the major number of the vg1 volume group device.
Identify an appropriate major number that is unused.
To create a volume group, enter a command similar to the following, or use SMIT (smit mkvg):
# /usr/sbin/mkvg -y VGname -B -s PPsize -V majornum \ -C PhysicalVolumes
The following table describes the options and variables used in this example. See the mkvg man page for more information about these options.
| Command Option | SMIT Field | Sample Value and Description |
|---|---|---|
-y VGname
|
VOLUME GROUP name |
oracle_vg1Specify the name for the volume group. The name that you specify could be a generic name, as shown, or it could specify the name of the database that you intend to create. |
-B |
Create a big VG format Volume Group | Specify this option to create a big VG format volume group.
Note: If you are using SMIT, choose yes for this field. |
-s PPsize
|
Physical partition SIZE in megabytes |
32Specify the size of the physical partitions for the database. The sample value shown allows you to include a disk up to 32 GB in size (32 MB * 1016). |
-V Majornum
|
Volume Group MAJOR NUMBER |
46Specify the device major number for the volume group that you identified in Step 7. |
-C |
Create VG Concurrent Capable | Specify this option to create a concurrent capable volume group.
Note: If you are using SMIT, choose yes for this field. |
PhysicalVolumes
|
PHYSICAL VOLUME names |
hdisk3 hdisk4Specify the device names of the disks that you want to add to the volume group. |
Create Raw Logical Volumes in the New Volume Group
To create the required raw logical volumes in the new volume group, follow these steps:
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.
Identify the logical volumes that you must create.
Table 2-5 lists the number and size of the logical volumes that you must create for database files.
Table 2-5 Raw Logical Volumes Required for Database Files on AIX
To create each required logical volume, enter a command similar to the following (or use smit mklv):
# /usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs
In this example:
LVname is the name of the logical volume that you want to create
The -T O option specifies that the device subtype should be z, which causes Oracle to use a zero offset when accessing this raw logical volume
VGname is the name of the volume group where you want to create the logical volume
NumPPs is the number of physical partitions to use
To determine the value to use for NumPPs, divide the required size of the logical volume by the size of the physical partition and round the value up to an integer. For example, if the size of the physical partition is 32 MB and you want to create a 500 MB logical volume, you should specify 16 for the NumPPs (500/32 = 15.625).
The following example shows the command used to create a logical volume for the SYSAUX tablespace of the test database in the oracle_vg1 volume group with a physical partition size of 32 MB:
# /usr/sbin/mklv -y test_sysaux_raw_500m -T O -w n -s n -r n oracle_vg1 16
Change the owner, group, and permissions on the character device files associated with the logical volumes that you created, as follows:
# chown oracle:dba /dev/rdbname* # chmod 660 /dev/rdbname*
Create the DBCA Raw Device Mapping File
To allow Database Configuration Assistant (DBCA) to identify the appropriate raw device for each database file, you must create a raw device mapping file, as follows:
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
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.
Change directory to the $ORACLE_BASE/oradata/dbname directory.
Enter the following command to create a text file that you can use to create the raw device mapping file:
# find /dev -user oracle -name 'r*' -print > dbname_raw.conf
Edit the dbname_raw.conf file in any text editor to create a file similar to the following:
system=/dev/rdbname_system_raw_500m sysaux=/dev/rdbname_sysaux_raw_500m example=/dev/rdbname_example_raw_160m users=/dev/rdbname_users_raw_120m temp=/dev/rdbname_temp_raw_250m undotbs1=/dev/rdbname_undotbs1_raw_500m redo1_1=/dev/rdbname_redo1_1_raw_120m redo1_2=/dev/rdbname_redo1_2_raw_120m control1=/dev/rdbname_control1_raw_110m control2=/dev/rdbname_control2_raw_110m spfile=/dev/rdbname_spfile_raw_5m pwdfile=/dev/rdbname_pwdfile_raw_5m
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=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/rrac_redo1_1_raw_120m
For a single-instance database, the file must specify one automatic undo tablespace datafile (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 datafile (rbs) instead of the automatic undo management tablespace datafile.
Save the file and note the file name that you specified.
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.
To continue, see the "Stop Existing Oracle Processes" section.
The following subsections describe how to configure raw logical volumes on HP-UX.
|
Note: The following subsections describe how to create logical volumes using the command line. If you prefer, you can use SAM to complete the same tasks. See the HP-UX documentation for more information about using SAM. |
To create a volume group, follow these steps:
If necessary, install the disks that you intend to use for the database.
To make sure that the disks are available, enter the following command:
# /sbin/ioscan -fun -C disk
The output from this command is similar to the following:
Class I H/W Path Driver S/W State H/W Type Description
==========================================================================
disk 0 0/0/1/0.6.0 sdisk CLAIMED DEVICE HP DVD-ROM 6x/32x
/dev/dsk/c0t6d0 /dev/rdsk/c0t6d0
disk 1 0/0/1/1.2.0 sdisk CLAIMED DEVICE SEAGATE ST39103LC
/dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
disk 2 0/0/2/0.2.0 sdisk CLAIMED DEVICE SEAGATE ST118202LC
/dev/dsk/c2t2d0 /dev/rdsk/c2t2d0
This command displays information about each disk attached to the system, including the block device name (/dev/dsk/cxtydz) and the character raw device name (/dev/rdsk/cxtydz).
If the ioscan command does not display device name information for a device that you want to use, enter the following command to install the special device files for any new devices:
# /usr/sbin/insf -e
For each disk that you want to add to the volume group, enter the following command to verify that it is not already part of an LVM volume group:
# /sbin/pvdisplay /dev/dsk/cxtydz
If this command displays volume group information, the disk is already part of a volume group.
For each disk that you want to add to the volume group, enter a command similar to the following:
# /sbin/pvcreate /dev/rdsk/cxtydz
To create a directory for the volume group in the /dev directory, enter a command similar to the following, where vg_name is the name that you want to use for the volume group:
# mkdir /dev/vg_name
To identify used device minor numbers, enter the following command:
# ls -la /dev/*/group
This command displays information about the device numbers used by all configured volume groups, similar to the following:
crw-r----- 1 root sys 64 0x000000 Mar 4 2002 /dev/vg00/group crw-r--r-- 1 root sys 64 0x010000 Mar 4 2002 /dev/vg01/group
In this example, 64 is the major number used by all volume group devices and 0x000000 and 0x010000 are the minor numbers used by volume groups vg00 and vg01 respectively. Minor numbers have the format 0xnn0000, where nn is a number in the range 00 to the value of the maxvgs kernel parameter minus 1. The default value for the maxvgs parameter is 10, so the default range is 00 to 09.
Identify an appropriate minor number that is unused.
To create the volume group and activate it, enter commands similar to the following:
# /sbin/mknod /dev/vg_name/group c 64 0xnn0000 # /sbin/vgcreate /dev/vg_name /dev/dsk/cxtydz . . . # /sbin/vgchange -a y vg_name
In this example:
vg_name is the name that you want to give to the volume group
0xnn0000 is a minor number that is unused
/dev/dsk/cxtydz... is a list of one or more block device names for the disks that you want to add to the volume group
Create Raw Logical Volumes in the New Volume Group
To create the required raw logical volumes in the new volume group, follow these steps:
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.
Identify the logical volumes that you must create.
Table 2-6 lists the number and size of the logical volumes that you must create for database files.
Table 2-6 Raw Logical Volumes Required for Database Files on HP-UX
To create each required logical volume, enter a command similar to the following:
# /sbin/lvcreate -n LVname -L size /dev/vg_name
In this example:
LVname 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 that you chose for the database in step 1.
vg_name is the name of the volume group where you want to create the logical volume
size is the size of the logical volume in megabytes
The following example shows a sample command used to create a 500 MB logical volume in the oracle_vg volume group for the SYSAUX tablespace of a database named test:
# /sbin/lvcreate -n test_sysaux_raw_500m -L 500 /dev/oracle_vg
Change the owner, group, and permissions on the character device files associated with the logical volumes that you created, as follows:
# chown oracle:dba /dev/vg_name/r* # chmod 755 /dev/vg_name # chmod 660 /dev/vg_name/r*
Create the DBCA Raw Device Mapping File
To allow Database Configuration Assistant (DBCA) to identify the appropriate raw device for each database file, you must create a raw device mapping file, as follows:
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
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.
Change directory to the $ORACLE_BASE/oradata/dbname directory.
Enter a command similar to the following to create a text file that you can use to create the raw device mapping file:
# find /dev/vg_name -user oracle -name 'r*' -print > dbname_raw.conf
Edit the dbname_raw.conf file in any text editor to create a file similar to the following:
system=/dev/vg_name/rdbname_system_raw_500m sysaux=/dev/vg_name/rdbname_sysaux_raw_500m example=/dev/vg_name/rdbname_example_raw_160m users=/dev/vg_name/rdbname_users_raw_120m temp=/dev/vg_name/rdbname_temp_raw_250m undotbs1=/dev/vg_name/rdbname_undotbs1_raw_500m redo1_1=/dev/vg_name/rdbname_redo1_1_raw_120m redo1_2=/dev/vg_name/rdbname_redo1_2_raw_120m control1=/dev/vg_name/rdbname_control1_raw_110m control2=/dev/vg_name/rdbname_control2_raw_110m spfile=/dev/vg_name/rdbname_spfile_raw_5m pwdfile=/dev/vg_name/rdbname_pwdfile_raw_5m
In this example:
vg_name is the name of the volume 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/oracle_vg/rrac_redo1_1_raw_120m
For a single-instance database, the file must specify one automatic undo tablespace datafile (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 datafile (rbs) instead of the automatic undo management tablespace datafile.
Save the file and note the file name that you specified.
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.
To continue the installation, see the "Stop Existing Oracle Processes" section.
The following subsections describe how to configure raw partitions or raw logical volumes on Linux.
Choose Between Raw Logical Volumes and Raw Partitions
The procedures in the following sections describe how to create raw partitions or raw logical volumes for Oracle database file storage. You can use raw partitions for database file storage on all supported Linux distributions.
Alternatively, on Red Hat Enterprise Linux 3 and SUSE Linux Enterprise Server you can use Logical Volume Manager (LVM) to create logical volumes of the required size and use them instead of raw partitions. LVM can provide benefits when used for storing Oracle database files on raw devices. For example, LVM enables you to overcome the limitations on the number of partitions that you can create on a single physical disk.
Identify the Required Raw Partitions
Table 2-7 lists the number and size of the raw partitions or logical volumes that you must configure for database files.
|
Note: On x86 and Itanium systems, the use of logical volumes for raw devices is supported only for single-instance databases. Their use is not supported for RAC databases on these platforms. |
Table 2-7 Raw Partitions or Logical Volumes Required for Database Files on Linux
|
Note: If you prefer to use manual, instead of automatic, undo management, create a single RBS tablespace raw device at least 500 MB in size instead of the UNDOTBS1 raw device. |
To create the required raw partitions or logical volumes, see one of the follow sections:
Creating the Required Raw Partitions on IDE, SCSI, or RAID Devices
zSeries Linux Only: Creating the Required Raw Partitions on DASDs
Creating the Required Raw Partitions on IDE, SCSI, or RAID Devices
If you intend to use IDE, SCSI, or RAID devices for the raw devices, follow these steps:
If necessary, install or configure the disk devices that you intend to use for the raw partitions and reboot the system.
|
Note: Because the number of partitions that you can create on a single device is limited, you might need to create the required raw partitions on more than one device. |
To identify the device name for the disks that you want to use, enter the following command:
# /sbin/fdisk -l
Depending on the type of disk, the device name can vary:
You can create the required raw partitions either on new devices that you added or on previously partitioned devices that have unpartitioned free space. To identify devices that have unpartitioned free space, examine the start and end cylinder numbers of the existing partitions and determine whether the device contains unused cylinders.
To create raw partitions on a device, enter a command similar to the following:
# /sbin/fdisk devicename
Use the following guidelines when creating partitions:
Use the p command to list the partition table of the device.
Use the n command to create a new partition.
After you have created the required partitions on this device, use the w command to write the modified partition table to the device.
See the fdisk man page for more information about creating partitions.
To continue, see the "Bind the Partitions or Logical Volumes to Raw Devices" section.
Creating the Required Raw Logical Volumes
For single instance databases, you can use raw logical volume manager (LVM) volumes for Oracle database file storage. To configure the required raw logical volumes, follow these steps:
On zSeries Linux only, if you intend to use direct access storage devices (DASDs) for the volume group, follow these steps:
If necessary, install or configure the DASDs that you intend to use for the volume group and reboot the system.
Enter the following command to identify the DASDs configured on the system:
# more /proc/dasd/devices
The output from this command contains lines similar to the following:
0302(ECKD) at ( 94: 48) is dasdm : active at blocksize: 4096, 540000 blocks, 2109 MB
These lines display the following information for each DASD:
The device number (0302)
The device type (ECKD or FBA)
The Linux device major and minor numbers (94: 48)
The Linux device file name (dasdm)
In general, DASDs have device names in the form dasdxxxx, where xxxx is between one and four letters that identify the device.
The block size and size of the device
From the display, identify the devices that you want to use.
If you want to use ECKD type DASDs, enter a command similar to the following to format the DASD, if it is not already formatted:
# /sbin/dasdfmt -b 4096 -f /dev/dasdxxxx
|
Caution: Formatting a DASD destroys all existing data on the device. Make sure that:
|
This command formats the DASD with a block size of 4 KB and the compatible disk layout (default), which enables you to create up to three partitions on the DASD.
Alternatively, you could use the -d ldl option to format the DASD using the Linux disk layout.
If you formatted the DASD with the compatible disk layout, enter a command similar to the following to create a single whole-disk partition on the device:
# /sbin/fdasd -a /dev/dasdxxxx
The device name for the single whole-disk partition for the DASDs is /dev/dasdxxxx1.
To continue, go to step 3.
|
Note: The examples in the following steps show SCSI device names. You must use the appropriate DASD device names when completing these steps. |
If you intend to use IDE or SCSI devices in the volume group, follow these steps:
If necessary, install or configure the disk devices that you intend to use for the volume group and reboot the system.
To identify the device name for the disks that you want to use, enter the following command:
# /sbin/fdisk -l
Depending on the type of disk, the device name can vary:
If necessary, use fdisk to create partitions on the devices that you want to use.
Use the t command in fdisk to change the system ID for the partitions that you want to use to 0x8e.
Enter a command similar to the following to mark each device that you want to use in the volume group as a physical volume:
# pvcreate /dev/sda1 /dev/sdb1
To create a volume group named oracle_vg using the devices that you marked, enter a command similar to the following:
# vgcreate oracle_vg /dev/dasda1 /dev/dasdb1
To create the required logical volumes in the volume group that you created, enter commands similar to the following:
# lvcreate -L size -n lv_name vg_name
In this example:
size is the size of the logical volume, for example 500M
lv_name is the name of the logical volume, for example orcl_system_raw_500m
vg_name is the name of the volume group, for example oracle_vg
For example, to create a 500 MB logical volume for the SYSTEM tablespace for a database named rac in the oracle_vg volume group, enter the following command:
# lvcreate -L 500M -n rac_system_raw_500m oracle_vg
|
Note: These commands create a device name similar to the following for each logical volume:/dev/vg_name/lv_name |
To continue, see the "Bind the Partitions or Logical Volumes to Raw Devices" section.
zSeries Linux Only: Creating the Required Raw Partitions on DASDs
On zSeries Linux only, if you intend to use direct access storage devices (DASDs) for the raw devices, follow these steps:
If necessary, install or configure the DASDs that you intend to use for the raw partitions and reboot the system.
|
Note: Not all DASD types support more than one partition. Also, for DASDs that do support more than one partition, the maximum number of partitions supported is three.If possible, configure DASDs with sizes that match the raw devices that you want to use to avoid wasting disk space. |
Enter the following command to identify the DASDs configured on the system:
# more /proc/dasd/devices
The output from this command contains lines similar to the following:
0302(ECKD) at ( 94: 48) is dasdm : active at blocksize: 4096, 540000 blocks, 2109 MB
These lines display the following information for each DASD:
The device number (0302)
The device type (ECKD or FBA)
The Linux device major and minor numbers (94: 48)
The Linux device file name (dasdm)
In general, DASDs have device names in the form dasdxxxx, where xxxx is between one and four letters that identify the device.
The block size and size of the device
From the display, identify the devices that you want to use.
If you want to use FBA type DASDs, go to the "Bind the Partitions or Logical Volumes to Raw Devices" section.
You do not have to format FBA type DASDs in Linux. The device name for the single whole-disk partition for FBA type DASDs is /dev/dasdxxxx1.
If you want to use ECKD type DASDs, enter a command similar to the following to format the DASD, if it is not already formatted:
# /sbin/dasdfmt -b 4096 -f /dev/dasdxxxx
|
Caution: Formatting a DASD destroys all existing data on the device. Make sure that:
|
This command formats the DASD with a block size of 4 KB and the compatible disk layout (default), which enables you to create up to three partitions on the DASD.
Alternatively, you could use the -d ldl option to format the DASD using the Linux disk layout if you require only a single partition. If you use this disk layout, the partition device name for the DASD is /dev/dasdxxxx1.
If you formatted the DASD with the compatible disk layout, enter a command similar to the following to create up to three partitions on the device, if required:
# /sbin/fdasd /dev/dasdxxxx
Use the following guidelines when creating partitions:
Use the p command to list the partition table of the device.
Use the n command to create a new partition.
After you have created the required partitions on this device, use the w command to write the modified partition table to the device.
See the fdasd man page for more information about creating partitions.
The partitions on a DASD have device names similar to the following, where n is the partition number, between 1 and 3:
/dev/dasdxxxxn
|
Note: The examples in the following sections show SCSI device names. You must use the appropriate DASD device names when completing these procedures. |
Bind the Partitions or Logical Volumes to Raw Devices
After you have created the required partitions or logical volumes, you must bind them to raw devices. However, you must first determine what raw devices are already bound to other devices. The procedure that you must follow to complete this task varies, depending on the Linux distribution that you are using:
To determine what raw devices are already bound to other devices, enter the following command:
# /usr/bin/raw -qa
Raw devices have device names in the form /dev/raw/rawn, where n is a number that identifies the raw device.
For each device that you want to use, identify a raw device name that is unused.
Open the /etc/sysconfig/rawdevices file in any text editor and add a line similar to the following for each partition or logical volume that you created:
/dev/raw/raw1 /dev/sdb1
Specify an unused raw device for each partition or logical volume.
For each raw device that you specified in the rawdevices file, enter commands similar to the following to set the owner, group, and permissions on the device file:
# chown oracle:dba /dev/raw/rawn # chmod 660 /dev/raw/rawn
To bind the partitions or logical volumes to the raw devices, enter the following command:
# /sbin/service rawdevices restart
The system automatically binds the devices listed in the rawdevices file when it reboots.
To determine what raw devices are already bound to other devices, enter the following command:
# /usr/sbin/raw -qa
Raw devices have device names in the form /dev/raw/rawn, where n is a number that identifies the raw device.
For each device that you want to use, identify a raw device name that is unused.
Open the /etc/raw file in any text editor and add a line similar to the following to associate each partition or logical volume with an unused raw device:
raw1:sdb1
For each raw device that you specified in the /etc/raw file, enter commands similar to the following to set the owner, group, and permissions on the device file:
# chown oracle:dba /dev/raw/rawn # chmod 660 /dev/raw/rawn
To bind the partitions or logical volumes to the raw devices, enter the following command:
# /etc/init.d/raw start
To ensure that the raw devices are bound when the system reboots, enter the following command:
# /sbin/chkconfig raw on
Create the DBCA Raw Device Mapping File
To allow Database Configuration Assistant (DBCA) to identify the appropriate raw device for each database file, you must create a raw device mapping file, as follows:
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
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.
Change directory to the $ORACLE_BASE/oradata/dbname directory.
Edit the dbname_raw.conf file in any text editor to create a file similar to the following:
system=/dev/raw/raw1 sysaux=/dev/raw/raw2 example=/dev/raw/raw3 users=/dev/raw/raw4 temp=/dev/raw/raw5 undotbs1=/dev/raw/raw6 redo1_1=/dev/raw/raw8 redo1_2=/dev/raw/raw9 control1=/dev/raw/raw12 control2=/dev/raw/raw13 spfile=/dev/raw/raw14 pwdfile=/dev/raw/raw15
Use the following guidelines when creating or editing this file:
Each line in the file must have the following format:
database_object_identifier=raw_device_path
For a single-instance database, the file must specify one automatic undo tablespace datafile (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 datafile (rbs) instead of the automatic undo management tablespace datafile.
Save the file and note the file name that you specified.
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.
To continue, see the "Stop Existing Oracle Processes" section.
The following subsections describe how to configure raw partitions or raw logical volumes on Solaris:
Configuring Raw Partitions for Oracle Database File Storage
Follow the procedures described in this section if you want to use raw partitions for Oracle database file storage. You can use either raw disk slices or Solaris Volume Manager soft partitions to store the required database files.
|
Note: Solaris Volume Manager volumes or soft partitions are supported only for single-instance database file storage. Solaris Volume Manager is not currently supported as a storage option for RAC installations. |
SPARC Only: Configuring Raw Logical Volumes for Oracle Database File Storage
Follow the procedures described in this section only if you are using VERITAS Volume Manager (VxVM) on SPARC systems.
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-8 lists the number and size of the raw partitions that you must configure for database files.
|
Note: Solaris imposes limits on the number of slices that you can create on a single disk device. If you want to use slices, you might need to create them on more than one disk or volume. |
Table 2-8 Raw Partitions Required for Database Files on Solaris
To configure raw partitions for database files, follow these steps:
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.
If necessary, install or configure the disks that you intend to use and reboot the system.
If you want to use Solaris Volume Manager soft partitions, see 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.
If you want to use disk slices, follow these steps to create or identify the required disk slices:
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).
Enter the number corresponding to the disk that you want to use.
|
Note: Make sure that the disk you choose is not being used for another purpose. For example, make sure that it is not being used as a component for a logical volume manager volume. |
On x86 systems only, 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 a new fdisk partition, you must label the disk before continuing.
Enter the partition command, followed by the print command to display the partition table for the disk that you want to use.
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). |
Make a note of the number of the slices that you want to use.
If you modified a partition table or created a new one, enter the label command to write the partition table and label to the disk.
Enter q to return to the format menu.
After you have finished creating slices, enter q to quit from the format utility.
If you plan to use existing partitions, 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.
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, make sure 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
Follow these steps to create the DBCA raw device mapping file:
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
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.
Change directory to the $ORACLE_BASE/oradata/dbname directory.
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, 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
The previous table shows the database object identifier for each database file.
Specify one automatic undo tablespace datafile (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 datafile (rbs) instead of the automatic undo management tablespace datafiles.
Save the file and note the file name that you specified.
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.
To continue, see the "Stop Existing Oracle Processes" section.
SPARC Only: 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.
To create a disk group, follow these steps:
If necessary, install the disks that you intend to use for the disk group and reboot the system.
To make sure 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).
From the list, identify the device names for the disk devices that you want to add to a disk group, then press Ctrl/D to exit from the format utility.
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.
Enter the following commands to verify that the devices you identified are not already part of a disk group:
# /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.
If the disk devices that you want to use are not initialized, enter a command similar to the following to initialize each disk:
# /usr/sbin/vxdiskadd cxtydz
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
Create Raw Logical Volumes in the New Disk Group
To create the required raw logical volumes in the new disk group, follow these steps:
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.
Identify the logical volumes that you must create.
Table 2-9 lists the number and size of the logical volumes that you must create for database files.
Table 2-9 Raw Logical Volumes Required for Database Files on Solaris
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_raw_500m 500m \ user=oracle group=dba mode=660
Create the DBCA Raw Device Mapping File
To allow Database Configuration Assistant (DBCA) to identify the appropriate raw device for each database file, you must create a raw device mapping file, as follows:
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
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.
Change directory to the $ORACLE_BASE/oradata/dbname directory.
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
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 datafile (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 datafile (rbs) instead of the automatic undo management tablespace datafile.
Save the file and note the file name that you specified.
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.
To continue, see the "Stop Existing Oracle Processes" section.
|
Caution: If you are installing additional Oracle Database 10g products in an existing Oracle home, stop all processes running in the Oracle home. You must complete this task to enable the Installer to relink certain executables and libraries. |
If you choose to create a database during the installation, 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, the 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 the Installer.
To determine whether an existing listener process is running and to shut it down if necessary, follow these steps:
Switch user to oracle:
# su - oracle
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, see the "Configure the oracle User's Environment" section to continue. |
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 shell:
% setenv ORACLE_HOME oracle_home1
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, you do not have to specify the listener name in this command. |
Enter a command similar to the following to stop the listener process:
$ $ORACLE_HOME/bin/lsnrctl stop listenername
Repeat this procedure to stop all listeners running on this system.
You run the Installer from the oracle account. However, before you start the Installer you must configure the environment of the oracle user. To configure the environment, you must:
Set the default file mode creation mask (umask) to 022 in the shell startup file.
Set the DISPLAY, ORACLE_BASE, and ORACLE_SID environment variables.
To set the oracle user's environment, follow these steps:
Start a new terminal session, for example, an X terminal (xterm).
Enter the following command to ensure that X Window applications can display on this system:
$ xhost +
If you are not already logged in to the system where you want to install the software, log in to that system as the oracle user.
If you are not logged in as the oracle user, switch user to oracle:
$ su - oracle
To determine the default shell for the oracle user, enter the following command:
$ echo $SHELL
Open the oracle user's shell startup file in any text editor:
Bash shell on Red Hat Enterprise Linux:
$ vi .bash_profile
Bourne shell (sh), Bash shell (bash), or Korn shell (ksh):
$ vi .profile
C shell (csh or tcsh):
% vi .login
Enter or edit the following line, specifying a value of 022 for the default file mode creation mask:
umask 022
If the ORACLE_SID, ORACLE_HOME, or ORACLE_BASE environment variables are set in the file, remove the appropriate lines from the file.
On AIX only, add one of the following lines to the file to set the AIXTHREAD_SCOPE environment variable to S (system-wide thread scope):
Bourne, Bash, or Korn shell:
AIXTHREAD_SCOPE=S; export AIXTHREAD_SCOPE
C shell:
setenv AIXTHREAD_SCOPE S
|
Note: For more information about this environment variable, see the Oracle Database Administrator's Reference for UNIX Systems. |
Save the file and exit from the editor.
To run the shell startup script, enter one of the following commands:
Bash shell on Red Hat Enterprise Linux:
$ . ./.bash_profile
Bourne, Bash, or Korn shell:
$ . ./.profile
C shell:
% source ./.login
If you are not installing the software on the local system, 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 the Installer (your workstation or PC).
If you determined that the /tmp directory has less than 400 MB of free disk space, identify a file system with at least 400 MB of free space and set the TEMP and TMPDIR environment variables to specify a temporary directory on this file system:
Use the df -k command (or bdf command on HP-UX) to identify a suitable file system with sufficient free space.
If necessary, enter commands similar to the following to create a temporary directory on the file system that you identified, and set the appropriate permissions on the directory:
$ su - root # mkdir /mount_point/tmp # chmod a+wr /mount_point/tmp # exit
Enter commands similar to the following to set the TEMP and TMPDIR environment variables:
Bourne, Bash, or Korn shell:
$ TEMP=/mount_point/tmp $ TMPDIR=/mount_point/tmp $ export TEMP TMPDIR
C shell:
% setenv TEMP /mount_point/tmp % setenv TMPDIR /mount_point/tmp
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).
If you are using raw devices for database file storage, 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
Enter the following command 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, the 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, Oracle recommends that you unset the ORACLE_HOME environment variable and choose the default path suggested by the Installer. |
To verify that the environment has been set correctly, enter the following commands:
$ umask $ env | more
Verify that the umask command displays a value of 22, 022, or 0022 and that the environment variables you set in this section have the correct values.