1.关闭所有instance

SQL> shutdown immediate 

2.关闭所有监听

$[oracle@ora_11g test01]$ lsnrctl stop

3.关闭所有后台sqlplus
[oracle@ora_11g 14275605]$ ps -ef | grep sqlplus
oracle   11823  6859  0 20:20 pts/2    00:00:00 grep sqlplus

4.进入14275605 psu 解压目录,确保14275605权限为oracle:oinstall
[oracle@ora_11g ~]$ cd /oinstall/14275605/
[oracle@ora_11g 14275605]$ pwd
/oinstall/14275605
[oracle@ora_11g 14275605]$ ls -al 
drwxrwxr-x 6 oracle oinstall 4096 Oct 12 15:29 .
drwxr-xr-x 5 oracle oinstall 4096 Dec 17 20:00 ..
drwxr-xr-x 4 oracle oinstall 4096 Apr  4  2012 13343438
drwxrwxr-x 4 oracle oinstall 4096 Apr  4  2012 13696216
drwxrwxr-x 4 oracle oinstall 4096 Jun 13  2012 13923374
drwxrwxr-x 4 oracle oinstall 4096 Oct  4 09:38 14275605
-rwxr-xr-x 1 oracle oinstall 2871 Oct  4 09:38 patchmd.xml

5.检查OPATCH版本,如果版本过低需要到MOS下载最近的OPATCH psu号为为6880880
[oracle@ora_11g 14275605]$ $ORACLE_HOME/OPatch/opatch  version
OPatch Version: 11.2.0.3.0

OPatch succeeded.

6.检查是否有与14275605有冲突的PSU
[oracle@ora_11g 14275605]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 11.2.0.3.0
Copyright (c) 2012, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /opt/oracle/product/db_1
Central Inventory : /opt/oraInventory
   from           : /opt/oracle/product/db_1/oraInst.loc
OPatch version    : 11.2.0.3.0
OUI version       : 11.2.0.3.0
Log file location : /opt/oracle/product/db_1/cfgtoollogs/opatch/opatch2012-12-18_20-05-23PM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.


7.应用14275605 database PSU
[oracle@ora_11g 14275605]$ /opt/oracle/product/db_1/OPatch/opatch apply
Oracle Interim Patch Installer version 11.2.0.3.0
Copyright (c) 2012, Oracle Corporation.  All rights reserved.


Oracle Home       : /opt/oracle/product/db_1
Central Inventory : /opt/oraInventory
   from           : /opt/oracle/product/db_1/oraInst.loc
OPatch version    : 11.2.0.3.0
OUI version       : 11.2.0.3.0
Log file location : /opt/oracle/product/db_1/cfgtoollogs/opatch/opatch2012-12-18_20-09-24PM_1.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   13343438  13696216  13923374  14275605  

Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name: 

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  y

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/opt/oracle/product/db_1')


Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying sub-patch '13343438' to OH '/opt/oracle/product/db_1'

Patching component oracle.rdbms.rsf, 11.2.0.3.0...

Patching component oracle.rdbms, 11.2.0.3.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.3.0...

Verifying the update...
Applying sub-patch '13696216' to OH '/opt/oracle/product/db_1'

Patching component oracle.rdbms.rsf, 11.2.0.3.0...

Patching component oracle.rdbms, 11.2.0.3.0...

Patching component oracle.sdo.locator, 11.2.0.3.0...

Patching component oracle.sysman.console.db, 11.2.0.3.0...

Patching component oracle.sysman.oms.core, 10.2.0.4.4...

Verifying the update...
Applying sub-patch '13923374' to OH '/opt/oracle/product/db_1'
ApplySession: Optional component(s) [ oracle.network.cman, 11.2.0.3.0 ]  not present in the Oracle Home or a higher version is found.

Patching component oracle.rdbms.rsf, 11.2.0.3.0...

Patching component oracle.rdbms, 11.2.0.3.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.3.0...

Patching component oracle.network.rsf, 11.2.0.3.0...

Patching component oracle.network.listener, 11.2.0.3.0...

Patching component oracle.sysman.console.db, 11.2.0.3.0...

Verifying the update...
Applying sub-patch '14275605' to OH '/opt/oracle/product/db_1'
ApplySession: Optional component(s) [ oracle.precomp.lang, 11.2.0.3.0 ]  not present in the Oracle Home or a higher version is found.

Patching component oracle.network.client, 11.2.0.3.0...

Patching component oracle.network.rsf, 11.2.0.3.0...

Patching component oracle.precomp.common, 11.2.0.3.0...

Patching component oracle.rdbms, 11.2.0.3.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.3.0...

Patching component oracle.rdbms.rman, 11.2.0.3.0...

Patching component oracle.rdbms.rsf, 11.2.0.3.0...

Patching component oracle.rdbms.util, 11.2.0.3.0...

Verifying the update...

OPatch found the word "warning" in the stderr of the make command.
Please look at this stderr. You can re-run this make command.
Stderr output:
ins_precomp.mk:19: warning: overriding commands for target `pcscfg.cfg'
/opt/oracle/product/db_1/precomp/lib/env_precomp.mk:2160: warning: ignoring old commands for target `pcscfg.cfg'
/opt/oracle/product/db_1/precomp/lib/ins_precomp.mk:19: warning: overriding commands for target `pcscfg.cfg'
/opt/oracle/product/db_1/precomp/lib/env_precomp.mk:2160: warning: ignoring old commands for target `pcscfg.cfg'


Composite patch 14275605 successfully applied.
OPatch Session completed with warnings.
Log file location: /opt/oracle/product/db_1/cfgtoollogs/opatch/opatch2012-12-18_20-09-24PM_1.log

OPatch completed with warnings.


8.进入admin目录,执行catbundle.sql脚本应用改变
[oracle@ora_11g 14275605]$ cd  $ORACLE_HOME/rdbms/admin
[oracle@ora_11g admin]$ sqlplus  / as sysdba

SQL> startup

SQL> @catbundle.sql psu apply

查询registry$history 来查看PSU级别

SQL>select substr(action_time,1,30) action_time, 
    substr(id,1,8) id, 
    substr(action,1,10) action, 
    substr(version,1,8) version, 
    substr(comments,1,20) comments 
    from registry$history;

ACTION_TIME                    ID    ACTION     VERSION    COMMENTS
------------------------------ ----- ---------- ---------- -----------------------
17-DEC-12 03.14.08.703547 PM   0     APPLY      11.2.0.3   Patchset 11.2.0.2.0
18-DEC-12 08.13.16.342146 PM   4     APPLY      11.2.0.3   PSU 11.2.0.3.4


9.在以下目录检查是否错误

$ORACLE_HOME/cfgtoollogs/catbundle 
$ORACLE_BASE/cfgtoollogs/catbundle 
日志格式如下:
catbundle_PSU_<database SID>_APPLY_<TIMESTAMP>.log
catbundle_PSU_<database SID>_GENERATE_<TIMESTAMP>.log

到此 PSU数据库升级完成

10.执行完catbundle.sql后,会在$ORACLE_HOME/rdbms/admin目录下生成
catbundle_PSU_<database SID>_APPLY.sql,catbundle_PSU_<database SID>_ROLLBACK.sql两个脚本

[oracle@ora_11g admin]$ ls -al catbundle_PSU_TEST01_*
-rw-r----- 1 oracle oinstall 1130 Dec 18 20:13 catbundle_PSU_TEST01_APPLY.sql
-rw-r----- 1 oracle oinstall 1139 Dec 18 20:13 catbundle_PSU_TEST01_ROLLBACK.sql

catbundle_PSU_TEST01_ROLLBACK.sql用于回滚PSU时使用