共计 2126 个字符,预计需要花费 6 分钟才能阅读完成。
说明:此次环境的 patch p6880880_112000_Linux-x86-64.zip 和 p25476126_112040_Linux-x86-64.zip 均放在 /soft 目录,
且 grid 和 Oracle 用户对 /soft 目录具有读写权限,全程只需要 root 用户执行即可。
数据库版本 | 11.2.0.4 |
PSU | 11.2.0.4.20170418 |
GI 安装目录 | /u01/app/11.2.0/grid |
DB 安装目录 | /u01/app/oracle/product/11.2.0/dbhome_1 |
注:以下操作均是由 root 用户两节点分别执行
1. 替换 OPatch
su – root
export GRID_HOME=/u01/app/11.2.0/grid
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
# 替换 grid 的 opatch
cd $GRID_HOME;mv OPatch OPatch.`date +%Y%m%d`
unzip /soft/p6880880_112000_Linux-x86-64.zip -d $GRID_HOME
chown -R grid:oinstall $GRID_HOME/OPatch
# 替换 database 的 opatch
cd $ORACLE_HOME;mv OPatch OPatch.`date +%Y%m%d`
unzip /soft/p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
chown -R oracle:oinstall $ORACLE_HOME/OPatch
2. 验证 opatch 替换情况:
su – grid -c ‘ $ORACLE_HOME/OPatch/opatch version’
OPatch Version: 11.2.0.3.12
OPatch succeeded.
su – oracle -c ‘ $ORACLE_HOME/OPatch/opatch version’
OPatch Version: 11.2.0.3.12
OPatch succeeded.
3. 解压补丁到 /soft 目录:
su – grid -c ‘cd /soft ; unzip p25476126_112040_Linux-x86-64.zip’
4. 冲突检查
su – grid -c ‘$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/25476126 -oh $ORACLE_HOME’
su – oracle -c ‘$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/25476126 -oh $ORACLE_HOME’
5. 生成 ocm.rsp 文件
su – grid -c ‘cd /soft; $ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner ‘
6. 开始自动打 PSU
root 用户执行:
/u01/app/11.2.0/grid/OPatch/opatch auto /soft/25476126 -ocmrf /soft/ocm.rsp
# – 注:如果 dbca 建库了,上面脚本会同时把 grid 和 database 打上 PSU,如果是新装 RAC 还未建库,则只会安装 grid 的 psu,database 需要额外命令打上 psu。
– 打 database psu 命令:
/u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch auto /soft/25476126 -oh /u01/app/oracle/product/11.2.0/dbhome_1 -ocmrf /soft/ocm.rsp
7. 验证安装 PSU 结果:
su – grid -c ‘$ORACLE_HOME/OPatch/opatch lsinv’
su – oracle -c ‘$ORACLE_HOME/OPatch/opatch lsinv’
# — 如果是新装 RAC,还未建库,则下面操作无需进行。
8. 运行脚本,应用 psu
su – oracle -c ‘sqlplus / as sysdba'<<EOF
@?/rdbms/admin/catbundle.sql psu apply
EOF
9. 执行 utlrp 脚本
su – oracle -c ‘sqlplus / as sysdba'<<EOF
@?/rdbms/admin/utlrp.sql
EOF
10. 验证 psu 应用情况
su – oracle -c ‘sqlplus / as sysdba'<<EOF
set line 150
col ACTION_TIME for a30
col ACTION for a8
col NAMESPACE for a8
col VERSION for a10
col BUNDLE_SERIES for a5
col COMMENTS for a20
select * from dba_registry_history;
EOF
更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12