During an Oracle Database 11g installation, Oracle will requires come changes to
the installation process. These changes include database out-of-box memory calculations,
character set selection, support for new SYSASM role, and a corresponding OS group, OSASM,
that is to use to secure priviladges to perform ASM tasks.
2- Download the 11g Oracle Database software
Oracle software can be dowloaded from Oracle download repository, you can download
from: http://www.oracle.com/technology/software/products/database/index.html
3- Checking the hardware requirements
- At least 1GB RAM
- Swap area is set up as follow:
If your server has RAM = 1024MB to 2048Mb
then SWAP = 1.5 times RAM
If your server has RAM > 2048MB and < 8192MB
then SWAP= RAM
If your server has RAM > 8192MB
then SWAP=0.75 * RAM- Between 150 and 200 MB of disk space in the /tmp directory
- Disk Space Requirements:
Enterprise Edition 3.47 GB
Standard Edition 3.22 GB
Custom 3.45 GBRun the following commands to check your server memory and disk space:
# grep MemTotal /proc/meminfo
# free -t
#df -k /tmp
4- Checking the software requirements
Operating Systems:
Oracle Enterprise Linux 4.0
Oracle Enterprise Linux 5.0
Oracle Enterprise Linux 6.0
Red Hat Enterprise Linux 4.0
Red Hat Enterprise Linux 5.0
SUSE Linux Enterprise Server 10.0
5- Checking Kernel Parameters:
Oracle recommend the following minimum parameter settings
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
Edit the /etc/sysctl.conf and add above kernel parameters
Run the following command to change the current kernel parameters
#/sbin/sysctl -p
The current values can be tested using the following command
# /sbin/sysctl -a | grep <param-name>
Add the following lines to the "/etc/security/limits.conf" file.
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft stack 10240Install Required Linux Packages for Oracle
After installing the Linux OS, the next step is to verify and install all packages
required for Oracle Database 11g Release 2. The Oracle Universal Installer (OUI)
performs checks on the machine during installation to verify that it meets the
appropriate operating system package requirements.
To ensure that these checks complete successfully, verify the software requirements
documented in this section before starting the Oracle install.
64-bit (x86_64) Installations
binutils-2.20.51.0.2
compat-libcap1-1.10
compat-libcap1-1.10 (32-bit)
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.148
elfutils-libelf-devel-0.148
gcc-4.4.4
gcc-c++-4.4.4
glibc-2.12-1
glibc-2.12-1 (32 bit)
glibc-common-2.12
glibc-devel-2.12
glibc-devel-2.12 (32 bit)
glibc-headers-2.12
ksh-20100621
libaio-0.3.107
libaio-0.3.107 (32 bit)
libaio-devel-0.3.107
libaio-devel-0.3.107 (32 bit)
libgcc-4.4.4
libgcc-4.4.4 (32 bit)
libstdc++-4.4.4
libstdc++-4.4.4 (32 bit)
libstdc++-devel-4.4.4
libstdc++-devel-4.4.4 (32 bit)
make-3.81
numactl-devel-2.0.3
sysstat-9.0.4
unixODBC-2.2.14
unixODBC-2.2.14 (32 bit)
unixODBC-devel-2.2.14
32-bit (x86) Installations
binutils-2.20.51.0.2
compat-libcap1-1.10
compat-libstdc++-33-3.2.3
elfutils-libelf-0.148
elfutils-libelf-devel-0.148
elfutils-libelf-devel-static-0.148
gcc-4.4.4
gcc-c++-4.4.4
glibc-2.12-1
glibc-common-2.12
glibc-devel-2.12
glibc-headers-2.12
kernel-headers-2.6.32
ksh-20100621
libaio-0.3.107
libaio-devel-0.3.107
libgcc-4.4.4
libgomp-4.4.4
libstdc++-4.4.4
libstdc++-devel-4.4.4
make-3.81
numactl-devel-2.0.3
sysstat-9.0.4
unixODBC-2.2.14
unixODBC-devel-2.2.14
Each of the packages listed above can be found on the Oracle Linux DVD
# From Oracle Linux 6 DVD
cd /media/cdrom/Server/Packages
rpm -Uvh binutils-2*i686*
rpm -Uvh compat-libcap1*i686*
rpm -Uvh compat-libstdc++-33*i686*
rpm -Uvh elfutils-libelf-0*i686*
rpm -Uvh elfutils-libelf-devel-0*i686*
rpm -Uvh gcc-4*i686*
rpm -Uvh gcc-c++-4*i686*
rpm -Uvh glibc-2*i686* nss-softokn-freebl-3*i686*
rpm -Uvh glibc-common-2*i686*
rpm -Uvh glibc-devel-2*i686*
rpm -Uvh glibc-headers-2*i686*
rpm -Uvh kernel-headers-2*i686*
rpm -Uvh ksh-*i686*
rpm -Uvh libaio-0*i686*
rpm -Uvh libaio-devel-0*i686*
rpm -Uvh libgcc-4*i686*
rpm -Uvh libgomp-4*i686*
rpm -Uvh libstdc++-4*i686*
rpm -Uvh libstdc++-devel-4*i686*
rpm -Uvh make-3*i686*
rpm -Uvh numactl-devel-2*i686*
rpm -Uvh sysstat-9*i686*
rpm -Uvh unixODBC-2*i686*
rpm -Uvh unixODBC-devel-2*i686*
cd /
eject
6) Kernel Parameters:
Edit the /etc/sysctl.conf and add the next kernel parameters:
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
Reboot the Linux box or enter the following command to apply the
changes for the kernel parameters:
# /sbin/sysctl -p
Then verify the new values:
# /sbin/sysctl -a
7) Shell Limits for the oracle User:
Add or edit the following line in the /etc/pam.d/login file:
session required pam_limits.so
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
8) Creating Operating System Groups and Users:
The following operating system groups and user are required if you are installing
Oracle Database:
The Oracle Inventory group (oinstall): You must have a group whose members are
given access to write to the Oracle Central Inventory (oraInventory).
The OSDBA group (dba): 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.
Oracle Universal Installer prompts you to specify this group name. If software owner is a
member of the group dba, then Oracle Universal Installer defaults the OSDBA setting to dba.
However, you can also choose a different operating system group if required.
The OSOPER group (oper): This is an optional group. Create this group if you want a
separate group of operating system users to have a limited set of database administrative
privileges (the SYSOPER privilege). By default, members of the OSDBA group also have the
SYSOPER privilege.
The OSASM group (asmadmin): This feature introduces a new SYSASM privilege that is
specifically intended for performing Automatic Storage Management administration tasks.
Using the SYSASM privilege instead of the SYSDBA privilege provides a clearer division of
responsibility between Automatic Storage Management administration and database
administration. OSASM is a new operating system group that is used exclusively for
Automatic Storage Management. Members of the OSASM group can connect as SYSASM
using operating system authentication and have full access to Automatic Storage
Management. The usual name chosen for this group is asmadmin.
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. This user must have the Oracle
Inventory group as its primary group (oinstall). It must also have the OSDBA and OSOPER
groups as secondary groups.
Creating the Oracle Inventory Group
# /usr/sbin/groupadd oinstall
Creating the Oracle OSDBA Group
# /usr/sbin/groupadd dba
Creating the Oracle OSASM Group
# /usr/sbin/groupadd asmadmin
Creating the Oracle OSOPER Group
# /usr/sbin/groupadd oper
Creating the Oracle Database Software Owner
#/usr/sbin/useradd -g oinstall -G dba,oper,asmadmin oracle
Creating the Oracle ASM Software Owner
#/usr/sbin/useradd -g oinstall -G dba,oper,asmadmin osasm
Create a new password for the oracle account
# passwd oracle
Changing password for user oracle.
New password: xxxxxxxxxxx
Retype new password: xxxxxxxxxxx
passwd: all authentication tokens updated successfully.
9) Creating the Oracle Base Directory:
# mkdir -p /mount_point/app/oracle
# chown -R oracle:oinstall /mount_point/app/oracle
# chmod -R 775 /mount_point/app/oracle
10) Creating the Oracle ASM Home Directory:
#mkdir -p /u01/app/oracle/11.2/asm
#chown -R osasm:oinstall /u01/app/oracle/11.1/asm
#chmod -R 775 /u01/app/oracle/11.2/asm
11) Creating the Oracle Database Home Directory:
#mkdir -p /u01/app/oracle/11.2/db
#chown -R oracle:oinstall /u01/app/oracle/11.1/db
#chmod -R 775 /u01/app/oracle/11.2/db
12) Setting the environment variables for the ASM OS user:
export ORACLE_SID=+ASM
export ORACLE_HOME=/u01/app/oracle/11.2/asm
export ORACLE_BASE=/u01/app/oracle
export PATH=$ORACLE_HOME/bin:.:$PATH:$HOME/sh
13) Setting the environment variables for the DB OS user :
export ORACLE_SID=TEST
export ORACLE_HOME=/u01/app/oracle/11.2/db
export ORACLE_BASE=/u01/app/oracle
export PATH=$ORACLE_HOME/bin:.:$PATH:$HOME/sh
These parameters should be customized following your server environment and
put into file .profile in user's home directory.
14) Verify that the user nobody exists
# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
if the user nobody does not exist, create it
# /usr/sbin/useradd nobody
15) Atomatic Memory Management
Starting with Oracle Database 11g, the Automatic Memory Management
feature requires more shared memory (/dev/shm) and file descriptors.
The shared memory should be sized to be at least the greater of
MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer.
To determine the amount of shared memory available, enter the following command
# df -h /dev/shm/
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.0G 0 2.0G 0% /dev/shm
16) Network configration
During the Linux OS install, we already configured the IP address and host name for
the database node. This sections contains additional network configuration steps that
will prepare the machine to run the Oracle database.Note that the Oracle database server
should have a static IP address configured for the public network.
Ensure that the node name is not included for the loopback address in the /etc/hosts file.
If the machine name is listed in the in the loopback,it will need to be removed.
127.0.0.1 localhost.localdomain localhost
17) Check to ensure that the firewall option is turned off.
# /etc/rc.d/init.d/iptables status
Firewall is stopped
If the firewall option is operating, you will need to first manually disable:
# /etc/rc.d/init.d/iptables stop
# chkconfig iptables off