这里,我介绍的是Cloud Control 12c的安装。之前的版本叫Grid Control,这也是11g里面的叫法。在我写这篇博客时,Cloud Control 13c已经出来了,这个版本后续我再进行介绍。
在安装之前,我们先来看一下整体的架构。
首先,它需要一个数据库(就是上图的Repository),用来存放Cloud Control的配置信息。需要有一台服务器,用来安装Cloud Control。然后我们通过使用浏览器访问Cloud Control的控制台(也叫EM),然后对要监控的数据库服务器布署Agent。这样就实现了我们的监控。
下面,我介绍一下我当前的一个环境,并再次介绍具体的安装步骤。
数据库(Repository):
IP:172.168.19.2
HOSTNAME:djp01
POR:1521
Service Name:ora11
并且保证当前的数据库可以访问,sys用户可以进行远程连接。
[oracle@djp01 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Sun Dec 20 15:30:31 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> conn sys@ora11 as sysdba
Enter password:
Connected.
SQL>
SQL> select name,open_mode from v$database
2 /
NAME OPEN_MODE
--------- --------------------
ORA11 READ WRITE
SQL>
Cloud Control对它的Repository有一些参数的建议,分别如下:
processes:至少大于500。
open_cursor:至少大于350。
SGA:至少大于2G。
PGA:至少大于1G。
logfile:至少大于320M。
上述的这些信息现在的数据库环境几乎都可以满足。
同时,还要求Repository库上没有配置EM,如果有配置,使用emca -deconfig dbcontrol db -repos drop进行删除。
如果Repository库使用的是12c,还需要设置参数db_securefile为PERMITTED。
Cloud Control服务器:
IP:172.168.20.20
HOSTNAME:oem12c
OS Version:Oracle Linux 6.6
我们来看具体的安装过程。
一、需要准备一台数据库服务器,并安装Oracle,然后按上述的要求进行配置。
这里具体的过程,我就不再进行介绍了。
二、配置Cloud Control服务器。
1、创建用户与用户组,创建安装目录,并赋权。
groupadd -g 1000 oinstall
useradd -u 2000 -g oinstall oem
mkdir -p /oracle/em12c
chown -R oem:oinstall /oracle/em12c
2、/etc/security/limits.conf的配置。
在该文件中加入如下内容,
oem soft nofile 4096
oem hard nofile 4096
3、rpm包的安装。
make-3.81
binutils-2.17.50.0.6
gcc-4.1.1
libaio-0.3.106
glibc-common-2.3.4
libstdc++-4.1.1
sysstat-5.0.5
glibc-devel-2.12-1.7-i686
glibc-devel-2.5-49-x86_64
glibc-2.12-1.47.0.2-x86_64
需要安装上述的rpm包。另外,还需要安装下面的两个包,
yum -y install xorg-x11-xauth
yum -y install libXext
yum -y install libXtst
yum -y install libXp
在执行runInstanller时需要。
另外,还需要安装openssh-clients这个rpm包,用于后续的agent发布(其原理采用的是ssh协议,执行scp命令)。
4、配置/etc/hosts。
在该文件中加入如下内容,
[oem@oem12c ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.168.20.20 oem12c
172.168.19.2 djp01
[oem@oem12c ~]$
上面那个IP及hostname是当前服务器的IP信息,下面那一个是它的Repository库的IP信息。
配置好以后,我们进行检查,以确保畅通。
[oem@oem12c ~]$ telnet djp01 1521
Trying 172.168.19.2...
Connected to djp01.
Escape character is '^]'.
^C
Connection closed by foreign host.
[oem@oem12c ~]$
说明是通的,网络没有问题。
5、上传并解压cloud control安装包,对其进行解压,并执行runInstaller脚本。
这里,我用的是em12104_linux64_disk1.zip,em12104_linux64_disk2.zip,em12104_linux64_disk3.zip。把这三个文件上传到同一个目录以后,直接解压就可以。
执行runInstaller脚本会进入如下界面,
点击Next。
可以选择Skip,然后点击Next。
输入安装清单的目录,然后点击Next。
这里有一些检查,最好都能通过。上述是因为我的物理内存不足(至少满足3G)。
选择高级,点击Next。
输入Middleware Home,Agent Base的目录,接着输入Hostname。
这里,保持默认就可以。
分别输入密码和OMS Instance Base的安装目录。
输入它对应的Repository库的连接信息。
输入sysman和agent注册的密码。这个sysman是创建在Repository库的数据库用户,下面是在Repository库上创建空间对应数据文件的目录。安装完成后,我们可以在Repository库上看到这些信息。如下:
SQL> select username,account_status
2 from dba_users
3 where username like 'SYSMAN%'
4 /
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
SYSMAN OPEN
SYSMAN_OPSS OPEN
SYSMAN_MDS OPEN
SYSMAN_APM OPEN
SYSMAN_RO EXPIRED & LOCKED
SQL> select name,ts#
2 from v$tablespace
3 where name like 'MGMT%'
4 /
NAME TS#
------------------------------ ----------
MGMT_ECM_DEPOT_TS 8
MGMT_TABLESPACE 9
MGMT_AD4J_TS 10
SQL> select name from v$datafile where ts# in (8,9,10)
2 /
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ora11/mgmt_ecm_depot1.dbf
/u01/app/oracle/oradata/ora11/mgmt.dbf
/u01/app/oracle/oradata/ora11/mgmt_deepdive.dbf
SQL>
这里是它的一些端口的信息。
到这一步,开始安装了。
安装完成以后,根据提示,使用root用户分别执行上述的脚本。
最后一步,它给出访问的地址。点击Close,完成安装。
6、配置启动并停止脚本。
[oem@oem12c ~]$ cat .bash_profile | grep alias
# Get the aliases and functions
alias staroms="/oracle/em12c/middleware_home/oms/bin/emctl start oms"
alias stopoms="/oracle/em12c/middleware_home/oms/bin/emctl stop oms -all"
alias startagent="/oracle/em12c/agent_base/core/12.1.0.4.0/bin/emctl start agent"
alias stopagent="/oracle/em12c/agent_base/core/12.1.0.4.0/bin/emctl stop agent"
[oem@oem12c ~]$
访问EM:
用sysman用户就可以登录了。