Oracle EM 11g DB Control提示Agent Unreachable及AGENT_HOME查找咨询
Oracle EM 11g Database Control 场景下定位AGENT_HOME路径的操作方案
已明确的环境与故障前提
- 单实例Oracle数据库运行正常,可成功登录Oracle Enterprise Manager 11g Database Control平台
- EM平台首页持续显示 Agent Unreachable 状态
- 在
$ORACLE_HOME/bin路径下执行emctl status agent命令,返回结果为Agent not running - 经路径核查,
$ORACLE_HOME/bin目录下未包含代理启停相关可执行文件,无法通过该路径执行emctl start agent完成代理启动 - 根据官方文档要求,数据库代理的启停操作需在
$AGENT_HOME/bin路径下执行,但当前未明确该环境变量对应的实际文件路径,需要可落地的路径定位方法。
可直接执行的AGENT_HOME定位方法
- 读取EM存储的目标元数据定位
登录数据库实例查询sysman schema下的代理目标属性,提取存储的AgentHome参数值,参考执行命令:select extractvalue(t.target_properties, '/DisplayInfo/PropertyList/Property[@name="AgentHome"]') as agent_home_path from sysman.em_targets t where t.target_type = 'oracle_emd'; - 校验默认安装路径
Oracle 11g Database Control的本地代理存在两个固定默认安装位置,可直接逐路径核查:$ORACLE_HOME/<主机名>_<数据库SID>/:该路径是Database Control初始化部署时,本地代理的默认安装根目录,代理可执行文件位于该路径下的sysman/bin子目录- 独立部署代理的常见默认路径:自定义安装的10g兼容本地代理,默认存放路径多为
/u01/app/oracle/agent10g,可通过目录存在性校验确认
- 全局扫描代理特征配置文件
代理正常部署后会生成固定的特征配置文件emd.properties,可通过系统find命令全局扫描该文件的存放位置,参考执行命令:
定位到文件后,去掉文件所在路径末尾的find / -name "emd.properties" -path "*sysman/config*" 2>/dev/null/sysman/config后缀,剩余的根路径即为AGENT_HOME的实际值。 - 检查环境配置脚本的硬编码赋值
逐行检查Oracle运行用户的家目录配置文件(.bash_profile、.bashrc、.profile),以及$ORACLE_HOME目录下的环境初始化脚本,搜索AGENT_HOME的变量赋值记录,自定义部署场景通常会将该变量值直接写入脚本中。
注意:定位到AGENT_HOME的实际路径后,需先进入对应的
bin目录,再执行./emctl start agent命令完成代理启动,避免因路径不匹配出现命令不存在的报错。
内容的提问来源于stack exchange,提问作者abhishek
相关产品推荐
相关产品推荐

