Oracle Database 10g (10.1.0.2) Installation On Fedora Core 4 (FC4)
In this article I'll describe the installation of Oracle Database 10g (10.1.0.2) on Fedora Core 4. The article is based on a Fedora Core 4 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
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 (Desktop > 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 Fedora Core 4 Disk 1
cd /media/cdrom/Fedora/RPMS
rpm -Uvh setarch-1.7-3.i386.rpm
rpm -Uvh tcl-8.4.9-3.i386.rpm
# From Fedora Core 4 Disk 2
cd /media/cdrom/Fedora/RPMS
rpm -Uvh xorg-x11-deprecated-libs-6.8.2-31.i386.rpm
rpm -Uvh openmotif-2.2.3-10.i386.rpm
rpm -Uvh compat-db-4.2.52-2.i386.rpm
# From Fedora Core 4 Disk 3
cd /media/cdrom/Fedora/RPMS
rpm -Uvh compat-libstdc++-33-3.2.3-47.fc4.i386.rpm
rpm -Uvh compat-gcc-32-3.2.3-47.fc4.i386.rpm
# From Fedora Core 4 Disk 4
cd /media/cdrom/Fedora/RPMS
rpm -Uvh compat-gcc-32-c++-3.2.3-47.fc4.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 (Fedora Core release 4 (Stentz)) 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:Edit the /etc/redhat-release file restoring the original release information: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
Finally edit the /etc/oratab file setting the restart flag for each instance to 'Y':Fedora Core release 4 (Stentz)
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:
Hope this helps. Regards Tim...