数据库技术探索之Oracle 19C升级测试及案例分享

Posted 三墩IT人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库技术探索之Oracle 19C升级测试及案例分享相关的知识,希望对你有一定的参考价值。

点击上面 “蓝字”关注我们!


01

升级背景——“去O”正当时,衔接需保障

在当今国家监管要求,Oracle在华战略,成本等因素得驱动下,去“O”已势在必行。但Oracle数据库的优势依旧存在,在去“O”过程中,不少核心业务依旧依赖于Oracle数据库的支持。做好Oracle数据库升级工作,是转型衔接期的必要保障。


02

升级必要性一——支持服务到期,升级不可避免

截至2018年12月31日,Oracle11G版本的免费支持服务到期,进入付费拓展支持服务阶段,2020年底,Oracle将不提供11G版本的支持服务。因此,对老版本数据库进行升级势在必行。因此,在老版本数据库支持服务到期以及新版本上线之际,浙江移动信息技术部将对升级进行相关测试,以达到方案验证和技术储备的目的。

数据库技术探索之Oracle 19C升级测试及案例分享

Oracle DB各版本支持服务提供时间


03

升级必要性二——19C新特性,减负提效

Oracle 19C基于数据库自治的理念,引入AI智能专家新特性,提供自动索引、SQL隔离、实时统计信息搜集等新功能,既减少DBA优化操作需求,又为用户提供良好的数据库服务。

数据库技术探索之Oracle 19C升级测试及案例分享

19C关键特性和功能描述


04

测试目的——储备技术,分享经验

Oracle 19C的诸多新特性,既减少DBA优化操作需求,又为用户提供良好的数据库服务。面对复杂业务环境和Oracle多版本升级需求,如何做好数据库升级?降低升级过程对业务的影响?这是每一个数据库架构和运维人员面临的挑战。浙江移动信息技术部DBA做了数据库升级方案的探索性测试,以适应新技术发展并储备技术。


05

升级方案——三步走,四保障

本次数据库升级基于非生产环境进行相关测试工作,步骤与以往数据库原地升级步骤基本一致,主要包括:
1.GI软件升级;
2.数据库软件安装;
3.数据库数据字典升级(DBUA图形化升级或手工升级)。 
在GI集群层面,GI版本从11.2.0.3起可直接升级到19C,更早版本GI则需升级到至少11.2.0.3版本后才能升级到19C;在DB层面,DB版本从11.2.0.4开始可直接升级到19C,更早版本DB则需升级到至少11.2.0.4版本后才能升级到19C。
升级前准备内容如下表,可分为四大类。

数据库技术探索之Oracle 19C升级测试及案例分享

升级前的准备内容


06

升级案例分享——发现问题,指明办法 

前期测试的目的就是尽早发现问题,降低今后故障发生的概率。运维DBA最重要的使命无外乎在系统变动后依然保持数据库性能稳定。前期遇到的问题越多,后期实际操作时越能够从容处理。
本次升级测试的环境为主备端RAC+ADG,测试发现每套环境在升级过程中可能遇到的问题没有共通性,需要在升级前期做好充分的测试工作和紧急处理预案。下面列举本次升级过程中遇到的BUG及其解决办法。

数据库技术探索之Oracle 19C升级测试及案例分享

•   必要补丁28553832安装后集群无法启动

报错信息:

数据库技术探索之Oracle 19C升级测试及案例分享

解决方法:终止ohasd进程,并重启集群进程。

数据库技术探索之Oracle 19C升级测试及案例分享

1

•   GI升级失败,遭遇集群无法启动,rootupgrade.sh脚本运行失败,查看MOS可能是遭遇bug29754347导致,通过临时解决建议进行处理

报错信息:

数据库技术探索之Oracle 19C升级测试及案例分享

解决方法:根据集群版本,手动终止集群进程,再运行脚本。

数据库技术探索之Oracle 19C升级测试及案例分享

1

•   GI升级失败,遭遇脚本所有者异常并且无执行权限,rootupgrade.sh脚本运行失败

报错信息:

数据库技术探索之Oracle 19C升级测试及案例分享

解决方法:从报错信息定位文件,手动修改文件所有者和执行权限。


数据库技术探索之Oracle 19C升级测试及案例分享

1

•   GI升级失败,rootupgrade.sh脚本运行失败,查看MOS可能是遭遇bug 29909288导致

报错信息:

数据库技术探索之Oracle 19C升级测试及案例分享

解决方法:根据升级日志,定位报错位置,修改crsutils.pm文件内容。

数据库技术探索之Oracle 19C升级测试及案例分享

数据库技术探索之Oracle 19C升级测试及案例分享


07

总结 

旧版本支持服务到期和19C新特性决定了升级19C的必要性。本文整理了Oracle19C升级工作的内容,对遇到的问题提出了解决方案,虽然不能解决全部问题,但包含了重要内容。本文旨在分享19C升级经验,供交流学习,减少正式升级时发生问题的几率。
本次升级GI和DB均使用图形化界面完成,新版本的升级准备工作与以往没有太大差异,主要注意升级前的预检查,并在升级前对环境和数据进行备份。升级过程中可能存在问题,需要前期进行反复测试,排查并找到解决方法,避免正式升级过程中紧急情况的发生。
在升级前,应用系统需要在高版本的测试环境进行应用测试。确保应用系统能够在高版本正常运行后,再决定是否升级。此外,升级前建议使用SPA,获得原库和目标库的SQL执行性能统计结果,通过分析对比结果,可明确哪些SQL出现性能衰退,查找衰退原因并修复问题,确保SQL在迁移后能满足业务需求。

浙江移动信息技术部后续还将有更多的19C新特新测试分享,敬请期待。

数据库技术探索之Oracle 19C升级测试及案例分享

数据库技术探索之Oracle 19C升级测试及案例分享

数据库技术探索之Oracle 19C升级测试及案例分享





以上是关于数据库技术探索之Oracle 19C升级测试及案例分享的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 19c - 手动升级到 Non-CDB Oracle Database 19c 的完整核对清单 (Doc ID 2577572.1)

Oracle 自动升级工具AutoUpgrade升级11GR2插入19C PDB

Oracle数据库18c升级到19c

Oracle19c基本操作

Oracle update to 19c using DBUA

Oracle 单机 11GR2 升级 19C NON-CDB(AutoUpgrade方式)