
是时候
关注
我们一波了
Oracle在关系型数据库的地位一时半会是不可能被撼动的。有市场,就会需要DBA维护,做Oracle DBA的我们也不要过于悲观,技术在发展,我们也同样需要进步。
关于Oracle最近的版本
Oracle 11gR2在走过了11年的发展历程,在2019年1月份算是画上了句号。目前的11.2.0.4版本已经很完美了。虽然2019-2020还有两年的扩展支持,那可是需要单独购买服务的哦!
Oracle 12cR2在2017年3月面世至今,也已走过了2个年头,这一版本做了命名上的大变化,不在按照12.2.0.1,12.2.0.2,12.2.0.3...这样的命名方式,而是直接改成跟年份对应的命名法。2018年是18c,2019年是19c。可能不清楚的朋友会迷糊了,这是18c,19c又是新的数据库版本么? 其实18c,19c都是12c的小版本,可以按照18c为12.2.0.2,19c为12.2.0.3对号入座。并且19c,也就是12.2.0.3是12c的最终版本,可以支持到2026年!!!
这样说来明年是20c喽?
放一张Oracle官方关于11gR2及12c版本的支持周期图。

我们今天不是来将版本的,网上一大堆,要想更具体了解,可百度自行搜索,会科学上网的,那就自行GOOGLE吧。
对Oracle数据库最新版本我们也没有停滞不前,早已经开始了探索,软件升级是必不可少的一项,我们今天就要说一下19.3 升级到最近的19.4RU版本一些小细节。
操作系统 :RHEL 7.x
数据库版本:Oracle 19.3
数据库架构:RAC
升级补丁 :p29708769_190000_Linux-x86-64.zip
我们按照升级补丁中README一步步安装即可顺利完成,下面将步骤简化
Step1,解压补丁介质到解压目录(通过grid用户)。
unzip p29708769_190000_Linux-x86-64.zip -d <指定位置>
Step2,备份grid,oracle rac软件。
使用root用户,采用tar进行备份,注意空间大小。
#tar -cf app.tar app
Step3,切换到root用户安装补丁,通过opatchauto工具。
a) opatchauto 将grid和oracle rac一起安装。(不推荐,出问题不可控)
#export GI_HOME=<路径>
#$GI_HOME/OPatch/opatchauto apply <指定位置>/29708769
b)opatchauto 将grid,oracle rac分别安装
====>安装GRID
#export GI_HOME=<路径>
#$GI_HOME/OPatch/opatchauto apply <指定位置>/29708769
====>安装Oracle RAC
#export ORACLE_HOME=<路径>
#$ORACLE_HOME/OPatch/opatchauto apply <指定位置>/29708769 -oh $ORACLE_HOME
注:我们采用的是rolling方式安装,每个节点先后安装完grid,oracle rac补丁后,顺利完成后,再切换到其他节点依次完成以上步骤。
19.3 升级到 19.4,在安装非第一节点补丁时,会遇到补丁安装失败。

究其原因,是在oraInventory目录下的文件权限不对引起的。具体文件为:
[root@xxxx ~]# ls -l oracle/app/oraInventory/ContentsXML/oui-patch.xml
-rw-r--r-- 1 oracle oinstall 174 Jul 19 19:04 oracle/app/oraInventory/ContentsXML/oui-patch.xml
同组用户只有读,没有写权限。如现在是oracle用户,具有读写权限,同组用户grid具有读权限,那么grid在安装补丁时,无法更新这个文件,因此会报错。本次补丁将以失败告终。
如果想查看补丁安装的信息
$GI_HOME/cfgtoollogs/opatchauto
//日志类似如下形式
-rwxrwxr-x 1 grid oinstall 113529 Jul 18 22:37 opatchauto2019-07-18_10-24-06PM.log
我们分析一下不同情况失败的应对方法。
一、GRID失败
1)有备份
通过备份恢复,修改以上补丁安装日志中的错误,再进行安装
2)无备份
这就麻烦了,补丁安装失败,不是一开始的失败,而是中途,这样rollback也是失败的。尴尬了,进退都不是!

在尝试了将好的节点软件拷贝到问题节点,集群依然无法拉起。目前没有找到好的办法。最后采用了集群删除节点,添加节点的方法来解决。添加删除节点这个方法简单好用哦!
二、Oracle RAC失败
1)有备份
通过备份恢复,修改以上补丁安装日志中的错误,再进行安装
2)无备份
只需将已经安装好补丁的节点oracle rac软件,备份恢复到问题节点即可。
有朋友有其他方法解决,欢迎联系哦!!!

认真去做一件事,是态度;
坚持去做一件事,是能力;
不管未来的世界有多么不可预测,都要不忘初心!




