暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 19c升级实践

甲骨文云技术 2022-11-17
3650

为什么需要升级?
大多数企业IT部门在谈及数据库升级时或多或少有以下疑问:
  • 老版本还老当益壮着呢;

  • 我只能用经过应用认证的那些数据库版本;

  • 我没时间去规划升级啊;

  • 我也没预算去升级;

  • 升级期间需要业务离线我负担不起……


这些“借口”都是从IT角度去看的。但我们不妨先回答以下这些问题。
老版本问题:Oracle 19c是当前唯一的长期支持版本。对老版本,Oracle不再提供安全补丁和bug补丁等等。不要等到“崩溃”的那一刻才追悔莫及。

图:Oracle数据库版本支持时间表

认证问题:所有Oracle的企业套件应用,以及超过400家ISV的应用已经认证了19c。Oracle数据库向下兼容的能力很强,对应用本身的改动很小或可以忽略不计。
升级时间:对11.2.0.4及以上版本,可以利用AutoUpgrade一键式升级到19c。不需要多高深的技能。
预算问题:在Oracle标准支持中已经涵盖了19c升级能力。
离线问题:Oracle提供ZDM(零宕机迁移)解决方案,或利用RAC滚动升级。
实际上,据统计,无论全球还是国内,19c的占比已经超过50%,且在不断快速增长中。升级到19c已经是大势所趋。
图:国内外Oracle 19c版本的占比
如果从数字化转型的业务角度去看,现时代业务部门的诉求是什么?
  • 需要削减项目成本;

  • 需要改变产品或服务的售卖模式;

  • 需要转向新市场、新领域;

  • 需要发现新的商机;

  • 需要重新分配资源……


毫无疑问,IT应当服务于业务;如果连基本的业务都无法很好地支撑,何谈指导业务、引领业务。所以,IT需要变革,需要创新,需要从新的角度应对业务的新诉求。
那么,Oracle 19c能帮你做什么?
首先是技术创新层面。依据Gartner统计,70%的企业认为,如果要想在竞争中胜出,必须 “数据驱动”。而Oracle 19c推出的融合数据库(Converged Database)很好地契合了这一点。通过多模数据、多模工作负载、多租户等使得企业能充分利用数据,为客户提供更好的体验。借助Oracle数据库内置的创新技术,整合各种数据资产,挖掘隐藏在数据后的规律,帮助企业寻找潜在的机会。
其次是迁移上云。依据IDC统计,80%的企业正加速云迁移。Oracle一方面利用自动化和标准指南确保企业以最小的中断代价迁移数据库和应用到云;另一方面也创造性地设计了极限性能和云充分融合的ExaCC(Exadata Cloud@Customer)方案,在ExaCC上甚至具备了全自治能力。这样的能力使得开发和运维成本都能大幅降低,同时也能提高开发和运维的效率。
最后是安全层面。作为现代企业最重要的资产,数据安全是永恒的话题。依据IBM统计,每次数据泄露造成的安全损失高达462万美元。而Oracle 19c提供了多层安全机制,不仅保护最有价值的核心数据,也同时为基础架构层、应用层、用户层的访问提供安全保障。
升级的收益在哪里?
Oracle数据库从版本12c到版本19c提供了大量创新能力。这些创新能力对加速企业数字化转型与数字化升级有很大的价值。
有四个层面值得大家关注:
一、 基于私有云的基础架构的演进。不仅帮助你快速构建数据库资源池,实现云的弹性、敏捷、快速供应,而且能基于MAA架构提升应用系统的业务连续性。
二、加速新技术的价值变现。创新的技术融合到了数据层,通过数据融合能力和自治能力提升开发效率、运行效率、洞察能力。
三、 降低成本。利用整合实现不同应用的错峰运行,在充分利用资源的同时进一步降低成本;而且,灵活可扩展的架构能让你从小起步,按需伸缩。
四、 更高的安全与更简化的运维。AI技术已经在Oracle数据库中成功应用,降低了降低了架构的复杂度、降低了运维的难度、并且支持CI/CD的补丁策略。
下面我们就为大家盘点一下11.2.0.4之后都有哪些创新能力,以及在现代化应用中怎样去利用这些能力。
1) 多租户(Multi-tenant)。多租户架构专为数据库私有云设计,可以理解为DBaaS的基础。目标是实现数据库整合(进而实现应用整合),而无需更改现有应用。在这个架构中,一个多租户容器数据库(CDB)可以托管成百上千个“可插拔”数据库(PDB)。每个PDB都可以对应一个应用。通过这种方式多个应用共享数据库服务器的资源,不仅提高了整合密度,而且简化了数据库备份、补丁、升级、容灾等常规运维任务。

图:Oracle多租户架构

2) 内存中数据库(Database In-Memory)。传统上的数据库主要面向OLTP设计,在处理大规模统计分析时能力有限。DBIM是一块列式内存,存放用于统计分析的数据,消除对索引的需求,能提升性能达几个数量级。在Oracle数据库中,DBIM和传统的行式缓存共存,并自动维持数据一致。优化器将自动分析查询,选择合适的执行路径,因此无需调整应用。有了DBIM,Oracle数据库就具备了真正的混合交易分析处理(HTAP)能力,适合于几乎所有类型的工作负载。

图:Oracle创新的双格式数据库

3) 活动数据卫士(Active Data Guard)新增的远程同步(Far Sync)与DML重定向能力。设计容灾方案时,同步对两端之间的网络要求很高;而异步可能造成数据丢失。远程同步通过本地同步异地异步的方式很好地避免了同步与异步的缺陷,以更低的代价实现RPO~0。ADG的目标端是可读的,实现双活数据中心,作为查询和报表库很有价值。但是对应用而言,不可避免地可能需要在数据库中写数据,在目标端直接写数据又可能造成数据的双向复制与数据冲突问题。Oracle 19c推出的DML重定向很好地解决了这个问题——备端的数据变更操作自动路由到主端进行,再同步回备端。

图:Oracle容灾-远程同步与DML重定向

4) 多模式数据。Oracle 19c的一大能力就是处理多种数据类型。内存优化表(Memoptimized Rowstore)支持IoT类数据的高频插入与查询。JSON数据可以在Oracle 19c中存储、查询和处理。混合分区表可以将部分分区保留在数据库中支持快速查询和更新,而另一部分分区以只读形式存储在外部对象(例如本地文件、HDFS文件、云的对象存储文件等)。区块链表很好地在数据库中实现了防篡改、防欺诈的能力。不仅仅这些,在Oracle数据库中还可以存放图、空间、XML、TEXT、二进制等多种类型的数据。

图:Oracle 19c的数据驱动能力

Oracle 19c的创新能力还有很多。例如,自动索引、实时统计信息收集、SQL语句隔离、原生数据分片、权限分析、Active Directory集成、Big Data SQL、近似查询、多表态函数、机器学习、低代码开发等等。建议大家多关注公众号上的文章。
数据库升级有哪些步骤?
Oracle持续投资在数据库升级过程中所需要的工具、技术或程序。升级操作本身很简单,利用AutoUpgrade,只需要两个命令就可以轻松升级到19c。但是,通常而言,升级过程中也包括了很多其他的任务,例如硬件更换、操作系统升级、存储更换、应用升级、业务变更、系统联调等等,从而使得升级不再只是一个“操作”,而是一个需要规划的“项目”。
一般升级都需要以下几个步骤。
步骤一:数据库与应用版本的认证与确认。
确认需要升级的数据库版本是否与环境(包括应用)相匹配。首先阅读每个数据库版本的升级指南(Oracle Database Upgrade Guide)。如果想升级到19c,请查阅Oracle数据库升级指南[1]。其中第10章“Behavior Changes, Deprecated and Desupported Features for Oracle Database”描述了在本版本中已经废弃的一些功能或特性,可以对照检查应用中是否可能使用了这些功能或特性。另外,你也应该检查安装指南,确保软硬件平台是否满足19c的要求。准确的信息,请访问My Oracle Support中的“认证”一览。当然,你还需要确认第三方应用是否支持19c。如下示例:

图6:My Oracle Support中的版本认证信息

步骤二:安装最新发布(RU)的Oracle数据库版本。
按照安装指南安装最新发布的数据库版本。将软件安装到一个新的位置(而不是和当前OracleHome一样的位置)。尽管也可以原地(in-place)升级,但Oracle并不推荐,因为原地升级会增加停机时间以及增加回退操作的复杂性。
Oracle推荐应用最新的RU(Release Update),其包含了近期的修复。例如,在编写本篇文章时,19c最新的RU是19.17。
步骤三:利用AutoUpgrade升级。
升级之前,请确保有正确的回退策略(备份或恢复点)。Oracle推荐使用AutoUpgrade升级。在部署Oracle软件时AutoUpgrade就已经自动部署在OracleHome中了。当然,我们强烈建议你从My Oracle Support:“AutoUpgrade Tools (Doc ID 2485457.1)”的指导中下载最新版本的AutoUpgrade,AutoUpgrade是完全向后兼容的。之后,按照升级指南中的步骤安装和执行升级操作。如果在升级过程中发生错误,AutoUpgrade会自动回退。
步骤四:测试与验证。
升级完成之后必须测试和验证。在升级之前,你应当获取一些原生产系统的数据,以便与升级后的系统进行对比。
Oracle Enterprise Manager的诊断与优化模块,可以收集生产系统的性能基线。Oracle推荐保留至少31天的AWR快照。
Oracle Real Application Testing可以借助Database Replay功能在测试系统中运行原生产库的真实负载。同时利用SQL Performance Analyzer标识、分析可能性能衰退的SQL语句。
SQL Plan Management可以帮助你固定关键SQL语句的执行计划,以防万一在新的环境下使用了非最佳执行计划。
简单地说,请确保先在一个测试系统中做过充分的功能、性能测试,包括回退能力,并记录所有的配置或调整。之后再将正确的步骤应用到生产系统的升级中去。
以上只是对升级做了简要描述。实际工作中,升级经常和迁移同步进行。例如,当前生产系统配置是AIX+11g2,而新的生产环境将是Oracle Exadata+19c,数据量也可能达到10TB甚至更大。怎样确保11g2顺利升级到19c?怎样确保数据从AIX顺利迁移到Exadata?怎样尽量缩短停机时长甚至零停机?怎样确保切换的成功或回退的成功?怎样确保迁移后的性能满足要求?怎样确保迁移后各个业务接口能正确运行?怎样规划Exadata的资源使其满足数据库私有云(DBaaS)的要求?如果你有类似的需求,请联系负责贵企业的Oracle销售代表。
总结
Oracle 19c是当前Oracle数据库的长期支持版。强烈建议所有低于19c的数据库(包括11g、12c、18c系列,甚至有些企业在用的10g系列)升级到19c。一方面能满足日益严苛的数据安全需求,真正做到防患于未然;另一方面在数字化浪潮中借助创新技术实现数据驱动,占据领先优势。

参考链接:

[1] https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/index.html


11月29日,“云领未来 数聚中国” 甲骨文云技术嘉年华将在线开启,我们将浓缩2022甲骨文全球云大会(Oracle CloudWorld) 的精华内容,在本次云技术嘉年华重磅推出!

届时,甲骨文中国高管和技术大咖将携手本地优秀行业翘楚和合作伙伴为您抽丝剥茧深度解读全球云大会中的前瞻技术成果、云战略布局、创新数据库、极简开发和全球优秀客户实践分享,并深度结合中国客户需求与案例实践。

大咖云集,思想碰撞,敬请期待。

  • 立即扫码报名参会 

  • 编辑:萧宇


  • *活动最终解释权归甲骨文公司所有

最后修改时间:2022-11-17 15:30:50
文章转载自甲骨文云技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论