我正在尝试删除两个处于失败状态的 AWS DMS 数据库“迁移”任务。经过 30 多次尝试后,控制台显示绿色横幅并显示任务已删除 - 任务仍然存在。我还尝试使用 aws cli 删除 dms 任务并获得相同的结果。DMS 的事件日志显示以下内容:
dms-copy-task replication-task May 3, 2021, 22:48:37 (UTC-04:00) Failed to clean task resources for task dms-copy-task during task deletion
dms-copy-task replication-task May 3, 2021, 22:47:06 (UTC-04:00) Replication task has been deleted.
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我此时如何摆脱这些任务吗?我的目标是清理整个 DMS 复制实例,但如果不先删除任务,我就无法做到这一点。
小智 8
由于无法访问源 PostgreSQL 数据库,无法删除 DMS 任务。当具有 PostgreSQL 兼容源的 DMS 任务尝试但无法删除源上的复制槽时,会发生这种情况,要解决此问题,请考虑更改对 DMS 任务设置的以下修改:
Change:
> "FailTaskWhenCleanTaskResourceFailed": true
to
> "FailTaskWhenCleanTaskResourceFailed": false
Run Code Online (Sandbox Code Playgroud)
请注意,参数“FailTaskWhenCleanTaskResourceFailed”默认设置为 true,以避免源数据库 (Aurora Postgres) 上的复制槽处于活动状态,从而导致 WAL 文件增长。因此,建议手动检查源复制槽并验证其是否已删除,以免源 RDS 实例中的空间因未使用的复制槽而增长。
一旦采取措施,请按照以下步骤将“FailTaskWhenCleanTaskResourceFailed”更新为 false,这将导致 DMS 以不同的方式评估删除过程,从而允许 DeleteReplicationTask API 调用完成,而不会遇到“手动删除槽”错误。
修改任务 JSON:
1. Select the DMS Task
2. Choose Modify
3. Scroll to the "Task settings" section
4. Choose the "JSON editor"
5. Scroll towards the bottom and set the following:
"FailTaskWhenCleanTaskResourceFailed": false
6. Save the Task settings
7. Delete the DMS task.
Run Code Online (Sandbox Code Playgroud)
来源与信用:
AWS 技术支持团队
| 归档时间: |
|
| 查看次数: |
1625 次 |
| 最近记录: |