Oracle® Database Installation Guide 10g Release 2 (10.2) for IBM zSeries Based Linux Part Number B25400-01 |
|
|
View PDF |
This chapter describes the tasks that you must complete before you start Oracle Universal Installer. It includes information about the following tasks:
Choosing a Storage Option for Oracle Database and Recovery Files
Preparing Disk Groups for an Automatic Storage Management Installation
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, refer to Appendix A.
If you are installing the software from an X Window System workstation or X terminal, then:
Start a local terminal session, for example, an X terminal (xterm
).
If you are not installing the software on the local system, then enter the following command to enable the remote host to display X applications on the local X server:
$ xhost fully_qualified_remote_host_name
For example:
$ xhost somehost.us.acme.com
If you are not installing the software on the local system, then use the ssh
, rlogin
, or telnet
command to connect to the system where you want to install the software:
$ telnet fully_qualified_remote_host_name
If you are not logged in as the root
user, then enter the following command to switch user to root
:
$ sudo sh password: #
If you are installing the software from a PC or other system with X server software installed, then:
Note:
If necessary, refer to 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, then enter the following command to switch user to root
:
$ sudo sh password: #
The system must meet the following minimum hardware requirements:
At least 1024 MB of physical RAM
The following table describes the relationship between installed RAM and the configured swap space requirement.
RAM | Swap Space |
---|---|
Between 1024 MB and 2048 MB | 1.5 times the size of RAM |
Between 2049 MB and 8192 MB | Equal to the size of RAM |
More than 8192 MB | 0.75 times the size of RAM |
400 MB of disk space in the /tmp
directory
Between 1.5 GB and 3.5 GB of disk space for the Oracle software, depending on the installation type
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 or raw device storage is described later in this chapter.Additional disk space, either on a file system or in an Automatic Storage Management disk group, is required for the flash recovery area if you choose to configure automated backups.
To ensure that the system meets these requirements:
To determine the physical RAM size, enter the following command:
# grep MemTotal /proc/meminfo
If the size of the physical RAM is less than the required size, then you must install more memory before continuing.
To determine the size of the configured swap space, enter the following command:
# grep SwapTotal /proc/meminfo
If necessary, refer to the 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 the following command:
# df -k /tmp
If there is less than 400 MB of free disk space available in the /tmp
directory, then complete one of the following steps:
Delete unnecessary files from the /tmp
directory to meet the disk space requirement.
Set the TMP
and TMPDIR
environment variables when setting the oracle
user's environment (described later).
Extend the file system that contains the /tmp
directory. If necessary, contact your system administrator for information about extending file systems.
To determine the amount of free disk space on the system, enter the following command:
# df -k
The following table shows the approximate disk space requirements for software files for each installation type:
Installation Type | Requirement for Software Files (GB) |
---|---|
Enterprise Edition | 1.5 |
Standard Edition | 1.5 |
Custom (maximum) | 1.5 |
To determine whether the system architecture can run the software, enter the following command:
# grep "model name" /proc/cpuinfo
Note:
This command displays the processor type. Verify that the processor architecture matches the Oracle software release that you want to install. If you do not see the expected output, then you cannot install the software on this system.Depending on the products that you intend to install, verify that the following software is installed on the system. The procedure following the table describes how to verify whether these requirements are addressed.
Note:
Oracle Universal Installer performs checks on your system to verify that it meets the listed requirements. To ensure that these checks pass, verify the requirements before you start Oracle Universal Installer.To ensure that the system meets these requirements:
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 is installed, enter the following command:
# uname -r
The following is sample output displayed by running this command on a Red Hat Enterprise Linux 4.0 system:
2.6.9-22.EL
In this example, the output shows the kernel version (2.6.9
) and errata level (22.EL
) on the system.
If the kernel version does not meet the requirement specified earlier in this section, then contact your operating system vendor for information about obtaining and installing kernel updates.
To determine whether the required packages are installed, enter commands similar to the following:
# rpm -q package_name
If a package is not installed, then install it from 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, then refer to the following Web site for download and installation information:
http://www-306.ibm.com/software/integration/wmq/support
Typically, the computer on which you want to install Oracle Database is connected to the network, has local storage to contain the Oracle Database installation, has a display monitor, and has a CD-ROM or DVD drive.
This section describes how to install Oracle Database on computers that do not meet the typical scenario. It covers the following cases:
When you run Oracle Universal Installer, an error may occur if name resolution is not set up. To avoid this error, before you begin installation, you must ensure that host names are resolved only through the /etc/hosts
file.
To ensure that host names are resolved only through the /etc/hosts
file:
Verify that the /etc/hosts file is used for name resolution. You can do this by checking the hosts file entry in the nsswitch.conf
file as follows:
# cat /etc/nsswitch.conf | grep hosts
The output of this command should contain an entry for files.
Verify that the host name has been set by using the hostname
command as follows:
# hostname
The output of this command should be similar to the following:
myhost.mycomputer.com
Verify that the domain name has not been set dynamically by using the domainname
command as follows:
# domainname
This command should not return any results.
Verify that the hosts file contains the fully qualified host name by using the following command:
# cat /etc/hosts | grep `eval hostname`
The output of this command should contain an entry for the fully qualified host name and for localhost.
For example:
192.168.100.16 myhost.us.mycompany.com myhost 127.0.0.1 localhost localhost.localdomain
If the hosts file does not contain the fully qualified host name, then open the file and make the required changes in it.
Dynamic Host Configuration Protocol (DHCP) assigns dynamic IP addresses on a network. Dynamic addressing enables a computer to have a different IP address each time it connects to the network. In some cases, the IP address can change while the computer is still connected. You can have a mixture of static and dynamic IP addressing in a DHCP system.
In a DHCP setup, the software tracks IP addresses, which simplifies network administration. This lets you add a new computer to the network without having to manually assign that computer a unique IP address.
You can install Oracle Database on a multihomed computer. A multihomed computer is associated with multiple IP addresses. This is typically achieved by having multiple network cards on the computer. Each IP address is associated with a host name. In addition, you can set up aliases for the host name. By default, Oracle Universal Installer uses the ORACLE_HOSTNAME
environment variable setting to find the host name. If ORACLE_HOSTNAME
is not set and you are installing on a computer that has multiple network cards, then Oracle Universal Installer determines the host name by using the first entry in the /etc/hosts
file.
Clients must be able to access the computer either by using this host name or by using aliases for this host name. To verify this, ping the host name from the client computers using the short name (hostname only) and the full name (hostname and domain name). Both tests must be successful.
Setting the ORACLE_HOSTNAME Environment Variable
Use the following procedure to set the ORACLE_HOSTNAME
environment variable.
For example, if the fully qualified host name is somehost.us.acme.com
, then enter one of the following commands:
Bourne, Bash, or Korn shell:
$ ORACLE_HOSTNAME=somehost.us.acme.com $ export ORACLE_HOSTNAME
C shell:
% setenv ORACLE_HOSTNAME somehost.us.acme.com
A computer with multiple aliases is registered with the naming service under a single IP but with multiple aliases. The naming service resolves any of those aliases to the same computer. Before installing Oracle Database on such a computer, set the ORACLE_HOSTNAME
environment variable to the computer whose host name you want to use.
You can install Oracle Database on a non-networked computer. If the computer, such as a laptop, is configured for DHCP and you plan to connect the computer to the network after the Oracle Database installation, then use the ping
command on the computer on which you want to install the database to check if the computer can connect to itself. Perform this step by first using only the host name and then using the fully qualified name, which should be in the /etc/hosts
file.
Note:
When you run theping
command on the computer itself, the ping
command should return the IP address of the computer.If the ping
command fails, then contact your network administrator.
Connecting the Computer to the Network after Installation
If you connect the computer to a network after installation, then the Oracle Database instance on your computer can work with other instances on the network. The computer can use a static IP or DHCP, depending on the network to which you are connected.
Depending on whether this is the first time Oracle software is being installed on this system and on the products that you are installing, you may need to create several operating system groups and users.
The following operating system groups and user are required if you are installing Oracle Database:
You must create this group the first time you install Oracle Database software on the system. It identifies operating system user accounts 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, then you must choose the Custom installation type to install the software or start Oracle Universal Installer as a user that is not a member of this group. In this case, Oracle Universal 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 operating system 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, then you must choose the Custom installation type to install the software or start Oracle Universal Installer as a user that is not a member of the dba
group. In this case, Oracle Universal Installer prompts you to specify the name of this group. The usual name chosen for this group is oper
.
Verify that the unprivileged user nobody exists on the system. The nobody user must own the external jobs (extjob) executable after the installation.
The following operating system 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, then the existing Oracle Inventory group must be the primary group of the operating system user that you use to install new Oracle software.The Oracle software owner user (typically, 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. This user must have the Oracle Inventory group as its primary group. It must also have the OSDBA and OSOPER groups as secondary groups.
Note:
In Oracle documentation, this user is referred to as theoracle
user.A single Oracle Inventory group is required for all installations of Oracle software on the system. After the first installation of Oracle software, you must use the same Oracle Inventory group for all subsequent Oracle software installations on that system. However, you can choose to create different Oracle software owner users, OSDBA groups, and OSOPER groups (other than oracle
, dba
, and oper
) for separate installations. By using different groups for different installations, members of these different groups have DBA privileges only on the associated databases rather than on all databases on the system.
See Also:
Oracle Database Administrator's Reference for UNIX-Based Operating Systems and Oracle Database Administrator's Guide for more information about the OSDBA and OSOPER groups and the SYSDBA and SYSOPER privilegesNote:
The following sections describe how to create local users and groups. As an alternative to creating local users and groups, you could create the appropriate users and groups in a directory service, for example, Network Information Services (NIS). For information about using directory services, contact your system administrator or refer to your operating system documentation.The following sections describe how to create the required operating system users and groups:
You must create the Oracle Inventory group if it does not already exist. The following subsections describe how to determine the Oracle Inventory group name, if it exists, and how to create it if necessary.
Determining Whether the Oracle Inventory Group Exists
When you install Oracle software on the system for the first time, Oracle Universal Installer creates the oraInst.loc
file. This file identifies the name of the Oracle Inventory group and the path of the Oracle Inventory directory.
To determine whether the Oracle Inventory group exists, enter the following command:
# more /var/opt/oracle/oraInst.loc
If the output of this command shows the oinstall
group name, then the group already exists.
If the oraInst.loc
file exists, then the output from this command is similar to the following:
inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall
The inst_group
parameter shows the name of the Oracle Inventory group, oinstall
.
Creating the Oracle Inventory Group
If the oraInst.loc
file does not exist, then create the Oracle Inventory group by entering the following command:
# /usr/sbin/groupadd oinstall
You must create an OSDBA group in the following circumstances:
An OSDBA group does not exist, for example, if this is the first installation of Oracle Database software on the system
An OSDBA group exists, but you want to give a different group of operating system users database administrative privileges in a new Oracle installation
If the OSDBA group does not exist or if you require a new OSDBA group, then create it as follows. In the following command, use the group name dba
unless a group with that name already exists.
# /usr/sbin/groupadd dba
Create an OSOPER group only if you want to identify a group of operating system users with a limited set of database administrative privileges (SYSOPER operator privileges). For most installations, it is sufficient to create only the OSDBA group. If you want to use an OSOPER group, then you must create it in the following circumstances:
If an OSOPER group does not exist, for example, if this is the first installation of Oracle Database software on the system
If an OSOPER group exists, but you want to give a different group of operating system users database operator privileges in a new Oracle installation
If you require a new OSOPER group, then create it as follows. In the following command, use the group name oper
unless a group with that name already exists.
# /usr/sbin/groupadd oper
You must create an Oracle software owner user in the following circumstances:
If an Oracle software owner user does not exist, for example, if this is the first installation of Oracle software on the system
If an Oracle software owner user exists, but you want to use a different operating system user, with different group membership, to give database administrative privileges to those groups in a new Oracle Database installation
To determine whether an Oracle software owner user named oracle
exists, enter the following command:
# id oracle
If the oracle
user exists, then the output from this command is similar to the following:
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)
If the user exists, then determine whether you want to use the existing user or create another oracle
user. If you want to use the existing user, then ensure that the user's primary group is the Oracle Inventory group and that it is a member of the appropriate OSDBA and OSOPER groups. Refer to one of the following sections for more information:
Note:
If necessary, contact your system administrator before using or modifying an existing user.If you want to use an existing Oracle software owner user, and the user's primary group is the Oracle Inventory group, then refer to the "Determining Whether an Oracle Software Owner User Exists" section.
To modify an existing user, refer to the "Modifying an Oracle Software Owner User" section.
To create a user, refer to the following section.
If the Oracle software owner user does not exist or if you require a new Oracle software owner user, then create it as follows. In the following procedure, use the user name oracle
unless a user with that name already exists.
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
Refer to the "Verifying that the User nobody Exists" section to continue.
If the oracle
user exists, but its primary group is not oinstall
or it is not a member of the appropriate OSDBA or OSOPER groups, then enter a command similar to the following to modify it. Specify the primary group using the -g
option and any required secondary group using the -G
option:
# /usr/sbin/usermod -g oinstall -G dba[,oper] oracle
Note:
The kernel parameter and shell limit values shown in the following section are recommended values only. For production database systems, Oracle recommends that you tune these values to optimize the performance of the system. Refer to your operating system documentation for more information about tuning kernel parameters.Verify that the kernel parameters shown in the following table are set to values greater than or equal to the recommended value shown. The 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, then do not change the value of that parameter.To view the current value specified for these kernel parameters, and to change them if necessary:
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
This command displays the details of the shared memory segment sizes. |
file-max | # /sbin/sysctl -a | grep file-max
This command displays the maximum number of file handles. |
ip_local_port_range | # /sbin/sysctl -a | grep ip_local_port_range
This command displays a range of port numbers. |
rmem_default | # /sbin/sysctl -a | grep rmem_default |
rmem_max | # /sbin/sysctl -a | grep rmem_max |
wmem_default | # /sbin/sysctl -a | grep wmem_default |
wmem_max | # /sbin/sysctl -a | grep wmem_max |
If the value of any kernel parameter is different from the recommended value, then complete the following procedure:
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, then 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 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144
By specifying the values in the /etc/sysctl.conf
file, they persist when you restart the system.
On SUSE systems only, enter the following command to ensure that the system reads the /etc/sysctl.conf
file when it restarts:
# /sbin/chkconfig boot.sysctl on
Setting 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 the /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 session required 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 file on SUSE systems /etc/profile.local
):
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 file on SUSE systems /etc/csh.login.local
) :
if ( $USER == "oracle" ) then limit maxproc 16384 limit descriptors 65536 endif
Refer to the "Identifying Required Software Directories" section to continue.
You must identify or create the following directories for the Oracle software:
The Oracle base directory is a top-level directory for Oracle software installations. It is analogous to the C:\Oracle
directory used for Oracle software installations on Microsoft Windows systems. On Linux 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, such as /oracle
or /opt/oracle
.
oracle_sw_owner
is the operating system user name of the Oracle software owner, for example oracle
.
You can use the same Oracle base directory for more than one installation or you can create separate Oracle base directories for different installations. If different operating system users install Oracle software on the same system, then each user must create a separate Oracle base directory. The following example Oracle base directories could all exist on the same system:
/u01/app/oracle /u01/app/orauser /opt/oracle/app/oracle
The following sections describe how to identify existing Oracle base directories that may be suitable for your installation and how to create an Oracle base directory if necessary.
Regardless of whether you create an Oracle base directory or decide to use an existing one, you must set the ORACLE_BASE
environment variable to specify the full path to this directory.
The Oracle Inventory directory (oraInventory
) stores an inventory of all software installed on the system. It is required by, and shared by, all Oracle software installations on a single system. The first time you install Oracle software on a system, Oracle Universal Installer prompts you to specify the path to this directory. then Oracle recommends that you choose the following path:
oracle_base/oraInventory
Oracle Universal Installer creates the directory that you specify and sets the correct owner, group, and permissions for it. You do not need to create it.
Note:
All Oracle software installations rely on this directory. Ensure that you back it up regularly.Do not delete this directory unless you have completely removed all Oracle software from the system.
The Oracle home directory is the directory where you choose to install the software for a particular Oracle product. You must install different Oracle products, or different releases of the same Oracle product, in separate Oracle home directories. When you run Oracle Universal Installer, it prompts you to specify the path to this directory, as well as a name that identifies it. The directory that you specify must be a subdirectory of the Oracle base directory. Oracle recommends that you specify a path similar to the following for the Oracle home directory:
oracle_base/product/10.2.0/db_1
Oracle Universal Installer creates the directory path that you specify under the Oracle base directory. It also sets the correct owner, group, and permissions on it. You do not need to create this directory.
Caution:
During installation, you must not specify an existing directory that has predefined permissions applied to it as the Oracle home directory. If you do, then you may experience installation failure due to file and group ownership permission errors.Before starting the installation, you must either identify an existing Oracle base directory or if required, create one. This section contains information about the following:
Note:
You can choose to create an Oracle base directory, even if other Oracle base directories exist on the system.Existing Oracle base directories may not have paths that comply with OFA guidelines. However, if you identify an existing Oracle Inventory directory or existing Oracle home directories, then you can usually identify the Oracle base directories, as follows:
Identifying an existing Oracle Inventory directory
Enter the following command to view the contents of the oraInst.loc
file:
# more /var/opt/oracle/oraInst.loc
If the oraInst.loc
file exists, then the output from this command is similar to the following:
inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall
The inventory_loc
parameter identifies the Oracle Inventory directory (oraInventory
). The parent directory of the oraInventory
directory is typically an Oracle base directory. In the previous example, /u01/app/oracle
is an Oracle base directory.
Identifying existing Oracle home directories
Enter the following command to view the contents of the oratab
file:
# more /etc/oratab
If the oratab
file exists, then it contains lines similar to the following:
*:/u03/app/oracle/product/10.2.0/db_1:N *:/opt/orauser/infra_904:N *:/oracle/9.2.0:N
The directory paths specified on each line identify Oracle home directories. Directory paths that end with the user name of the Oracle software owner that you want to use are valid choices for an Oracle base directory. If you intend to use the oracle
user to install the software, then you could choose one of the following directories from the previous example:
/u03/app/oracle /oracle
Note:
If possible, choose a directory path similar to the first (/u03/app/oracle
). This path complies with the OFA guidelines.Before deciding to use an existing Oracle base directory for this installation, ensure that it satisfies the following conditions:
It should not be on the same file system as the operating system.
It must have sufficient free disk space, as follows:
To determine the free disk space on the file system where the Oracle base directory is located, enter the following command:
# df -k oracle_base_path
To continue:
If an Oracle base directory exists and you want to use it, then refer to the "Choosing a Storage Option for Oracle Database and Recovery Files" section.
When you configure the oracle
user's environment later in this chapter, set the ORACLE_BASE
environment variable to specify the directory you chose.
If an Oracle base directory does not exist on the system or if you want to create an Oracle base directory, then refer to the following section.
Before you create an Oracle base directory, you must identify an appropriate file system with sufficient free disk space, as follows:
To identify an appropriate file system:
Use the df -k
command 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:
Enter commands similar to the following to create the recommended subdirectories in the mount point directory that you identified and set the appropriate owner, group, and permissions on them:
# mkdir -p /mount_point/app/oracle_sw_owner # chown -R oracle:oinstall /mount_point/app/oracle_sw_owner # chmod -R 775 /mount_point/app/oracle_sw_owner
For example, if the mount point you identify is /u01
and oracle
is the user name of the Oracle software owner, then the recommended Oracle base directory path is as follows:
/u01/app/oracle
When you configure the oracle
user's environment later in this chapter, set the ORACLE_BASE
environment variable to specify the Oracle base directory that you have created.
The following table shows the storage options supported for storing Oracle Database files and Oracle Database recovery files. Oracle Database files include data files, control files, redo log files, the server parameter file, and the password file.
For all installations, you must choose the storage option that you want to use for Oracle Database files. If you want to enable automated backups during the installation, then you must also choose the storage option that you want to use for recovery files (the flash recovery area). You do not have to use the same storage option for each file type.
Note:
Database files are supported on file systems, Automatic Storage Management, and raw devices. Recovery files are supported only on file systems and Automatic Storage Management.Storage Option | File Types Supported | |
---|---|---|
Database | Recovery | |
File system | Yes | Yes |
Automatic Storage Management | Yes | Yes |
Raw devices | Yes | No |
Use the following guidelines when choosing the storage options that you want to use for each file type:
You can choose any combination of the supported storage options for each file type.
Oracle recommends that you choose Automatic Storage Management as the storage option for database and recovery files.
For more information about these storage options, refer to the "Database Storage Options" section.
For information about how to configure disk storage before you start the installation, refer to one of the following sections depending on your choice:
To use a file system for database or recovery file storage, refer to the "Creating Directories for Oracle Database or Recovery Files" section.
To use Automatic Storage Management for database or recovery file storage, refer to the "Preparing Disk Groups for an Automatic Storage Management Installation" section.
To use raw devices for database file storage, refer to the "Configuring Raw Partitions or Raw Logical Volumes" section .
To use raw devices for database file storage, refer to the "Configuring Raw Partitions or Raw Logical Volumes" section.
This section contains the following topics:
Guidelines for Placing Oracle Database Files on a File System
Guidelines for Placing Oracle Recovery Files on a File System
If you choose to place the Oracle Database files on a file system, then use the following guidelines when deciding where to place them:
The default path suggested by Oracle Universal Installer for the database file directory is a subdirectory of the Oracle base directory.
You can choose either a single file system or more than one file system to store the database files:
If you want to use a single file system, then choose a file system on a physical device that is dedicated to the database.
For best performance and reliability, choose a RAID device or a logical volume on more than one physical device and implement the stripe-and-mirror-everything (SAME) methodology.
If you want to use more than one file system, then choose file systems on separate physical devices that are dedicated to the database.
This method enables you to distribute physical I/O and create separate control files on different devices for increased reliability. It also enables you to fully implement the OFA guidelines described in Appendix B, "Optimal Flexible Architecture". You must choose either the Advanced database creation option or the Custom installation type during the installation to implement this method.
If you intend to create a preconfigured database during the installation, then the file system (or file systems) that you choose must have at least 1.2 GB of free disk space.
For production databases, you must estimate the disk space requirement depending on the use that you want to make of the database.
For optimum performance, the file systems that you choose should be on physical devices that are used only by the database.
The oracle
user must have write permissions to create the files in the path that you specify.
Note:
You must choose a location for recovery files only if you intend to enable automated backups during the installation.If you choose to place the Oracle recovery files on a file system, then use the following guidelines when deciding where to place them:
To prevent disk failure from making both the database files and the recovery files unavailable, place the recovery files in a file system on a different physical disk from the database files.
Note:
Alternatively, use an Automatic Storage Management disk group for both data and recovery files.The file system that you choose should have at least 2 GB of free disk space.
The disk space requirement is the default disk quota configured for the flash recovery area (specified by the DB_RECOVERY_FILE_DEST_SIZE
initialization parameter).
If you choose the Custom installation type or the Advanced database configuration option, then you can specify a different disk quota value. After you create the database, you can also use Oracle Enterprise Manager Grid Control or Database Control to specify a different value.
See Also:
Oracle Database Backup and Recovery Basics for more information about sizing the flash recovery areaThe default path suggested by Oracle Universal Installer for the flash recovery area is a subdirectory of the Oracle base directory.
This default location is not recommended for production databases.
The oracle user must have write permissions to create the files in the path that you specify.
Note:
You must perform this procedure only if you want to place the Oracle Database or recovery files on a separate file system to the Oracle base directory.To create directories for the Oracle database, or recovery files on separate file systems to the Oracle base directory:
Use the df -k
command 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.4 GB of free disk space. |
If you are using the same file system for more than one type of file, then add the disk space requirements for each type to determine the total disk space requirement.
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 Automatic Storage Management or raw devices for storage, then refer to one of the following sections:
This section describes how to configure disks for use with Automatic Storage Management. Before you configure the disks, you must determine the number of disks and the amount of free disk space that you require. The following sections describe how to identify the requirements and configure the disks on each platform:
Step 1: Identifying Storage Requirements for Automatic Storage Management
Step 2: Using an Existing Automatic Storage Management Disk Group
Step 3: Creating DAS or SAN Disk Partitions for Automatic Storage Management
Note:
Although this section refers to disks, you can also use zero-padded files on a certified NAS storage device in an Automatic Storage Management disk group. Refer to Appendix B for information about creating and configuring NAS-based files for use in an Automatic Storage Management disk group.The following are the general steps to configure Automatic Storage Management:
Identify the storage requirements of the site.
Optionally, use an existing Automatic Storage Management disk group.
If you are creating a new Automatic Storage Management disk group, create partitions for DAS or SAN disks.
Use one of the following methods to complete the Automatic Storage Management configuration:
If you plan to install Oracle Database using interactive mode, Oracle Universal Installer prompts you for the Automatic Storage Management disk configuration information during the installation.
If you plan to install Oracle Database using noninteractive mode, you will need to manually configure the disks before performing the installation.
To identify the storage requirements for using Automatic Storage Management, you must determine the number of devices and the amount of free disk space that you require. To complete this task:
Determine whether you want to use Automatic Storage Management for Oracle Database files, recovery files, or both.
Note:
You do not have to use the same storage mechanism for data files and recovery files. You can use the file system for one file type and Automatic Storage Management for the other. If you plan to use Automatic Storage Management for both data files and recovery files, then you should create separate Automatic Storage Management disk groups for the data files and the recovery files.If you plan to enable automated backups during the installation, then you can choose Automatic Storage Management as the storage mechanism for recovery files by specifying an Automatic Storage Management disk group for the flash recovery area. Depending on how you choose to create a database during the installation, you have the following options:
If you select an installation method that runs Oracle Database Configuration Assistant in interactive mode, by choosing the Advanced database configuration option for example, then you can decide whether you want to use the same Automatic Storage Management disk group for database files and recovery files, or you can choose to use different disk groups for each file type. Ideally, you should create separate Automatic Storage Management disk groups for data files and for recovery files.
The same choice is available to you if you use Oracle Database Configuration Assistant after the installation to create a database.
If you select an installation type that runs Oracle Database Configuration Assistant in noninteractive mode, then you must use the same Automatic Storage Management disk group for data files and recovery files.
Choose the Automatic Storage Management redundancy level that you want to use for each Automatic Storage Management disk group that you create.
The redundancy level that you choose for the Automatic Storage Management disk group determines how Automatic Storage Management mirrors files in the disk group and determines the number of disks and amount of disk space that you require, as follows:
External redundancy
An external redundancy disk group requires a minimum of one disk device. The effective disk space in an external redundancy disk group is the sum of the disk space in all of its devices.
If you select this option, Automatic Storage Management does not mirror the contents of the disk group. Choose this redundancy level under any one of the following conditions:
Normal redundancy
In a normal redundancy disk group, by default Automatic Storage Management uses two-way mirroring for datafiles and three-way mirroring for control files, to increase performance and reliability. Alternatively, you can use two-way mirroring or no mirroring. A normal redundancy disk group requires a minimum of two failure groups (or two disk devices) if you are using two-way mirroring. The effective disk space in a normal redundancy disk group is half the sum of the disk space in all of its devices.
For most installations, Oracle recommends that you use normal redundancy disk groups.
High redundancy
The contents of the disk group are three-way mirrored by default. To create a disk group with high redundancy, you must specify at least 3 failure groups (a minimum of 3 devices).
Although high-redundancy disk groups provide a high level of data protection, you must consider the higher cost of additional storage devices before deciding to use this redundancy level.
Determine the total amount of disk space that you require for the database files and recovery files.
Use the following table to determine the minimum number of disks and the minimum disk space requirements for the installation:
Redundancy Level | Minimum Number of Disks | Data Files | Recovery Files | Both File Types |
---|---|---|---|---|
External | 1 | 1.15 GB | 2.3 GB | 3.45 GB |
Normal | 2 | 2.3 GB | 4.6 GB | 6.9 GB |
High | 3 | 3.45 GB | 6.9 GB | 10.35 GB |
If an ASM instance is already running on the system, then you can use an existing disk group to meet these storage requirements. If necessary, you can add disks to an existing disk group during the installation.
The following step describes how to identify existing disk groups and determine the free disk space that they contain.
Optionally, identify failure groups for the Automatic Storage Management disk group devices.
Note:
You need to perform this step only if you intend to use an installation method that runs Oracle Database Configuration Assistant in interactive mode. For example, if you intend to choose the Custom installation type or the Advanced database configuration option. Other installation types do not enable you to specify failure groups.If you intend to use a normal or high redundancy disk group, then you can further protect the database against hardware failure by associating a set of disk devices in a custom failure group. By default, each device comprises its failure group. However, if two disk devices in a normal redundancy disk group are attached to the same SCSI controller, then the disk group becomes unavailable if the controller fails. The controller in this example is a single point of failure.
To avoid failures of this type, you can use two SCSI controllers, each with two disks, and define a failure group for the disks attached to each controller. This configuration would enable the disk group to tolerate the failure of one SCSI controller.
Note:
If you define custom failure groups, then you must specify a minimum of two failure groups for normal redundancy disk groups and three failure groups for high redundancy disk groups.If you are sure that a suitable disk group does not exist on the system, then install or identify appropriate disk devices to add to a new disk group. Apply the following guidelines when identifying appropriate disk devices:
All the devices in an Automatic Storage Management disk group should be the same size and have the same performance characteristics.
Do not specify more than one partition on a single physical disk as a disk group device. Automatic Storage Management expects each disk group device to be on a separate physical disk.
Although you can specify a logical volume as a device in an Automatic Storage Management disk group, Oracle does not recommend its use. Logical volume managers can hide the physical disk architecture. This would prevent Automatic Storage Management from optimizing I/O across the physical devices.
See Also:
"Step 4: Configuring Disks for Automatic Storage Management" for information about completing this taskNote:
This is an optional step.If you want to store either database or recovery files in an existing Automatic Storage Management disk group, then you have the following choices, depending on the installation method that you select:
If you select an installation method that runs Oracle Database Configuration Assistant in interactive mode (for example, choosing the Advanced database configuration option), then you can decide whether you want to create a disk group or use an existing one.
The same choice is available to you if you use Oracle Database Configuration Assistant after the installation to create a database.
If you select an installation method that runs Oracle Database Configuration Assistant in noninteractive mode, then you must choose an existing disk group for the new database; you cannot create a disk group. However, you can add disk devices to an existing disk group if it has insufficient free space for your requirements.
Note:
The ASM instance that manages the existing disk group can be running in a different Oracle home directory.To determine whether an existing Automatic Storage Management disk group exists, or to determine whether there is sufficient disk space in a disk group, you can use Oracle Enterprise Manager Grid Control or Database Control. Alternatively, you can use the following procedure:
View the contents of the oratab
file to determine whether an ASM instance is configured on the system:
# more /etc/oratab
If an ASM instance is configured on the system, then the oratab
file should contain a line similar to the following:
+ASM:oracle_home_path:N
In this example, +ASM
is the system identifier (SID) of the ASM instance and oracle_home_path
is the Oracle home directory where it is installed. By convention, the SID for an ASM instance begins with a plus sign.
Open a shell window and temporarily set the ORACLE_SID
and ORACLE_HOME
environment variables to specify the appropriate values for the ASM instance that you want to use.
For example, if the Automatic Storage Management SID is named OraDB10g+ASM
and is located in the asm
subdirectory of the ORACLE_BASE
directory, then enter the following commands to create the required settings:
Bourne, Bash, or Korn shell:
$ ORACLE_SID=OraDB10g+ASM $ export ORACLE_SID $ ORACLE_HOME=/u01/app/oracle/product/10.1.0/asm $ export ORACLE_HOME
C shell:
% setenv ORACLE_SID OraDB10g+ASM % setenv ORACLE_HOME /u01/app/oracle/product/10.1.0/asm
By using SQL*Plus, connect to the ASM instance as the SYS user with SYSDBA privilege and start the instance if necessary:
# $ORACLE_HOME/bin/sqlplus "SYS/SYS_password as SYSDBA"
SQL> STARTUP
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.
In order to use a DAS or SAN disk in Automatic Storage Management, the disk must have a partition table. Oracle recommends creating exactly one partition for each disk containing the entire disk.
Oracle provides an Automatic Storage Management library driver that you can use to simplify the configuration and management of the disk devices that you want to use with Automatic Storage Management. A disk that is configured for Automatic Storage Management is known as a candidate disk.
If you intend to use Automatic Storage Management for database storage on Linux, then Oracle recommends that you install the Automatic Storage Management library driver and associated utilities and use them to configure the devices that you want to include in an Automatic Storage Management disk group. If you do not use the Automatic Storage Management library driver, then 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 Automatic Storage Management library driver, then you must change the default disk discovery string toORCL:*
. These disks would be discovered if the diskstring is either set to ORCL:*
or is left empty ("").To use the Automatic Storage Management library driver to configure Automatic Storage Management devices, complete the following tasks.
Installing and Configuring the Automatic Storage Management Library Driver Software
To install and configure the Automatic Storage Management library driver software:
Enter the following command to determine the kernel version and architecture of the system:
# uname -rm
If necessary, download the required Automatic Storage Management library driver packages from the Oracle Technology Network Web site:
http://www.oracle.com/technology/tech/linux/asmlib/index.html
Note:
Automatic Storage Management library driver packages for some kernel versions are available on the Oracle Database installation media in thedatabase/RPMS/asmlib
directory. However, Oracle recommends that you check the Oracle Technology Network Web site for the most up-to-date packages.You must install the following packages, where version
is the version of the Automatic Storage Management 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
Enter a command similar to the following to install the packages:
$ sudo 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 3.0 enterprise kernel on an x86 system, then enter a command similar to the following:
$ sudo 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 Automatic Storage Management Library driver on start (y/n): | Enter y to start the Oracle Automatic Storage Management library driver when the system starts. |
Configuring the Disk Devices to Use the Automatic Storage Management Library Driver
To configure the disk devices that you want to use in an Automatic Storage Management disk group:
If you intend to use IDE, SCSI, or RAID devices in the Automatic Storage Management disk group, then:
If necessary, install or configure the disk devices that you intend to use for the disk group and restart 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:
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.
Enter a command similar to the following to mark a disk as an Automatic Storage Management 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 Automatic Storage Management, then ensure that you specify the correct logical device name for the disk.
To create a database during the installation using the Automatic Storage Management library driver, you must change the default disk discovery string to ORCL:*
. These disks would be discovered if the diskstring is either set to ORCL:*
or is left empty ("").
Administering the Automatic Storage Management Library Driver and Disks
To administer the Automatic Storage Management library driver and disks, use the oracleasm
initialization script with different options, as follows:
Option | Description |
---|---|
configure |
Use the configure option to reconfigure the Automatic Storage Management library driver, if necessary:
# /etc/init.d/oracleasm configure |
enable disable |
Use the disable and enable options to change the behavior of the Automatic Storage Management library driver when the system starts. The enable option causes the Automatic Storage Management library driver to load when the system starts:
# /etc/init.d/oracleasm enable |
start stop restart |
Use the start , stop , and restart options to load or unload the Automatic Storage Management library driver without restarting the system:
# /etc/init.d/oracleasm restart |
createdisk |
Use the createdisk option to mark a disk device for use with the Automatic Storage Management 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 Automatic Storage Management disk group. You must drop the disk from the Automatic Storage Management 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 Automatic Storage Management library driver:
# /etc/init.d/oracleasm querydisk {DISKNAME | devicename} |
listdisks |
Use the listdisks option to list the disk names of marked Automatic Storage Management library driver disks:
# /etc/init.d/oracleasm listdisks |
scandisks |
Use the scandisks option to enable cluster nodes to identify which shared disks have been marked as Automatic Storage Management library driver disks on another node:
# /etc/init.d/oracleasm scandisks |
Note:
For improved performance and easier administration, Oracle recommends that you use the Automatic Storage Management library driver rather than raw devices to configure Automatic Storage Management disks.To configure disks for Automatic Storage Management using raw devices:
If you intend to use IDE, SCSI, or RAID devices in the Automatic Storage Management disk group, then:
If necessary, install or configure the disk devices that you intend to use for the disk group and restart 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:
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.
If you intend to use direct access storage devices (DASDs), then:
If necessary, install or configure the DASDs that you intend to use for the disk group and restart 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 dasd
xxxx
, 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, then 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/dasd
xxxx
1
.
If you want to use ECKD type DASDs, then 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. Ensure that:You specify the correct DASD device name
The DASD does not contain existing data that you want to preserve
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, then the partition device name for the DASD is /dev/dasd
xxxx
1
.
If you formatted the DASD with the compatible disk layout, then 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/dasd
xxxx
1
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/raw
n
, 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 Automatic Storage Management, then ensure 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 restarts.
On SUSE systems, complete the following steps on each node to bind the disk devices to raw devices:
Note:
If the nodes are configured differently, then the disk device names may be different on some nodes. In the following procedure, ensure that you specify the correct disk device names on each node.To determine what raw devices are already bound to other devices, enter the following command on every node:
# /usr/sbin/raw -qa
Raw devices have device names in the form /dev/raw/raw
n
, 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 on all nodes.
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 Automatic Storage Management, then ensure 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 restarts, enter the following command:
# /sbin/chkconfig raw on
If you also want to use raw devices for storage, then refer to the "Configuring Raw Partitions or Raw Logical Volumes" section.
Otherwise, refer to Stopping Existing Oracle Processes.
The following subsections describe how to configure raw partitions or raw logical volumes.
Creating the Required Raw Partitions on IDE, SCSI, or RAID Devices
Creating the Oracle Database Configuration Assistant Raw Device Mapping File
Creating the Oracle Database Configuration Assistant Raw Device Mapping File
The procedures in the following sections describe how to create raw partitions 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. Using LVM can provide benefits when used as the method 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.
Note:
The use of logical volumes for raw devices is supported only for single-instance databases.If you want to use logical volumes instead of raw partitions, then:
See Also:
The operating system documentation or thelvm
man page for more information about completing steps 1 and 2Create a separate volume group for the Oracle Database files.
You can use a name such as oracle_vg
or dbname
_vg
for the volume group.
Create the required number of logical volumes using the sizes listed in Table 2-1.
Use a naming convention similar to the following when creating the logical volumes:
dbname_objectname_raw_sizem
For example, you may name the logical volume for the SYSTEM table space (500 MB) in the sales database as follows:
sales_system_raw_500m
Bind the logical volumes to raw devices as described in the "Binding the Partitions to Raw Devices" section, using the logical volume device name in place of the partition device name.
Create the raw device mapping file as described in the "Creating the Oracle Database Configuration Assistant Raw Device Mapping File" section.
Table 2-1 lists the number and size of the raw partitions that you must configure for database files.
Note:
While creating a database, you can use both raw character devices and block devices as raw volumes. As a result of block device support, the kernel level limitation on the maximum number of raw devices is removed. This enables you to configure additional raw volumes to meet the requirements.Table 2-1 Raw Partitions Required for Database Files on Linux
Number | Partition Size (MB) | Purpose |
---|---|---|
1 |
500 |
|
1 |
500 |
|
1 |
500 |
|
1 |
250 |
|
1 |
160 |
|
1 |
120 |
|
3 |
120 |
|
3 |
110 |
|
1 |
5 |
|
1 |
5 |
Note:
If you prefer to use manual, instead of automatic, undo management, then create a single RBS tablespace raw device that is at least 500 MB in size, instead of the UNDOTBS1 raw device.If you intend to use IDE, SCSI, or RAID devices for the raw devices, then:
If necessary, install or configure the disk devices that you intend to use for the raw partitions and restart the system.
Note:
Because the number of partitions that you can create on a single device is limited, you may 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 partition.
After you have created the required partitions on this device, use the w
command to write the modified partition table to the device.
Refer to the fdisk
man page for more information about creating partitions.
You can use raw logical volume manager (LVM) volumes for Oracle database file storage. To configure the required raw logical volumes:
If you intend to use direct access storage devices (DASDs) for the volume group, then:
If necessary, install or configure the DASDs that you intend to use for the volume group and restart 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 dasd
xxxx
, 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, then 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. Ensure that:You specify the correct DASD device name
The DASD does not contain existing data that you want to preserve
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, then 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/dasd
xxxx
1
.
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, then:
If necessary, install or configure the disk devices that you intend to use for the volume group and restart 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
On zSeries Linux only, if you intend to use direct access storage devices (DASDs) for the raw devices, then:
If necessary, install or configure the DASDs that you intend to use for the raw partitions and restart 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 dasd
xxxx
, 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, then refer to the "Binding the Partitions 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/dasd
xxxx
1
.
If you want to use ECKD type DASDs, then 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. Ensure that:You specify the correct DASD device name
The DASD does not contain existing data that you want to preserve
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, then the partition device name for the DASD is /dev/dasd
xxxx
1
.
If you formatted the DASD with the compatible disk layout, then 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.
Refer to 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.After you have created the required partitions, you must bind the partitions 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/raw
n
, 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 that you created:
/dev/raw/raw1 /dev/sdb1
Specify an unused raw device for each partition.
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 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 restarts.
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/raw
n
, 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 on all nodes.
Open the /etc/raw
file in any text editor and add a line similar to the following to associate each partition 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 to the raw devices, enter the following command:
# /etc/init.d/raw start
To ensure that the raw devices are bound when the system restarts, enter the following command:
# /sbin/chkconfig raw on
To enable Oracle Database Configuration Assistant to identify the appropriate raw device for each database file, you must create a raw device mapping file, as follows:
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
The file must specify one automatic undo tablespace data file (undotbs1
), and at least two redo log files (redo1_1
, redo1_2
).
Specify at least two control files (control1
, control2
).
To use manual instead of automatic undo management, specify a single RBS tablespace data file (rbs
) instead of the automatic undo management tablespace data files.
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, refer to the "Stopping Existing Oracle Processes" section.
Caution:
If you are installing additional Oracle Database 10g products in an existing Oracle home, then stop all processes running in the Oracle home. You must complete this task to enable Oracle Universal Installer to relink certain executables and libraries.If you choose to create a database during the installation, then most installation types configure and start a default Oracle Net listener using TCP/IP port 1521 and the IPC key value EXTPROC
. However, if an existing Oracle Net listener process is using the same port or key value, Oracle Universal Installer can only configure the new listener; it cannot start it. To ensure that the new listener process starts during the installation, you must shut down any existing listeners before starting Oracle Universal Installer.
To determine whether an existing listener process is running and to shut it down if necessary:
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, then refer to the "Configuring 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 or tcsh 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 nameLISTENER
, then 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 Oracle Universal Installer from the oracle
account. However, before you start Oracle Universal Installer you must configure the environment of the oracle
user. To configure the environment, you must:
Note:
Ensure that thePATH
variable contains $ORACLE_HOME/bin
before /usr/X11R6/bin
.To set the oracle
user's environment:
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 fully_qualified_remote_host_name
For example:
$ xhost somehost.us.acme.com
If you are not already logged in to the system where you want to install the software, then log in to that system as the oracle
user.
If you are not logged in as the oracle
user, then 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:
Note:
On Red Hat Linux,.bash_profile
is the user startup file for the Bash shell.Bourne shell (sh
), Bash shell (bash
), or Korn shell (ksh
):
$ vi .bash_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 variable is set in the file, then remove the appropriate lines from the file.
Save the file, and exit from the editor.
To run the shell startup script, enter one of the following commands:
Bash shell:
$ . ./.bash_profile
Bourne or Korn shell:
$ . ./.profile
C shell:
% source ./.login
If you are not installing the software on the local system, then enter a command similar to the following to direct X applications to display on the local system:
Bourne, Bash, or Korn shell:
$ DISPLAY=local_host:0.0 ; export DISPLAY
C shell:
% setenv DISPLAY local_host:0.0
In this example, local_host
is the host name or IP address of the system that you want to use to display Oracle Universal Installer (your workstation or PC).
If you determined that the /tmp
directory has less than 400 MB of free disk space, then identify a file system with at least 400 MB of free space and set the TMP
and TMPDIR
environment variables to specify a temporary directory on this file system:
Use the df -k
command 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:
$ sudo mkdir /mount_point/tmp $ sudo chmod a+wr /mount_point/tmp
Enter commands similar to the following to set the TMP
and TMPDIR
environment variables:
Bourne, Bash, or Korn shell:
$ TMP=/mount_point/tmp $ TMPDIR=/mount_point/tmp $ export TMP TMPDIR
C shell:
% setenv TMP /mount_point/tmp % setenv TMPDIR /mount_point/tmp
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 storage, then set the DBCA_RAW_CONFIG
environment variable to specify the full path to the raw device mapping file:
Bourne, Bash, or Korn shell:
$ DBCA_RAW_CONFIG=$ORACLE_BASE/oradata/dbname/dbname_raw.conf $ export DBCA_RAW_CONFIG
C shell:
% setenv DBCA_RAW_CONFIG=$ORACLE_BASE/oradata/dbname/dbname_raw.conf
Enter the following commands to ensure that the ORACLE_HOME
and TNS_ADMIN
environment variables are not set:
Bourne, Bash, or Korn shell:
$ unset ORACLE_HOME $ unset TNS_ADMIN
C shell:
% unsetenv ORACLE_HOME % unsetenv TNS_ADMIN
Note:
If theORACLE_HOME
environment variable is set, then Oracle Universal Installer uses the value that it specifies as the default path for the Oracle home directory. However, if you set the ORACLE_BASE
environment variable, then Oracle recommends that you unset the ORACLE_HOME
environment variable and choose the default path suggested by Oracle Universal Installer.To verify that the environment has been set correctly, enter the following commands:
$ umask $ env | more
Verify that the umask
command displays a value of 22
, 022
, or 0022
and the environment variables that you set in this section have the correct values.