

其实,就是在这里翻译一下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,有新的补丁记录就对了,完事儿。
然后lspatches检查,
然后起数据库实例,再到下一个节点停数据库实例
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31532509/viewspace-2153878/ ,如需转载,请注明出处,否则将追究法律责任。