1.数据库当前版本
sql> select * from v$version;@H_502_3@
BANNER@H_502_3@
--------------------------------------------------------------------------------@H_502_3@
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production@H_502_3@
PL/sql Release 11.2.0.4.0 - Production@H_502_3@
CORE 11.2.0.4.0 Production@H_502_3@
TNS for Linux: Version 11.2.0.4.0 - Production@H_502_3@
NLSRTL Version 11.2.0.4.0 - Production@H_502_3@
2.上传11.2.0.4.160419补丁包并解压
[oraprod@ebsprod 11.2.0.4.16_patch]$ unzip p22502456_112040_Linux-x86-64\(1\).zip@H_502_3@
@H_502_3@
3.查看补丁升级官方文档说明
[oraprod@ebsprod OPatch]$ firefox README.html@H_502_3@
仔细阅读文档,了解升级前的注意事项。其中文档中要求OPatch版本在11.2.0.3.6以上应用这个补丁@H_502_3@
You must use the OPatch utility version 11.2.0.3.6 or later to apply this patch. Oracle recommends that you use the latest released OPatch version for 11.2,which is available for download from My Oracle Support patch6880880by selecting the 11.2.0.0.0 release.@H_502_3@
For information about OPatch documentation,including any known issues,see My Oracle Support Document293369.1OPatch documentation list.@H_502_3@
4.查看OPatch版本,并升级OPatch
[oraprod@ebsprod OPatch]$ /u01/app/oracle/product/11.2.0/db_1/OPatch/opatch version@H_502_3@
OPatch Version: 11.2.0.3.4@H_502_3@
OPatch succeeded.@H_502_3@
----版本过低,需要先升级OPatch版本,按照文档要求,官方找到p6880880包下载@H_502_3@
@H_502_3@
[oraprod@ebsprod OPatch]$ unzip p6880880_112000_Linux-x86-64.zip@H_502_3@
[oracle@zyx OPatch]$ pwd@H_502_3@
/install/OPatch@H_502_3@
[oraprod@ebsprod OPatch]$ more README.txt ------查看说明文档@H_502_3@
@H_502_3@
How to install the utility:@H_502_3@
---------------------------@H_502_3@
To install this patch,Please extract the file "zipped file" using unzip or winzip,@H_502_3@
depending upon the platform. You should extract the zip file directly under the@H_502_3@
ORACLE_HOME. Please follow the following steps for extracting the zip file of OPatch.@H_502_3@
(1) Please take a backup of $ORACLE_HOME/OPatch into a dedicated backup@H_502_3@
location.@H_502_3@
(2) Please remove the contents of $ORACLE_HOME/OPatch directory (Please do not@H_502_3@
remove $ORACLE_HOME/OPatch directory itself)@H_502_3@
(3) Please unzip the OPatch downloaded zip into $ORACLE_HOME directory.@H_502_3@
To check the version of the opatch utility installed in the above step,@H_502_3@
go to the $ORACLE_HOME/OPatch directory and run "opatch version".@H_502_3@
@H_502_3@
----文档中说,可以先将$ORACLE_HOME/OPatch下的文件拷贝到其他路径备份,然后将下载的新版本覆盖该目录@H_502_3@
----当然,如果不做备份,也可以直接将新版本解压覆盖$ORACLE_HOME/OPatch@H_502_3@
[oraprod@ebsprod OPatch]$unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME@H_502_3@
Archive: p6880880_112000_Linux-x86-64.zip@H_502_3@
replace /u01/app/oracle/product/11.2.0/db_1/OPatch/jlib/oracle.opatch.classpath.jar? [y]es,[n]o,[A]ll,[N]one,[r]ename: A@H_502_3@
@H_502_3@
----再次检查一下版本@H_502_3@
[oraprod@ebsprod OPatch]$ ./opatch version
OPatch Version: 11.2.0.3.12
OPatch succeeded.
[oraprod@ebsprod OPatch]$
@H_502_3@
@H_502_3@
5.检测PSU补丁是否与当前环境存在冲突
[oraprod@ebsprod OPatch]$ /u01/app/oracle/product/11.2.0/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./@H_502_3@
@H_502_3@
[oraprod@ebsprod OPatch]$ lsnrctl stop@H_502_3@
@H_502_3@
7.开始升级
----在补丁目录下应用补丁@H_502_3@
[oraprod@ebsprod OPatch]$ $ORACLE_HOME/OPatch/opatch apply@H_502_3@
@H_502_3@
----应用补丁成功之后,执行catbundle.sql将补丁信息反射到数据库中,使数据库知道你最后一次打了什么补丁或者回滚了哪些补丁:@H_502_3@
sql> @?/rdbms/admin/catbundle.sql psu apply@H_502_3@
@H_502_3@
----完成后,启动监听@H_502_3@
sql> ho lsnrctl start PROD
@H_502_3@
@H_502_3@
8.查看升级后版本
sql> l
1* select action,comments from registry$history
sql> /
ACTION COMMENTS
------------------------------ ------------------------------
VIEW INVALIDATE view invalidation
UPGRADE Upgraded from 11.1.0.7.0
APPLY Patchset 11.2.0.2.0
cpu cpuJul2007
UPGRADE Upgraded from 10.2.0.3.0
UPGRADE Upgraded from 11.1.0.6.0
APPLY PSU 11.2.0.4.160419
@H_502_3@
@H_502_3@
sql> l
1* select * from dba_registry_history
sql> /
ACTION_TIME ACTION NAMESPACE VERSION ID BUNDLE_SERIES COMMENTS
----------------------------------- --------------- ---------- ---------- ---------- -------------- --------------------------------------------------------------------------------
18-JUN-16 03.16.46.395527 PM VIEW INVALIDATE 8289601 view invalidation
18-JUN-16 03.23.14.877007 PM UPGRADE SERVER 11.2.0.4.0 Upgraded from 11.1.0.7.0
18-JUN-16 03.25.57.512451 PM APPLY SERVER 11.2.0.4 0 PSU Patchset 11.2.0.2.0
23-JAN-08 04.07.02.182324 PM cpu SERVER 10.2.0.3.0 6079591 cpuJul2007
26-NOV-08 11.39.09.067225 PM UPGRADE SERVER 11.1.0.6.0 Upgraded from 10.2.0.3.0
22-JAN-09 04.34.49.320298 AM UPGRADE SERVER 11.1.0.7.0 Upgraded from 11.1.0.6.0
19-JUN-16 03.18.11.237328 PM APPLY SERVER 11.2.0.4 160419 PSU PSU 11.2.0.4.160419
@H_502_3@
9.检测失效对象,编译
select a.OWNER,count(1) from dba_objects a where a.status='INVALID' group by a.OWNER@H_502_3@
@H_502_3@
----如果有失效对象,可以执行下面脚本编译@H_502_3@