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

2 分钟阅读
0

当我将只读副本用于 Amazon Relational Database Service (Amazon RDS) for Oracle 数据库实例时,我想监控复制延迟并进行故障排查。

简短描述

您可以使用 Oracle Active Data Guard 许可证为 RDS for Oracle 实例配置只读副本。当您为实例创建只读副本时,主实例和只读副本实例在 Data Guard 最高性能模式下运行。有关更多信息,请参阅 Oracle Data Guard 保护模式的 Oracle 文档。

您可以使用只读副本从主实例转移读取操作。在发生灾难恢复时,您还可以将只读副本提升为独立的数据库实例。有关更多信息,请参阅将只读副本提升为独立的数据库实例

在为实例配置只读副本之前,请务必检查与版本和许可相关的限制。另外,请查看 Oracle 副本的其他要求和限制

解决方案

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

  • Amazon RDS 是一项托管服务。因此,复制过程由内部 RDS_DATAGUARD 用户管理。在创建只读副本实例时配置此用户。
  • 您无法从管理员用户账户停止托管还原流程。
  • 您无法配置或修改 Oracle Data Guard Broker for RDS 只读副本。
  • 您不能延迟将数据从主实例复制到只读副本实例。
  • 对选项组所做的修改会传播到只读副本实例。如果在同一区域中配置只读副本,则它们与同一选项组相关联。有关更多信息,请参阅 Oracle 副本的选项要求和限制

监控复制延迟

如果副本无法跟上主实例的步伐,您可能会遇到复制延迟。要监控 Amazon CloudWatch 中的复制延迟情况,请查看 Amazon RDS 指标 ReplicaLag。此指标以毫秒为单位显示复制延迟。有关更多信息,请参阅监控只读副本查看 Amazon RDS 指标和维度

要监控 Active Data Guard 中的复制延迟并进行故障排查,请执行以下操作:

运行以下查询以检查 Data Guard 延迟指标:

sql > SELECT name,value,datum_time,time_computed FROM v$dataguard_stats;

运行以下查询以检查主实例和只读副本实例之间是否存在存档日志差距:

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 警报

排查复制延迟问题

  • 如果主实例不可用,请使用 Amazon RDS 控制台检查实例的当前状态。另外,请检查是否可以从任何 SQL 客户端访问该实例。如果主实例不可用(例如:实例处于不兼容参数状态),则只读副本无法跟上主实例的步伐并滞后。查看 Amazon RDS 事件以了解主实例不可用的原因。然后,修复该实例以确保它可以访问。
  • 如果主实例的 CPU 使用率过高或内存使用率过载,则可能会导致较高的传输延迟。监控实例的 CloudWatch 指标。此外,还可以使用增强监控来确定特定进程是否会导致异常内存或 CPU 使用率峰值。有关更多信息,请参阅在 RDS 控制台中查看 OS 指标。当 CPU/内存负载减少时,副本可能就会跟上主实例的步伐。如果实例上的过载符合预期,您可以根据需要选择扩展实例类、IOPS 或吞吐量。
  • 监控主实例和只读副本的 alert.log 文件,以识别可能影响传输或应用进程的警报或 ORA 错误。有关访问 RDS 实例的提示日志的更多信息,请参阅 Oracle 数据库日志文件。解决发现的错误以减少延迟。
  • 当您调整主实例中重做日志的大小或更改数量时,不会在备用实例中复制这些更改。要复制这些更改,您必须重新创建备用实例。最佳实践是在配置只读副本之前更新重做日志参数。有关更多信息,请参阅更改日志记录配置
  • 与主实例相比,为只读副本实例配置更少的计算或 IOPS 容量可能会降低只读副本中更改的应用速度,从而导致复制延迟。使用 CloudWatch 监控 RDS 指标以检查两个实例中的限制。如果主实例没有任何限制,并且只读副本遇到限制,请确定受限的资源。然后,根据需要扩展存储或计算配置。

相关信息

使用只读副本

使用适用于 Amazon RDS 的 Oracle 副本

使用 Oracle Active Data Guard,借助 Amazon RDS for Oracle 进行托管灾难恢复和建立托管读取器农场

AWS 官方
AWS 官方已更新 2 年前