8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | 23ai | Misc | PL/SQL | SQL | RAC | WebLogic | Linux
Oracle 10g Grid Control Installation On Red Hat Enterprise Linux 3 (RHEL3)
In this article I'll describe the installation of Oracle 10g Grid Control on Red Hat Enterprise Linux 3 (RHEL3). The article is based on a server installation with a minimum of 2G swap 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
The Oracle 10g Grid Control allows you to monitor all aspects of your infrastructure including database and application servers. Like the Oracle9i Management Server it replaces, the grid control requires a database repository. Oracle prefer you to consider the grid control as a separate product and as such advise you to install the Oracle 9.0.1 database it comes shipped with. The reason for this unusual server version is that the grid control is built using Oracle Application Server 10g components which still rely on the 9i database for a metadata repository. Version 10.1.0.3.0 of the grid control can use a 10g database as a repository, but for most platforms there is no natural install path directly to 10g so I think it's better to stick with the product as it is shipped.
The grid control uses agents on each server to enable monitoring and interaction. As a result, once the grid control is installed it is necessary to install an agent on each server you wish to monitor. The installation of an agent is described in it's owner section. All other tasks relate only to the grid control.
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Grid Control Installation
- Starting and Stopping Grid Control Services
- Agent Installation
- Starting and Stopping Agent Services
- Issues
Download Software
Download the following software.
For convenience you may want to download the agent distribution separately. If you are monitoring servers on different platforms the relevant agents must be downloaded.
Unpack Files
First unzip the grid control installation files.
gunzip linux_grid_control_10_1_0_2_Disk1.cpio.gz gunzip linux_grid_control_10_1_0_2_Disk2.cpio.gz gunzip linux_grid_control_10_1_0_2_Disk3.cpio.gz
Next unpack the contents of the files.
cpio -idmv < linux_grid_control_10_1_0_2_Disk1.cpio cpio -idmv < linux_grid_control_10_1_0_2_Disk2.cpio cpio -idmv < linux_grid_control_10_1_0_2_Disk3.cpio
You should now have four directories (Disk1, Disk2 & Disk3) containing installation files.
Next unzip the grid control patch.
unzip p3731593_10103_LINUX.zip
You should now see a directory called "3731593" which contains a Disk1 directory.
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.
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 256 32000 100 142 fs.file-max = 131072 net.ipv4.ip_local_port_range = 20000 65000 kernel.msgmni = 2878 kernel.msgmax = 8192 kernel.msgmnb = 65535
Run the following command to change the current kernel parameters.
/sbin/sysctl -p
Add the following lines to the "/etc/security/limits.conf" file.
* soft nproc 16384 * hard nproc 16384 * soft nofile 65536 * hard nofile 65536
Add the following line to the "/etc/pam.d/login" file, if it does not already exist.
session required pam_limits.so
Setup
Install the following packages.
# From RedHat AS3 Disk 2 cd /mnt/cdrom/RedHat/RPMS rpm -Uvh setarch-1.3-1.i386.rpm rpm -Uvh sysstat-4.0.7-4.i386.rpm # From RedHat AS3 Disk 3 cd /mnt/cdrom/RedHat/RPMS rpm -Uvh openmotif21-2.1.30-8.i386.rpm rpm -Uvh ORBit-0.5.17-10.4.i386.rpm rpm -Uvh libpng10-1.0.13-8.i386.rpm rpm -Uvh gnome-libs-1.4.1.2.90-34.1.i386.rpm rpm -Uvh compat-glibc-7.x-2.2.4.32.5.i386.rpm compat-gcc-7.3-2.96.122.i386.rpm compat-gcc-c++-7.3-2.96.122.i386.rpm compat-libstdc++-7.3-2.96.122.i386.rpm compat-libstdc++-devel-7.3-2.96.122.i386.rpm
Put gcc296 and g++296 first in $PATH variable by creating the following symbolic links.
mv /usr/bin/gcc /usr/bin/gcc323 mv /usr/bin/g++ /usr/bin/g++323 ln -s /usr/bin/gcc296 /usr/bin/gcc ln -s /usr/bin/g++296 /usr/bin/g++
Create the new groups and users.
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba -s /bin/ksh oracle passwd oracle
Create the directories in which the Oracle software will be installed.
mkdir -p /u01/app/oracle/product/10.1.0/oms mkdir -p /u01/app/oracle/product/10.1.0/agent chown -R oracle.oinstall /u01
Login as root and issue the following command.
xhost +<machine-name>
Login as the oracle user and add the following lines at the end of the ".profile" file.
# 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/oms; export ORACLE_HOME ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:/opt/IBMJava2-131/bin:$ORACLE_HOME/bin:$PATH; export PATH PATH=$PATH:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/opmn/bin; export PATH PATH=$PATH:$ORACLE_HOME/Apache/Apache/bin; 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 if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 16384 else ulimit -u 16384 -n 16384 fi fi PS1="`hostname`> " set -o emacs set filec
Grid Control Installation
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable.
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the Disk1 directory.
./runInstaller
During the installation select the appropriate ORACLE_HOME for the grid control (oms) and select the new database option. The installation will automatically install an agent in the agent home.
Once the installation is complete stop the grid control and the agent using the following commands.
/u01/app/oracle/product/10.1.0/agent/bin/emctl stop agent /u01/app/oracle/product/10.1.0/oms/opmn/bin/opmnctl stopall /u01/app/oracle/product/10.1.0/oms/bin/emctl stop agent
Then issue the following command from the "./3731593/Disk1" directory.
./runInstaller
During the patch installation select the same ORACLE_HOME for the grid control (oms). Once complete make sure the grid control is up using the following commands.
/u01/app/oracle/product/10.1.0/oms/bin/emctl start agent /u01/app/oracle/product/10.1.0/oms/opmn/bin/opmnctl startall /u01/app/oracle/product/10.1.0/agent/bin/emctl start agent
On completion the grid control will be available via a browser using the following style of URL.
http://<server-name>:<port>/em
The server name and port should be adjusted to the values specified in the "$ORACLE_HOME/sysman/setupinfo.txt" files.
Starting and Stopping Grid Control Services
To start the grid control you must start the agent and the web components in the oms home along with the agent in the agent home.
# Start everything /u01/app/oracle/product/10.1.0/oms/bin/emctl start agent /u01/app/oracle/product/10.1.0/oms/opmn/bin/opmnctl startall /u01/app/oracle/product/10.1.0/agent/bin/emctl start agent # Stop everything /u01/app/oracle/product/10.1.0/agent/bin/emctl stop agent /u01/app/oracle/product/10.1.0/oms/opmn/bin/opmnctl stopall /u01/app/oracle/product/10.1.0/oms/bin/emctl stop agent
Agent Installation
This agent installation assumes you are using a doing an installation on a Linux machine which already has a database or application server installed. As such there are no prerequisites as they should match those of the original product installation.
First, unzip the agent installation and patch set.
gunzip linux_grid_control_agentdwn_10_1_0_2.cpio.gz cpio -idmv < linux_grid_control_agentdwn_10_1_0_2.cpio unzip p3731593_10103_LINUX.zip
Make an appropriate directory for the agent software to be loaded into, like.
mkdir -p /u01/app/oracle/product/10.1.0/agent chown oracle.oinstall /u01/app/oracle/product/10.1.0/agent
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable.
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the "./linux/agent" directory.
./runInstaller
During the installation select the appropriate ORACLE_HOME for the agent (agent) and enter the machine name of the grid control server.
Once the installation is complete stop the agent using the following command.
/u01/app/oracle/product/10.1.0/agent/bin/emctl stop agent
Then issue the following command from the "./3731593/Disk1" directory.
./runInstaller
During the patch installation select the same ORACLE_HOME for the agent (agent). Once complete make sure the agent is up using the following command.
/u01/app/oracle/product/10.1.0/agent/bin/emctl start agent
With the installation complete the server should now be visible on the grid controls list of targets.
Starting and Stopping Agent Services
The following commands can be used to start and stop the agent.
# Start Agent /u01/app/oracle/product/10.1.0/agent/bin/emctl start agent # Stop Agent /u01/app/oracle/product/10.1.0/agent/bin/emctl stop agent
Issues
At the time of writing I noticed a few issues relating to the grid control.
- As explained earlier, the grid control requires an Oracle9i (9.0.1) database. I think this is really poor since the old OMS was not subject to this restriction. I understand the reasons for this, but it doesn't mean I have to like it.
- The agents can sometimes take up a considerable amount of CPU and memory. The amusing thing is they actually alert the grid control about this. I've seen this happen with agents running on both Linux and Tru64 which implies to me that there is something dodgy going on somewhere.
- The normal Enterprise Manager products must be running on each server for administration to be done. By this I mean that the iasconsole and dbconsole must be running on application servers and database servers respectively. As a result you have both the agent and the local enterprise manager product using memory on each server. This can be a massive drain on server resources.
For more information see.
Hope this helps. Regards Tim...