关于 AWS DMS 可用性和恢复场景的见解与缓解措施 第一部分 数据库博客
AWS DMS的恢复与弹性场景分析第一部分
关键要点
在考虑从本地迁移到AWS云时,数据库迁移是首要关注点。选择合适的迁移策略至关重要,能有效避免潜在的失败。本篇文章探讨了AWS DMS迁移过程中可能遇到的失败场景,提供了相应的故障排查和解决方案。
由HariKrishna Boorgadda、Jitender Kumar、Rajesh Madiwale和Vivekananda Mohapatra于2023年12月14日发布在高级300、AWS数据库迁移服务以及最佳实践中。

当关注数据库过渡时,您需要评估可用的停机时间、数据库大小和数据复杂性等因素。对于同类数据库之间的迁移,常常依赖Oracle Data Pump或RMAN等工具;而在不同数据库之间的迁移,比如从Oracle迁移到Amazon RDS for PostgreSQL,通常选择AWS数据库迁移服务(AWS DMS)、Oracle GoldenGate或第三方工具如Shareplex。
制定合适的切换策略至关重要。无论是一次性迁移的“轰炸式”方法,还是更加渐进的分阶段方法,各有其细微之处。分阶段方法可能持续数周到数月,需要针对潜在问题做出严谨的弹性规划。尽管复制方法并非万无一失,但一个扎实的缓解计划将确保迁移顺利进行。
在异构数据库迁移的复杂环境中,AWS DMS因其灵活性、集成能力及AWS的支持而成为许多用户的首选。然而,AWS DMS在迁移过程也会面临挑战。本文分为两部分,探讨涉及源数据库、复制实例、迁移任务和目标数据库的常见故障原因。
AWS DMS故障使用案例
使用AWS DMS的迁移设置由多个组件组成,包括源数据库、网络基础设施、复制实例、复制任务和目标数据库。源和目标组件配置为endpoints,而AWS DMS任务则是迁移数据的工作流程。根据持续的复制需求,可以创建不同类型的AWS DMS任务,例如全量加载、仅更改数据捕获CDC或全量加载加CDC。
推荐的故障场景测试方法
建立全面的测试策略至关重要,以识别和解决AWS DMS数据库迁移过程中的潜在故障场景。测试环境应与生产环境在数据量和特征数据集上相匹配。您应该在测试环境中尽量重现每一个故障场景,以制定有效的解决方案和缓解措施。
您需要评估以下故障场景并设计缓解措施,确保与服务级别协议SLA相符:
故障类型源数据库故障网络故障AWS DMS故障复制实例和任务目标数据库故障构建一套完整的测试策略,包含各种测试案例,包括预期结果与实际结果的比较,这样可以与业务相关方达成一致,制定您的数据迁移策略。
相关资源
本文章涉及的资源包括:源数据库、AWS DMS复制实例、AWS DMS端点、AWS DMS复制作业、目标数据库以及网络。
以下示意图展示了AWS DMS数据迁移架构及其各组件:
源数据库故障
源数据库故障是AWS DMS设置中最先遇到的故障组件,因限制或无法访问客户的数据库环境,该故障较难调查。数据库日志、ASM日志和AWS DMS日志是调查的主要信息来源。以下内容讨论了Oracle源数据库常见的故障场景。
单实例失败或RAC节点驱逐
AWS DMS即使在RAC配置中也会与Oracle实例进行交互,但不支持扫描IP。如果有一个实例失败,或者在RAC群集设置中一个实例重新启动或被驱逐,AWS DMS将停止读取用于复制的实时数据和归档日志。
示例错误日志:
00017657 20210611T152445438334 [SOURCECAPTURE ]D OCI error ORA03135 connection lost contactProcess ID 15894Session ID 668 Serial number 339 [1022307] (oradcdcioc1050)
缓解此问题的方法是启动Oracle实例,并确保其正常返回。对于RAC设置,配置源端点以利用群集的多个节点,使用Amazon Route 53。
网页加速器免费版 安卓ASM由于已知错误重启或崩溃
在这种情况下,AWS DMS可能频繁与源数据库断开连接,导致更改读取暂停并增加延迟。Oracle实例可能由于已知的ASM错误而重启或崩溃。
此时AWS DMS日志中的错误示例如下:
00017657 20210611T152445438334 [SOURCECAPTURE ]D OCI error ORA03135 connection lost contactProcess ID 15894Session ID 668 Serial number 339 [1022307] (oradcdcioc1050)
从ASM日志的错误示例:
ORA04031 unable to allocate 4120 bytes of shared memory (shared poolunknown objectsga heap(11)ASM extent pointer array)ASMB (ospid 4913) terminating the instance due to error 4031
对于这种情况的临时解决方法是使用内存刷新脚本重启ASM。
要继续了解更多故障场景及解决方案,请查看文章的其余部分。
Cado Security即将被Darktrace收购
Darktrace收购Cado Security,加强云安全调查能力关键要点Darktrace即将收购云威胁调查初创公司Cado Security。此次收购旨在提升云环境中的取证和事件响应能力。Cad...
在 Amazon RDS 和 Amazon Aurora 中加速数据库开发,使用 Amazon Co
加速在 Amazon RDS 和 Amazon Aurora 的数据库开发关键要点在本文中,我们探讨如何利用 Amazon CodeWhisperer 提升数据库开发效率。随着应用程序的快速扩展,数据...