The first step in installing Oracle Enterprise Linux was to download the .zip files from the Oracle E-Delivery web site, unzipping the files and burning the .ISO files onto disks.
Downloading the files was pretty simple. You just follow the prompts on the Oracle E-Delivery website and it presents you with the various versions available. I chose the "Enterprise Linux 4 Update 5 Media Pack for x86 (32 bit)" version and downloaded the following files (onto my Windows XP desktop cmoputer):
- Enterprise Linux 4 Update 5 for x86 (Part 1 of 4)
- Enterprise Linux 4 Update 5 for x86 (Part 2 of 4)
- Enterprise Linux 4 Update 5 for x86 (Part 3 of 4)
- Enterprise Linux 4 Update 5 for x86 (Part 4 of 4)
After they were burnt onto disk, I began the process of installing the OS onto my five machines that I had (one for grid control, two for a database cluster, and two for an application server cluster).
I won't go into the monotonous details of the installation process; it's pretty simple. The only things that were maybe different from a run-of-the-mill installation was what I had specified when prompted for the Network Configuration. I disabled DHCP because I had already determined the network IP address and subnet for each of the machines:
Also, because the database and application server computers have a 10/100Mb network interface card (NIC), as well as a Gigabit NIC, I had to specify both card's IP addresses. Finally, I specified my router's IP address as the gateway and primary dns.
One deficiency that I noticed in the installation process was that while the network configuration showed me the two NIC, it did not perform any type of discovery to determine the hardware name of the card, or the bandwidth available. But, I figured it wouldn't be too hard to change these later, if I had mixed up the public (10/100) and private (gigabit) network addresses, so I just guessed.
Also, I disabled the SELinux and Firewall. At some time in the future, I think I would like to enable SELinux and the Firewall, and see what it breaks, and come up with an iptables definition that is more secure than leaving these disabled. If anyone reading this has done this already, I'd appreciate any info to avoid reinventing the wheel.
The following screen shot shows all of the entries in my hosts files on all machines (I'm not using anything like DNS):
One point that I will mention is that I removed the hostname from the "localhost" line in the /etc/hosts file. For example, instead of this:
127.0.0.1 db1 localhost.localdomain localhost
I had the following:
127.0.0.1 localhost.localdomain localhost
I'm not sure it will make a difference for the application servers or grid control server, but it will mess up the clusterware on the RAC servers.
The /etc/resolv.conf file looks like this:
$ cat /etc/resolv.conf
search us.oracle.com
nameserver 192.168.1.1
And the hostname resolution is setup to use /etc/hosts and then the primary dns:
$ grep ^hosts /etc/nsswitch.conf
hosts: files dns
Post Installation
After installing the OS, the next step was to register the machine on the Oracle "Unbreakable Linux Network". This allowed me to run the up2date program to download updates to certain RPMs. I ran the following commands after installing the Oracle Enterprise Linux version of the up2date RPMs.
Note that all of the commands are being run as the root user, unless otherwise specified.
$ up2date --nox --register
I then modified the /etc/sysconfig/rhn/sources file and uncommented out the following 3 lines:
yum el4_$ARCH_latest http://uln-internal.oracle.com/yum/EnterpriseLinux/EL4/latest/$ARCH/
yum el4_$ARCH_addons http://uln-internal.oracle.com/yum/EnterpriseLinux/EL4/addons/$ARCH/
yum el4_$ARCH_oracle http://uln-internal.oracle.com/yum/EnterpriseLinux/EL4/oracle/$ARCH/
Now, when I run up2date, it will be looking for RPMs in the following channels:
$ up2date --show-channels
el4_i386_latest
el4_i386_addons
el4_i386_oracle
I then ran the following command to update the up2date program:
$ up2date-nox -u
This update took quite a while! And then the following commands to install the oracle-validated package:
$ up2date --install oracle-validated
The oracle-validated package is very nice. It makes all of the kernel parameter changes that Oracle recommends (modifying the /etc/sysctl.conf file for you), as well as the OS limits (number of files, number of processes, etc.) and adds the hangcheck_timer options to the /etc/modprobe.conf file. And the Oracle ASM and OCFS RPMs are already installed, as well. For these reasons, I think it is a great distro!
There were a few other things that I did, post-installation, to configure my servers.
The first thing was to disable unnecessary services. I ran this script on every linux server:
#!/bin/sh
for SERVICE in acpid anacron apmd arpwatch atd autofs bluetooth canna cpuspeed cups cups-config-daemon gpm hpoj irda isdn kuzdu named pcmcia rhnsd sendmail
do
service ${SERVICE} stop
chkconfig --del ${SERVICE}
done
Pardon the formatting here. Note that all of the services should be on the same line.
Also, I decided to disable X on all of the servers. So, I edited the /etc/inittab file and change d the following line:
id:5:initdefault:
to read:
id:3:initdefault:
This would make the machine, upon reboot, boot up into multi-user mode without the X services. Since I had planned to
The only exception was the Grid Control server, where I wanted to use the sendmail service, so I re-enabled this:
$ chkconfig --level 2345 sendmail on
$ chkconfig --list sendmail
Next, I wanted to keep groups and users similar on all nodes (even if they weren't being used). So, I greated the following groups:
$ /usr/sbin/groupadd -g 500 dba
$ /usr/sbin/groupadd -g 501 oinstall
$ /usr/sbin/groupadd -g 502 oper
$ /usr/sbin/groupadd -g 503 crs
$ /usr/sbin/groupadd -g 504 asm
$ /usr/sbin/groupadd -g 505 asmdba
And the following users:
$ /usr/sbin/useradd -u 500 -g 501 -d /home/oracle -s /bin/bash -G 500,501,502 oracle
$ /usr/sbin/useradd -u 501 -g 501 -d /home/crs -s /bin/bash -G 503 crs
$ /usr/sbin/useradd -u 502 -g 501 -d /home/asm -s /bin/bash -G 504 asm
And then set the password for the users:
$ passwd oracle
$ passwd crs
$ passwd asm
I also created the directory for what would be the ORACLE_BASE for all software:
$ mkdir /u01/app/oracle
$ chown -R oracle:oinstall /u01
In my next few articles, before I delve into my experiences installing Grid Control, OpenFiler, RAC and the Application Server, I will go through the steps of installing the Sun Java Development kits on the server, using PuTTY and XMing software to connect to these servers, configuring the Network Time Protocol and Sendmail.
No comments:
Post a Comment