使用AWS DMS从Oracle迁移数据至PostgreSQL指定现有Schema遇问题
AWS DMS迁移Oracle数据到PostgreSQL指定现有Schema的解决方案
可以通过配置AWS DMS的表映射规则,将Oracle数据迁移到PostgreSQL已有的schema_53中,具体操作如下:
1. 修改迁移任务的表映射规则
AWS DMS默认会将Oracle的源Schema映射到PostgreSQL中同名的Schema,需要手动添加Schema转换规则:
- 打开AWS DMS控制台,找到对应的迁移任务,进入Table mappings配置页面
- 点击Add rule,选择规则类型为Schema
- 在Source schema中填写Oracle的源Schema名称
- 在Target schema中指定为
schema_53 - 保存规则后,重启迁移任务即可
2. 配置PostgreSQL端点的额外连接属性
创建或修改PostgreSQL端点时,在Extra connection attributes中添加:
currentSchema=schema_53
这会让DMS连接到PostgreSQL后默认使用schema_53,避免误创建新Schema。
3. 优化用户默认Schema配置
为确保dev_53用户默认访问schema_53,执行以下SQL:
ALTER USER dev_53 SET search_path TO schema_53, public;
这可以减少DMS在访问表时的Schema歧义。
注意事项
- 确认目标
schema_53中的表结构与Oracle源表完全匹配(字段名、数据类型、约束等),因为你仅需迁移数据,DMS不会自动调整表结构 - 若已创建迁移任务,无需重新创建端点,仅修改表映射规则并重启任务即可
内容的提问来源于stack exchange,提问作者Gaurav
相关产品推荐
相关产品推荐

