Share on Social Media

In this article, we will install the Oracle Enterprise Manager 12c on CentOS 6. But first, we would like to briefly define a few terms, that you may encounter throughout this article.

About Oracle Enterprise Manager:

The architecture of the OEM for Grid Control has three distinct components:

  1. the collection agent (Oracle Management Agent or OMA)
  2. the aggregation agent (Oracle Management Server or OMS)
  3. the repository agent (Oracle Management Repository or OMR)

The Oracle Management Agent / OMA runs on the target host and collects information on the hardware, operating system, and applications, which are running on that target host.

The Oracle Management Server / OMS runs on a central server and collects the data generated by multiple Oracle Management Agents / OMAs. The OMS also provides a web interface for monitoring & management of services.

The Oracle Management Repository / OMR is an Oracle Database 11g R2. The OMS pulls the information from multiple OMAs and aggregates the data into the OMR.

System Specification:

We have provisioned a CentOS 6.5 virtual machine with following specifications.

CPU:3.4 Ghz (2 Cores)
Memory:4 GB
Storage:50 GB
Operating System:Centos 6.5 x86_64

We are using CentOS 6.5 operating system to install Oracle Enterprise Manager 12c. However, you can install any certified distribution of Linux (visit Oracle Support for list of certified operating systems).

To install CentOS 6, you can follow the installation steps available in our previous article Installation of CentOS 6.3 Server.

We are using the following network settings, you may adjust it according to your environment.
IP Address:
DNS Server:

Install Oracle Enterprise Manager on CentOS 6:

We are not using any DNS server for our network, therefore, we will configure local DNS resolver as follows.

# cat >> /etc/hosts << EOF
> omr12c
> oms12c

Change SELinux mode to permissive.

# sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux
# setenforce permissive

Although, CentOS 6 will automatically synchronize time with its NTP Servers, if connected to the Internet. But, as we mentioned earlier that, our machine is not connected with the Internet, therefore, we must use our internal NTP Servers for time synchronization.

Execute the following commands.

# sed -i 's/^server*/#server/g' /etc/ntp.conf
# cat >> /etc/ntp.conf << EOF
> server
> server

# chkconfig ntpd on
# service ntpd start

There are some software packages required by Oracle Enterprise Manager 12c. You can use yum to install online from internet, or setup a local yum repository.

Our CentOS 6 server is not connected to the Internet, therefore,we are using rpm command to install packages from the CentOS 6 installation DVD / ISO.

# rpm -Uvh make-3.81-20.el6.x86_64.rpm
# rpm -Uvh binutils- 
# rpm -Uvh gcc-4.4.7-4.el6.x86_64.rpm cloog-ppl-0.15.7-1.2.el6.x86_64.rpm cpp-4.4.7-4.el6.x86_64.rpm ppl-0.10.2-11.el6.x86_64.rpm mpfr-2.4.1-6.el6.x86_64.rpm
# rpm -Uvh libaio-0.3.107-10.el6.x86_64.rpm
# rpm -Uvh glibc-common-2.12-1.132.el6.x86_64.rpm
# rpm -Uvh libstdc++-4.4.7-4.el6.x86_64.rpm
# rpm -Uvh sysstat-9.0.4-22.el6.x86_64.rpm
# rpm -Uvh glibc-devel-2.12-1.132.el6.i686.rpm

Adjust the required Kernel parameters by executing the following commands.

# cat >> /etc/sysctl.conf << EOF
> fs.file-max = 6815744
> kernel.sem = 250 32000 100 128
> kernel.shmmni = 4096
> kernel.shmall = 1073741824
> kernel.shmmax = 4398046511104
> net.core.rmem_default = 262144
> net.core.rmem_max = 4194304
> net.core.wmem_default = 262144
> net.core.wmem_max = 1048576
> fs.aio-max-nr = 1048576
> net.ipv4.ip_local_port_range = 9000 65500

# sysctl -p

Execute following command to set limits for oracle user.

# cat >> /etc/security/limits.conf << EOF
> oracle soft nofile 4096
> oracle hard nofile 65536
> oracle soft nproc 16384
> oracle hard nproc 16384
> oracle soft stack 10240
> oracle hard stack 32768

Following users and groups are required by Oracle Enterprise Manager 12c. You can create these users and groups by using following commands.

# groupadd -g 54321 oinstall 
# groupadd -g 54322 dba # groupadd -g 54323 oper # useradd -u 54321 -g oinstall -G dba,oper oracle # echo “oracle” | passwd oracle –-stdin

I am creating another user for myself to perform DBA tasks.

# useradd -u 54322 -g oinstall -G dba,oper ahmer
# echo “123” | passwd ahmer –-stdin

Create the OMS_BASE & AGENT_BASE directories and change owner to oracle user.

# mkdir -p /u01/app/oracle/oms12cr2 
# mkdir -p /u01/app/oracle/agent12c
# chown –R oracle:oinstall /u01/app
# chmod -R 775 /u01/app

Run following command from the Setup directory. Installation is pretty straight forward, just follow the default configurations, during the installation you have to provide the credentials of OMR admin user, so the installer can create repository within the OMR database (Please read Configure Oracle Managment Repository 12c on CentOS 6). Also note down any passwords that you have set during the installation, you may need it later.

# su – oracle
$ cd /soft/install
$ ./runInstaller

At the end of installation, the Installer will give you a list of services and their respective ports, you have to open these ports in the firewall for proper functionality of Oracle Enterprise Manager 12c.

Execute the following commands to open the ports that are provided by Installer after Oracle Enterprise Manager 12c installation. Be noted that ports may vary from installation to installation. we write the commands according to our ports, you can adjust it according to yours.

7803    EM Central Console
7103    Weblogic Admin Server  
7890    EM Upload http
4904    EM Upload https
7404    Node Maneger https
7203    Managed Server http
7790    EM Central Console http
3872    OM Agent
7302    Managed Server https

# iptables -I INPUT 5 -p tcp --dport 7803 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -I INPUT 5 -p tcp --dport 7103 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -I INPUT 5 -p tcp --dport 7890 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -I INPUT 5 -p tcp --dport 4904 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -I INPUT 5 -p tcp --dport 7404 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -I INPUT 5 -p tcp --dport 7203 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -I INPUT 5 -p tcp --dport 7790 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -I INPUT 5 -p tcp --dport 3872 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -I INPUT 5 -p tcp --dport 7302 -m state --state NEW,ESTABLISHED -j ACCEPT

# service iptables save

Set environment variables as required by Oracle Enterprise Manager 12c.

# su - oracle
$ cat >> ~/.bash_profile << EOF
> OMS_HOME = /u01/app/oracle/oms12cr2/oms
> AGENT_HOME = /u01/app/oracle/agent12c/agent_inst

You can  use the URL to access to Administration Console.

We have successfully installed Oracle Enterprise Manager 12c on CentOS 6. Continue reading our next article Using Offline Self Update in Cloud Control 12c.

Leave a Reply