第九十期 本周升级一小坑
19c OCM依然在准备之中,第三堂和第四堂应该在下周内完成。
本周割接了3次,一次给X8M计算节点换内存(可修复的ECC报错了,没影响生产),两次都是给X8那套升级(就是多灾多难那套)。
1 19.6到19.16
“众所周知”,19.6都是祖上X8部署的时候,出于稳定性、安全性的考虑还是给升个级,从目前使用情况和来自于小伙伴、MOS后台的消息,要么升级到19.20(还没出),要么就是到19.16(X9M上用着的,挺稳的)。关于升级第七十六期也有过详细的介绍,这次升级遇到了一些问题,这里尝试在单实例上复现一下:
升级完成后没有注意到PDB的启动状态:
那个库有俩PDB,第一个PDB生产用户基本都有DBA权限,少部分没有,因此PDB在RESTRICTED状态下是可以连接到数据库的:
而第二个PDB承载用户因为测试不充分,仅仅看到页面显示没问题,没有进行深度测试,知道第二天上生产了才发现有问题通知我这里进行及时处理,在没有办法重启PDB的情况下,只能通过一下命令进行处理:
grant restricted session to username;
2 GIS
然而第二个PDB承载业务的不充分测试并不只是带来了一个问题,在涉及GIS类操作的时候出现了以下的问题(范例来自于对应的MOS Document):
这个还是相对比较好排查,在输入两个ORA报错后找到了对应BUG:SDO_GEOM.SDO_AREA Fails With An ORA-21779 After 19.16.0.0.220719DBRU (Doc ID 2889251.1),需要通过Patch 34476155来解决这个问题。由于已经是白天生产了,无法打补丁,紧急开SR询问是否有workaround,然而SR的回复通Document描述一致,只能通过打补丁实现。因此和业务方沟通,暂时关闭相关功能待到晚上打补丁处理,如果依然异常则回滚到19.6。
当然为了避免GIS相关的其他问题在上面bug处理后再出现,与MOS后台沟通后最终选用了Patch 35204190: MERGE ON DATABASE RU 19.16.0.0.0 OF 34725493 34476155:
3 问题解决
首先第一个问题还是相对简单,在应用第二个补丁前,再执行下面的命令:
cd $ORACLE_HOME/OPatch
./datapatch
alter session set container=cdb$root;
@ ?/rdbms/admin/utlrp.sql
alter session set cotnainer=pdb1;
@ ?/rdbms/admin/utlrp.sql
alter session set contaienr=pdb2;
@ ?/rdbms/admin/utlrp.sql
然后使用分步关闭实例并滚动方式应用补丁,完成后再执行:
cd $ORACLE_HOME/OPatch
./datapatch
最后检查PDB状态也恢复正常了:
业务方对GIS相关功能全量测试也没有出现其他问题。
至此本次升级的所有问题解决完成。
总结
不得不说,升级中间RESTRICTED那个问题算是我的,没有做好检查工作,还好有应急方案。
但是第二个GIS问题,连555.1里面都没有相关描述,我也不可能知道所有的bug,因此业务方测试不充分还是占了大头。
其实两个问题如果业务方都完整测试的话,也不会出现后续问题。
老规矩,知道写了些啥。