开发者学习笔记【阿里云云数据库助理工程师(ACA)认证:如何从Oracle迁移到PolarDB(ADAM)(一)】
课程地址:https://edu.aliyun.com/course/3112080/lesson/19086
如何从Oracle迁移到PolarDB(ADAM)(一)
内容介绍
一、 ADAM简介
二、 数据库评估介绍
三、 数据库改造介绍
四、 应用评估与改造介绍
一、ADAM简介
ADAM起源于阿里集团去IOE的一个实证,阿里巴巴以前拥有全世界最大的Oracle集群,2008年开始,阿里巴巴逐渐的开始做去“IOE”,在当时采用的是MySQL方式,把Oracle迁移过去,在清理过程中,也打磨出很多集团的一些中心电产品,包括现在的ADAM、EDAS\MQ\DRDS等,ADAM主要的工作是用来做异构数据库迁移的工具。它也能够提供全链路去O的解决方案,主要分为三大部分,
第一部分可评估,给出异构数据库,比如说从Oracle到PolarDB的可行性的报告,会包括语法兼容度的情况,还可以帮用户预估容量评估迁移风险,最终产生评估报告给用户。
第二部分,自动的将Oracle上的对象进行语法跟寓意的转换,将Oracle中的结构,能够无损的迁移到PolarDB中。
第三部分,将DTS数据,迁移到PolarDB中,全量跟增量的数据迁移会使用DTS的能力,这就是第三步中的数据库里的数据迁移。
结构跟数据全部都迁移到目标库中的话,用户还需要对其他应用要去做Oracle的语法以及SQL的些许修改,也提供业界所独有的应用题库和改造相关的功能。
(1)去O一键迁移上云
通过数据库的一键迁移上云,可以很容易的将Oracle迁移Oracle金融版本中,此版本跟Oracle相比,它的语法特性属于高度兼容版本。
二、数据库评估介绍
数据库的评估主要依托数据库的采集,主要有两种采集方式,
第一种是需要下载采集器,把它部署到能够连接到Oracle的环境中,让它实时的采集评估所需要的信息,把这些信息分为四个部分,第一个部分数据库结构定义信息,只是Oracle中原始的ADAM信息,第二个脱敏后的SQL信息,第三与数据库有关的性能信息。对于应用产品机,可能会采集到应用调用的堆栈信息,采集器在采集过程中同时会具备采集保护功能,这样做有利于降低对源库性能的损耗,可以对信息做脱敏处理可以让用户免除信息泄露问题。
上图是在线采集,现在在线采集完全可在云上进行操作。目前,我们采集主要能够支持10G、11G、12c以上的版本,数据库采集主要要做一些配置,这样我们才能够获取我们所需要的信息。
接下来看演示:在云上控制台,首先我们进入到数据库评估页面,在上面能够看到有四个步骤,首先我们进入到第一个,在线数据库的采集。点击创建采集任务,在第一步我们要先让用户对当前Oracle的源库进行授权的行为,创建完成后会有两种类型,一种是属于那个非CDB模式,这种模式是可以支持10G、11G、12c以上的版本这三种版本。然后去执行以下的命令,就能够完成授权。如果是12C的CDB模式,则推荐用户使用下面的命令,然后完成授权,当然这些命令都是只读,不会影响到用户的线上的业务。
第二步配置环节,能够连接到用户员库的一些相关窜的信息。有两种模式,一种是具有公网IP的Oracle,另一种这是无公网IP的(通过数据库网关DG接入)
首先输入任务名,再输入主机IP,可以看到一个测试库。输入服务器的SID,然后选择端口,然后再是选择用户名。然后再选择口令。全部输入完成后在点击链接测试,如果测试成功就可以启动采集,一段时间可以采集完成。
数据库架构:单机/RAC
数据库容量:包括LOB对象
数据库依赖:DBLINK
数据库版本:10g/11g/12c/..
数据库性能:QPS/TPS/负载/..
数据库规格:4C16G
ORACLE特性:层次查询/分析函数/
对象打标:无主键表/分页查询SQL/
数据采集完成以后,就可对数据库进行画像评估。画像的主要功能是提供系统的概要,包括Oracle或者是其他源库的性能分析、容量统计,帮助用户自动做Oracle特性的统计,同时,帮助分析PolarDB的依赖关系,最后可以提供一个目标库PolarDB的选型。下图演示:选择已经完成的采集,然后点击下一步创建画像。
可以看到源库画像马上就去执行,可以看到画像的主要内容是帮助用户获得一个Oracle的概况,包括数据库的规模,绘画的复杂度,风险热点等等,就可以看出Oracle的大致情况。同时可以展示我们所采集到的命令对象的分布情况,会包括细节,性能、容量等特征。这样就可以给用户更直观的感受到具体在分析里是什么样的情况,分析完后就可进行目标库的选型。
选型分为两个部分,首先是在兼容性的维度,列出Oracle到所有其他阿里云上的兼容情况,然后点击下一步查看目标库选型建议,再点击类型推荐,再类型推荐里可以看到当前的数据源库是一个混合型的数据类型,这样我们就会去推荐用户去选择PolarDB再加上O+ADB
For PG的方式给用户,使他能够满足用户当前所有的业务场景。
能够帮用户能够展现出分析型测试对象列表,用户可在这边做参考,比如最终给到兼容度的比例,可以看到如果是PolarDB兼容Oracle语法版兼容度达到96%,可以发现这个数据已经远远高于其他类型的数据库。这样就可以知道PolarDB O这个版本是特别适合Oracle迁移的解决方案,这样就可以降低用户的改造成本。
最后是目标库的金容评估,首先创建一个目标库带入新建目标库评估,上图是对象兼容性的情况以及SQL兼容性的情况,可以看到整体,可以详细看到什么是兼容的,什么不兼容,又因为什么而不兼容。在整体兼容对象中可以明显的看到兼容和不兼容的具体数字,SQL方面同样也可以看到。
兼容性的评估,结构部分主要分为兼容于不兼容,兼容又分为直接兼容和转换后兼容,对于结构ADAM兼容转换后的兼容对象是可以直接在目标库去执行,对于不兼容的对象是要进行一个人工 的订正,对于修改后的兼容是可以给出一个转化后的SQL,在应用管道过程中,,如果涉及到的代码层面的东西,则需要自己去做一些相应的修改。