暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片
Oracle迁移到MySQL的方案及难点.pdf
3406
36页
34次
2021-04-19
25墨值下载
一 项目背景
随着 MySQL 8.0 的发布,MySQL 的功能和性能有了较大的增强,越来越多的
企业都选择了使用成本低且部署方案灵活的 MySQL 数据库。那么,将数据从
当前数据库迁移到 MySQL 时,从应用层、数据库层都需要注意哪些方面?为
了顺利完成复杂的迁移工作又需要考虑和解决哪些方面的问题?
本文以 Oracle 迁移到 MySQL 为例,重点阐述 Oracle 和 MySQL 数据类型差
异、业务实现差异、迁移方式以及迁移过程中的一些风险点,供大家参考,文
中如有疏漏之处,望在评论区指正。
在异构数据库迁移过程中,我们从如下几个方面进行思考:
1、迁移类型
Oracle 迁移到 MySQL 主要涉及数据结构迁移、数据迁移、业务迁移这三类,
我们需要考虑如下几个难点:
数据类型差异导致数据结构迁移过程中需要进行改造和处理;
数据迁移中 Oracle LOB 字段、null 值和’’值以及迁移方式为迁移难点。
业务迁移中由于 MySQL 不支持并行、不支持物化视图,会涉及到存储
过程改造,同义词改造,DBlink、sequence、分区表以及复杂 sql 语句的改造。
2、迁移流程
我们需要整理一个完整的迁移流程:1、确定迁移范围;2、迁移评估;3、选
择迁移方式;4、迁移验证,以此来确保迁移工作的进展和顺利完成。
1)确定迁移范围
从 Oracle 迁移到 MySQL 是一项昂贵且耗时的任务,重要的是要了解要迁移的
范围,不要浪费时间来迁移不再需要的对象。另外,检查是否需要迁移所有的
历史数据,不要浪费时间来复制不需要的数据,例如过去维护中的备份数据和
临时表。
2)迁移评估
经过初步检查后,迁移的第一步是分析应用程序和数据库对象,找出两个数据
库之间不兼容的特性,并估算迁移所需的时间和成 本。例如由于 Oracle 与
MySQL 之间数据结构存在差异,且 MySQL 不支持并行、不支持物化视图、
8.0 以上才支持函数索引,可能涉及到存储过程改造,同义词改造,DBlink、
sequence、分区表以及复杂 sql 语句的改造等工作。
3)迁移方式
通过对迁移所需时间和成本选择不同的迁移方法或者工具进行迁移,可以分为
实时复制(例如利用 GoldenGate 实时同步数据使业务影响时间最小),或者
一次性加载(例如采用 Oracle 将数据表导出到 csv 文件后,通过 load 或者
mysqlsh 工具导入到 MySQL 中)。
4)验证测试
测试整个应用程序和迁移的数据库非常重要,因为两个数据库中的某些功能相
同,但是实现方式和机制却是不同的。我们需要做充分的验证测试:
检查是否正确转换了所有对象;
检查所有 DML 是否正常工作;
在两个数据库中加载样本数据并检查结果,比如来自两个数据库的 SQL
结果应该相同;
检查 DML 及查询 SQL 的性能,并在必要时进行 SQL 改造。
首先,我们先从术语、元数据、表对象、索引类型、分区等方面了解一下 Oracle
和 MySQL 的差异和区别。
of 36
25墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜