已索引
环境:GI home and the database homes that are not shared and Oracle ACFS file system is not configured.
以 p31718723_112040_Linux-x86-64.zip (11.2.0.4.201020,OCT2020,11g最后一个能公开下载的PSU) 为例。
下面是给 GI 与 DB 软件一键打 PSU 补丁的方法,根据补丁的不同,安装方法可能有所差异,请参考 README 文件。
1.更新 opatch 工具(所有节点,所有用户)
将 opatch 压缩包下载到一个临时目录,以被更新目录属主身份执行如下命令更新:
$ unzip <OPATCH-ZIP> -d $ORACLE_HOME
$ $ORACLE_HOME/OPatch/opatch version
所有节点的 GRID_HOME 目录和 ORACLE_HOME 目录下的 OPatch 目录都需要被更新。
2.检查产品清单文件一致性(所有节点,所有用户)
在所有节点上分别以 oracle 和 grid 用户执行如下命令:
$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
3.停止 EM Agent
As the Oracle RAC database home owner execute:
$ $ORACLE_HOME/bin/emctl stop dbconsole
4.停止 TFA
补丁 README 上没有这一步,但实际打补丁的时候因为 TFA 失败过,关闭就好了。
# $GRID_HOME/bin/tfactl stop
5.One-off Patch 冲突检测与处理
如果之前打过单补丁的话,做冲突检测与处理,如果之前没有单独打过某个补丁,一直都是打的PSU,则跳过。
6.使用 opatch auto 打补丁(所有节点)
准备一个共享空目录,该目录被称为 <UNZIPPED_PATCH_LOCATION>,属主建议设置为 grid.oinstall。将补丁包放到里面。
以grid用户身份解压:
$ cd <UNZIPPED_PATCH_LOCATION>
$ unzip p31718723_112040_Linux-x86-64.zip
$ chmod -R 755 31718723/
以 root 身份打补丁:
As root user, execute the following command on each node of the cluster:
/data/app/11.2.0/grid/OPatch/opatch auto <UNZIPPED_PATCH_LOCATION>/31718723
完成后,在第二个节点上执行opatch命令。
7.Loading Modified SQL Files into the Database
只需要在其中一个节点上执行:
$ cd /data/app/oracle/product/11.2.0/db_1/rdbms/admin/
$ sqlplus / as sysdba;
SQL> @catbundle.sql psu apply