使用Azure Data Factory实现Oracle 12g到Azure SQL Server端到端迁移咨询
本地Oracle 12c到Azure SQL Server的ADF迁移端到端流程参考
官方公开的文档库中有完整的端到端实操流程指引,你可以直接在Azure官方文档中心搜索对应关键词获取,以下是核心的流程框架,你可以对照指引逐步操作:
前置准备
- 环境权限确认:本地Oracle 12c需要开放对应的监听端口,确保ADF的自托管集成运行时所在的机器可以访问Oracle实例,同时你需要拥有Oracle的只读查询权限、Azure SQL Server的写入权限,以及Azure订阅下的Data Factory资源创建权限
- 部署自托管集成运行时(SHIR):因为要访问本地Oracle资源,你需要在能连通Oracle的本地服务器或Azure虚拟机上部署自托管集成运行时,部署完成后在ADF工作室中验证运行时状态为可用
- 目标端准备:提前在Azure SQL Server中创建好目标数据库,根据Oracle侧的表结构完成兼容适配,比如Oracle的
NUMBER类型对应Azure SQL的DECIMAL,VARCHAR2对应VARCHAR等,避免类型映射错误
迁移流程核心步骤
- 创建连接服务:在ADF工作室的「管理-连接服务」中分别创建两个连接:
- Oracle连接:选择Oracle连接器,认证方式选你环境对应的用户名密码认证,关联你部署好的自托管集成运行时,测试连接通过即可
- Azure SQL Server连接:选择Azure SQL Database连接器,认证方式可选SQL身份认证或Azure AD认证,测试连接通过
- 配置数据集:分别为Oracle源表、Azure SQL目标表创建对应数据集,关联到上一步创建的连接服务,配置时可以指定具体的表名,也可以用参数动态指定批量迁移的表
- 配置迁移活动:如果是全量迁移,直接使用「复制数据」活动即可:
- 源配置:选择Oracle数据集,可选配置查询语句过滤需要迁移的数据,默认是全表读取
- 接收器配置:选择Azure SQL数据集,写入行为可选插入、upsert(如果需要增量同步的话),预写入脚本可以配置每次同步前清空目标表等操作
- 映射配置:ADF会自动生成字段映射,你需要检查字段类型映射是否符合预期,有问题手动调整
- 测试与运行:先调试运行复制活动,验证小批量数据迁移的正确性,确认数据一致性、类型转换没有问题后,再触发全量迁移任务
- 增量同步配置(可选):如果需要不停机迁移,你可以在全量迁移完成后,配置增量同步管道:通过Oracle的CDC(变更数据捕获)或者时间戳字段筛选增量数据,定期同步到Azure SQL中,直到业务割接完成
常见问题排查
- 连接Oracle失败:先检查自托管运行时所在机器能不能ping通Oracle的IP和端口,再确认Oracle的监听配置是否允许外部访问,用户名密码是否正确
- 数据类型转换报错:可以在复制活动的映射配置中手动指定目标字段类型,或者在源查询中提前做类型转换
- 迁移速度慢:可以调整复制活动的并行度设置,适当增加自托管运行时的资源配置,大表可以配置分区读取提升效率
内容的提问来源于stack exchange,提问作者One Developer
相关产品推荐
相关产品推荐

