AWS DMS 复制实例内存不足

AWS DMS replication instance out of memory

我最近开始使用 AWS 数据迁移服务 (DMS) 并 运行解决了一些问题。

目前正在尝试将 10GB 的 Oracle 数据库迁移到 AWS RDS Postgres。有效但有疯狂的(?)内存要求。感觉就像它将整个数据库加载到内存中......以 dms.r4.large (15.5GB) 开始,但在大约 can not allocate memory 之后。 98%..... 会运行顺利用dms.r4.xlarge (30.5GB)

正如您在屏幕截图中看到的(可用内存,最小值),在任务完成(或崩溃)时释放所有内存之前,实例不断地 运行ning "full"。

有什么设置可以改变这个吗?为什么会这样?它使整个任务变得不必要的昂贵...

经 AWS 确认,这确实是最新引擎 (v3.1.3) 的错误。 AWS 提供了以下额外见解来估算实际内存需求:

Full LOB mode (using single row insert+update, commit rate)

Memory: (# of lob columns in a table) x (Number of table in parallel, default is 8) x (lob chunk size) x (Commit rate during full load) = 2 * 8 *64(k) * 10000k

Note: You may consider to reduce the "Commit rate during full load " value because we allocate memory using roughly the above method

Limited LOB mode (using array)

Memory: (# of lob columns in a table) x (Number of table in parallel, default is 8) x maxlobSize x bulkArraySize = 2 * 8 * 4096(k) * 1000