ITPub博客

首页 > 数据库 > Oracle > Oracle10g oem grid control (转)

Oracle10g oem grid control (转)

原创 Oracle 作者:ruanrong 时间:2011-04-21 22:31:25 0 删除 编辑

Orale10g OEM Grid Control是Oracle公司提供的一种企业级数据库(数据库节点数在几十台以上的规模)部署,管理和监控的解决方案,较之10g之前的oem有了本质的区别,它基本上重写了所有的代码,变成了一种基于web的架构,使用户无需再在客户机上安装笨重的java 控制台了。负责维护的数据库数据增长到接近500台,因此在管理上采用了企业级的Oracle10g oem grid control来进行日常的管理和维护。在使用过程中发现它的功能比想象中强大的多,管理的集成性作的也非常好,以下是笔者在实际使用中积累的文档和一些心得体会。

If you want to Enter the following Command

Start the Management Service

emctl start oms

Stop the Management Service

emctl stop oms

Verify status of the Management Service

emctl status oms

Start all components of the Application Server, including the Management Service and WebCache

opmnctl startall

Stop all components of the Application Server, including the Management Service and WebCache

opmnctl stopall
[@more@]

一 oem10g grid control 应用篇:部署1: 相关软件的获得
如果作为学习用途,Oem10g grid control 可以从oracle官方网站上直接免费下载。
1)下载oem10g grid control软件,当前版本是10.2.0.1.0
2)下载agent软件(对于同一个平台的agent软件已经包含在oem里了,对于不适一种平台的os,需要安装适合该平台的agent .
2: 创建oracle的环境
这个可以参考网上的Oracle安装的文档,基本上就是创建一个Oracle用户,一个dba组,配置一下oracle用户的 环境变量.bash_profile),修改一下内核参数(主要是起用大内存等,也可以随便在网上找到,这些不做为讨论的内容)。
3:安装
解开下载的文件包,启用图形界面,进入安装界面,其中需要注意的是它会提示你oem的资料库是创建在一个现有的数据库中还是新建个数据库,这个按照你的情况来选择,如果使用现在的数据库,它就会提示你连接到现在的数据库中,然后创建一大堆东西-_-|.我们采用的是创建一个新的数据库,以便于管理,然后一路Next, 最后创建成功。
这里没有太大的问题,如果你对这些不熟悉,建议你先练习一下在linux下安装数据库,基本上是一样的,所以不做太多讨论。
4:收尾
程序提示Oem连接方式,就是下面这样。
http://oem_hostname:4889/em
你可以打开一个浏览器,输入这个地址,会提示你登录信息,登陆用户是在创建oem数据库时指定,用户名是sysman,记住这个用户,在oem里他就是dba 角色。
登陆成功后,恭喜你,你的oem server端安装成功了。注意,在安装oem过程中,它会自动在本地装一个agent,所以对于本机,你可以省事了。
ok,到现在为止,我们安装好了服务器端的软件,也就是说oem的核心部分已经安装好了,如果你只有一台数据库服务器,那你的工作基本上完成了,否则的话你要在其他所有的节点上部署agent,以便于oem进行管理。
5:10g oem grid control 架构
在部署agent之前有必要了解一下oem10g grid control的架构,以便于对它有更好的理解。
10g oem是一个基于web的管理架构,这和10g之前的笨重的java客户端有很大的区别。我们可以从2方面来研究它的架构,一个是管理的架构,一个是后台数据采集的架构。
1) 10g oem管理的架构:
管理者(或者使用者)不需要再自己的机器上安装任何软件,只需要一个浏览器就可以搞定所有的工作。使用者只需要在浏览器里输入如下的地址,就可以进入oem,进行数据库管理。
http://oem_hostname:4889/em
我们可以看到首先我们需要连接到oracle的一个中间层,称作
Oracle application server,通过它再登陆到oem上,然后进行数据库的监控,管理和维护。所以中间层的后台是一个数据库,也就是我们在创建oem时创建的数据库,所有Oem管理的数据库信息,包括登陆信息都保存在这个数据库中。
2)后台数据采集的架构:
oem 收集管理数据库信息的方法是在被管理的节点上部署它的代理软件(agent),通过代理软件来收集本机的所有信息,以xml的信息存储到本地,再通过数据上载的进程,将xml文件上载到oem server机器上,server端的程序再将这些xml信息写入到oem数据库里。这些xml文件也是通过http方式发给Oem服务器的app server,再通过它转给oem service.
弄清楚了Oem架构这后,我们接着往下进行,就是在需要管理的机器上部署10g oem agent.

二 oem10g grid control 应用篇 -部署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来说,这是个不错的工具。

Starting and Stopping the Management Service

The relevant emctl commands for Linux are listed in the following table.

You must be in the OMS_HOME/bin directory to issue the emctl commands, where OMS_HOME is the Oracle Application Server home directory in which the Oracle Management Service is installed and deployed.

Table 7-1 Commands to Start and Stop Management Service

If you want to Enter the following Command

Start the Management Service

emctl start oms

Stop the Management Service

emctl stop oms

Verify status of the Management Service

emctl status oms

Start all components of the Application Server, including the Management Service and WebCache

opmnctl startall

Stop all components of the Application Server, including the Management Service and WebCache

opmnctl stopall

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1933/viewspace-1048964/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    24
  • 访问量
    170001