原创 焦点系统Oracle 19c数据库迁徙方式对比与实践

2020-09-09 网络
浏览
[科技新闻]原创 焦点系统Oracle 19c数据库迁徙方式对比与实践

原标题:中心系统Oracle 19c数据库迁徙体式格局对照与实践

本文依据梁铭图先生在8月21日〖Oracle ACE顶峰之夜〗线上分享演讲内容整顿而成。(文末有猎取本期PPT&回放的体式格局,不要错过)

梁铭图

新炬收集首席架构师

  • 十余年数据库运维、数据库设想、数据治理以及系统计划建立履历,具有Oracle OCM和ACE Director、Togaf企业架构师(鉴定级)、IBM CATE等认证,曾获dbaplus年度MVP、华为云MVP等声誉,并介入数据资产治理国家标准的编写事情。
  • 在数据库运维治理和架构设想、运维系统计划、数据资产治理方面有深入研究。

迁徙背景

跟着Oracle数据库19c在客岁的宣布,越来越多之前的数据库版本走入其生命周期的末期。企业中本来运用甚广如Oracle 11gR2如今已退出支持,只为某些特别客户供应有限而且是付费式的手艺支持。客户须要将老旧的数据库迁徙到19c等较新版本的数据库来取得Oracle官方的支持。

别的,IT手艺的生长使客户的IT架构逐渐走向云化和微效劳化。很多客户的采购部门已入手下手住手采购IBM、EMC之类的外洋的硬件装备,转而大批采购国产的x86架构以至是ARM架构的PC效劳器。这个变化也极大的推动了企业数据库迁徙。

末了,Oracle 19c及前面版本中引入的很多新特征以及加强属性,比方12c中引入的cdb与pdb,19c中引入的自动化索引(Automatic indexing)等全新特征也吸引着企业逐渐将老旧数据库升级迁徙到新版本,以运用全新的数据库特征。

以上三个要素是企业Oracle数据库升级迁徙的主要动力。

计划挑选

近来,我们辅佐了一个电信行业的客户将其中心系统的数据库,按差别的地市分三次迁徙到Oracle 19c的数据库中。全部数据库迁徙环境前后的对照以下:

源数据库主机平台:IBM小型机(PowerPC架构)

源库操纵系统:AIX

源库版本:11.2.0.4

数据库节点数:2

目标数据库主机平台:某国产数据库一体机(x86架构)

目标库操纵系统:Redhat 7

目标库版本:19.7

数据库节点数:6

因为触及到中心系统数据库的迁徙升级,客户从计划牢靠性、数据一致性、停机时长以及迁徙后数据库稳固性给我们提出了响应的请求:

  • 牢靠性:迁徙计划成熟牢靠,迁徙效率高且风险可控;
  • 数据一致:迁徙前后数据须要坚持高度一致;
  • 停机时长:包含运用启停在内的停机保护窗口控制在8-10小时,能在晚上10时入手下手,越日8点前完成一切操纵;
  • 稳固性:数据库迁徙后要坚持数据库机能和稳固性。

因而,我们依据客户的实际环境状况、迁徙需求,大抵对经常运用的五种数据迁徙体式格局举行评价和测试,包含:

  • Datapump东西:运用数据泵东西完成源数据库数据的导出,并传输目标数据库,应用东西将数据导入,平安稳固。
  • Rman备份和恢复:应用源数据库Rman的备份集在目标主机上举行数据库恢复,并apply归档日记完成数据完整恢复。
  • DataGuard同步:源数据库与目标数据库之间完成DataGuard数据同步,在迁徙完成后断开DataGuard同步,目标数据库升级为生产环境。
  • GoldenGate同步:GoldenGate完成部份表或用户的数据逻辑同步,确认数据一致后将数据同步断开。
  • XTTS:在可传输表空间完成数据初始化,而且经由历程增量数据备份和恢复完成数据同步。

下表是我们经由评价和测试后的对照:

结合实际迁徙前后环境以及客户的迁徙需求,我们离别排除了Rman、DataGuard、以及Data Pump三种计划,而终究挑选运用GoldenGate的计划。为何要运用GoldenGate来迁徙呢?重如果斟酌到以下要素:

起首,GoldenGate能够经由历程Datapump或Rman的体式格局提早将所须要的数据迁徙到目标数据库,数据变化再经由历程GoldenGate完成秒级同步。运用停机后,只须要确认同步状况OK,断开GoldenGate同步,就完成了数据同步的行动,停机实际时刻非常短。

其次,GoldenGate实际上是一种逻辑复制同步的体式格局,防止了物理复制以及Rman恢复等体式格局不能跨主机平台、操纵系统以及数据库版本举行数据同步的问题。

斟酌到停机时刻、风险以及营业影响等要素,本次全部数据库升级迁徙实际上分三次完成,每次迁徙工程迁徙该数据库中的部份地市用户(这些地市用户经由历程差别的schema加以辨别)。因而,GoldenGate能够经由历程设置完成部份schema或许表数据的过滤,以此完成数据库中布置数据的实时同步。数据迁徙同步越发天真且可操纵性更强。

末了,GoldenGate在客户的数据容灾应急等环境中运用普遍,因而我们手艺团队在GoldenGate数据同步,在数据灾备、应急同步、数据迁徙等场景下有较深挚的手艺积聚。

计划实行

基础计划肯定后,我们还须要制订详细的实行计划。俗语说:一根针不会两头尖。我们在GoldenGate带来迁徙方便的同时,也须要斟酌其带来的风险。

GoldenGate本质上是基础逻辑同步的体式格局,相对于Rman以及DG等物理同步的计划,牢靠性有所不及。因而,一方面要扬长避短,完成数据终究一致性目标,调解实行要领完成多通道疏散式同步;另一方面,在同步历程当中考证测试 实时搜检保证数据同步和时延。

所以全部实行历程我们大抵划分为四个阶段:

1、前期预备

前期预备是全部实行的症结一环,好的前期预备事情是全部数据库升级迁徙的实行保证。前期预备的事情除了基础装备的装置之外,我们重点要做好以下几项事情:

起首是数据库的测试,运用RAT等自动化测试东西以及运用联调等人工测试手腕团结,有用地开释因为数据库版本升级以及硬件平台转变所引入的风险。比方:参数设置、新特点、SQL实行计划、机能等等大概引发升级前后严重问题。在数据迁徙前,千方百计将这些问题加以解决。

另一项关注的重点是数据同步局限的梳理及计划。细致梳理待迁徙数据,根据数据的主要水平、营业关联度、数据量的大小以及数据变化量,以表为单元对数据举行分门别类,而且以此为基础做出OGG数据同步通道的开端计划。

,科技前沿,

平常可参考的原则是,将小表和修正频次较小表的抱团处置惩罚,将大表和数据变化频次较大的表作零丁通道处置惩罚。如许做带来的优点是:一方面,疏散数据同步的压力,下降数据时延;另一方面,纵然偶发性要素致使数据同步失利或许数据不一致,也能够按通道从新初始化数据,防止全量数据的从新初始化。

另外,值得特别注意的是并不是一切数据范例OGG都能够支持,部份数据范例不能同步或存在一些限定。只管这些数据范例一般不太经常运用,然则我们在举行数据梳理的时刻要对这些限定范例举行警惕鉴别。

2、数据初始化

数据初始化是一个操纵密集型的步骤,平常而言我们会视乎数据初始化的数据量在正式割接前2-3天完成数据初始化。尽早完成数据初始化并拉起OGG的数据同步,能够让我们有足够的时刻举行非常问题处置惩罚,有利于工程的顺利开展。

3、监控与优化

OGG数据初始化今后,我们在割接前须要延续监控和优化数据同步通道。

监控的内容主要会触及到:

  • 同步历程的状况
  • 同步数据的时延
  • 源库以及目标库的数据库监控
  • 源库和目标主机的资本开支
  • ……

遵照监控的效果,我们会从新调解OGG同步通道。比方,将一个变化量比较大且数据量大表从现有的OGG同步通道分离出来,自力成为一个同步通道下降团体同步数据时延。

另外,在这个阶段我们一般还会针对一些静态表和设置表举行全量的数据查对,下降实际割接时数据查对的事情量和时刻。

4、数据割接

数据割接是运用停机后,住手OGG一切同步链路和确认数据同步完成,将目标数据库正式启用为新生产环境的历程。在这个历程当中,大抵会分为四个步骤:

每一个步骤会触及多个操纵及搜检点,而且因为数据割接一般是在深夜(至少是晚上10点今后)才启动,因而我们非常强调操纵的正确性,平常的原则是:

  • 庞杂的操纵历程,经由历程自动化剧本处置惩罚,保证高效、正确!
  • 考证后的割接计划细化到指令级别,每一条指令均义务到人!
  • 采纳Double Check机制,保证实行到位,若有非常实时转达。

别的,作为数据迁徙项目,我们还须要保证的是数据的正确性。为此,我们平常会开发一些特地的剧本和东西举行前后数据的考核和对照。对照的局限包含数据对象的查对、数据结构(字段、范例、长度等)的查对、数据总量(纪录行数)的查对以及实际数据纪录的查对。实际事情中,全量数据纪录我们平常采用主键 数据MD5值的要领举行对照。这类体式格局能够极大地下降数据对照的时长和实际资本开支。

固然纵然预留了肯定数据考核时刻(平常为1小时内)以及采用MD5要领,完成全量几十TB数据考核也不太实际。因而我们须要做出一些弃取,以我们此次迁徙为例:

一方面,很多数据质量的校验和考核事情能够与其他历程和操纵并行,如许能够充分应用时刻。比方因为我们全部迁徙工程中有Oracle TT cache group重修的步骤,此时,数据库还没有营业接入,我们能够应用这段时刻做好中心数据的考核事情。

另一方面,数据质量校验还须要依据数据的主要状况做出一致性考核弃取。我们平常会对团体数据举行分类,如基础处于的静态数据(如大部份的设置数据、产物定义等)之类,我们是在迁徙前已举行了校验,只会监控是不是有数据变动就OK。如中心的营业数据,则会应用迁徙后举行全量的校验。如类似于不主要的历程数据,则只会举行纪录数目以及抽样的校验就好了。

末了,我们会跟甲方举行有用沟通,依据测试的状况、风险品级、停机时长等要素肯定终究的数据考核计划。

实行总结

用时一个月分三次工程,我们将该省级电信运营商的中心系统数据库迁徙到Oracle 19c上。数据库运转至今非常稳固,而且数据库的机能也获得不少提拔。

固然,我们背面也将会面对一些全新的问题须要做出应对,包含像一些巨无霸级别的地市,迁徙计划预计须要做出肯定的调解和订正,这些也将是我们将来的严重磨练。然则只管如此,我们对本次Oracle 19c的升级迁徙总结为以下几点:

  • 优越的前期预备和计划是项目胜利的一半;
  • 善用同步东西,将迁徙提早完成;
  • 监控与不停优化数据同步通道;
  • 割接操纵坚持傻瓜化,双人搜检尤其必要;
  • 有用的数据考核确保数据一致性;
  • 郑重,郑重,再郑重!

>>>>Q&A

Q1:Oracle 9i支持OGG吗?

A:9i是支持的,但须要旧版本的OGG,这个预计要mos请求介质。最新两个OGG版本详细的数据库版本支持能够参考官方链接下载支持列表:https://www.oracle.com/middleware/technologies/fusion-certification.html

值得注意的是,每种数据库OGG支持的局限有所差别,有的版本只能作为同步的目标端(delivery),有的数据库源端和目标端均支持,有的数据库能够支持DDL操纵。请列位运用前先确认一下。

Q2:用OGG同步数据支持营业场景有什么限定要素?

A:主要的限定要素我以为以下:

1. 数据库的日记,须要翻开归档、附加日记等;

2. 部份数据范例和数据对像的限定,如Oracle数据库里面的暂时表、物化视图;

3. 同步的数据表最好有主键;

4. 数据库大事件以及收集带宽等带来的数据时延;

5. 数据库日记剖析和过滤带来的数据库的分外资本开支;

6. 逻辑数据复制有大概会带来数据不一致,须要分外关注数据一致性考核。

Q3:数据是怎样考核的?

A:我们平常数据考核会从以下的维度来丈量:

  • 数据对像的一致性;
  • 数据结构的一致性;
  • 数据纪录数目标一致性;
  • 详细数据纪录的一致性。

Q4:TT重修怎样明白?

A:当时解说的时刻大概有点口误,实际应该是TT cache group的重修。TT是Oracle的一种内存库产物,cache group是一种Oracle物理库(也就是我们如今的19c)和内存库的一种数据同步机制。重修TT cache group的目标是将内存库所须要的数据从物理库装载到内存库中并完成数据库之间的实时同步。

Q5:迁徙完成后会和预期计划举行比较和评价吗?

市场要闻|股价遇冷后的一丝暖意:松下增产或促特斯拉降本

虽然特斯拉曾指责松下放缓工厂运营限制了特斯拉Model 3的产能,甚至是向LG与宁德时代这两位强大的竞争对手抛出橄榄枝,但目前仍然选择继续同松下合作。 但是LG化学和宁德时代这两个竞争对手不容小觑,…