This page is a fast and easy (trivial) guide to install Oracle RDBMS 10g R2 into a fresh installed Red Hat Enterprise Server 4 (Linux RH). For other releases see below.
Prerequisites:
1GB RAM, 2*RAM swap
4GB disk x sw, 2GB disk local DB
400MB on /tmp (or where TEMP TMPDIR vars refer)
OS RH ES 3
Oracle 10g R2 (10.2.0.1)
root access to the system, X11 working!
Packages: Default Installation +
pdksh.5.2
binutils-2.11
cpp-2.96
compat-glibc-6.2
kernel-headers-2.4
glibc-devel-2.2
libstdc++-devel-2.96
openmotif-devel-2.1
piranha-0.7
gcc-c++-2.96
make-3.80
Preparation (as root)
Prepare FSs with the required size (eg. 2x10GB (SW, stage)).
Download all the required CDs, put them on the system (mount /dev/cdrom; cd media; cp ...)
Create oracle user, groups, ... configure profile
# groupadd -g 500 oinstall
# groupadd -g 501 dba
# useradd -u 500 -d /home/oracle -g "oinstall" -G "dba" -m -s /bin/bash oracle
# grep nobody /etc/passwd
Nobody:x:99:99:Nobody:/:/sbin/nobody
$ vi ~oracle/.bash_profile
umask 022
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
TMP=/u01/bigtmp; export TMP
TMPDIR=$TMP; export TMPDIR
Check system prerequisites (requires RDA tool):
./rda.pl -T hcve
Configure kernel parameters (Oracle 10g R2):
vi /etc/sysctl.conf
# Oracle RDBMS kernel parameters -- BEGIN
kernel.shmall = 2097152
kernel.shmmax = 536870912
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=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
# Oracle RDBMS kernel parameters -- END
then use /sbin/sysctl -p to update kernel values
Note (Oracle 10g R1):
kernel.sem = 256 32000 100 142
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
fs.file-max = 131072
net.ipv4.ip_local_port_range = 20000 65000
Note (easier but not saved):
echo 256 32000 100 142 > /proc/sys/kernel/sem
echo 2147483648 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
echo 131072 > /proc/sys/fs/file-max
echo 20000 65000 > /proc/sys/net/ipv4/ip_local_port_range
Configure ulimit vi /etc/security/limits.conf
# Oracle Limits Configuration
* soft nproc 2047
* hard nproc 16384
* soft nofile 2048
* hard nofile 16384
For RHEL4:
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
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
ln -s /sbin/fuser /bin/fuser
Installation (as oracle)
Uncompress Oracle SW (unzip)
Start installation (xhost +; set DISPLAY then ./runInstaller)
Use default replies to all the questions!
There are some scripts to be run as root...
You are prompted to define the SYS/SYSTEM/... password. Do not forget it!
Post Installation
Check if Oracle is working (sqlplus http://hostname:1158/em)
Configure startup (/etc/rc3.d /etc/oratab /etc/rc3.d/S35vncserver ...)
Many manual configuration are useful: tuning parameters, SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF, ...
Different versions (eg. 10g on RH5 64bit, 9.2 on RH4 64bit, ...)
You can install Oracle 32 or 64 on Linux 64 (check with uname -a).
You can install only Oracle 32 on Linux 32.
Avoid SE-Linux... put SELINUX=disabled in /etc/selinux/config (it is not certified and difficoult to configure)
10g on RH5 64bit
# Ignore prerequisites:
./runInstaller -ignoreSysPrereqs
# Modify the oraparam.ini file to read redhat-5 as a certified version:
[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2,redhat-5
Packages
(i) gcc-c++-4.1.1-52.el5.i386.rpm and all its dependent packages. The dependent packages are
gcc-4.1.1-52.el5.i386.rpm
libstdc++-devel-4.1.1-52.el5.i386.rpm
glibc-devel-2.5-12.i386.rpm
glibc-headers-2.5-12.i386.rpm
libgomp-4.1.1-52.el5.i386.rpm
(ii) libXp-1.0.0-8.i386.rpm
(iii) compat-libstdc++-296-2.96-138.i386.rpm
(iv) compat-libstdc++-33-3.2.3-61.i386.rpm
(v) compat-db-4.2.52-5.1.i386.rpm
This packages are available in the directory Server in CD#3 of RHEL 5.
Carefully check RPMs version and architecture with rpm -aq --queryformat "%{NAME}-%{VERSION}-%{RELEASE} %{ARCH}\n"
runInstaller needs some 386i packages...
Kernel parameters
Add the following the lines in the file /etc/sysctl.conf:
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
10g R2 on RH5.3 64bit
Prerequisites:
binutils-2.17.50.0.6-2 (x86_64)
compat-db-4.2.52-5.1 (x86_64)
compat-libstdc++-296-2.96-138 (i386)
compat-libstdc++-33-3.2.3-61(x86_64)
compat-libstdc++-33-3.2.3-61 (i386)
control-center-2.16.0-14 (x86_64)
gcc-4.1.1-52 (x86_64)
gcc-c++-4.1.1-52 (x86_64)
glibc-2.5-12 (x86_64)
glibc-2.5-12 (i686)
glibc-common-2.5-12 (x86_64)
glibc-devel-2.5-12 (x86_64)
glibc-devel-2.5-12 (i386)
glibc-headers-2.5-12 (x86_64)
ksh-20060214-1.4 (x86_64)
libaio-0.3.106-3.2 (x86_64)
libgcc-4.1.1-52 (i386)
libgcc-4.1.1-52 (x86_64)
libgnome-2.16.0-6 (x86_64)
libgnomeui-2.16.0-5 (x86_64)
libgomp-4.1.1-52 (x86_64)
libstdc++-4.1.1-52 (x86_64)
libstdc++-devel-4.1.1-52 (x86_64)
libXp-1.0.0-8 (i386)
libXtst-1.0.1-3.1 (i386)
make-3.81-1.1 (x86_64)
sysstat-7.0.0-3 (x86_64)
9.2 on RH4 64bit
# if runInstaller does not start!
Check, carefully, the prerequisites!
Check PATH, 32bit libraries, unset CLASSPATH.
# if runInstaller hangs!
Try:
export LD_ASSUME_KERNEL=2.4.19 # on RHEL 4; 2.4.1 on RHEL 3, RH 9; 2.2.5 on RHAS 2.1; 2.4.21 on SLES8, SLES9; unset on RHEL5, SLES10
export LDEMULATION=elf_i386
# if it does not compile sqlplus, ... it does not matter!
Buon divertimento! Have a lot of Fun! Que te diviertas! Diverte-te!
To create new DBs use dbca Configuring DB Storage requires a specific design There are a lot of options in the OUI... Official documentation: http://www.oracle-base.com/articles/10g/OracleDB10gR2InstallationOnRHEL5.php Better than Oracle doc: http://www.puschitz.com/InstallingOracle10g.shtml If You prefer the italian version of this document...