

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 零 ETL 集成问题排查
<a name="zero-etl-using.troubleshooting"></a>

参阅以下各节，协助排查在处理零 ETL 集成时遇到的问题。

## Aurora MySQL 的零 ETL 集成问题排查
<a name="zero-etl-using.troubleshooting.ams"></a>

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

**Topics**
+ [集成创建失败](#zero-etl-using.troubleshooting.creation)
+ [表没有主键](#zero-etl-using.troubleshooting.primary-key)
+ [Aurora MySQL 表未复制到 Amazon Redshift](#zero-etl-using.troubleshooting.not-replicating)
+ [表中有不支持的数据类型](#zero-etl-using.troubleshooting.unsupported-data)
+ [数据操作语言命令失败](#zero-etl-using.troubleshooting.failed-dml)
+ [数据来源之间跟踪的更改不匹配](#zero-etl-using.troubleshooting.tracked-changes-failure)
+ [授权失败](#zero-etl-using.troubleshooting.authorization)
+ [表的数量超过 100K 或者架构的数量超过 4950](#zero-etl-using.troubleshooting.table-limits)
+ [Amazon Redshift 无法加载数据](#zero-etl-using.troubleshooting.data-load)
+ [工作组参数设置不正确](#zero-etl-using.troubleshooting.case-sensitive)
+ [没有为激活零 ETL 集成而创建数据库](#zero-etl-using.troubleshooting.db-creation)
+ [表处于**需要重新同步**或**重新同步已启动**状态](#zero-etl-using.troubleshooting.resync)
+ [集成滞后增加](#zero-etl-using.troubleshooting.integration-lag)

### 集成创建失败
<a name="zero-etl-using.troubleshooting.creation"></a>

如果零 ETL 集成创建失败，则集成的状态为 `Inactive`。确保您的源 Aurora 数据库集群的以下内容正确：
+ 您在 Amazon RDS 控制台中创建了您的集群。
+ 源 Aurora 数据库集群运行的是受支持的版本。有关受支持版本的列表，请参阅[支持与 Amazon Redshift 进行零 ETL 集成的区域和 Amazon 数据库引擎](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.Zero-ETL.html)。要对此进行验证，请转到集群的**配置**选项卡并检查**引擎版本**。
+  您为集群正确配置了二进制日志参数设置。如果您的 Aurora MySQL 二进制日志参数设置不正确或未与源 Aurora 数据库集群关联，则创建会失败。请参阅[配置数据库集群参数](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.setting-up.html#zero-etl.parameters)。

此外，请确保您的 Amazon Redshift 数据仓库在以下方面正确无误：
+ 区分大小写已开启。请参阅[为您的数据仓库开启区分大小写](zero-etl-setting-up.case-sensitivity.md)。
+ 您为命名空间添加了正确的以授权的主体和集成源。请参阅[为您的 Amazon Redshift 数据仓库配置授权](zero-etl-using.redshift-iam.md)。

### 表没有主键
<a name="zero-etl-using.troubleshooting.primary-key"></a>

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

要解决此问题，请转到集成详细信息页面上的**表统计数据**选项卡，或使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。您可以向表中添加主键，然后 Amazon Redshift 将重新同步这些表。或者，您可以在 Aurora 上删除这些表，然后创建带主键的表，但不建议使用此方法。有关更多信息，请参阅[设计表的 Amazon Redshift 最佳实践](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html)。

### Aurora MySQL 表未复制到 Amazon Redshift
<a name="zero-etl-using.troubleshooting.not-replicating"></a>

如果注意到一个或多个表没有在 Amazon Redshift 中显示，可以运行以下命令来重新同步这些表。将 *dbname* 替换为 Amazon Redshift 数据库的名称。同时，将 *table1* 和 *table2* 替换为要同步的表的名称。

```
ALTER DATABASE dbname INTEGRATION REFRESH TABLES table1, table2;
```

有关更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [ALTER DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATABASE.html)。

您的数据可能未复制，因为一个或多个源表没有主键。Amazon Redshift 中的监控控制面板将这些表的状态显示为 `Failed`，而总体零 ETL 集成的状态更改为 `Needs attention`。要解决此问题，您可以在表中确定一个可以成为主键的现有键，也可以添加合成主键。有关详细解决方案，请参阅 *AWS 数据库博客* 中的 [Handle tables without primary keys while creating Amazon Aurora MySQL or RDS for MySQL zero-ETL integrations with Amazon Redshift](https://aws.amazon.com/blogs/database/handle-tables-without-primary-keys-while-creating-amazon-aurora-mysql-or-amazon-rds-for-mysql-zero-etl-integrations-with-amazon-redshift/)。

另请确认您的目标是否为 Amazon Redshift 集群，且该集群未处于暂停状态。

### 表中有不支持的数据类型
<a name="zero-etl-using.troubleshooting.unsupported-data"></a>

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

要解决此问题，请转到集成详细信息页面上的**表统计数据**选项卡，或使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。然后，请在 Amazon RDS 中删除这些表并重新创建新表。有关不支持的数据类型的更多信息，请参阅《Amazon Aurora 用户指南》**中的 [Aurora 和 Amazon Redshift 数据库之间的数据类型差异](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.querying.html#zero-etl.data-type-mapping)。

### 数据操作语言命令失败
<a name="zero-etl-using.troubleshooting.failed-dml"></a>

 Amazon Redshift 无法在 Redshift 表上运行 DML 命令。要解决此问题，请使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。Amazon Redshift 会自动重新同步表以解决此错误。

### 数据来源之间跟踪的更改不匹配
<a name="zero-etl-using.troubleshooting.tracked-changes-failure"></a>

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

要解决此问题，请删除零 ETL 集成，然后在 Amazon RDS 中重新创建。有关更多信息，请参阅 [Creating zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.creating.html) 和 [Deleting zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.deletinging.html)。

### 授权失败
<a name="zero-etl-using.troubleshooting.authorization"></a>

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

要解决此问题，请删除零 ETL 集成，然后在 Amazon RDS 上重新创建。有关更多信息，请参阅 [Creating zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.creating.html) 和 [Deleting zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.deleting.html)。

### 表的数量超过 100K 或者架构的数量超过 4950
<a name="zero-etl-using.troubleshooting.table-limits"></a>

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

### Amazon Redshift 无法加载数据
<a name="zero-etl-using.troubleshooting.data-load"></a>

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

要解决此问题，请删除 Amazon RDS 上的零 ETL 集成，然后重新创建。有关更多信息，请参阅 [Creating zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.creating.html) 和 [Deleting zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.deleting.html)。

### 工作组参数设置不正确
<a name="zero-etl-using.troubleshooting.case-sensitive"></a>

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

要解决此问题，请转到集成详细信息页面上的**属性**选项卡，选择参数组，然后从**属性**选项卡中开启区分大小写的标识符。如果您没有现有的参数组，请在区分大小写标识符处于开启状态的情况下创建一个参数组。然后，在 Amazon RDS 上创建一个新的零 ETL 集成。有关更多信息，请参阅[创建零 ETL 集成](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.creating.html)。

### 没有为激活零 ETL 集成而创建数据库
<a name="zero-etl-using.troubleshooting.db-creation"></a>

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

要解决此问题，请为集成创建数据库。有关更多信息，请参阅 [在 Amazon Redshift 中创建目标数据库](zero-etl-using.creating-db.md)。

### 表处于**需要重新同步**或**重新同步已启动**状态
<a name="zero-etl-using.troubleshooting.resync"></a>

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

要收集有关表为何处于该状态的更详细的错误信息，请使用 [SYS\$1LOAD\$1ERROR\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_LOAD_ERROR_DETAIL.html) 系统视图。

### 集成滞后增加
<a name="zero-etl-using.troubleshooting.integration-lag"></a>

如果源数据库中大量使用 SAVEPOINT，则零 ETL 集成的集成延迟可能会增加。

## Aurora PostgreSQL 的零 ETL 集成问题排查
<a name="zero-etl-using.troubleshooting.apg"></a>

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

**Topics**
+ [集成创建失败](#zero-etl-using.troubleshooting.creation)
+ [表没有主键](#zero-etl-using.troubleshooting.primary-key)
+ [Aurora PostgreSQL 表未复制到 Amazon Redshift](#zero-etl-using.troubleshooting.not-replicating)
+ [表中有不支持的数据类型](#zero-etl-using.troubleshooting.unsupported-data)
+ [数据操作语言命令失败](#zero-etl-using.troubleshooting.failed-dml)
+ [数据来源之间跟踪的更改不匹配](#zero-etl-using.troubleshooting.tracked-changes-failure)
+ [授权失败](#zero-etl-using.troubleshooting.authorization)
+ [表的数量超过 100K 或者架构的数量超过 4950](#zero-etl-using.troubleshooting.table-limits)
+ [Amazon Redshift 无法加载数据](#zero-etl-using.troubleshooting.data-load)
+ [工作组参数设置不正确](#zero-etl-using.troubleshooting.case-sensitive)
+ [没有为激活零 ETL 集成而创建数据库](#zero-etl-using.troubleshooting.db-creation)
+ [表处于**需要重新同步**或**重新同步已启动**状态](#zero-etl-using.troubleshooting.resync)

### 集成创建失败
<a name="zero-etl-using.troubleshooting.creation"></a>

如果零 ETL 集成创建失败，则集成的状态为 `Inactive`。确保您的源 Aurora 数据库集群的以下内容正确：
+ 您在 Amazon RDS 控制台中创建了您的集群。
+ 您的源 Aurora 数据库集群运行的是受支持的版本。有关受支持版本的列表，请参阅[支持与 Amazon Redshift 进行零 ETL 集成的区域和 Amazon 数据库引擎](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.Zero-ETL.html#Concepts.Aurora_Fea_Regions_DB-eng.Feature.Zero-ETL-Postgres)。要对此进行验证，请转到集群的**配置**选项卡并检查**引擎版本**。
+  您为集群正确配置了二进制日志参数设置。如果您的 Aurora PostgreSQL 二进制日志参数设置不正确或未与源 Aurora 数据库集群关联，则创建会失败。请参阅[配置数据库集群参数](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.setting-up.html#zero-etl.parameters)。

此外，请确保您的 Amazon Redshift 数据仓库在以下方面正确无误：
+ 区分大小写已开启。请参阅[为您的数据仓库开启区分大小写](zero-etl-setting-up.case-sensitivity.md)。
+ 您为 endterm="zero-etl-using.redshift-iam.title"/> 添加了正确的授权主体和集成源。

### 表没有主键
<a name="zero-etl-using.troubleshooting.primary-key"></a>

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

要解决此问题，请转到集成详细信息页面上的**表统计数据**选项卡，或使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。您可以向表中添加主键，然后 Amazon Redshift 将重新同步这些表。或者，您可以在 Aurora 上删除这些表，然后创建带主键的表，但不建议使用此方法。有关更多信息，请参阅[设计表的 Amazon Redshift 最佳实践](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html)。

### Aurora PostgreSQL 表未复制到 Amazon Redshift
<a name="zero-etl-using.troubleshooting.not-replicating"></a>

如果注意到一个或多个表没有在 Amazon Redshift 中显示，可以运行以下命令来重新同步这些表。将 *dbname* 替换为 Amazon Redshift 数据库的名称。同时，将 *table1* 和 *table2* 替换为要同步的表的名称。

```
ALTER DATABASE dbname INTEGRATION REFRESH TABLES table1, table2;
```

有关更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [ALTER DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATABASE.html)。

您的数据可能未复制，因为一个或多个源表没有主键。Amazon Redshift 中的监控控制面板将这些表的状态显示为 `Failed`，而总体零 ETL 集成的状态更改为 `Needs attention`。要解决此问题，您可以在表中确定一个可以成为主键的现有键，也可以添加合成主键。有关详细解决方案，请参阅 *AWS 数据库博客* 中的 [Handle tables without primary keys while creating Amazon Aurora PostgreSQL zero-ETL integrations with Amazon Redshift](https://aws.amazon.com/blogs/database/handle-tables-without-primary-keys-while-creating-amazon-aurora-postgresql-zero-etl-integrations-with-amazon-redshift/)。

另请确认您的目标是否为 Amazon Redshift 集群，且该集群未处于暂停状态。

### 表中有不支持的数据类型
<a name="zero-etl-using.troubleshooting.unsupported-data"></a>

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

要解决此问题，请转到集成详细信息页面上的**表统计数据**选项卡，或使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。然后，请在 Amazon RDS 中删除这些表并重新创建新表。有关不支持的数据类型的更多信息，请参阅《Amazon Aurora 用户指南》**中的 [Aurora 和 Amazon Redshift 数据库之间的数据类型差异](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.querying.html#zero-etl.data-type-mapping)。

### 数据操作语言命令失败
<a name="zero-etl-using.troubleshooting.failed-dml"></a>

 Amazon Redshift 无法在 Redshift 表上运行 DML 命令。要解决此问题，请使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。Amazon Redshift 会自动重新同步表以解决此错误。

### 数据来源之间跟踪的更改不匹配
<a name="zero-etl-using.troubleshooting.tracked-changes-failure"></a>

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

要解决此问题，请删除零 ETL 集成，然后在 Amazon RDS 中重新创建。有关更多信息，请参阅 [Creating zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.creating.html) 和 [Deleting zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.deletinging.html)。

### 授权失败
<a name="zero-etl-using.troubleshooting.authorization"></a>

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

要解决此问题，请删除零 ETL 集成，然后在 Amazon RDS 上重新创建。有关更多信息，请参阅 [Creating zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.creating.html) 和 [Deleting zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.deleting.html)。

### 表的数量超过 100K 或者架构的数量超过 4950
<a name="zero-etl-using.troubleshooting.table-limits"></a>

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

### Amazon Redshift 无法加载数据
<a name="zero-etl-using.troubleshooting.data-load"></a>

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

要解决此问题，请删除 Amazon RDS 上的零 ETL 集成，然后重新创建。有关更多信息，请参阅 [Creating zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.creating.html) 和 [Deleting zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.deleting.html)。

### 工作组参数设置不正确
<a name="zero-etl-using.troubleshooting.case-sensitive"></a>

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

要解决此问题，请转到集成详细信息页面上的**属性**选项卡，选择参数组，然后从**属性**选项卡中开启区分大小写的标识符。如果您没有现有的参数组，请在区分大小写标识符处于开启状态的情况下创建一个参数组。然后，在 Amazon RDS 上创建一个新的零 ETL 集成。有关更多信息，请参阅[创建零 ETL 集成](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.creating.html)。

### 没有为激活零 ETL 集成而创建数据库
<a name="zero-etl-using.troubleshooting.db-creation"></a>

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

要解决此问题，请为集成创建数据库。有关更多信息，请参阅 [在 Amazon Redshift 中创建目标数据库](zero-etl-using.creating-db.md)。

### 表处于**需要重新同步**或**重新同步已启动**状态
<a name="zero-etl-using.troubleshooting.resync"></a>

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

要收集有关表为何处于该状态的更详细的错误信息，请使用 [SYS\$1LOAD\$1ERROR\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_LOAD_ERROR_DETAIL.html) 系统视图。

## RDS for MySQL 的零 ETL 集成问题排查
<a name="zero-etl-using.troubleshooting.rms"></a>

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

**Topics**
+ [集成创建失败](#zero-etl-using.troubleshooting.creation)
+ [表没有主键](#zero-etl-using.troubleshooting.primary-key)
+ [RDS for MySQL 表未复制到 Amazon Redshift](#zero-etl-using.troubleshooting.not-replicating)
+ [表中有不支持的数据类型](#zero-etl-using.troubleshooting.unsupported-data)
+ [数据操作语言命令失败](#zero-etl-using.troubleshooting.failed-dml)
+ [数据来源之间跟踪的更改不匹配](#zero-etl-using.troubleshooting.tracked-changes-failure)
+ [授权失败](#zero-etl-using.troubleshooting.authorization)
+ [表的数量超过 100K 或者架构的数量超过 4950](#zero-etl-using.troubleshooting.table-limits)
+ [Amazon Redshift 无法加载数据](#zero-etl-using.troubleshooting.data-load)
+ [工作组参数设置不正确](#zero-etl-using.troubleshooting.case-sensitive)
+ [没有为激活零 ETL 集成而创建数据库](#zero-etl-using.troubleshooting.db-creation)
+ [表处于**需要重新同步**或**重新同步已启动**状态](#zero-etl-using.troubleshooting.resync)

### 集成创建失败
<a name="zero-etl-using.troubleshooting.creation"></a>

如果零 ETL 集成创建失败，则集成的状态为 `Inactive`。确保您的源 RDS 数据库实例的以下内容正确：
+ 您在 Amazon RDS 控制台中创建了实例。
+ 源 RDS 数据库实例运行的是受支持的 RDS for MySQL 版本。有关受支持版本的列表，请参阅[支持与 Amazon Redshift 进行 Amazon RDS 零 ETL 集成的区域和数据库引擎](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RDS_Fea_Regions_DB-eng.Feature.ZeroETL.html)。要对此进行验证，请转到实例的**配置**选项卡并检查**引擎版本**。
+  您为实例正确配置了二进制日志参数设置。如果您的 RDS for MySQL 二进制日志参数设置不正确或未与源 RDS 数据库集群关联，则创建会失败。请参阅[配置数据库实例参数](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/zero-etl.setting-up.html#zero-etl.parameters)。

此外，请确保您的 Amazon Redshift 数据仓库在以下方面正确无误：
+ 区分大小写已开启。请参阅[为您的数据仓库开启区分大小写](zero-etl-setting-up.case-sensitivity.md)。
+ 您为命名空间添加了正确的以授权的主体和集成源。请参阅[为您的 Amazon Redshift 数据仓库配置授权](zero-etl-using.redshift-iam.md)。

### 表没有主键
<a name="zero-etl-using.troubleshooting.primary-key"></a>

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

要解决此问题，请转到集成详细信息页面上的**表统计数据**选项卡，或使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。您可以向表中添加主键，然后 Amazon Redshift 将重新同步这些表。或者，您可以在 RDS 上删除这些表，然后创建带主键的表，但不建议使用此方法。有关更多信息，请参阅[设计表的 Amazon Redshift 最佳实践](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html)。

### RDS for MySQL 表未复制到 Amazon Redshift
<a name="zero-etl-using.troubleshooting.not-replicating"></a>

如果注意到一个或多个表没有在 Amazon Redshift 中显示，可以运行以下命令来重新同步这些表。将 *dbname* 替换为 Amazon Redshift 数据库的名称。同时，将 *table1* 和 *table2* 替换为要同步的表的名称。

```
ALTER DATABASE dbname INTEGRATION REFRESH TABLES table1, table2;
```

有关更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [ALTER DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATABASE.html)。

您的数据可能未复制，因为一个或多个源表没有主键。Amazon Redshift 中的监控控制面板将这些表的状态显示为 `Failed`，而总体零 ETL 集成的状态更改为 `Needs attention`。要解决此问题，您可以在表中确定一个可以成为主键的现有键，也可以添加合成主键。有关详细解决方案，请参阅 *AWS 数据库博客*中的 [Handle tables without primary keys while creating Aurora MySQL-Compatible Edition or RDS for MySQL zero-ETL integrations with Amazon Redshift](https://aws.amazon.com/blogs/database/handle-tables-without-primary-keys-while-creating-amazon-aurora-mysql-or-amazon-rds-for-mysql-zero-etl-integrations-with-amazon-redshift/)。

另请确认您的目标是否为 Amazon Redshift 集群，且该集群未处于暂停状态。

### 表中有不支持的数据类型
<a name="zero-etl-using.troubleshooting.unsupported-data"></a>

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

要解决此问题，请转到集成详细信息页面上的**表统计数据**选项卡，或使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。然后，请在 Amazon RDS 中删除这些表并重新创建新表。有关不支持的数据类型的更多信息，请参阅《Amazon RDS User Guide》**中的 [Data type differences between RDS and Amazon Redshift databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.querying.html#zero-etl.data-type-mapping)。

### 数据操作语言命令失败
<a name="zero-etl-using.troubleshooting.failed-dml"></a>

 Amazon Redshift 无法在 Redshift 表上运行 DML 命令。要解决此问题，请使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。Amazon Redshift 会自动重新同步表以解决此错误。

### 数据来源之间跟踪的更改不匹配
<a name="zero-etl-using.troubleshooting.tracked-changes-failure"></a>

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

要解决此问题，请删除零 ETL 集成，然后在 Amazon RDS 中重新创建。有关更多信息，请参阅 [Creating zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/zero-etl.creating.html) 和 [Deleting zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/zero-etl.deletinging.html)。

### 授权失败
<a name="zero-etl-using.troubleshooting.authorization"></a>

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

要解决此问题，请删除零 ETL 集成，然后在 Amazon RDS 上重新创建。有关更多信息，请参阅 [Creating zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/zero-etl.creating.html) 和 [Deleting zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/zero-etl.deleting.html)。

### 表的数量超过 100K 或者架构的数量超过 4950
<a name="zero-etl-using.troubleshooting.table-limits"></a>

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

### Amazon Redshift 无法加载数据
<a name="zero-etl-using.troubleshooting.data-load"></a>

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

要解决此问题，请删除 Amazon RDS 上的零 ETL 集成，然后重新创建。有关更多信息，请参阅 [Creating zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/zero-etl.creating.html) 和 [Deleting zero-ETL integrations](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/zero-etl.deleting.html)。

### 工作组参数设置不正确
<a name="zero-etl-using.troubleshooting.case-sensitive"></a>

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

要解决此问题，请转到集成详细信息页面上的**属性**选项卡，选择参数组，然后从**属性**选项卡中开启区分大小写的标识符。如果您没有现有的参数组，请在区分大小写标识符处于开启状态的情况下创建一个参数组。然后，在 Amazon RDS 上创建一个新的零 ETL 集成。有关更多信息，请参阅[创建零 ETL 集成](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/zero-etl.creating.html)。

### 没有为激活零 ETL 集成而创建数据库
<a name="zero-etl-using.troubleshooting.db-creation"></a>

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

要解决此问题，请为集成创建数据库。有关更多信息，请参阅 [在 Amazon Redshift 中创建目标数据库](zero-etl-using.creating-db.md)。

### 表处于**需要重新同步**或**重新同步已启动**状态
<a name="zero-etl-using.troubleshooting.resync"></a>

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

要收集有关表为何处于该状态的更详细的错误信息，请使用 [SYS\$1LOAD\$1ERROR\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_LOAD_ERROR_DETAIL.html) 系统视图。

## 排查 DynamoDB 零 ETL 集成问题
<a name="zero-etl-dynamodb-integrations-troubleshooting"></a>

请使用以下信息排查 Amazon DynamoDB 零 ETL 集成的常见问题。

**Topics**
+ [集成创建失败](#zero-etl-dynamodb-integrations-troubleshooting-creation)
+ [表中有不支持的数据类型](#zero-etl-dynamodb-integrations-troubleshooting-unsupported-data-types)
+ [不支持的表名和属性名](#zero-etl-dynamodb-integrations-troubleshooting-unsupported-table-names)
+ [授权失败](#zero-etl-dynamodb-integrations-troubleshooting-authorization)
+ [Amazon Redshift 无法加载数据](#zero-etl-dynamodb-integrations-troubleshooting-data-load)
+ [工作组或集群参数设置不正确](#zero-etl-dynamodb-integrations-troubleshooting-case-sensitive)
+ [没有为激活零 ETL 集成而创建数据库](#zero-etl-dynamodb-integrations-troubleshooting-db-creation)
+ [未在源 DynamoDB 表上启用时间点故障恢复（PITR）](#zero-etl-dynamodb-integrations-troubleshooting-pitr-recovery)
+ [KMS 密钥访问被拒绝](#zero-etl-dynamodb-integrations-troubleshooting-kms-key)
+ [Amazon Redshift 无权访问 DynamoDB 表键](#zero-etl-dynamodb-integrations-troubleshooting-ddb-table-key)

### 集成创建失败
<a name="zero-etl-dynamodb-integrations-troubleshooting-creation"></a>

如果零 ETL 集成创建失败，则集成的状态为 `Inactive`。确保您的 Amazon Redshift 数据仓库和源 DynamoDB 表在以下方面正确无误：
+ 已为您的数据仓库开启区分大小写。请参阅《Amazon Redshift 管理指南》**中的[开启区分大小写](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.setting-up.html#zero-etl-setting-up.case-sensitivity)。
+ 您为 Amazon Redshift 中的命名空间添加了正确的已授权主体和集成源。请参阅《Amazon Redshift 管理指南》**中的[为 您的 Amazon Redshift 数据仓库配置授权](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.setting-up.html#zero-etl-using.redshift-iam)。
+ 您已将基于资源的正确策略添加到源 DynamoDB 表中。请参阅《IAM 用户指南》**中的 [IAM 中的策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。

### 表中有不支持的数据类型
<a name="zero-etl-dynamodb-integrations-troubleshooting-unsupported-data-types"></a>

在 Amazon Redshift 中，DynamoDB 数字转换为 DECIMAL(38,10)。超过此精度范围的数字会自动转换为 (38,10)。删除集成并统一数字精度，然后重新创建集成。

### 不支持的表名和属性名
<a name="zero-etl-dynamodb-integrations-troubleshooting-unsupported-table-names"></a>

Amazon Redshift 最多支持 127 个字符的表名和属性名。如果长名称（例如 DynamoDB 表名、分区键或排序键列名）使集成失败，请使用更短的名称来修复此问题，然后重新创建集成。

### 授权失败
<a name="zero-etl-dynamodb-integrations-troubleshooting-authorization"></a>

当源 DynamoDB 表不再作为 Amazon Redshift 数据仓库的已授权集成源时，授权会失败。

要解决此问题，请删除零 ETL 集成，然后使用 Amazon DynamoDB 重新创建该集成。

### Amazon Redshift 无法加载数据
<a name="zero-etl-dynamodb-integrations-troubleshooting-data-load"></a>

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

要解决此问题，请使用 ALTER DATABASE 刷新集成。

```
ALTER DATABASE sample_integration_db INTEGRATION REFRESH ALL TABLES
```

### 工作组或集群参数设置不正确
<a name="zero-etl-dynamodb-integrations-troubleshooting-case-sensitive"></a>

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

要解决此问题，请转到集成详细信息页面上的**属性**选项卡，选择参数组，然后从**属性**选项卡中开启区分大小写的标识符。如果您没有现有的参数组，请在区分大小写标识符处于开启状态的情况下创建一个参数组。然后，在 DynamoDB 上创建一个新的零 ETL 集成。请参阅《Amazon Redshift 管理指南》**中的[开启区分大小写](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.setting-up.html#zero-etl-setting-up.case-sensitivity)。

### 没有为激活零 ETL 集成而创建数据库
<a name="zero-etl-dynamodb-integrations-troubleshooting-db-creation"></a>

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

要解决此问题，请为集成创建数据库。请参阅《Amazon Redshift 管理指南》**中的[在 Amazon Redshift 中创建目标数据库](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html)。

### 未在源 DynamoDB 表上启用时间点故障恢复（PITR）
<a name="zero-etl-dynamodb-integrations-troubleshooting-pitr-recovery"></a>

DynamoDB 需要启用 PITR 才能导出数据。确保 PITR 始终处于启用状态。如果您在集成处于活动状态时关闭了 PITR，则需要按照错误消息中的说明进行操作，并使用 ALTER DATABASE 刷新集成。

```
ALTER DATABASE sample_integration_db INTEGRATION REFRESH ALL TABLES
```

### KMS 密钥访问被拒绝
<a name="zero-etl-dynamodb-integrations-troubleshooting-kms-key"></a>

必须为用于源表或集成的 KMS 密钥配置足够的权限。有关表加密和解密的信息，请参阅《Amazon DynamoDB 开发人员指南》**中的 [DynamoDB 静态加密](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EncryptionAtRest.html)。

### Amazon Redshift 无权访问 DynamoDB 表键
<a name="zero-etl-dynamodb-integrations-troubleshooting-ddb-table-key"></a>

如果源表加密是 AWS 托管式密钥，则切换到 AWS 拥有的密钥或客户管理的密钥。如果该表已使用客户管理的密钥加密，请确保该策略没有任何条件键。

## 排查与应用程序的零 ETL 集成的问题
<a name="zero-etl-using.troubleshooting.glue"></a>

使用以下信息，排查与 Salesforce、SAP、ServiceNow 和 Zendesk 等应用程序的零 ETL 集成的常见问题。

**Topics**
+ [集成创建失败](#zero-etl-using.troubleshooting.creation)
+ [表未复制到 Amazon Redshift](#zero-etl-using.troubleshooting.primary-key)
+ [表中有不支持的数据类型](#zero-etl-using.troubleshooting.unsupported-data)
+ [工作组参数设置不正确](#zero-etl-using.troubleshooting.case-sensitive)
+ [没有为激活零 ETL 集成而创建数据库](#zero-etl-using.troubleshooting.db-creation)
+ [表处于**需要重新同步**或**重新同步已启动**状态](#zero-etl-using.troubleshooting.resync)

### 集成创建失败
<a name="zero-etl-using.troubleshooting.creation"></a>

如果零 ETL 集成创建失败，则集成的状态为 `Inactive`。请确保 Amazon Redshift 数据仓库在以下方面正确无误：
+ 区分大小写已开启。请参阅[为您的数据仓库开启区分大小写](zero-etl-setting-up.case-sensitivity.md)。
+ 您为命名空间添加了正确的以授权的主体和集成源。请参阅[为您的 Amazon Redshift 数据仓库配置授权](zero-etl-using.redshift-iam.md)。

### 表未复制到 Amazon Redshift
<a name="zero-etl-using.troubleshooting.primary-key"></a>

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

要解决此问题，请转到集成详细信息页面上的**表统计数据**选项卡，或使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。您可以向表中添加主键，然后 Amazon Redshift 将重新同步这些表。可以运行以下命令来重新同步它们。将 *dbname* 替换为 Amazon Redshift 数据库的名称。同时，将 *table1* 和 *table2* 替换为要同步的表的名称。

```
ALTER DATABASE dbname INTEGRATION REFRESH TABLES table1, table2;
```

有关更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [ALTER DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATABASE.html)。

### 表中有不支持的数据类型
<a name="zero-etl-using.troubleshooting.unsupported-data"></a>

您在 Amazon Redshift 中通过集成创建了数据库，并从与应用程序的零 ETL 集成中将数据复制到该数据库，但一个或多个表具有不受支持的数据类型且无法同步。

要解决此问题，请转到集成详细信息页面上的**表统计数据**选项卡，或使用 SVV\$1INTEGRATION\$1TABLE\$1STATE 查看失败的表。然后，移除这些表并在源中重新创建新表。有关更多信息，请参阅《AWS Glue 开发人员指南》**中的[零 ETL 集成](https://docs.aws.amazon.com/glue/latest/dg/zero-etl-using.html)。

### 工作组参数设置不正确
<a name="zero-etl-using.troubleshooting.case-sensitive"></a>

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

要解决此问题，请转到集成详细信息页面上的**属性**选项卡，选择参数组，然后从**属性**选项卡中开启区分大小写的标识符。如果您没有现有的参数组，请在区分大小写标识符处于开启状态的情况下创建一个参数组。然后，创建新的零 ETL 集成。有关更多信息，请参阅《AWS Glue 开发人员指南》**中的[零 ETL 集成](https://docs.aws.amazon.com/glue/latest/dg/zero-etl-using.html)。

### 没有为激活零 ETL 集成而创建数据库
<a name="zero-etl-using.troubleshooting.db-creation"></a>

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

要解决此问题，请为集成创建数据库。有关更多信息，请参阅 [在 Amazon Redshift 中创建目标数据库](zero-etl-using.creating-db.md)。

### 表处于**需要重新同步**或**重新同步已启动**状态
<a name="zero-etl-using.troubleshooting.resync"></a>

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

要收集有关表为何处于该状态的更详细的错误信息，请使用 [SYS\$1LOAD\$1ERROR\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_LOAD_ERROR_DETAIL.html) 系统视图。