如何打补丁PSU

网友投稿 338 2023-12-27

如何打补丁PSU

这篇文章主要讲解了“如何打补丁PSU”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何打补丁PSU”吧!

如何打补丁PSU

首先说一下-补丁和最新opatch的方法:

都再mos上:

-补丁:直接搜索2118136.2,这是文档id

-optach:点击补丁程序和更新程序标签,然后搜索6880880

接下来我们说下常用到的PSU:

我们这里之说linux的,主要有DB,GI+DB,GI+DB+OJVM

然后我们来说补丁安装:

其实,就是在这里翻译一下readme.html,这里主要介绍一下GI+DB(+OJVM)

OJVM记住一点就好,要单独用oracle用去打,并且,这个是不支持rolling upgrade的,也就是说,集群必须都得停。

然后说GI+DB:

首先,不管咋说,都要先查看opatch的版本

grid用户跟oracle用户都要查,在各自的$ORACLE_HOME/OPatch/下:

./opatch version

然后用这个version,比对readme里面要求的该补丁至少需要啥版本的opatch。要我说,直接那最新的opatch升了就对了,升级opatch的方法:

-对应系统版本的OPatch,然后在grid和oracle用户下都要执行,因为各是各的Opatch工具:

unzip 压缩包 -d $ORACLE_HOME

然后选择全部覆盖,就是输入一个A就ok了

然后要生成一个rsp文件,反正就grid下生成嘛:(12.2.0.1.5以上版本就不用了

$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /opt/ocm.rsp

反正就是这个rsp不管放哪儿,必须保证oracle用户和grid用户都能访问的到,后面说为啥

然后一切准备就绪,root用建个空目录,一定得是个空目录,比如:

mkdir /GI

然后把压缩包拷到这个目录下,给个777权限:

chmod 777 -R /GI

然后用grid用户解压补丁包就解压在这个路径下:

su - grid

cd /GI

unzip 补丁包

一般来说,grid home和oracle home都不是share的,如果有acfs,不管咋说,都得先umount,然后我们就用opatch auto直接打,这里我们用rolling upgrade的方式,就是一个节点一个节点的打,不用停业务。

按文档的方法是,咋说也得先把em停了,

然后以root用户的身份执行:

grid的$ORACLE_HOME/OPatch/opatch auto /GI/GI+DB的目录  -ocmrf /opt/ocm.rsp

完事儿以后在grid用户下,oracle用户下,分别执行:

$ORACLE_HOME/OPatch/opatch lspatches

看看补丁打上没,然后所有节点执行完事儿。

然后在一个节点上执行脚本:

@?/rdbms/amdin/catbundle.sql psu apply

@?/rdbms/admin/utlrp.sql(这个主要时为了重新编译一些java相关的失效的对象)(有时间执行,没时间就算)

然后查一下dba_registry_history,有新的补丁记录就对了,完事儿。

现在解释一下readme中的这个opatch auto:

首先你如果你没有建那个空目录的话,系统就要问你到底是解没解压到一个空目录啊,你确认俩次,因为它是要自己检索每个目录,然后对应的打补丁。

然后,它会把em停,数据库实例停了,asm实例停了,节点停了

接着,它会用grid的用户指定oh=grid_home给GI打补丁,再用oracle用户指定oh=oracle_home给DB打补丁,其中还要以root身份执行对集群操作的脚本,所以这就是为什么:

一定要用root执行打补丁!一定要把ocm.rsp文件放在grid和oracle都能访问的路径!(oracle用户是访问不到/home/grid/下的)

打完补丁,然后把集群起起来,数据库也起起来,em也起起来。

所以说白了,要按readme的方式来,啥都不用停,把acfs umount了就可以。

但是为了保险,避免诸多不可预见的问题,建议如下做:

在要打补丁的节点上,停em,停数据库实例,

sqlplus / as sysdba

shutdown immediate

exit

grid的$ORACLE_HOME/OPatch/opatch auto /GI/GI+DB的目录 -oh grid_home的路径展开(就是意思别直接写$ORACLE_HOME) -ocmrf /opt/ocm.rsp

oracle的$ORACLE_HOME/OPatch/opatch auto /GI/GI+DB的目录 -oh oracle_home的路径展开(就是意思别直接写$ORACLE_HOME) -ocmrf /opt/ocm.rsp

然后lspatches检查,

然后起数据库实例,再到下一个节点停数据库实例

所有节点都打完补丁,再在一个节点上执行脚本,把补丁注册到数据库中。

感谢各位的阅读,以上就是“如何打补丁PSU”的内容了,经过本文的学习后,相信大家对如何打补丁PSU这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Adaptive Cursor Sharing分析
下一篇:Mysql中optimize、Analyze、check维护操作是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~