跳至内容

如何使用只读副本监控和排查 Amazon RDS for Oracle 实例的复制延迟问题?

2 分钟阅读
0

当我为 Amazon Relational Database Service (Amazon RDS) for Oracle 数据库 (DB) 实例使用只读副本时,我想监控复制延迟。

简短描述

使用 Oracle Active Data Guard 许可证为您的 RDS for Oracle 实例配置只读副本。如果副本是只读的,则需要 Active Data Guard 许可证。当您为实例创建只读副本时,主实例和只读副本实例将在 Data Guard 最高性能模式下运行。有关更多信息,请参阅 Oracle 网站上的 Oracle Data Guard protection modes(Oracle Data Guard 保护模式)。然后,使用只读副本从主实例卸载读取操作。

在进行灾难恢复时,您也可以将只读副本提升为独立的数据库 (DB) 实例。有关更多信息,请参阅将只读副本提升为独立的数据库实例

在为实例配置只读副本之前,请检查与版本和许可证相关的限制。有关更多信息,请参阅 RDS for Oracle 副本的其他注意事项

解决方法

为 RDS for Oracle 实例使用只读副本时,请注意以下几点:

  • Amazon RDS 是一项托管服务。复制过程由内部 RDS_DATAGUARD 用户管理。此用户在创建只读副本实例时配置。
  • 您无法从管理员用户的 AWS 账户停止托管恢复过程。
  • 您无法为 RDS 只读副本配置或修改 Oracle Data Guard Broker。
  • 您无法延迟数据从主实例复制到只读副本实例。
  • 选项组中的修改会反映到只读副本实例。如果只读副本配置在同一 AWS 区域中,则这些实例将与同一选项组关联。有关更多信息,请参阅 RDS for Oracle 副本的选项组限制

监控复制延迟

如果副本无法与主实例保持同步,则复制可能会延迟。要在 Amazon CloudWatch 中监控复制延迟,请在只读副本实例上查看 Amazon RDS 指标 ReplicaLag。该指标以毫秒为单位显示复制延迟。有关更多信息,请参阅监控只读复制以及使用 Amazon CloudWatch 监控 Amazon RDS 指标

要监控和排查 Active Data Guard 中的复制延迟问题,请完成以下步骤:

  1. 要检查 Active Data Guard 延迟指标,请运行以下命令:

    sql > SELECT name,value,datum_time,time_computed FROM v$dataguard_stats;
  2. 要检查主实例和只读副本实例之间是否存在存档日志间隔,请运行以下命令:

    sql >  SELECT archived.thread# THREAD,max(archived.sequence#) PRIMARY,max(applied.sequence#) STANDBY,(max(archived.sequence#) - max(applied.sequence#)) GAP FROM v$archived_log archived,v$archived_log applied WHERE archived.thread#=applied.thread# AND applied.applied='YES' GROUP BY archived.thread#;

    **注意:**当出现复制延迟时,RDS for Oracle 不会向您发出警报。为 RDS 指标 ReplicaLag 创建 CloudWatch 警报,以便在只读副本无法与主实例保持同步时发送通知。

排查复制延迟问题

  • 如果主实例不可用,则使用 Aurora 和 RDS 控制台检查实例的当前状态。另外,检查是否可以从其他 SQL 客户端访问该实例。如果主实例不可用,则只读副本无法与主实例保持同步。查看 Amazon RDS 事件,找出主实例不可用的原因。然后,修复该实例以确保其可访问。
  • 如果主实例处于高 CPU 或内存过载状态,则可能会遇到较高的传输延迟。监控实例的 CloudWatch 指标。此外,使用增强监控来确定特定进程是否会导致内存或 CPU 使用率异常峰值。有关更多信息,请参阅在 Aurora 和 RDS 控制台中查看操作系统指标。当 CPU 或内存负载降低时,副本可能会与主实例保持同步。如果实例的过载符合预期,请纵向扩展实例类、IOPS 或吞吐量。
  • 监控主实例和只读副本的 alert.log 文件以识别警报或 ORA 错误。这些可能会影响传输或应用进程。有关更多信息,请参阅 Oracle 数据库日志文件。解决已识别的错误以减少延迟。
  • 要复制这些更改,必须重新创建备用实例。最佳做法是在配置只读副本之前更新重做日志参数。有关更多信息,请参阅更改日志记录配置
  • 与主实例相比,只读副本实例配置的计算或容量较少,可能会减慢更改的应用速度。这会导致复制延迟。监控 CloudWatch 中的 RDS 指标,检查两个实例中的流量是否有所减少。如果主实例中没有受限制的实例,而只读副本遭到节流,则确定受限制的资源。然后,根据需要纵向扩展存储或计算配置。
  • 当主实例没有负载,而只读副本实例的负载过大导致资源出现节流时,您可能会遇到副本延迟。要解决副本延迟问题,请纵向扩展副本实例中的资源。或者,对只读副本实例中遭遇节流的资源进行故障排除和修复。

相关信息

使用 Amazon RDS for Oracle 的只读副本

使用 Oracle Active Data Guard 通过 Amazon RDS for Oracle 实现托管式灾难恢复和托管式读取器集群

AWS 官方已更新 2 年前