新闻详情

新闻详情

首页 / 资讯中心 / 详情

从SQL Server2008数据库迁移、转换到Oracle 19c数据库 ,Oracle SQL Developer+spoon_kettle组合使用迁移步骤

发布时间:2026/9/25 15:25:17来源:尧图网络
从SQL Server2008数据库迁移、转换到Oracle 19c数据库 ,Oracle SQL Developer+spoon_kettle组合使用迁移步骤
1. 迁移目标本文档用于指导将原 CS 架构体检系统使用的 SQL Server 2008 数据库迁移并转换到 BS 架构系统使用的 Oracle 19c 数据库。迁移方式使用 Oracle SQL Developer 负责表结构、索引、约束、视图、部分对象的迁移转换。使用 Spoon/Kettle 负责数据迁移。对特殊字段、异常数据、业务关键表进行人工校验和二次处理。2. 工具介绍2.1 Oracle SQL DeveloperOracle SQL Developer 是 Oracle 官方提供的免费图形化数据库工具支持 Oracle 数据库开发、SQL 执行、对象管理、数据导入导出也支持连接部分第三方数据库并迁移到 Oracle。在本次迁移中SQL Developer 主要用于连接 SQL Server 2008 源库。连接 Oracle 19c 目标库。捕获 SQL Server 表结构和数据库对象。将 SQL Server 对象转换为 Oracle 对象。生成 Oracle DDL 脚本。执行结构迁移和部分数据迁移。2.2 jTDS JDBC 驱动SQL Developer 连接 SQL Server 时需要使用 jTDS 驱动。**注意**SQL Developer 的 SQL Server / Sybase 第三方连接页官方文档仍然要求用 jTDS 驱动不是微软的 mssql-jdbc-*.jar(刚开始用的这个无法识别),先下载jtds-1.3.1.jar。我下载好放到了SQL Developer/jlib目录方便管理已验证可用jtds-1.3.1.jar配置路径工具 - 首选项 - 数据库 - 第三方 JDBC 驱动程序 - 添加条目添加jtds-1.3.1.jar后重启 SQL Developer再新建连接时应能看到 SQL Server 连接页签。2.3 Spoon/KettleSpoon/Kettle 更适合处理数据迁移中的字段清洗、类型转换、异常行落地和分批导入。建议分工SQL Developer优先负责结构转换。Spoon/Kettle优先负责复杂数据迁移。3. 迁移前准备3.1 源库准备确认 SQL Server 2008 源库信息服务器地址 端口1433 数据库名 用户名 密码3.2 目标库准备确认 Oracle 19c 目标库信息服务器地址 端口1521 服务名/SID 迁移目标用户名 密码3.3 备份 SQL Server 源库(建议)迁移前必须先备份 SQL Server 数据库。4. SQL Server 与 Oracle 常见字段类型对应关系SQL Server 2008 类型Oracle 19c 推荐类型说明intNUMBER(10)普通整数bigintNUMBER(19)大整数smallintNUMBER(5)小整数tinyintNUMBER(3)0 到 255bitNUMBER(1)或CHAR(1)布尔标志位decimal(p,s)NUMBER(p,s)金额、数量numeric(p,s)NUMBER(p,s)金额、数量moneyNUMBER(19,4)金额字段需重点校验smallmoneyNUMBER(10,4)金额字段需重点校验char(n)CHAR(n)固定长度字符varchar(n)VARCHAR2(n)普通字符串nvarchar(n)NVARCHAR2(n)或VARCHAR2(n CHAR)中文字段建议检查长度语义textCLOB大文本ntextNCLOB或CLOB中文大文本datetimeDATE或TIMESTAMP普通业务时间可用 DATEsmalldatetimeDATE精度较低dateDATESQL Server 2008 支持 datetimeVARCHAR2或INTERVAL需按业务含义处理uniqueidentifierVARCHAR2(36)GUIDbinaryRAW二进制varbinaryRAW或BLOB大字段用 BLOBimageBLOB图片、附件xmlXMLTYPE或CLOB优先按系统读取方式决定5. 表结构、视图、触发器等迁移步骤5.1 配置 SQL Server 驱动打开 SQL Developer。进入工具 - 首选项 - 数据库 - 第三方 JDBC 驱动程序添加jtds-1.3.1.jar重启 SQL Developer。新建连接确认出现 SQL Server 页签。5.2 创建 SQL Server 源库连接在 SQL Developer 中新建 SQL Server 连接连接名SQLSERVER2008_xxxx 主机名SQL Server 服务器 IP 端口1433 数据库源数据库名 用户名SQL Server 用户名 密码SQL Server 密码点击测试确认连接成功。如果使用 Windows 身份认证优先改用 SQL Server 用户名密码方式连接减少驱动和本机认证组件依赖。5.3 创建 Oracle 目标库连接新建 Oracle 连接连接名ORACLE19C_xxxx 用户名Oracle 目标用户名 密码Oracle 目标用户密码 主机名Oracle 服务器 IP 端口1521 服务名Oracle 服务名点击测试确认连接成功。5.4 创建 Migration RepositorySQL Developer 迁移功能需要在 Oracle 中创建迁移仓库用于保存捕获模型和转换模型。操作路径工具 - 迁移 - 存储库(档案资料库)管理 - 创建存储库(档案资料库)选择 Oracle 目标连接或专门的迁移仓库连接。建议测试迁移阶段可以直接放在测试库中。正式迁移前建议单独创建迁移仓库用户避免污染业务用户(我单独创建了迁移仓库用户)。创建存储库(档案资料库) 完成后会在迁移仓库用户下新建很多表和触发器等。5.5 启动迁移向导操作路径工具 - 迁移 - 迁移迁移向导主要步骤选择 Migration Repository。创建迁移项目名称。选择 SQL Server 源库连接。选择要迁移的数据库对象。捕获 SQL Server 对象。转换为 Oracle 对象。检查转换结果。生成 Oracle DDL。执行 DDL 到 Oracle 目标用户。选择是否迁移数据。我勾上了截断数据后续发现没作用一直报错 无法禁用约束条件: 数据移动 先批量把目标库约束都禁用也不行最后放弃了使用spoon_kettle数据迁移INSERT INTO MIGRLOG(REF_OBJECT_ID, PHASE, SEVERITY, PARENT_LOG_ID, LOGTEXT, REF_OBJECT_TYPE, CONNECTION_ID_FK, LOG_DATE) VALUES (:REF_OBJECT_ID, :PHASE, :SEVERITY, :PARENT_LOG_ID, :LOGTEXT, :REF_OBJECT_TYPE, :CONNECTION_ID_FK, :LOG_DATE) 12, 2数据移动, 31000, 42, 5无法禁用约束条件: 数据移动, 612, 72, 82026-08-17 17:08:46.622数据迁移步骤注意点使用spoon_kettle数据迁移直接把jtds-1.3.1.jar 放到spoon根目录下 lib文件夹重启spoon就能连接上sqlserver库了不用额外的配置。默认某个节点执行报错后面都不执行了可以把节点设置为执行失败继续后面的但是这个工作不好操作1个1个设置太麻烦我是出现了就把start连接失败节点的下一个节点失败的这个节点如果确实需要这个数据迁移就手动处理。中途出现了4-5次失败也就是4-5张表需要手动处理。设置为执行失败继续后面的选择无条件的但是这个界面没找到全局设置的。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Trae 使用日志(挑刺版):Java + Maven 项目在 IDEA 里的配置踩坑记录 2026/9/25 15:53:43

Trae 使用日志(挑刺版):Java + Maven 项目在 IDEA 里的配置踩坑记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
TypeScript Book 项目动态:TypeScript 7.0 正式发布,Go 原生编译器时代的性能与迁移指南 2026/9/25 15:53:17

TypeScript Book 项目动态:TypeScript 7.0 正式发布,Go 原生编译器时代的性能与迁移指南

文档教程 【免费下载链接】typescript-book The Concise TypeScript Book: A Concise Guide to Effective Development in TypeScript. Free and Open Source. 项目地址: https://gitcode.com/gh_mirrors/typ/typescript-book 点击查看 免费下载 TypeScript 7.0 于…

阅读更多 →
XXE漏洞从原理到实战:外部实体注入的检测、利用与防御 2026/9/25 15:52:51

XXE漏洞从原理到实战:外部实体注入的检测、利用与防御

做了几年安全测试,如果只让我选一个“看起来冷门、实际一打一个准”的漏洞,我大概率会选XXE。很多团队把精力全扑在SQL注入和XSS上,结果某一天扫出个XML外部实体注入,直接懵在原地——这玩意儿到底怎么利用?怎么修复&a…

阅读更多 →
RAG+LLM抽取年报AI变量,构建绿色全要素生产率实证模型 2026/9/25 15:52:51

RAG+LLM抽取年报AI变量,构建绿色全要素生产率实证模型

简介:面向金融科技与环境经济交叉领域的研究者,项目包演示了基于RAG与大语言模型分析A股上市公司年报的完整流程,旨在量化评估人工智能对企业绿色全要素生产率(GTFP)的影响,并引入融资约束异质性视角开展稳…

阅读更多 →
我写了 50 个 Claude Code Skill 才发现,前 30 个都白写了:SKILL.md 配置避坑清单 2026/9/25 15:52:25

我写了 50 个 Claude Code Skill 才发现,前 30 个都白写了:SKILL.md 配置避坑清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
好用的电商数据API接口分享:TaoToken统一Key接入京东/淘宝天猫/1688商品详情数据API 2026/9/25 15:52:25

好用的电商数据API接口分享:TaoToken统一Key接入京东/淘宝天猫/1688商品详情数据API

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉