PSU(Patch Set Update)简单讲就是多个补丁的集合,它减轻了小版本周期长而带来的不能及时更新的影响,解决了多个个别补丁冲突和相互影响的问题,同时减轻DBA安装补丁的负担,减少补丁安装次数。
OPatch工具升级
在升级PSU补丁之前,必须要先升级oracle opatch工具,opatch升级工具为11.2.0.3.5以上版本才能使用
1.修改oracle用户环境变量
[oracle@oracle-linux6 ~]$ vim .bash_profile export PATH=$PATH:$ORACLE_HOME/OPatch
oracle退出重新登录加载环境变量
2.查看opatch版本
[oracle@oracle-linux6 ~]$ opatch version OPatch Version: 11.2.0.3.4
opatch版本过低,需升级
3.opatch最新软件包上传解压并替换原Opatch目录
[oracle@oracle-linux6 ~]$ unzip p6880880_112000_Linux-x86-64.zip [oracle@oracle-linux6 ~]$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.bak [oracle@oracle-linux6 ~]$ cp -R OPatch $ORACLE_HOME
4.检查上传后的opatch版本
[oracle@oracle-linux6 ~]$ opatch version OPatch Version: 11.2.0.3.6
opatch升级完成
PSU补丁安装
1.关闭应用
2.关闭数据库
[oracle@oracle-linux6 ~]$ lsnrctl stop SQL> shutdown immediate;
3.查看数据库补丁情况
[oracle@oracle-linux6 ~]$ opatch lsinventory
发现没有安装补丁包
4.上传补丁包并解压
[oracle@oracle-linux6 ~]$ unzip p26392168_112040_Linux-x86-64.zip
5.补丁安装前预先验证
进入解压后目录,进行补丁安装前的预先验证
[oracle@oracle-linux6 ~]$ cd 26392168/ [oracle@oracle-linux6 26392168]$ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./
验证无误
6.补丁安装
在补丁包解压后目录执行补丁安装命令
[oracle@oracle-linux6 26392168]$ opatch apply
按提示输入y或者回车
补丁安装时退出需退出sqlplus,不然会报错
7.验证安装的补丁
[oracle@oracle-linux6 26392168]$ opatch lsinventory
8.开启数据库更新数据字典
[oracle@oracle-linux6 ~]$ cd $ORACLE_HOME/rdbms/admin [oracle@oracle-linux6 admin]$ sqlplus / as sysdba SQL> startup SQL> @catbundle.sql psu apply
查看日志是否有error报错
9.查看升级记录
select * from dba_registry_history;
PSU补丁卸载
1.关闭监听和数据库
[oracle@oracle-linux6 ~]$ lsnrctl stop SQL> shutdown immediate;
2.查看补丁包
[oracle@oracle-linux6 ~]$ opatch lsinventory
3.卸载补丁集26392168
进入26392168目录
[oracle@oracle-linux6 ~]$ cd 26392168/ [oracle@oracle-linux6 26392168]$ opatch rollback -id 26392168
4.启动数据库更新数据字典