适用于 Enterprise Manager Cloud Control 的 Oracle Management Agent - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

适用于 Enterprise Manager Cloud Control 的 Oracle Management Agent

Oracle Enterprise Manager (OEM) Management Agent 是一种软件组件,可监控在主机上运行的目标并将该信息传达到中间层 Oracle Management Service (OMS)。有关更多信息,请参阅 Oracle 文档中的 Oracle Enterprise Manager Cloud Control 12c 概述Oracle Enterprise Manager Cloud Control 13c 概述

Amazon RDS 通过使用 OEM_AGENT 选项支持 Management Agent。Management Agent 需要运行 Oracle Database 19c (19.0.0.0)、18.0.0.0、12.2.0.1 或 12.1.0.2.的 Amazon RDS 数据库实例。

Amazon RDS 支持适用于以下版本的 OEM 的 Management Agent:

  • Oracle Enterprise Manager Cloud Control for 13c

  • Oracle Enterprise Manager Cloud Control for 12c

Management Agent 的先决条件

要使用 Management Agent,请确保满足以下先决条件。

一般先决条

以下是使用 Management Agent 的一般先决条件:

  • 您需要配置为连接到 Amazon RDS 数据库实例的 Oracle Management Service (OMS)。

  • 在大多数情况下,您必须配置 VPC 以允许 OMS 与数据库实例之间的连接。如果您不熟悉 Amazon Virtual Private Cloud (Amazon VPC),建议您在继续之前先完成 教程:创建 Amazon VPC 以用于数据库实例 中的步骤。

  • Management Agent 版本 13.4.0.9.v1 需要 OMS 版本 13.4.0.9 或更高版本和补丁 32198287。

  • 确保您的 OEM 版本有足够的存储空间:

    • OEM 13c 版本 4 至少 8.5 GiB

    • OEM 13c 版本 3 至少 8.5 GiB

    • OEM 13c 版本 2 至少 5.5 GiB

    • OEM 13c 版本 1 至少 4.5 GiB

    • OEM 12c 至少 2.5 GiB

  • 如果您使用的是 Management Agent 版本 OEM_AGENT 13.2.0.0.v313.3.0.0.v2,并且想要使用 TCPS 连接,请按照 Oracle 文档中的配置第三方 CA 证书以便与目标数据库通信中的说明进行操作。另外,按照 Oracle 文档 ID 为 2241358.1 的 Oracle 文档中的说明更新 OMS 上的 JDK。此步骤可确保 OMS 支持数据库支持的所有密码套件。

    注意

    Management Agent 版本 OEM_AGENT 13.2.0.0.v313.3.0.0.v2 仅支持 Management Agent 和数据库实例之间的 TCPS 连接。

Oracle 数据库版本的先决条件

以下是每个 Management Agent 版本支持的 Oracle 数据库版本。

Management Agent 版本 Oracle Database 19c Oracle Database 18c Oracle Database 12c 第 2 版 (12.2) Oracle Database 12c 第 1 版 (12.1)

13.4.0.9.v1

支持

支持

支持

支持

13.3.0.0.v2

支持

支持

支持

支持

13.3.0.0.v1

支持

支持

支持

支持

13.2.0.0.v3

支持

支持

支持

支持

13.2.0.0.v2

支持

支持

支持

支持

13.2.0.0.v1

支持

支持

支持

支持

13.1.0.0.v1

支持

支持

支持

支持

12.1.0.5.v1

不支持

支持

支持

支持

12.1.0.4.v1

不支持

支持

支持

支持

以下是不同数据库版本的先决条件:

  • 对于运行 Oracle Database 19c (19.0.0.0) 的 Amazon RDS 数据库实例,最低 AGENT_VERSION 为 13.1.0.0.v1。

  • 对于运行 Oracle Database 18c (18.0.0.0) 或更高版本的 Amazon RDS 数据库实例,应满足以下要求:

    • 对于 OMS 13c2,请应用 Enterprise Manager 13.2 主包补丁列表,其中包括插件 13.2.1、13.2.2、13.2.3、13.2.4(Oracle 文档 ID 2219797.1)。

    • 对于 OMS 13c2,请应用 OMS PSU System 补丁 28970534。

    • 对于 OMS 13c2,请应用 OMS-Side Plugin System 13.2.2.0.190131 补丁 29201709。

  • 对于运行 Database Release 2 (12.2.0.1) 或更低版本的 Amazon RDS 数据库实例,应满足以下要求:

    • 对于应用了 Oracle 补丁 25163555 的 OMS 13c 版本 2,请使用 OEM Agent 13.2.0.0.v2 或更高版本。

      使用 OMSPatcher 应用补丁。

    • 对于未应用补丁的 OMS 13c 版本 2,请使用 OEM Agent 13.2.0.0.v1。

    使用 OMSPatcher 应用补丁。

OMS 主机通信先决条件

确保您的 OMS 主机和您的 Amazon RDS 数据库实例可以通信。执行以下操作:

  • 要从 Management Agent 连接到 OMS(如果 OMS 位于防火墙后面),需将数据库实例的 IP 地址添加到 OMS。

    确保 OMS 的防火墙允许数据库侦听器端口(默认为 1521)和 OEM Agent 端口(默认为 3872)的流量(来自数据库实例的 IP 地址)。

  • 要从 OMS 连接到 Management Agent(如果 OMS 具有一个可公开解析的主机名),需将该 OMS 地址添加到安全组。您的安全组必须拥有允许访问数据库侦听器端口和 Management Agent 端口的入站规则。有关创建安全组并添加入站规则的示例,请参阅教程:创建 Amazon VPC 以用于数据库实例

  • 要从 OMS 连接到 Management Agent (如果 OMS 没有可公开解析的主机名),请使用下列项目之一:

Management Agent 的限制

以下是使用 Management Agent 的一些限制:

  • 不支持需要主机凭证的管理任务(例如作业执行和数据库修补)。

  • 不保证主机指标和进程列表反映实际的系统状态。因此,您不应使用 OEM 来监视根文件系统或挂载点文件系统。有关监控操作系统的更多信息,请参阅 使用增强监测来监控操作系统指标

  • 不支持自动发现。您必须手动添加数据库目标。

  • OMS 模块可用性取决于数据库版本。例如,数据库性能诊断和优化模块仅适用于 Oracle Database 企业版。

  • Management Agent 会占用额外的内存和计算资源。如果您在启用 OEM_AGENT 选项后遇到了性能问题,建议您向上扩展至更大的数据库实例类。有关更多信息,请参阅 数据库实例类修改 Amazon RDS 数据库实例

  • 在 Amazon RDS 主机上运行 OEM_AGENT 的用户没有对警报日志的操作系统访问权限。因此,您无法收集 OEM 中 DB Alert LogDB Alert Log Error Status 的指标。

Management Agent 的选项设置

Amazon RDS 支持 Management Agent 选项的以下设置。

选项设置 必需 有效值 说明

版本 (AGENT_VERSION)

13.4.0.9.v1

13.3.0.0.v2

13.3.0.0.v1

13.2.0.0.v3

13.2.0.0.v2

13.2.0.0.v1

13.1.0.0.v1

12.1.0.5.v1

12.1.0.4.v1

Management Agent 软件的版本。

Amazon CLI 选项名称为 OptionVersion

注意

在 Amazon GovCloud (US) 区域中,12.1 和 13.1 版本不可用。

端口 (AGENT_PORT)

一个整数值

侦听 OMS 主机的数据库实例上的端口。默认值为 3872。您的 OMS 主机必须属于对此端口具有访问权限的安全组。

Amazon CLI 选项名称为 Port

安全组

现有安全组

Port 具有访问权限的安全组。您的 OMS 主机必须属于此安全组。

Amazon CLI 选项名称为 VpcSecurityGroupMembershipsDBSecurityGroupMemberships

OMS_HOST

一个字符串值,例如 my.example.oms

OMS 的可公开访问的主机名或 IP 地址。

Amazon CLI 选项名称为 OMS_HOST

OMS_PORT

一个整数值

OMS 主机上侦听 Management Agent 的 HTTPS 上传端口。

要确定 HTTPS 上传端口,请连接到 OMS 主机,然后运行以下命令 (此操作需要 SYSMAN 密码):

emctl status oms -details

Amazon CLI 选项名称为 OMS_PORT

AGENT_REGISTRATION_PASSWORD

一个字符串值

Management Agent 用于通过 OMS 自行进行身份验证的密码。建议您在启用 OEM_AGENT 选项之前先在 OMS 中创建一个永久性密码。使用永久性密码,您可以在多个 Amazon RDS 数据库之中共享一个 Management Agent 选项组。

Amazon CLI 选项名称为 AGENT_REGISTRATION_PASSWORD

ALLOW_TLS_ONLY

truefalse(默认值)

一个值,该值将 OEM 代理配置为仅在代理作为服务器侦听时支持 TLSv1 协议。仅 12.1 代理版本支持此设置。默认情况下,更高的代理版本仅支持传输层安全性 (TLS)。

MINIMUM_TLS_VERSION

TLSv1(默认值)、TLSv1.2

一个值,该值指定 OEM 代理在代理作为服务器侦听时支持的最低 TLS 版本。仅代理版本 13.1.0.0.v1 及更高版本支持此设置。较早的代理版本仅支持 TLSv1 设置。

TLS_CIPHER_SUITE

TLS_RSA_WITH_AES_128_CBC_SHA(所有代理版本支持的默认值)

TLS_RSA_WITH_AES_128_CBC_SHA256(需要版本 13.1.0.0.v1 或更高版本)

TLS_RSA_WITH_AES_256_CBC_SHA(需要版本 13.2.0.0.v3 或更高版本)

TLS_RSA_WITH_AES_256_CBC_SHA256(需要版本 13.2.0.0.v3 或更高版本)

一个值,该值指定 OEM 代理在代理作为服务器侦听时使用的 TLS 密码套件。

添加 Management Agent 选项

将“Management Agent”选项添加到数据库实例的一般过程如下所示:

  1. 创建新的选项组,或者复制或修改现有选项组。

  2. 向选项组添加选项。

  3. 将选项组与数据库实例相关联。

如果遇到错误,请查看我的 Oracle 支持文档以了解有关解决特定问题的信息。

在添加“Management Agent”选项后,您无需重新启动数据库实例。只要选项组处于活动状态,OEM Agent 就处于活动状态。

如果 OMS 主机使用的是不受信任的第三方证书,则 Amazon RDS 将返回以下错误。

You successfully installed the OEM_AGENT option. Your OMS host is using an untrusted third party certificate. Configure your OMS host with the trusted certificates from your third party.

如果返回此错误,则在更正问题之前,不会启用 Management Agent 选项。有关更正问题的信息,请参阅“我的 Oracle 支持”文档 2202569.1

将“Management Agent”选项添加到数据库实例

  1. 确定您想要使用的选项组。您可以创建新的选项组,或使用现有选项组。如果您想使用现有选项组,请跳到下一步。或者,通过以下设置创建自定义数据库选项组:

    1. 对于引擎,请选择适用于您的数据库实例的 Oracle 版本。

    2. 对于主引擎版本,请选择数据库实例的版本。

    有关更多信息,请参阅 创建选项组

  2. OEM_AGENT 选项添加到选项组,然后配置选项设置。有关添加选项的更多信息,请参阅 将选项添加到选项组。有关各项设置的更多信息,请参阅Management Agent 的选项设置

  3. 将选项组应用到新的或现有的数据库实例:

以下示例使用 Amazon CLI add-option-to-option-group 命令将 OEM_AGENT 选项添加到名为 myoptiongroup 的选项组。

对于 Linux、macOS 或 Unix:

aws rds add-option-to-option-group \ --option-group-name "myoptiongroup" \ --options OptionName=OEM_AGENT,OptionVersion=13.1.0.0.v1,Port=3872,VpcSecurityGroupMemberships=sg-1234567890,OptionSettings=[{Name=OMS_HOST,Value=my.example.oms},{Name=OMS_PORT,Value=4903},{Name=AGENT_REGISTRATION_PASSWORD,Value=password}] \ --apply-immediately

对于 Windows:

aws rds add-option-to-option-group ^ --option-group-name "myoptiongroup" ^ --options OptionName=OEM_AGENT,OptionVersion=13.1.0.0.v1,Port=3872,VpcSecurityGroupMemberships=sg-1234567890,OptionSettings=[{Name=OMS_HOST,Value=my.example.oms},{Name=OMS_PORT,Value=4903},{Name=AGENT_REGISTRATION_PASSWORD,Value=password}] ^ --apply-immediately

使用 Management Agent

在启用 Management Agent 选项后,请执行以下步骤以开始使用该选项。

使用 Management Agent

  1. 解锁并重置 DBSNMP 账户凭证。为此,为数据库实例上的目标数据库运行以下代码,并使用主用户账户。

    ALTER USER dbsnmp IDENTIFIED BY new_password ACCOUNT UNLOCK;
  2. 将您的目标手动添加到 OMS 控制台:

    1. 在 OMS 控制台中,选择 SetupAdd TargetAdd Targets Manually

    2. 选择 Add Targets Declaratively by Specifying Target Monitoring Properties

    3. 对于 Target Type,选择 Database Instance

    4. 对于 Monitoring Agent (监控代理),请选择标识符与 RDS 数据库实例标识符相同的代理。

    5. 选择 Add Manually

    6. 输入 Amazon RDS 数据库实例的终端节点,或者从主机名列表中选择该终端节点。确保指定的主机名与 Amazon RDS 数据库实例的终端节点匹配。

      有关查找 Amazon RDS 数据库实例的终端节点的信息,请参阅 查找 Oracle 数据库实例的终端节点

    7. 指定以下数据库属性:

      • 对于 Target name (目标名称),输入一个名称。

      • 对于 Database system name (数据库系统名称),输入一个名称。

      • 对于 Monitor username (监控用户名),输入 dbsnmp

      • 对于 Monitor password (监控密码),输入步骤 1 中的密码。

      • 对于 Role (角色),输入 normal (正常)

      • 对于 Oracle home path (Oracle 主路径),输入 /oracle

      • 对于 Listener Machine name,已显示该代理标识符。

      • 对于 Port (端口),输入数据库端口。RDS 默认端口为 1521。

      • 对于 Database name (数据库名称),输入数据库的名称。

    8. 选择 Test Connection

    9. 选择 Next。目标数据库将显示在所监控资源的列表中。

修改 Management Agent 设置

在启用“Management Agent”选项后,可以修改该选项的设置。有关如何修改选项设置的更多信息,请参阅 修改选项设置。有关各项设置的更多信息,请参阅Management Agent 的选项设置

使用 Management Agent 执行数据库任务

您可以使用 Amazon RDS 过程在 Management Agent 上运行某些 EMCTL 命令。通过运行这些过程,您可以执行下面列出的任务。

注意

任务以异步方式执行。

获取 Management Agent 的状态

要获取 Management Agent 的状态,请运行 Amazon RDS 过程 rdsadmin.rdsadmin_oem_agent_tasks.get_status_oem_agent。该过程相当于 emctl status agent 命令。

以下过程创建一个任务来获取管理代理的状态,并返回任务的 ID。

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

要通过显示任务的输出文件来查看结果,请参阅查看正在执行的任务的状态

重新启动 Management Agent

要重新启动 Management Agent,请运行 Amazon RDS 过程 rdsadmin.rdsadmin_oem_agent_tasks.get_status_oem_agent。该过程相当于运行 emctl stop agentemctl start agent 命令。

以下过程创建一个任务来重新启动管理代理并返回任务的 ID。

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

要通过显示任务的输出文件来查看结果,请参阅查看正在执行的任务的状态

列出 Management Agent 监控的目标

要列出 Management Agent 监控的目标,请运行 Amazon RDS 过程 rdsadmin.rdsadmin_oem_agent_tasks.list_targets_oem_agent。该过程相当于运行 emctl config agent listtargets 命令。

以下过程创建一个任务来列出管理代理监控的目标并返回任务的 ID。

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

要通过显示任务的输出文件来查看结果,请参阅查看正在执行的任务的状态

列出 Management Agent 监控的收集线程

要列出管理代理监控的所有正在运行、就绪和计划的收集线程,请运行 Amazon RDS 过程 rdsadmin.rdsadmin_oem_agent_tasks.list_clxn_threads_oem_agent。该过程相当于 emctl status agent scheduler 命令。

以下过程创建一个任务来列出收集线程并返回任务的 ID。

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

要通过显示任务的输出文件来查看结果,请参阅查看正在执行的任务的状态

清除 Management Agent 的状态

要清除 Management Agent 的状态,请运行 Amazon RDS 过程 rdsadmin.rdsadmin_oem_agent_tasks.clearstate_oem_agent。该过程相当于运行 emctl clearstate agent 命令。

以下过程创建一个任务来清除管理代理的状态并返回任务的 ID。

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

要通过显示任务的输出文件来查看结果,请参阅查看正在执行的任务的状态

让 Management Agent 上载其 OMS

要让 Management Agent 上载与其关联的 Oracle Management Server (OMS),请运行 Amazon RDS 过程 rdsadmin.rdsadmin_oem_agent_tasks.upload_oem_agent。该过程相当于运行 emclt upload agent 命令。

以下过程创建一个任务,使 Management Agent 上传其关联的 OMS 并返回任务的 ID。

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

要通过显示任务的输出文件来查看结果,请参阅查看正在执行的任务的状态

为 OMS 执行 ping 操作

要为 Management Agent 的 OMS 执行 ping 操作,请运行 Amazon RDS 过程 rdsadmin.rdsadmin_oem_agent_tasks.ping_oms_oem_agent。该过程相当于运行 emctl pingOMS 命令。

以下过程创建一个任务来 Ping 管理代理的 OMS 并返回任务的 ID。

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

要通过显示任务的输出文件来查看结果,请参阅查看正在执行的任务的状态

查看正在执行的任务的状态

您可以查看 bdump 文件中的持续任务的状态。bdump 文件位于 /rdsdbdata/log/trace 目录中。每个 bdump 文件名称格式如下。

dbtask-task-id.log

如果要监控任务,请将 task-id 替换为要监控的任务的 ID。

要查看 bdump 文件的内容,请运行 Amazon RDS 过程 rdsadmin.rds_file_util.read_text_file。以下查询返回 dbtask-1546988886389-2444.log bdump 文件的内容。

SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1546988886389-2444.log'));

有关 Amazon RDS 过程 rdsadmin.rds_file_util.read_text_file 的更多信息,请参阅读取数据库实例目录中的文件

删除 Management Agent 选项

可以从数据库实例中删除 OEM Agent。删除 OEM Agent 后,您无需重新启动数据库实例。

要从数据库实例中删除 OEM Agent,请执行下列操作之一:

  • 从“OEM Agent”选项所属的选项组中删除该选项。此更改会影响使用该选项组的所有数据库实例。有关更多信息,请参阅 从选项组中删除选项

  • 修改数据库实例,并指定不包含“OEM Agent”选项的另一个选项组。此更改会影响单个数据库实例。您可以指定默认 (空) 选项组,或指定其他自定义选项组。有关更多信息,请参阅 修改 Amazon RDS 数据库实例