大规模升级来临,谈谈Oracle 12cR2使用经验
副标题[/!--empirenews.page--]
大规模升级来临,咱们来谈谈Oracle 12cR2使用经验。 一、升级到12cR2的必要性 随着2019年2月13日,Oracle 19c (Oracle 12.2.0.3) for Exadata 版本发布,Oracle 12cR2体系的数据库版本终于迎来了长期支持版本(Oracle 12c的最后一个大版本),也就是说数据库版本还在Oracle 10g/11g的系统是时候考虑升级了。 特别是在Oracle 11.2.0.4以前的版本,用了db link的系统,务必要升级。 其实,根据Oracle数据库生命周期和版本演进路线,到2018年12月31日,Oracle 11.2已经结束了免费的扩展服务期(Fee Waived ES),一些新遇到的bug补丁用普通的SR账号将没有权限下载。 同时考虑到SCN天花板速率算法变化的问题,12c升级就变得更加必要了(当然,应用没有变化,或者没有使用dblink的可以不用考虑)。 Oracle每个版本的bug都很多,不过并非是Oracle数据库软件不行,而是因为Oracle是OLTP领域的绝对王者,提供了太多方便的功能,bug就多了。所以每次升级前,我们都会去撸一遍fix list,看看有没有新的bug被其他人发现并解决了。 到目前为止,Oracle 12.2系列的fix patch数量是2078个: 当然,这补丁数量还是远远低于Oracle11.2系列的27782个: 也远低于Oracle 10.2系列版本的26281个(这些补丁均不包含集群补丁): 这个结果有些出乎意料,12cR2上的patch数量比前2个版本少了一个数量级。一个可能性是12cR2的bug少了很多,另一个可能性是12cR2还没有迎来大规模升级,而今年就是升级到12cR2的最佳时机。 二、Oracle 12c体系的一些新特性 Oracle 12c相比Oracle 11g,有3个特性被广为期待:
从两年多的案例来看:
主要原因是:在12.2,一个SDB中只支持一个Table Family,一个正常业务数据库都会需要有多个Table Family;而在Oracle 19c里,增加了Multiple Table Families特性,或许可以好好用一下
原因是一方面是使用场景,另一方面是维护成本,多租户特性成了这个版本的扛鼎之作。 多租户特性(Multitenant)是12c体系最重要的特性,在12.1.0.1版本引入。开创性地在一个容器数据库(cdb)中可以包含很多个可插拔数据库(pdb),每个pdb之间可以有自己独立的参数和资源占用限制,所以该特性成为了12c版本中最受欢迎的特性。 很多企业使用多租户特性整合那些零碎且单独占用一个数据库的小应用,大大减少了机器的数量,降低了数据库许可费用,而且pdb迁移起来更加灵活。 pdb使用过程中有几个bug,影响还是蛮大的。其中一个是pdb在Data Guard的备端运行一段时间后会”消失”:
这个bug从17年开始有one-off patch,但是一直没有彻底修复。彻底修复只能升级到Oracle 18c,或者今年将推出来的19c。 我此前一直非常好奇,为什么一个bug的补丁不能在下一次PSU的时候,将这个one-off patch一起打包进去呢? 直到2018年一个叫oraguy的用户在Hacker News爆出了如下信息: Oracle 12.2这个版本,有将近2500万行C代码!(相比较而言,最受欢迎的NoSQL数据库Redis最新版本5.0.4也不过2万多行代码,真是短小精干。) (编辑:财气旺网 - 海宁网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |