零 ETL 集成问题排查 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

零 ETL 集成问题排查

请使用以下信息,排查使用 Aurora MySQL 的零 ETL 集成的常见问题。

集成创建失败

如果零 ETL 集成创建失败,则集成的状态为 Inactive。确保您的源 Aurora 数据库集群的以下内容正确:

  • 您在 Amazon RDS 控制台中创建了您的集群。

  • 您的源 Aurora 数据库集群正在运行 MySQL 3.05.0 或更高版本。要对此进行验证,请转到集群的配置选项卡并检查引擎版本

  • 您为集群正确配置了二进制日志参数设置。如果您的 Aurora MySQL 二进制日志参数设置不正确或未与源 Aurora 数据库集群关联,则创建会失败。请参阅配置数据库集群参数

此外,请确保您的 Amazon Redshift 数据仓库在以下方面正确无误:

表没有主键

在目标数据库中,一个或多个表没有主键且无法同步。

要解决此问题,请转到集成详细信息页面上的表统计数据选项卡,或使用 SVV_INTEGRATION_TABLE_STATE 查看失败的表。您可以向表中添加主键,然后 Amazon Redshift 将重新同步这些表。或者,您可以在 Aurora 上删除这些表,然后创建带主键的表,但不建议使用此方法。有关更多信息,请参阅设计表的 Amazon Redshift 最佳实践

表中有不支持的数据类型

您从集成在 Amazon Redshift 中创建了数据库,并从 Aurora 数据库集群将数据复制到该目标数据库,但在该目标数据库中,一个或多个表具有不受支持的数据类型且无法同步。

要解决此问题,请转到集成详细信息页面上的表统计数据选项卡,或使用 SVV_INTEGRATION_TABLE_STATE 查看失败的表。然后,请在 Amazon RDS 中删除这些表并重新创建新表。有关不支持的数据类型的更多信息,请参阅《Amazon Aurora 用户指南》中的 Aurora 和 Amazon Redshift 数据库之间的数据类型差异

数据操作语言命令失败

Amazon Redshift 无法在 Redshift 表上运行 DML 命令。要解决此问题,请使用 SVV_INTEGRATION_TABLE_STATE 查看失败的表。Amazon Redshift 会自动重新同步表以解决此错误。

数据来源之间跟踪的更改不匹配

当 Amazon Aurora 和 Amazon Redshift 之间的更改不匹配时,就会出现此错误,从而导致集成进入 Failed 状态。

要解决此问题,请删除零 ETL 集成,然后在 Amazon RDS 中重新创建。有关更多信息,请参阅 Creating zero-ETL integrationsDeleting zero-ETL integrations

授权失败

如果作为 Amazon Redshift 数据仓库的已授权的集成源的源 Aurora 数据库集群被移除,则会发生授权失败。

要解决此问题,请删除零 ETL 集成,然后在 Amazon RDS 上重新创建。有关更多信息,请参阅 Creating zero-ETL integrationsDeleting zero-ETL integrations

表的数量超过 100K 或者架构的数量超过 4950

对于目标数据仓库,表的数量大于 100K 或架构的数量大于 4950。Amazon Aurora 无法向 Amazon Redshift 发送数据。表和架构的数量超过了设置的限制。要解决此问题,请从源数据库中删除所有不必要的架构或表。

Amazon Redshift 无法加载数据

Amazon Redshift 无法将数据加载到零 ETL 集成。

要解决此问题,请删除 Amazon RDS 上的零 ETL 集成,然后重新创建。有关更多信息,请参阅 Creating zero-ETL integrationsDeleting zero-ETL integrations

工作组参数设置不正确

您的工作组未开启区分大小写功能。

要解决此问题,请转到集成详细信息页面上的属性选项卡,选择参数组,然后从属性选项卡中开启区分大小写的标识符。如果您没有现有的参数组,请在区分大小写标识符处于开启状态的情况下创建一个参数组。然后,在 Amazon RDS 上创建一个新的零 ETL 集成。有关更多信息,请参阅创建零 ETL 集成

没有为激活零 ETL 集成而创建数据库

没有为零 ETL 集成创建数据库,因此无法激活它。

要解决此问题,请为集成创建数据库。有关更多信息,请参阅 在 Amazon Redshift 中创建目标数据库

表处于需要重新同步重新同步已启动状态

您的表处于需要重新同步重新同步已启动状态。

要收集有关表为何处于该状态的更详细的错误信息,请使用 SYS_LOAD_ERROR_DETAIL 系统视图。

请使用以下信息,排查使用 Aurora PostgreSQL 的零 ETL 集成的常见问题。

集成创建失败

如果零 ETL 集成创建失败,则集成的状态为 Inactive。确保您的源 Aurora 数据库集群的以下内容正确:

  • 您在 Amazon RDS 控制台中创建了您的集群。

  • 您的源 Aurora 数据库集群正在运行 PostgreSQL 15.4.99 或高版本。要对此进行验证,请转到集群的配置选项卡并检查引擎版本

  • 您为集群正确配置了二进制日志参数设置。如果您的 Aurora PostgreSQL 二进制日志参数设置不正确或未与源 Aurora 数据库集群关联,则创建会失败。请参阅配置数据库集群参数

此外,请确保您的 Amazon Redshift 数据仓库在以下方面正确无误:

表没有主键

在目标数据库中,一个或多个表没有主键且无法同步。

要解决此问题,请转到集成详细信息页面上的表统计数据选项卡,或使用 SVV_INTEGRATION_TABLE_STATE 查看失败的表。您可以向表中添加主键,然后 Amazon Redshift 将重新同步这些表。或者,您可以在 Aurora 上删除这些表,然后创建带主键的表,但不建议使用此方法。有关更多信息,请参阅设计表的 Amazon Redshift 最佳实践

表中有不支持的数据类型

您从集成在 Amazon Redshift 中创建了数据库,并从 Aurora 数据库集群将数据复制到该目标数据库,但在该目标数据库中,一个或多个表具有不受支持的数据类型且无法同步。

要解决此问题,请转到集成详细信息页面上的表统计数据选项卡,或使用 SVV_INTEGRATION_TABLE_STATE 查看失败的表。然后,请在 Amazon RDS 中删除这些表并重新创建新表。有关不支持的数据类型的更多信息,请参阅《Amazon Aurora 用户指南》中的 Aurora 和 Amazon Redshift 数据库之间的数据类型差异

数据操作语言命令失败

Amazon Redshift 无法在 Redshift 表上运行 DML 命令。要解决此问题,请使用 SVV_INTEGRATION_TABLE_STATE 查看失败的表。Amazon Redshift 会自动重新同步表以解决此错误。

数据来源之间跟踪的更改不匹配

当 Amazon Aurora 和 Amazon Redshift 之间的更改不匹配时,就会出现此错误,从而导致集成进入 Failed 状态。

要解决此问题,请删除零 ETL 集成,然后在 Amazon RDS 中重新创建。有关更多信息,请参阅 Creating zero-ETL integrationsDeleting zero-ETL integrations

授权失败

如果作为 Amazon Redshift 数据仓库的已授权的集成源的源 Aurora 数据库集群被移除,则会发生授权失败。

要解决此问题,请删除零 ETL 集成,然后在 Amazon RDS 上重新创建。有关更多信息,请参阅 Creating zero-ETL integrationsDeleting zero-ETL integrations

表的数量超过 100K 或者架构的数量超过 4950

对于目标数据仓库,表的数量大于 100K 或架构的数量大于 4950。Amazon Aurora 无法向 Amazon Redshift 发送数据。表和架构的数量超过了设置的限制。要解决此问题,请从源数据库中删除所有不必要的架构或表。

Amazon Redshift 无法加载数据

Amazon Redshift 无法将数据加载到零 ETL 集成。

要解决此问题,请删除 Amazon RDS 上的零 ETL 集成,然后重新创建。有关更多信息,请参阅 Creating zero-ETL integrationsDeleting zero-ETL integrations

工作组参数设置不正确

您的工作组未开启区分大小写功能。

要解决此问题,请转到集成详细信息页面上的属性选项卡,选择参数组,然后从属性选项卡中开启区分大小写的标识符。如果您没有现有的参数组,请在区分大小写标识符处于开启状态的情况下创建一个参数组。然后,在 Amazon RDS 上创建一个新的零 ETL 集成。有关更多信息,请参阅创建零 ETL 集成

没有为激活零 ETL 集成而创建数据库

没有为零 ETL 集成创建数据库,因此无法激活它。

要解决此问题,请为集成创建数据库。有关更多信息,请参阅 在 Amazon Redshift 中创建目标数据库

表处于需要重新同步重新同步已启动状态

您的表处于需要重新同步重新同步已启动状态。

要收集有关表为何处于该状态的更详细的错误信息,请使用 SYS_LOAD_ERROR_DETAIL 系统视图。

请使用以下信息,排查使用 RDS for MySQL 的零 ETL 集成的常见问题。

集成创建失败

如果零 ETL 集成创建失败,则集成的状态为 Inactive。确保您的源 RDS 数据库实例的以下内容正确:

  • 您在 Amazon RDS 控制台中创建了实例。

  • 源 RDS 数据库实例运行的是 RDS for MySQL 版本 8.0.28 或更高版本。要对此进行验证,请转到实例的配置选项卡并检查引擎版本

  • 您为实例正确配置了二进制日志参数设置。如果您的 RDS for MySQL 二进制日志参数设置不正确或未与源 RDS 数据库集群关联,则创建会失败。请参阅配置数据库实例参数

此外,请确保您的 Amazon Redshift 数据仓库在以下方面正确无误:

表没有主键

在目标数据库中,一个或多个表没有主键且无法同步。

要解决此问题,请转到集成详细信息页面上的表统计数据选项卡,或使用 SVV_INTEGRATION_TABLE_STATE 查看失败的表。您可以向表中添加主键,然后 Amazon Redshift 将重新同步这些表。或者,您可以在 RDS 上删除这些表,然后创建带主键的表,但不建议使用此方法。有关更多信息,请参阅设计表的 Amazon Redshift 最佳实践

表中有不支持的数据类型

您从集成在 Amazon Redshift 中创建了数据库,并从 RDS 数据库实例将数据复制到该目标数据库,但在该目标数据库中,一个或多个表具有不受支持的数据类型且无法同步。

要解决此问题,请转到集成详细信息页面上的表统计数据选项卡,或使用 SVV_INTEGRATION_TABLE_STATE 查看失败的表。然后,请在 Amazon RDS 中删除这些表并重新创建新表。有关不支持的数据类型的更多信息,请参阅《Amazon RDS User Guide》中的 Data type differences between RDS and Amazon Redshift databases

数据操作语言命令失败

Amazon Redshift 无法在 Redshift 表上运行 DML 命令。要解决此问题,请使用 SVV_INTEGRATION_TABLE_STATE 查看失败的表。Amazon Redshift 会自动重新同步表以解决此错误。

数据来源之间跟踪的更改不匹配

当 Amazon Aurora 和 Amazon Redshift 之间的更改不匹配时,就会出现此错误,从而导致集成进入 Failed 状态。

要解决此问题,请删除零 ETL 集成,然后在 Amazon RDS 中重新创建。有关更多信息,请参阅 Creating zero-ETL integrationsDeleting zero-ETL integrations

授权失败

由于源 RDS 数据库实例已删除,而该实例作为 Amazon Redshift 数据仓库的已授权的集成源,授权失败。

要解决此问题,请删除零 ETL 集成,然后在 Amazon RDS 上重新创建。有关更多信息,请参阅 Creating zero-ETL integrationsDeleting zero-ETL integrations

表的数量超过 100K 或者架构的数量超过 4950

对于目标数据仓库,表的数量大于 100K 或架构的数量大于 4950。Amazon Aurora 无法向 Amazon Redshift 发送数据。表和架构的数量超过了设置的限制。要解决此问题,请从源数据库中删除所有不必要的架构或表。

Amazon Redshift 无法加载数据

Amazon Redshift 无法将数据加载到零 ETL 集成。

要解决此问题,请删除 Amazon RDS 上的零 ETL 集成,然后重新创建。有关更多信息,请参阅 Creating zero-ETL integrationsDeleting zero-ETL integrations

工作组参数设置不正确

您的工作组未开启区分大小写功能。

要解决此问题,请转到集成详细信息页面上的属性选项卡,选择参数组,然后从属性选项卡中开启区分大小写的标识符。如果您没有现有的参数组,请在区分大小写标识符处于开启状态的情况下创建一个参数组。然后,在 Amazon RDS 上创建一个新的零 ETL 集成。有关更多信息,请参阅创建零 ETL 集成

没有为激活零 ETL 集成而创建数据库

没有为零 ETL 集成创建数据库,因此无法激活它。

要解决此问题,请为集成创建数据库。有关更多信息,请参阅 在 Amazon Redshift 中创建目标数据库

表处于需要重新同步重新同步已启动状态

您的表处于需要重新同步重新同步已启动状态。

要收集有关表为何处于该状态的更详细的错误信息,请使用 SYS_LOAD_ERROR_DETAIL 系统视图。