oracle为agent部署提供了4种方案.

1:直接在需要部署的节点上安装agent软件

2:脚本安装

3:克隆

4:直接在oem界面上进行批量部署。

下面对每一种安装方案作具体的描述,读者可以根据自己的实际情况选择安装。

1:通过agent软件安装

这种方法比较传统和直观,就是在需要部署的节点上直接在本地安装agent软件,安装成功后通过在配置文件中指定一个oms地址来保证agent和oms的正


确通讯。

另外一种需要这种安装方式的是当这个节点和oms使用的不是一种OS平台的情况下,必须要使用这种方式,这个需要用户自己到Oracle网站上下载适于本


平台的agent软件,但这并不会影响oms的管理。

由于这种安装比较简单,所以在这里不作过多的解释。

2:基于脚本的部署。

在oem10g的体系中对安全的要求比较高,所以在文件传递上也使用了hhtps的加密协议。在机器的访问上Oracle采用的是ssh方式访问,所以在oem体系中


,机器上启用ssh是必须的,至于ssh的启用方法不在本文档的讨论之列。

首先要在oms端运行以下命令,以便于确保数据通过ssh方式在server端和client段进行传递。

OMS_HOME/sysman/prov/resources/scripts/sshUserSetup.sh

具体的命令如下:

sshUserSetup.sh -hosts "host1 host2" -user sjohn

其中-hosts是你要部署agent的机器的名称,如果此处你写hostname,那么你需要把hostname和机器的Ip对应信息写到oms机器的/etc/hosts上,否则可


能无法解析hostname。这里可以写很多个需要部署的hosts的名字。

-user是登录到该机器的用户名,密码则在运行过程中输入。

在各个过程中,该脚本首先测试到远程机器的可用性,使用ping的命令,然后使用ssh命令进行登录验证,确保ssh可用。

以上工作完成后就可以进行部署了,oracle文档上还有几个步骤,我觉得可以省略,反正我没用到。

下面那一台机器举例进行agent部署。

a:用oracle用户登录需要部署agent的机器,在oracle用户默认路径下编辑c shell profile:./bashrc 在最后加入:

set TZ=PRC

设置时区,保存退出。

source ./bashrc 使环境变量生效。

注:这个操作是设置agent host的时区time zone,是agent和oms数据传递时必需的,不能忽略。

b:首先用oracle用户在ORACLE_HOME/下创建一个目录,一般是OracleHomes,

c:使用ftp,或者http,scp等方法,从Oms机器上下载安装脚本,该安装脚本路径如下:

$ORACLE_HOME/OracleHomes/oms10g/sysman/agent_download/linux/agent_download.linux

d:在需要部署agent的机器上,首先给该脚本可执行的权限。

e:运行安装脚本:

./agent_download.linux -b /home/oracle/OracleHomes

其中-b参数指定agent安装的路径。

中间不需要交互,Oracle使用的是silent方式的安装。

安装成功或者失败都有日志.

3: clone 方式部署agent。

这个比较简单。

首先需要有一个已经装好的可以正常运行的agent节点,然后将这个节点下agent/目录下所有的文件打一个tar,传到需要部署的节点上,解tar,确定目


录正确。

然后运行emca -f 重新配置agent。

检查agent是否运行正常。

4:通过oem进行agent部署。

这个部署是通过oem的web界面进行配置,适合做企业级的大规模的部署。

做这个的前提是oms已经安装,并且可以正常访问,oms的安装和访问前便已经提到了。

步骤如下:

1:登陆oms。

2:选择部署(deplay)签,选择安装(fresh install).

3:进入安装界面,首先和安装路径,输入你agent想要的安装路径。然后选择你的agent的运行平台,这种部署,我发现这中部署agent的平台只能和oms


相同的平台,其他的平台需要到

Oracle的官方网站上下载相应平台的agent软件进行安装。

4:Host栏,输入需要部署的host的Ip,或者hostname,如果中间用逗号分隔。如果输入的是hostname,需要保证oms机器可以通过hostname解析出Ip地址,


可以通过修改/ect/hosts文件来达到hostname和ip的对应。

5:输入一个操作系统的用户名和密码,基本上就是你的oracle用户和密码。

6:输入Oms的安全口令,随便输一个,自己记住就可以了。

其他的基本上都可以不添,记住最后运行完之后执行一个agent/下的root.sh脚本就可以了。

7:看一下,运行结果,对于运行失败的节点,要看相应的安装日志。

OEM的部署基本上就是这样,上面说到的只是方法,我们在安装过程中出现了很多错误,也察看了很多文档,下面会对这些错误作一些解释和讨论。

三 oem10g grid control 应用之总结

前面已经介绍了Oms和agent的部署方法,这一部分笔者准备把使用10g oem grid control 遇到的问题和使用的心得汇总一下。

一些比较重要的路径和文件

Oms server端和agent端的目录结构基本上相似:区别在于oms端路径的最上层叫oms10g,而agent端的最上层的路径叫agent10g.下面的结构基本上相似,


下面说一下几个比较重要的路径和文件。

1: oms10g/bin 和agent10g/bin分别存放了Oms和agent各自的可执行文件,其中emctl文件时用来管理oms或agent的命令,前面说过,由于在 oms


server端,也同时安装了agent,所以在oms server上运行emctl命令时要特别主要,需要进入到各自的bin./下面运行,否则可能会出错。

比如想启动oms,可以进入到oms10g/bin 下执行:

./emctl start oms 这个命令会同时启动其他oms需要的服务,比如http server。

具体的所有用法可以通过敲入:./emctl 回车就可以看到。

对于agent的管理,须要进入到agent10g/bin下,以下是一些有用的命令:

./emctl start agent 启动agent service

./emctl stop agent 停止agent service

./emctl status agent 察看agent的运行情况,在出现的信息当中,有一个信息比较重要,last successfully upload time,如果值为null,说明没有


数据上传,需要检查一下相关的配置是否正确。或者直接发出:./emctl upload看看信息。

oms 和agent的错误信息都存放在:oms10g(agent10g)/sysman/log

我在安装的过程中出现过很多次agent无法upload的情况,原因大多是本地的TZ变量没有设置正确。TZ就是time zone时区,是oem10g中比较重要的一个


变量,它要求agent节点上必须设置时区变量,并且时区变量的值需要符合oracle要求的时区变量值, 这个值了一在


agent10g/sysman/admin/emd/supportedtz.lst文件中找到。设置TZ的方法在部署篇里已经讲过了。

oem10g的原理和工作方式

oem10g的agent端的数据收集全部通过perl脚本来完成。扩展名为:*.pl,这些脚本可以在agent10g/sysman/admin/scripts/下找到。

agent 程序首先会把采集到的信息写到本地的xml文件当中,然后再将该文件upload到oms端去,oms service再将xml文件写入到oms自己的repository库


里。刚才我们说的./emctl upload其实就是手工上载本地的xml文件。这些生成的文件可以在:agent10g/sysman/admin/upload下找到。

agent程序的发现方式:

当agent 部署到一个节点上时,他首先搜索$ORACLE_HOME/oraInventory下安装的所有oracle产品。以便确定需要收集那些产品的信息,比 如他只发现


了一个数据库产品,他们它就会只运行收集数据库和主机信息的脚本。对于一个节点来说,agent确定需要收集那些内容的信息写在如下文件中,可 以


手工修改:agent10g/sysman/emd/targets.xml。

另外一个比较重要的文件是 agent10g/sysman/config/emd.properties 他就是没一个agent的配置文件,agent所有的属性都在里面,比如oms的url,TZ


啊什么的,可以手工修改,修改完之后,通过执行. /emctl reload来使之生效。

oem10g的使用心得

oem10g在易用性较8i,9i笨重的java客户端来看,真是有一种脱胎换骨的轻松感觉。你不需要再花很多的时间等待那个图形界面的出现了,只要通过浏览


器输入hhtp://oemhost: 4889/em就可以轻松登陆oem.感觉速度比8i和9i都快不少。而且界面有很多图标,看起来很舒服。

oem10g另外一个功能就是加入了告警功能,它会将所有认为有问题的信息以在首页上提示出来,甚至连alert文件中的告警信息也可以弄出来,并且所有


的指标都可以自己定义告警阈值,我们单位原原本也有一套数据库监控系统,可是和这个比,简直是小巫见大巫了。

10g oem另外一个令人激动的特点是提供了一个叫adviser的建议功能,它可以帮助你对内存,Undo segent,sql进行相应的优化调整,给出好的建议。但


这个功能只能对10g数据库可用。尽管oem10g可以管理从8.1.7.4以后的数据库,但 这个功能只对10g的数据库可用。

报表,oem10g提供了很好的报表功能,包括所有该节点上所有监控的信息,而且报表很漂亮。对于那些定期需要向领导作报表的dba来说,这是个不错的


工具。