随笔 - 32,  文章 - 0,  评论 - 16,  阅读 - 38950

 

说明:此次环境的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

 

posted on   颩~  阅读(736)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示