Leave a comment

Featured Readings of the week

The team at OracleRef wishes you a very Nice New Reading !



Oracle Magazine May – June 2012

 



ORACLE Enterprise Manager Cloud Control  12c Slides :

How to Implement a Big Data System


Leave a comment

Installing Oracle Database 11g Release 2 on Linux x86 (RHEL and OEL 5 covered)


1. Overview

For the purpose of education and evaluation only, we provide a walkthrough of installing Oracle Database 11g Release 2 on Linux. We take the approach of using minimum number of steps for accomplishing this installation. Note that this guide does not cover the installation of the Linux operating system.

This guide assumes a server with the following hardware requirements:

  • A single CPU,
  • 1024 Mb of RAM,
  • and one disk drive (IDE, SCSI, or FireWire) with at least 7 Gb of free space:

1024 Mb of disk space in the /tmp directory,

3.8 Gb of local disk space for the database software,

and about 1.5 Gb of swap disk space.

This procedure is based on Metalink Note: 880936.1: Requirements for Installing Oracle 11gR2 RDBMS on RHEL (and OEL) 5 on 32-bit x86

As preliminary step, let us verify the prerequisites for installing Oracle 11gR2 RDBMS:

  • Required kernel version:

Red Hat Enterprise Linux Server 5.2 (or greater), which is Kernel 2.6.18-92 or ewer.

  • Required packages versions:

C.f. Oracle Metalink Note: 880936.1

  • Swap Disk Space Considerations:

Installing Oracle Database 11g Release 2 requires a minimum of 1024Mb of memory. Swap disk space should be proportional to the system’s physical memory:

With RAM as 1024 Mb to 2048 Mb, Swap Disk Space should be 1.5 x RAM

To check the amount of memory we have:

$ cat /proc/meminfo | grep MemTotal

MemTotal:      1048576 kB

To check the amount of swap space we have allocated:

$ cat /proc/meminfo | grep SwapTotal

SwapTotal:     1572864 kB


2. Configuring Linux for the Installation of Oracle Database 11g Release 2

This section walks through the steps required to configure Linux for installing Oracle Database 11g Release 2. These steps are written for Bourne, Korn and bash shells.Firstly, open a terminal window and login as the root user.

2.1 Setting Kernel Parameters

The kernel parameters presented in this section are recommended values as documented by Oracle Metalink note 880936.1.

i. Setting Shared Memory

Setting SHMMAX

We can determine the value of SHMMAX by performing the following:

$ cat /proc/sys/kernel/shmmax

536870912

Should you need to alter the default setting for SHMMAX without rebooting the machine:

$ sysctl -w kernel.shmmax=536870912

Should you need to make this change permanent, insert the kernel parameter in the /etc/sysctl.conf startup file:

$ echo “kernel.shmmax=536870912” >> /etc/sysctl.conf

Setting SHMMNI

We can determine the value of SHMMNI by performing the following:

$ cat /proc/sys/kernel/shmmni

4096

The default setting for SHMMNI should be adequate for the Oracle11g Release 2 installation.

Setting SHMALL

The default size of SHMALL is 2097152 and can be queried using:

$ cat /proc/sys/kernel/shmall

2097152

The default setting for SHMALL should be adequate for the Oracle11g Release 2  installation.

To determine all shared memory limits:

$ ipcs -lm

—— Shared Memory Limits ——–

max number of segments = 4096

max seg size (kbytes) = 4194303

max total shared memory (kbytes) = 1073741824

min seg size (bytes) = 1

ii. Setting Semaphore Kernel Parameters

We can alter the default setting for all semaphore settings without rebooting the machine by making the changes directly using the following command:

$ sysctl -w kernel.sem=”250 32000 100 128″

We should then make this change permanent by inserting the kernel parameter in the /etc/sysctl.conf startup file:

$ echo “kernel.sem=250 32000 100 128” >> /etc/sysctl.conf

To determine all semaphore limits:

$ ipcs -ls

—— Semaphore Limits ——–

max number of arrays = 128

max semaphores per array = 250

max semaphores system wide = 32000

max ops per semop call = 32

semaphore max value = 32767

We can also use the following command:

$ cat /proc/sys/kernel/sem

250     32000   100      128

iii. Setting File Handles

To determine the maximum number of file handles for the entire system:

$ cat /proc/sys/fs/file-max

6815744

Should you need to alter the default setting for the maximum number of file handles without rebooting the machine:

$ sysctl -w fs.file-max=6815744

Should you need to make this change permanent, insert the kernel parameter in the /etc/sysctl.conf startup file:

$ echo “fs.file-max=6815744” >> /etc/sysctl.conf

We can query the current usage of file handles by using the following:

$ cat /proc/sys/fs/file-nr

825     0       6815744

iv. Setting IP Local Port Range

We should configure the system to allow a local port range of 9000 through 65500 as recommended by Oracle.

We Use the following command to determine the value of ip_local_port_range:

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

9000   65500

Should you need to alter the default setting for the local port range without rebooting the machine:

$ sysctl -w net.ipv4.ip_local_port_range=”9000 65500″

Should you need to make this change permanent, insert the kernel parameter in the /etc/sysctl.conf startup file:

$ echo “net.ipv4.ip_local_port_range = 9000 65500” >> /etc/sysctl.conf

v. Activating All Kernel Parameters for the System

At this point, we have covered all the required Linux kernel parameters needed for a successful Oracle Database 11gR2 installation and configuration.

We can reboot to ensure all of these parameters are set in the kernel or we can run the following command as root.

$ /sbin/sysctl –p

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

kernel.shmmax = 536870912

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

net.ipv4.ip_local_port_range = 9000 65500

2.2 Creating Groups and User for Oracle

Open a terminal window and login as the root user.

$ /usr/sbin/groupadd -g 501 oinstall

$ /usr/sbin/groupadd -g 502 dba

$ /usr/sbin/groupadd -g 503 oper

$ /usr/sbin/groupadd -g 504 asm

$ /usr/sbin/groupadd -g 505 asmdba

$ /usr/sbin/useradd -m -u 501 -g oinstall -G dba,oper,asm, asmdba -d /home/oracle -s /bin/bash -c “Oracle Software Owner” oracle

$ id oracle

uid=501(oracle) gid=501(oinstall) groups=501(oinstall), 502(dba), 503(oper), 504(asm), 505(asmdba)

Set the password for the oracle account:

$ /usr/sbin/passwd oracle

Verify That the User nobody exists

$ id nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody)

2.3 Creating the Oracle Base Directory

Create the directory for the software installation and assign ownership to oracle:oinstall.

$ mkdir -p /u01/app/oracle

$ chown -R oracle:oinstall /u01/app

$ chmod -R 775 /u01/app

  • /u01 owned by root.
  • /u01/app owned by oracle:oinstall with 775 permissions.
  • /u01/app/oracle owned by oracle:oinstall with 775 permissions.

2.4 Setting /home/oracle/.bash_profile for the Oracle user

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

umask 022

# User specific environment and startup programs

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_TERM=xterm

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

export TEMP=/tmp

export TMPDIR=/tmp

2.5 Setting Shell Limits for the Oracle User

To improve the performance of the software on Linux systems, Oracle recommends to 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

To make these changes, the following is run as root:

$ cat >> /etc/security/limits.conf <<EOF

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

EOF

$ cat >> /etc/pam.d/login <<EOF

session    required     /lib/security/pam_limits.so

session    required     pam_limits.so

EOF

Update the default shell startup file for the “oracle” UNIX account.

For the Bourne, Bash, or Korn shell, we add the following lines to the /etc/profile file by running the following command:

cat >> /etc/profile <<EOF

if [ \$USER = “oracle” ]; then

if [ \$SHELL = “/bin/ksh” ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

EOF


3. Installing Oracle Database 11g Release 2

Login as operating system user “oracle” to the Linux box. To install the Oracle Database 11gR2 software on linux, you must user the GUI installer.From OTN website, we downloaded Oracle 11gR2 software:

1. Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86

linux_11gR2_database_1of2.zip (1,285,396,902 bytes)

linux_11gR2_database_2of2.zip (995,359,177 bytes)

2. Oracle Database 11gR2 Examples:

linux_11gR2_examples.zip (505,570,137 bytes)

3. Oracle De-install Utility (11.2.0.1.0) for Linux x86

linux_11gR2_deinstall.zip (124,457,540 bytes)

As the “oracle” user account, we extracted the three downloaded packages to a temporary directory.

We used “/home/oracle/wkdir/11gr2”.

$ su – oracle

$ mkdir -p /home/oracle/wkdir/11gr2

$ cd /home/oracle/wkdir/11gr2

$ unzip linux_11gR2_database_1of2.zip

$ unzip linux_11gR2_database_2of2.zip

Installing the Oracle Database 11gR2 software procedure step-by step:

$ cd /home/oracle/wkdir/11gr2

$ cd database

$ ./runInstaller

Screenshot00

Screenshot1

Screenshot01

Make sure the Install database software only is selected and click Next.

Screenshot2

Make sure the Single instance database installation is selected and click Next.

Screenshot3

At the Language Selection screen, make sure English is on the list of Selected Languages and click Next.

Screenshot4

Make sure the Installation Type Enterprise Edition is selected and click Next.

Screenshot5

Screenshot61

At the Installation Location window, make sure that the Oracle Base and Oracle Home are set and click Next.

Screenshot7

You need to specify your Inventory Directory. The location should be set to /u01/app/oraInventory. Accept the default Operating System Group Name, oinstall. Click Next.

Screenshot8

Screenshot81

Screenshot9

Product-specific Prerequisite Checks.

Screenshot10

At the Summary screen, review what will be installed and click Finish.

Screenshot91

You will see the progress window.

Screenshot101

When prompted, execute /u01/app/orainstRoot.sh and /u01/app/oracle/product/11.2.0/dbhome_1/root.sh as the root user and then click Ok.

End of Installation

Screenshot15


4. Verifying Oracle Database 11g Release 2 Software Installation

To verify the Oracle Database 11gR2 software installation on Linux, open a terminal window as the user oracle, and run:

$ /u01/app/oracle/product/11.2.0/dbhome_1/oui/bin/runInstaller

Screenshotinv


5. De-Installing Oracle Database 11g Release 2

With Oracle Database 11gR2, Oracle Corp. delivers a new utility named Oracle De-install Utility.

From OTN, download and unzip the following software:

Oracle De-install Utility (11.2.0.1.0) for Linux x86

linux_11gR2_deinstall.zip (124,457,540 bytes)

Its syntax is as follows:

deinstall0

To deinstall the Oracle Database 11gR2 software on Linux, open a terminal window as the user oracle, and run:

$ /home/oracle/wkdir/11gr2/deinstall/deinstall –home $ORACLE_HOME –local


Leave a comment

TOP 5 Resources

TOP 5 Resources
Learning Oracle Database
Learning Oracle Database 11g Release 1 New Features
Installing Oracle Database 10g Software
Installing Oracle Database 11g Software
Using Oracle Init.ora Parameters
Creating Oracle Database
RMANing Oracle Database
Upgrading / Migrating Oracle Databases
Data Guarding Oracle Databases
“RACking” Oracle Databases
Deploying Oracle Database High Availability Environment
Using Oracle Database Hints
Optimizing Oracle Databases
Learning Ux4Oracle Database
Searching ORA- Errors

Learning Oracle Database

Learning Oracle Database 11g Release 1 New Features

Installing Oracle Database 10g Software

Installing Oracle Database 11g Software

Using Oracle Init.ora Parameters

Creating Oracle Database

RMANing Oracle Database

Upgrading / Migrating Oracle Databases

Data Guarding Oracle Databases

“RACking” Oracle Databases

Deploying Oracle Database High Availability Environment

Using Oracle Database Hints

Optimizing Oracle Databases

Learning Ux4Oracle Database

Searching ORA- Errors

Leave a comment

TOP 5 Resources: Learning Oracle Database


Oracle Database 11g Central Place

Learning Oracle Online

Oracle DBA Tips for Development

Oracle Information

Oracle Database 10g & 11g Basic Articles

Leave a comment

TOP 5 Resources: Learning Oracle Database 11g Release 1 New Features

Oracle Database 11g Features for Administrators

Oracle Database 11g New Features Summary

Step by step Description of Oracle Database 11g New Features

Oracle Database 11g Top New Feature for DBAs

Oracle Database 11g New features

Leave a comment

TOP 5 Resources: Installing Oracle Database 10g Software

Step-by-step Installing Oracle Database 10g Release 2 on Linux (CentOS)

Installing Oracle Database 10g Release 2 on Linux – (RHEL 5)

Installing Oracle Database 10g Release 2 on SLES10 for i386 Step-by-Step

Installation of Oracle database 10g on RHEL 5

Installing Grid Control 10g on Unbreakable Linux 5.3 (VMware)

Leave a comment

TOP 5 Resources: Installing Oracle Database 11g Software


Installing Oracle Database 11g Release 1 on Ubuntu 8.10

Installing Oracle Database 11g Release 1 on Debian sid HOWTO

Installing Oracle Database 11g Release 1 on Linux – (RHEL 5)

Installing Oracle Database 11g Release 1 on Linux

Oracle Database 11g: Installation and Configuration On Redhat Enterprise Linux