从Oracle迁移应用至阿里云PolarDB全流程指南

本文主要介绍企业如何迁移Oracle上云。

概述

阿里巴巴基于多年去IOE(即IBM的大型机或小型机、Oracle的数据库、EMC的存储设备)最佳实践,总结出一套专业的迁移Oracle上云的方法论以及解决方案。并建立专业的团队和专业的工具帮助企业最小成本、最低风险、最短周期迁移Oracle上云。

兼容性最高去O解决方案

阿里云的 ADAM + DTS + PolarDB 是目前兼容性最高的去O解决方案。

  • 数据库和应用迁移ADAM:Advanced Database&Application Migration(以下简称ADAM) 是一款把数据库和应用迁移到阿里云(公共云或专有云)的产品,显著地降低了上云的技术难度和成本,尤其是Oracle数据库应用。ADAM全面评估上云可行性、成本和云存储选型,内置实施协助,数据、应用迁移等工具,确保可靠、快速上云。

  • 数据传输DTS:数据传输服务(Data Transmission Service) DTS支持关系型数据库、NoSQL、大数据(OLAP)等数据源间的数据传输。 它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。数据传输致力于在公共云、混合云场景下,解决远距离、毫秒级异步数据传输难题。 它底层的数据流基础设施为阿里双11异地多活基础架构, 为数千下游应用提供实时数据流,已在线上稳定运行6年之久。 您可以使用数据传输轻松构建安全、可扩展、高可用的数据架构。

  • 云数据库PolarDB:PolarDB是阿里巴巴自主研发的下一代关系型分布式云原生数据库,目前兼容三种数据库引擎: MySQL、PostgreSQL、高度兼容Oracle语法。 计算能力最高可扩展至1000核以上,存储容量最高可达100T。经过阿里巴巴双十一活动的最佳实践,让用户既享受到开源的灵活性与价格,又享受到商业数据库的高性能和安全性。

去Oracle流程

  1. 需求沟通分析

    沟通企业迁移Oracle上云的意向和背景,了解客户迁移Oracle上云的具体需求,包括:为什么上云?上公共云、专有云还是一体机?Oracle数据库的业务是OLTP型还是OLAP型?计划迁移多少套?等等。针对这些具体的需求,给企业客户介绍专业的解决方案,让企业客户对迁移Oracle的步骤有大致的了解。

  2. 数据库和应用采集

    登录阿里云官方网站,在ADAM官网下载数据库采集器应用采集器,按照数据库采集进行Oracle数据库采集,应用采集进行Oracle应用采集,生成相应的zip格式的数据压缩包,便于后续上传到阿里云ADAM官网进行分析使用。

  3. 数据库评估

    数据库评估主要包含:数据库画像、目标库选型建议、数据库评估分析3个部分。具体操作,请参见数据库画像

    • 数据库画像:数据库评估的基础数据,是为了帮助用户更好的了解自己的源Oracle数据库。

    • 目标库选型建议:对现有的数据库画像进行分析,给出迁移到各种目标库的兼容度,为用户提供目标库决策的依据。

    • 数据库评估分析:帮助用户评估目标库兼容性,规格,迁移风险,让用户全面了解数据库上云的可行性以及改造工作量。

  4. 应用评估

    应用评估主要包含:应用画像和应用评估2个部分。具体操作,请参见应用画像

    • 应用画像:ADAM根据单个应用采集的数据,通过智能分析算法,向用户直观提供应用系统客观分析内容。

    • 应用评估:ADAM应用评估功能可以帮助用户智能分析出应用改造工作量,应用SQL兼容性,应用与数据库集群的架构情况等迁移痛点,可靠快速去地帮助用户进行数据库与应用迁移。

  5. 数据库资源

    依据ADAM评估选型建议以及结合自己业务的实际情况,选择申请的合适的目标库资源,如:PolarDB、MySQL、ADB等。 此处以PolarDB为例,登录PolarDB官网进行购买(选择按量付费+兼容Oracle语法)。然后创建数据库(类似Oracle的实例名或者服务名),并建立和Oracle相同数量的同名用户。

  6. 数据库改造

    数据库改造主要包含:线上改造和线下改造2个部分。具体操作,请参见数据库改造迁移

    • 线上改造在线直连PolarDB数据库实例和Oracle源库完成结构迁移结构订正工作。

    • 线下改造:通过制作迁云计划,并申请ADAM STUDIO工具试用,进行线下部署,完成结构迁移结构订正工作。

  7. 数据迁移

    数据迁移推荐使用阿里云DTS、生态合作伙伴迪思杰的DSG-for-ADAM迁移工具(第三方)。

    • DTS数据传输服务(线上):选择数据迁移,支持结构迁移(不推荐使用,不要勾选),全量数据迁移,增量数据迁移,数据校验与数据订正以及数据回流(即PolarDB增量同步回Oracle)等功能。

    • DTS迁移工具(线下):阿里云官方线下迁移工具,支持结构迁移,全量数据迁移,增量数据迁移,数据校验与订正以及数据回流(即PolarDB增量同步回Oracle)等功能。需找数据库架构师DA进行申请试用。

  8. 应用改造与业务功能测试

    主要包括:应用服务器部署、网络配置、应用功能测试等。

    • 应用服务部署:自建IDC机房的虚拟机环境或者阿里云ECS环境部署应用代码。

    • 网络配置:配置应用服务器与PolarDB数据库服务器之间的网络连通性问题,包括:白名单、防火墙、VPC网络、VPN等。

    • 应用功能测试:修改数据库连接串、更换数据库驱动、结合ADAM SaaS应用评估的应用改造点进行应用内置SQL的改造,对产品的各个功能模块进行全面的验证测试,保证覆盖的完整性。

  9. 业务性能压测(SQL优化)

    应用测试的功能达到基本要求后,接下来就是需要对业务进行压测,保证业务可以支持的最大流量和并发量。

    • 性能压测:使用压测工具(如:Apache Jmeter、阿里云PTS等)业务的接口和逻辑进行压力测试,保证在特定的目标库配置和参数配置等条件下可以支撑业务峰值的业务量

    • SQL性能优化:对压测过程中,遇到的性能低下的SQL语句以及存储过程等进行优化,甚者对数据库的参数进行一些优化配置,以保证SQL语句可以高效的执行。

  10. 割接演练

    在业务的功能和性能都满足条件的情况下,可以考虑完整的对业务进行通测和1~3次的割接演练(可以根据具体的业务场景选择是否需要进行此步骤),保证链路的完整性,并提前解决在正式割接迁移时,可能需要的风险问题。

  11. 割接上线(护航保障)

    在割接演练完成后,就可以指定详细的割接上线计划。并由专业团队现场或者远程护航保证业务平滑割接上线。

    • 割接前预留足够的时间做数据一致性校验。

    • 必须保证所有的校验订正完成才能进行割接。

    • 割接方案:(1)一刀切;(2)按照业务线灰度割接;(3)流量灰度

    • 一刀切对应用的要求最低,只要数据一致性校验通过,增量追齐就可以开始割接流程。

    • 按照业务线灰度需要业务满足不同的业务线之间数据库对象完全隔离,没有互相调用。

    • 流量灰度的方式需要业务能够满足单元化的部署要求 。

  12. 上线后重保(3 ~5 天)

    割接上线成功后,需对业务持续观察 3~5天,保证业务稳定运行,并随时解决可能存在的各种问题。

  13. 产品培训

    客户应用从Oracle数据库迁移至PolarDB数据库后,需要给客户进行目标数据库的相关培训,如:

    • 培训业务方开发熟悉并掌握基于PolarDB的开发技能。

    • 培训业务方DBA可以支持PolarDB的日常维护优化。