Installing Oracle 9iR2 on Redhat 9
Ok people so here goes...
 OS : Redhat 9 (latest updated version from the RHN, _27.9)
 Software : Oracle 9iR2 database from otn.oracle.com. Go to downloads and download it.(to preferably /tmp directory, make sure you have enough space in it as you will be copying/and unzipping it to your local HDA)
 Make sure you have enough hard disk space. (I'll say keep it 5 G just in case, although 3.5G in ok).
 Powerful machine? I don't know about tht. I have a chevo laptop 40G diskspace(RH9 uses 10G), 1G mem, 600MB swap space. So I am way above the specs. but a min of 500mb swap space. Oracle recommends a swap partition of either 400 megabytes or twice the amount of your RAM, whichever is greater.
 Oracle is not certified to run on Redhat 9 so I assume you're doing all that for development/curiosity/learning(I'm doing it to learn linux better heh;))
So we're ready to go?
Step 1:(I've also carried out steps in different orders, yep I know, it ain't windoos, you can do things in varienty of ways)
Make users and Groups(These at a minimum, I've seen more groups being made)
here you'll be prompted for a pwd, punch it twice in and you're done with this part.
[root@cc345772-a root]# groupadd dba
[root@cc345772-a root]# groupadd oinstall
[root@cc345772-a root]# useradd -g oinstall -G dba oracle
[root@cc345772-a root]# passwd oracle
Step 2 : Creating directories, I want to go the OFA way so I made 6 directories, just doing it by the book :)
Step 3 : Downloading/Unzipping etc
[root@cc345772-a root]# mkdir /u01 /u02 /u03 /u04 /u05 /u06
[root@cc345772-a root]# chown oracle.dba /u01 /u02 /u03 /u04 /u05 /u06
[root@cc345772-a root]# chmod 775 /u01 /u02 /u03 /u04 /u05 /u06
OK If you haven't downloaded oracle 9iR2 do so from the oracle website http://otn.oracle.com/software/produ...linuxsoft.html
[root@cc345772-a root]# cd /tmp/9i
[root@cc345772-a 9i]# -- Here I've created new directory and gave oracle user as well all the rights(you might encounter errors when you start installation while logged on as
user oracle , linking of files gave me errors at the end of it)
This way you avoid the gunzip/ then cpio command. in one go,
Or gunzip it,
[root@cc345772-a 9i]# zcat lnx_920_disk1.cpio.gz | cpio -idmv
[root@cc345772-a 9i]# zcat lnx_920_disk2.cpio.gz | cpio -idmv
[root@cc345772-a 9i]# zcat lnx_920_disk3.cpio.gz | cpio -idmv
Then you have Disk1, Disk2 and Disk3 respectively ready for you.(Which ever way you chose).
gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz
# and then unpack it...
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
Step4: Tools and Libraries for backward compatibility?
Well I've seen people suggesting this for backward compatibility.
I did this to check what I have on my hand...
As you can see I don't have it all but it didn't make much of a difference with the installation.
[root@cc345772-a root]# rpm -q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils
package kernel-headers is not installed
Anyways check it up and you can always install them if you don't have it from your shrike disk3. With redhat 9 you can do it withthe GUI.
Start menu->System Settings->Add/Remove Applications, or from the command line, using:
Step5: Tuning kernel parameters
Append these to the /etc/sysctl.conf...
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
append these lines to /etc/security/limits.conf
Then you can reboot to let the changes take effect , If you can't then do this to change kernel parameters at runtime...
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
Step6: Setting up env variables for user oracle
[root@cc345772-a root]# echo 250 32000 100 128 > /proc/sys/kernel/sem
[root@cc345772-a root]# echo 536870912 > /proc/sys/kernel/shmmax
[root@cc345772-a root]# echo 4096 > /proc/sys/kernel/shmmni
[root@cc345772-a root]# echo 2097152 > /proc/sys/kernel/shmall
[root@cc345772-a root]# echo 65536 > /proc/sys/fs/file-max
[root@cc345772-a root]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
Now login as oracle user
su - oracle
append these lines to the .bash_profile
# oracle 9i
export ORACLE_BASE=/u01/ora92 -- your file locations
# -- NO NEED TO DO ANY OF THE JRE/JDK(more on that later)
# -- Your own sid
# Use old Linuxthreads with floating stacks instead of
# the new Native POSIX Thread Library (NPTL)
# Edit paths
# change this NLS settings to suit your country:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
# BTW you don't need to append it wth the .we8iso8859p2, if you're not sure, otherwise you may get trouble while creating the db or even logging into sqlplus etc.(if you
Step7: You can set up temporary swap space logged is as ROOT.
And then free it (I didn't need it as I had enough of it)
% dd if=/dev/zero of=tmp_swap bs=1k count=900000
% chmod 600 tmp_swap
% mkswap tmp_swap
% swapon tmp_swap
log off as oracle user to let the env variables take effect.
% swapoff tmp_swap
% rm tmp_swap
Check then after logging as...
PS: About the JDK/JRE , there is no need to install it seperately as oracle has it's own jre , unless you want to setup the startup of listener, database(s), agent, http server,
[oracle@cc345772-a oracle]$ env | grep ORACLE
you might want to download a rpm from http://www.gurulabs.com/downloads.We'll come to that later. For dbca, oemapp(enterprize manager stuff like that), I'll say, NO NEED.
Oracle installer must run from X and in order to let oracle user to be able to write to X do...
(Again I didn't do it as I am doing it from X)
Continued on Part II...