Oracle Database 10g (10.1.0.2) Installation On RedHat Advanced Server 4.0
In this article I'll describe the installation of Oracle Database 10g (10.1.0.2) on RedHat Advanced Server 4.0. The article is based on a server installation with a minimum of 2G swap, secure Linux disabled and the following package groups installed:- X Window System
- GNOME Desktop Environment
- Editors
- Graphical Internet
- Text-based Internet
- Server Configuration Tools
- Development Tools
- Administration Tools
- System Tools
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Installation
- Post Installation
Download Software
Download the following software:Unpack Files
First unzip the files:Next unpack the contents of the files:gunzip ship.db.cpio.gz
You should now have a single directory (Disk1) containing installation files.cpio -idmv < ship.db.cpio
Hosts File
The /etc/hosts file must contain a fully qualified name for the server:<IP-address> <fully-qualified-machine-name> <machine-name>
Set Kernel Parameters
Add the following lines to the /etc/sysctl.conf file:Run the following command to change the current kernel parameters:kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000
Add the following lines to the /etc/security/limits.conf file:/sbin/sysctl -p
Add the following line to the /etc/pam.d/login file, if it does not already exist:* soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536
Note by Kent Anderson: In the event that pam_limits.so cannot set privilidged limit settings see Bug 115442.session required /lib/security/pam_limits.so
Disable secure linux by editing the /etc/selinux/config file, making sure the SELINUX flag is set as follows:
Alternatively, this alteration can be done using the GUI tool (Applications > System Settings > Security Level). Click on the SELinux tab and disable the feature.SELINUX=disabled
Setup
Install the following packages:Create the new groups and users:# From RedHat AS4 Disk 2 cd /media/cdrom/RedHat/RPMS rpm -Uvh setarch-1.6-1.i386.rpm rpm -Uvh compat-libstdc++-33-3.2.3-47.3.i386.rpm # From RedHat AS4 Disk 3 cd /media/cdrom/RedHat/RPMS rpm -Uvh openmotif-2.2.3-6.RHEL4.2.i386.rpm rpm -Uvh compat-db-4.1.25-9.i386.rpm # From RedHat AS4 Disk 4 cd /media/cdrom/RedHat/RPMS rpm -Uvh compat-gcc-32-3.2.3-47.3.i386.rpm rpm -Uvh compat-gcc-32-c++-3.2.3-47.3.i386.rpm
Create the directories in which the Oracle software will be installed:groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba oracle passwd oracle
Login as root and issue the following command:mkdir -p /u01/app/oracle/product/10.1.0/db_1 chown -R oracle.oinstall /u01
Edit the /etc/redhat-release file replacing the current release information (Red Hat Enterprise Linux AS release 4 (Nahant)) with the following:xhost +<machine-name>
Login as the oracle user and add the following lines at the end of the .bash_profile file:redhat-3
# Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1; export ORACLE_HOME ORACLE_SID=TSH1; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH #LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
Installation
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:Start the Oracle Universal Installer (OUI) by issuing the following command in the Disk1 directory:DISPLAY=<machine-name>:0.0; export DISPLAY
During the installation enter the appropriate ORACLE_HOME and name then continue with a "software only" installation../runInstaller
Post Installation
Create a new instance using the DBCA. If you get the "ORA-27125: unable to create shared memory segment" error when using the DBCA issue the following commands as the oracle user then try again:I didn't encounter the previous issue myself, so hopefully you won't either.cd $ORACLE_HOME/bin mv oracle oracle.bin cat >oracle <<"EOF" #!/bin/bash export DISABLE_HUGETLBFS=1 exec $ORACLE_HOME/bin/oracle.bin $@ EOF chmod +x oracle
Edit the /etc/redhat-release file restoring the original release information:
Finally edit the /etc/oratab file setting the restart flag for each instance to 'Y':Red Hat Enterprise Linux AS release 4 (Nahant)
Create a file called /etc/init.d/dbora containing the following:TSH1:/u01/app/oracle/product/10.1.0/db_1:Y
Use chmod to set the privileges to 750:#!/bin/sh # description: Oracle auto start-stop script. # chkconfig: - 20 80 # # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. ORA_HOME=/u01/app/oracle/product/10.1.0/db_1 ORA_OWNER=oracle if [ ! -f $ORA_HOME/bin/dbstart ] then echo "Oracle startup: cannot start" exit fi case "$1" in 'start') # Start the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any values su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" su - $ORA_OWNER -c $ORA_HOME/bin/dbstart ;; 'stop') # Stop the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any values su - $ORA_OWNER -c $ORA_HOME/bin/dbshut su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" ;; esac
Link the file into the appropriate run-level script directories:chmod 750 /etc/init.d/dbora
Associate the dbora service with the appropriate run levels:ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora
The relevant instances should now startup/shutdown automatically at system startup/shutdown.chkconfig --level 345 dbora on
For more information see:
- Oracle Database Installation Guide 10g Release 1 (10.1) for UNIX Systems
- Installing Oracle Database 10g on Red Hat Enterprise Linux AS 3 and 2.1, Red Hat 9, and on Red Hat Fedora Core 1
- Oracle on Linux
Back to the Top.