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

[Oracle]19c RU升级提示坑!

DigOps 2019-07-20
579

是时候

关注

我们一波了


导语

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版本一些小细节。


1
升级环境

操作系统   :RHEL 7.x

数据库版本:Oracle 19.3

数据库架构:RAC

升级补丁   :p29708769_190000_Linux-x86-64.zip




2
升级步骤

我们按照升级补丁中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补丁后,顺利完成后,再切换到其他节点依次完成以上步骤。



3
注意事项

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软件,备份恢复到问题节点即可。




有朋友有其他方法解决,欢迎联系哦!!!



认真去做一件事,是态度;

坚持去做一件事,是能力;

不管未来的世界有多么不可预测,都要不忘初心!










文章转载自DigOps,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论