绿豆.Net

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

进入OMS后搜索不到服务器结点

如何配置oracle    Agent                                          

1.问题:

(1):linux企业版(redhat)上安装完oracle9i(9204)后,agent和oms也都起来了,但当以oms方式登录后,在界面上看不到数据库树节点,在节点下只看到http server和listener,看不到其它的.导入导出的工具也不可以用了。

 

(2):agent服务没启动,oms也能启动.因为oms是中间层,agent才是安装于服务器端的.但是在登录oms搜索节点,按主机名搜,可以搜到本机,但是展开节点就只能看到http server和listener.用主机的ip地址搜,则搜索失败,输出信息为:agent可能没启动.但是agentctl status显示:Agent is running since 11/24/05 19:24:31

 

2.解决:

 

(1)这是没有正确配好oracle IA的原因所导致的;

 

(2)查看tnsnames.ora、listener.ora中是指定的ip还是hostname,如果是hostname再查看一下/etc/hosts中是否有相关记录
(3)如果机器上有多块网卡或使用了floating ip的话也很可能出现如上问题,此时修改$ORACLE_HOME/network/admin下的snmp_rw文件,在其中使用dbsnmp.hostname=你的ip地址显式指定agent的监听地址。详细操作可自己查阅9i manual《Intelligent Agent User's Guide》中的第二章的《Configuring the 9i Agent for Use with Multiple Network Cards (NIC) 》这一节

 

(4)把ORACLE_HOME/network/admin/snmp_rw.ora中增加dbsnmp.hostname=<你在搜索节点时指定的ip地址>后。如果你的oms和db不在同一个服务器上,则要修改oms服务器和db服务器的hosts文件,增加oms服务器和db服务器的ip记录

(5)第二种解决方法

1) 把结眼从OEM里删掉
2) agentctl stop
3) cd $ORACLE_HOME/network/agent
4) rm *.q
5)
ln -s $ORACLE_HOME/lib/libcmdll.so /usr/lib/libcmdll.so
ln -s $ORACLE_HOME/lib/libcxa.so.3 /usr/lib/libcxa.so.3
7) agentctl start
8) discover node

(6)第三种解决方法(转自metalink)

<1>、在控制台中把所有已注册的事件和任务移除,再去除结点,退出控制台,停止oms(使用oemctl stop oms sysman/密码)
<2>、清理IA所涉及的文件:停止IA;删除$TNS_ADMIN或$ORACLE_HOME/network/admin下的snmp_ro.ora、snmp_rw.ora;删除$ORACLE_HOME/network/agent下的services.ora、*.q 、*.inp 、*.jou、dbsnmp.ver;删除$ORACLE_HOME/network/log下的dbsnmp.log、dbsnmp.nohup、nmiconf.log
<3>、在$ORACLE_HOME/network/lib下执行“make -f ins_oemagent.mk install”重链接IA
<4>、以root用户执行root.sh,使$ORACLE_HOME/bin/dbsnmp的属主为root且权限位为6751或4755
<5>、依次启动IA(agentctl start)、OMS(oemctl start oms)、控制台(oemapp console),重新搜索结点。
<6>、在控制台中设置Oracle属主在结点上的首选身份证明
<7>、再次注册事件及任务

 

3.问题:

(1)把dnmp_rw.ora中显式指定dbsnmp.hostname=ip地址后可以搜到本机,也可以看到数据库了.但是一个新问题出来了.当要点export实用工具,输出信息是:不能启动export wizard. 提示要设preferences中的prefer credential.但是实际上分别设了数据库的(用数据库的sys帐户)和主机节点的(用linux的oracle帐户),但是按确定后,再打开,发现这些设置保存不了.
4.解决:

(1)用ll查看一下对$ORACLE_HOME/sysman/config/pref目录下的文件是否有写权限?文件名的格式应该是类似于“dbastudio-用户名”这样的格式,此外$ORACLE_HOME/sysman/config下的几个properties文件也应该有写权限.
oemclient.properties:存储事件测试、任务及启动应用程序的详细上下文信息,不要更改此文件
clientconfig.properties:存储运行OMS的机器列表。此文件允许管理员激活控制台及其它应用的跟踪功能。
omsconfig.properties:存储了本地管理服务器的详细配置信息,包括资料库的连接信息。此文件也允许管理员激活中间层管理服务器的跟踪及日志功能。在配置OMS时,默认情况下资料库属主的用户名及密码以加密格式写入此文件。

 

5.解释:

实际上在安装完Oracle产品后执行root.sh干的活就是:
<1>、更新或创建oratab文件
<2>、设置一些文件的权限位,其中就包括dbsnmp
agent是在被监控结点上代替oem客户端用户执行任务的进程,象某些任务是需要root用户才能执行的,所以dbsnmp需要设置setuid或setgid权限位,你可以找一些linux或unix的书看看,了解一下setuid和setgid位的作用。

此外node的preffered credential中只要是os有效用户就可以了,不过一般是填oracle用户。默认情况下任务及事件是使用preffered credential来连接os及db的,但用户可在具体设置中自选指定;如果preffered credential被修改了,所作出的修改不会自动传播到已注册的任务及事件的,所涉及的任务及事件只能先移除再重新注册,这点要特别留意。


6.问题:

现在重新找到数据库(发现改dbsnmp_rw.ora后要重启Agent),但执行作业这次报的是:
VNI-2027 : Intelligent Agent 可执行文件不具有根权限。

 

7.解决:

从别的机器拷了一个root.sh,打开其内容,执行其一部分命令:
# change owner and permissions of the dbsnmp executable
$CHOWN root $ORACLE_HOME/bin/dbsnmp
$CHMOD 6750 $ORACLE_HOME/bin/dbsnmp

# adjust permissions of the agent queues and other associated files
$CHMODF 770 $ORACLE_HOME/network/agent/*
$CHMODRF 755 $ORACLE_HOME/network/agent/jobs
$CHMODF 750 $ORACLE_HOME/network/agent/events
$CHMODF 750 $ORACLE_HOME/network/agent/config
$CHMODF 755 $ORACLE_HOME/network/agent/library
$CHMODF 755 $ORACLE_HOME/network/agent/tcl
$CHMODF 755 $ORACLE_HOME/network/agent/mibs
$CHMODF 750 $ORACLE_HOME/network/agent/reco
$CHMODF 750 $ORACLE_HOME/network/agent/html
$CHMODF 1777 $ORACLE_HOME/network/agent/jobout

后,作业执行成功

posted on 2009-04-08 09:06  杜军  阅读(470)  评论(0)    收藏  举报