使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何排除对 Amazon RDS for Oracle 使用 OEM_AGENT 选项时的常见错误?

4 分钟阅读
0

我有一个运行 Oracle 的 Amazon Relational Database Service(Amazon RDS)数据库实例。当我尝试对数据库实例使用 OEM_AGENT 选项时收到错误。

解决方法

**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,确保您使用的是最新版本的 AWS CLI

Amazon RDS 通过 OEM\ _AGENT 选项支持 Oracle Enterprise Manager (OEM) Management Agent。

首先,对数据库实例运行预检,然后查看相关的错误部分。要解决使用 OEM\ _AGENT 选项时出现的问题,请将 OEM 代理日志导出到 Amazon CloudWatch,然后查看这些日志。有关详细信息,请参阅将 Oracle 日志发布到 Amazon CloudWatch Logs

预检

在开始执行解决步骤之前,请对数据库实例完成以下预检:

  1. 使用 add-option-to-option-group AWS CLI 对到该选项和数据库实例应用 OEM\ _AGENT

  2. 要检查选项组状态,请运行以下 AWS CLI 命令:

    aws rds describe-db-instances --db-instance-identifier <db-instance-name> --query 'DBInstances[*].[Engine,DBInstanceStatus,OptionGroupMemberships]'
  3. 确认输出选项组状态为 in-sync
    如果选项组状态为 INVALID,则表明由于网络配置设置和其他先决条件存在问题,OEM\ _AGENT 未安装。从 AWS 管理控制台查看 Amazon RDS 数据库实例的“事件”选项卡,验证 OEM\ _AGENT 选项的安装状态。您也可以使用 AWS CLI 命令 describe-events。如果事件显示 OEM\ _AGENT 选项的安装或网络配置存在问题,则请确保满足 OEM\ _AGENT 先决条件

  4. 检查数据库实例网络配置。数据库实例安全组必须允许 OMS\ _HOST 侦听 OEM\ _AGENT 端口(默认值为 3872)和 RDS 端口(默认值为 1521)。

  5. 通过 OEM\ _AGENT 端口和数据库端口运行从 Oracle Management Service (OMS) 服务器到数据库实例的 telnet 测试,以检查连接。

  6. 检查网络配置。例如,检查网络访问控制列表 (ACL) 和路由表。这样就排除阻止程序或显式拒绝的可能性。

  7. 确保 OMS 和 RDS 之间的防火墙允许数据库侦听器端口和 OEM\ _AGENT 端口上的流量。

完成这些步骤后,检查 OEM\ _AGENT 上传是否有效。有关详细信息,请参阅让 Management Agent 上传其 OMS

排除错误

The DB instance doesn't show up in the Auto Discovery of targets on the OEM console

当 OMS 服务器无法从 SSH 连接到底层主机时,就会出现此问题。在操作系统级别上,此连接是 Auto Discovery 功能正常运行的先决条件。要排除此错误,必须手动将 Oracle 数据库实例添加为目标。有关详细信息,请参阅 Management Agent的局限性

Unable to install the Oracle OEM_AGENT because the agent password is incorrect or expired

确保代理密码正确且未过期。使用 OEM 服务器修改代理注册密码或创建新密码。

Unable to install the Oracle OEM_AGENT because the DB instance can't reach the OMS host

OEM\ _AGENT 由于无法从 RDS 主机访问 OMS 主机/端口而无法安装时,就会收到此错误。要排除此错误,请检查是否可以从您的数据库实例访问 OMS 主机。

要验证 OMS 服务器与 OEM\ _AGENT 之间的网络连接,请测试从 RDS for Oracle 实例到 OMS 服务器的连接。这样就可以利用访问控制列表 (ACL) 和 UTL\ _TCP 软件包。

  • 使用提供网络 ACL 管理界面的 DBMS\ _NETWORK\ _ACL\ _ADMIN 软件包。有关详细信息,请参阅 Oracle 网站上的 Using DBMS_NETWORK_ACL_ADMIN
  • 使用 UTL\ _TCP.CONNECTION。这是一种用于表示 TCP/IP 连接的 PL/SQL 记录类型。有关详细息,请参阅 Oracle 网站上的 Using UTL\ _TCP

完成以下步骤:

  1. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台

  2. 使用与数据库实例相同的网络设置 (SG/ACL) 启动一个 Amazon EC2 实例。

  3. 通过端口 4903 运行以下 telnet 命令,测试从 Amazon EC2 实例到 OMS 主机的连接:

    telnet OMS_HOST 4903
  4. 要验证连接,请在 OEM 主机中运行以下 telnet 测试命令,测试从 OMS 服务器到数据库实例的连接:

    telnet RDS-instance-endpoint 1521 (RDS default port)
  5. 要检查 RDS 主机是否可以将 OMS 主机名解析为 IP 地址,请运行以下命令:

    SQL> SELECT UTL_INADDR.get_host_address('OMS_Host_Name') FROM dual;
  6. 运行 TCP Traceroute 以检查流量是在哪里被阻止的。

You installed the OEM_AGENT option on your DB instance.Your security group might not be configured correctly

即使安装正确完成,与您的数据库实例关联的 RDS 安全组也可能存在配置不完善的情况。OMS 主机和数据库实例之间的通信有赖于这些配置。

要排除此错误,请验证代理的安全组是否允许入站流量,以及您的 OMS 主机是否属于拥有代理端口访问权限的安全组。有关详细信息,请参阅 Oracle 网站上的 Enterprise Manager Cloud Control Security Guide

Unable to install the Oracle OEM_AGENT because your OMS host version x.x.x.x isn't compatible with the agent version x.x.x.x.

当您的 OEM\ _AGENT 版本与 OMS 主机版本之间存在兼容性问题时,就会收到此错误。当两个组件都兼容时,OEM\ _AGENT 会与 OMS 集成。要排除此错误,请选择兼容的 OMS 主机和 OEM 代理版本。有关信息,请参阅 Management Agent 的要求

Your OMS host uses an untrusted third-party certificate

成功安装 OEM\ _AGENT 选项后,但是 OMS 主机使用不可信的第三方证书时,就会收到此错误。要排除此错误,请为您的 OMS 主机配置第三方提供的必需的信任认证。

There are missing required option settings in your OEM_AGENT option (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterValue)

当您的 OEM\ _AGENT 中缺少必需的设置时,就会收到此错误。必须指定此设置。有关 OEM\ _AGENT 必需设置的更多信息,请参阅 Management Agent 的选项设置

Heartbeat Status: OMS responded illegally [ERROR - Failed to Update Target Type Metadata]

OEM\ _AGENT 选项附加到 Amazon RDS 后更换 OMS 主机时,就会收到此错误。

要排除此错误,请完成下面的步骤:

  1. 清除代理状态,或重新启动 OEM\ _AGENT。有关详细信息,请参阅 Management Agent 的管理

  2. 重新建立与 OMS 主机的连接。

  3. 检查 OMS 版本和 OEM\ _AGENT 版本是否存在兼容性问题。要检查该表是否显示选项组中使用的 OEM\ _AGENT 版本,请运行以下命令:

    select type_meta_ver from sysman.mgmt_target_type_versions where target_type = 'oracle_emd';
  4. 如果 mgmt_target_type_versions 输出不包含选项组中使用的 OEM\ _AGENT 版本,则安装命令输出中列出的 OEM\ _AGENT 版本。此错误表明缺少必需的 OMS 端补丁和插件。确保 OMS 设置正确,并应用所有必需的补丁。

如果代理被阻止,请在 OEM 控制台中完成以下步骤以重新同步代理:

  1. 登录云管控控制台。
  2. 选择设置,选择管理云管控,然后选择代理
  3. 选择要重新同步的代理。
  4. 代理菜单中选择重新同步...
  5. 选择成功完成代理重新同步后取消阻止代理
  6. 选择继续。提交重新同步操作,作为一个作业。
  7. 选择作业名称链接以检查重新同步作业的状态。

作业完成后,验证您重新同步的代理和所有受监控目标的状态。

**注意:**DNS 服务器必须不间断正常运行,OEM 监控才能有效工作。代理发出检测信号并将状态更新推送到 OMS 主机。如果在很长一段时间内无法从代理访问 OMS 主机,则 OMS 会显示代理和数据库已关闭。确保 DNS 服务器正常运行。

要让 Oracle Management Agent 上传与其关联的 OMS,请运行以下命令。运行此命令与运行 emctl 上传代理命令相同。有关详细信息。请参阅 Oracle 网站上的 EMCTL commands for Management Agent

SELECT rdsadmin.rdsadmin_oem_agent_tasks.upload_oem_agent() as TASK_ID from DUAL;

要在清除代理状态后重新启动 OEM 代理,请运行以下命令:

SELECT rdsadmin.rdsadmin_oem_agent_tasks.restart_oem_agent() as TASK_ID from DUAL;

在 Oracle Enterprise Manager Cloud Control 13c Release 4 (13.4.0.0.0) 中,只能部署 Oracle Management Agent 13c Release 4 (13.4.0.0.0)。OMS 升级到 13c Release 4 后,不支持重新部署早期版本的 Oracle Management Agent(13.2 和 13.3)。有关详细信息,请参阅 Oracle 网站上的 Before you begin installing an Enterprise Manager System

Unable to install the OEM_AGENT option because the agent port conflicts with the OMS port.Update the option settings and try again

之所以会收到此错误,是因为您的配置不正确,OEM\ _AGENT 无法正常工作。您可能为 OMS 端口和 OEM\ _AGENT 端口指定了相同的端口号。要排除此错误,请更改 OMS 端口或 OEM\ _AGENT 端口号。查看以下 Management Agent 选项设置:

  • **AGENT_PORT。**数据库实例上的这个端口用于侦听 OMS 主机。默认值为 3872。您的 OMS 主机必须属于拥有此端口访问权限的安全组。
  • **OMS\ _PORT。**OMS 主机上的这个 HTTPS 端口用于侦听 Management Agent。要查找 HTTPS 上传端口,请连接到 OMS 主机并运行以下命令:
    emctl status oms -details

Unable to install the Oracle OEM_AGENT because your DB instance doesn't have enough storage.Confirm that option group is supported on your DB instance class and configuration.If so, verify all option group settings and retry

当数据库实例的存储空间不足,达不到 OEM\ _AGENT 先决条件中定义的可用存储空间要求时,就会收到此错误。增加存储空间,然后重新安装 OEM\ _AGENT 选项。

Filesystem / has X.XX% available space

之所以会收到此错误,是因为针对 RDS for Oracle 实例使用 OEM\ _AGENT 选项存在局限性。主机指标和进程列表可能无法反映实际的系统状态。要避免使用 OEM 来监控根文件系统或挂载点文件系统。有关详细信息,请参阅 Management Agent的局限性

Amazon RDS 实例的根文件系统由内部自动化系统维护。该自动化系统定期监控根文件系统,以确保文件系统有足够的空间。如果检测到存储空间不足,则自动化系统会为根文件系统增加足够的空间。由于自动化系统会管理根文件系统中的空间,因此您可以忽略此错误。

相关信息

Oracle Management Agent for Enterprise Manager Cloud Control

AWS 官方
AWS 官方已更新 2 个月前