说明:
$ORACLE_HOME 为oracle软件安装目录(/oracle/app/product/12.2.0/db_1)
$GRID_HOME 为grid安装目录(/oracle/grid)
一、解压opatch工具
1.1Grid用户双节点执行:
$ cd /media
$ unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME
1.2Oracle用户双节点执行:
$ cd /media
$ unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME
查看opatch当前版本
[oracle@ajjrac1 media] opatch version
OPatch Version: 12.2.0.1.12
OPatch succeeded.
二、解压补丁包
在双节点执行(grid或oracle用户都可以)
$ cd /media
$ unzip p27100009_122010_Linux-x86-64.zip
三、安装过程
检查readme文件:
|
Patch Number Description Applicable Homes 27105253 DB RU 12.2.0.1.180116 Only DB Home for non-Oracle RAC setup. Both DB Homes and Grid Home for Oracle RAC setup. 27335416 OCW RU 12.2.0.1.180116 Both DB Homes and Grid Home 27128906 ACFS RU 12.2.0.1.171115 Only Grid Home 26839277 DBWLM RU 12.2.0.1.170913 Only Grid Home 27144050 TOMCAT RU 12.2.0.1.170723.0830 Only Grid Home |
具体过程如下:
注意:和11g不同,12.2打补丁需要一个节点一个节点来,不能同时进行!!!!
1.oracle用户执行(要记住这个status.lst文件的目录)
1节点:
$ /oracle/app/product/12.2.0/db_1/bin/srvctl stop home -o /oracle/app/product/12.2.0/db_1 -s /media/status.lst -n ajjrac1
2节点:
$ /oracle/app/product/12.2.0/db_1/bin/srvctl stop home -o /oracle/app/product/12.2.0/db_1 -s /media/status.lst -n ajjrac2
2. root用户执行
# /oracle/grid/crs/install/rootcrs.sh -prepatch
3. grid用户执行
$
$
$
$
$
此处是:
$ /oracle/grid/OPatch/opatch apply -oh /oracle/grid -local /media/27100009/27335416
$ /oracle/grid/OPatch/opatch apply -oh /oracle/grid -local /media/27100009/27128906
$ /oracle/grid/OPatch/opatch apply -oh /oracle/grid -local /media/27100009/26839277
$ /oracle/grid/OPatch/opatch apply -oh /oracle/grid -local /media/27100009/27105253
$ /oracle/grid/OPatch/opatch apply -oh /oracle/grid -local /media/27100009/27144050
4. oracle用户执行
此处是:
$ /media/27100009/27335416/custom/scripts/prepatch.sh -dbhome /oracle/app/product/12.2.0/db_1
5. oracle用户执行
$
$
此处是:
$ /oracle/app/product/12.2.0/db_1/OPatch/opatch apply -oh /oracle/app/product/12.2.0/db_1 -local /media/27100009/27335416
$ /oracle/app/product/12.2.0/db_1/OPatch/opatch apply -oh /oracle/app/product/12.2.0/db_1 -local /media/27100009/27105253
6. oracle用户执行
$
此处是:
$ /media/27100009/27335416/custom/scripts/postpatch.sh -dbhome /oracle/app/product/12.2.0/db_1
7.root用户执行
# /oracle/grid/rdbms/install/rootadd_rdbms.sh
# /oracle/grid/crs/install/rootcrs.sh -postpatch
8. oracle用户执行,/oracle/soft/status.lst是在第一步指定的文件
1节点:
$ /oracle/app/product/12.2.0/db_1/bin/srvctl start home -o /oracle/app/product/12.2.0/db_1 -s /media/status.lst -n ajjrac1
2节点:
$ /oracle/app/product/12.2.0/db_1/bin/srvctl start home -o /oracle/app/product/12.2.0/db_1 -s /media/status.lst -n ajjrac2
注:一个节点做完再打另一个节点
如果是在没库的情况下打PSU的,那么到这里就基本结束了,到第10步验证一下就好了;但是如果是在有库的前提下打PSU,那么还要进行地9步,
在集群的其中一个节点上执行下面的语句,最后再验证:
9.数据库应用PSU
启动数据库后(如果是cdb数据库,打开所有pdb:alter pluggable database all open;):
$ cd $ORACLE_HOME/OPatch
./datapatch -verbose
10.验证psu:
Gird用户双节点
$opatch lsinventory
oracle用户双节点
$opatch lsinventory