Upgrading Oracle E-Business Suite R12.2.0 to R12.2.2
This is a sub-post to Installing Oracle E-Business Suite R12.2.
In general the patching process takes longer time than to install R12.2.0 so be sure to do plenty of cold-backups.
Patch Directory
For all patches; you need to download and unzip the patches in $PATCH_TOP:
# . vis.sh
# mv {zipfile} $PATCH_TOP
# cd $PATCH_TOP
# unzip "{zipfile}"
Patches
This is the official list of patches to upgrade to R12.2.2:
Sequence |
Type |
Patch |
Note |
File/Notes |
1 |
Opatch |
12415211 |
1330701.1 |
p12415211_10105_LINUX.zip |
2 |
Adop |
17064510 |
1320300.1 |
p17064510_R12.TXK.C_R12_GENERIC.zip |
3 |
Adadmin |
Create Snapshot |
1320300.1 |
|
4 |
Opatch |
16924879 |
1320300.1 |
p16924879_121010_Generic.zip |
5 |
Opatch |
17047617 |
1320300.1 |
p17047617_112030_Linux-x86-64.zip |
6 |
Opatch |
17184721 |
1320300.1 |
p17184721_112030_Generic.zip |
7 |
Opatch |
17468141 |
1320300.1 |
p17468141_112030_Linux-x86-64.zip 17468141 replaces 16702016 |
8 |
Sqlplus |
utlirp and utlrp |
1320300.1 |
Very Slow |
9 |
Adop |
Prepare |
||
10 |
Adop |
16605855 |
1320300.1 |
p16605855_12.2.0_R12_GENERIC.zip |
11 |
Adop |
15955263 |
1560906.1 |
p15955263_R12.AD.C_R12_LINUX.zip Very slow |
12 |
Adop |
15946788 |
1560906.1 |
p15946788_R12.TXK.C_R12_GENERIC.zip |
13 |
Adop |
16207672 |
1506669.1 |
Initial R12.2 download: V37515*.zip Very slow |
14 |
Adop |
16207673 |
1506669.1 |
p16207673_R12_GENERIC.zip |
15 | Adop | 17305947 | 1506669.1 | p17305947_R12.FND.C_R12_GENERIC.zip |
16 |
Adop |
Finalize |
||
17 |
Adop |
Cutover |
||
18 |
Adop |
Cleanup |
Very slow |
|
19 |
Adop |
fs_clone |
The official process is to run all of these but I also tries a faster approach, which is just to run the Adop patches. This worked just fine and was much faster. This is the un-official patch process.
Official patch process
This includes both Opatch and Adop patches.
Opatch
As opatch path varies with environment so always use:
# $ORACLE_HOME/OPatch/opatch
Patch 12415211
This is really an R12.2.0 post installation patch.
Apply this patch to fs1:
# runenv
Stop all services:
# adstpall apps/apps
Enter the WLSADMIN password: Oracle122
# addbctl stop
# addlnctl stop VIS
Apply opatch:
# cd $PATCH_TOP/12415211
# $ORACLE_HOME/OPatch/opatch apply -invPtrLoc /etc/oraInst.loc
Email address/User Name: {Enter}
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: {Y}
Is this system ready for updating?
Please respond Y|N > {Y}
Manual steps:
# cd <12.2_INSTALL_DIR>/fs1/EBSapps/10.1.2/lib
# cp -p -R stubs stubsORIG
# cd stubs
# cp $PATCH_TOP/12415211/files/lib/stubs/libgcc_s-2.3.2-stub.so .
# ln -sf libgcc_s-2.3.2-stub.so libgcc_s.so.1
# ln -sf libgcc_s.so.1 libgcc_s.so
Relink all products:
# $ORACLE_HOME/bin/relink all
Start all services again:
# addbctl stop
# addlnctl stop VIS
# adstpall apps/apps
Enter the WLSADMIN password: Oracle122
Patch 17064510
Ensure all services are running.
Use adop:
# runenv
# cd $PATCH_TOP
# adop phase=apply hotpatch=yes patches=17064510
Enter the APPS password: apps
Enter the SYSTEM password: manager
Enter the WLSADMIN password: Oracle122
Enter the RUN file system context file name:{Enter}
Create Snapshot
Use adadmin:
# runenv
# adadmin
Is this the correct APPL_TOP [Yes] ? {Enter}
Filename [adadmin.log] : {Enter}
Do you wish to activate this feature [No] ? {Enter}
Please enter the batchsize [1000] : {Enter}
Is this the correct database [Yes] ? {Enter}
Enter the password for your ‘SYSTEM’ ORACLE schema: manager
Enter the ORACLE password of Application Object Library [APPS] : apps
2. Maintain Applications Files menu
4. Maintain Snapshot Information
2. Update Current View Snapshot
1. Update Complete APPL_TOP
Review the messages above, then press [Return] to continue. {Enter}
7. Return to Maintain Applications Files menu
6. Return to Main Menu
5. Exit AD Administration
Patch 16924879
Stop all services:
# runenv
# adstpall apps/apps
Enter the WLSADMIN password: Oracle122
# addbctl stop
# addlnctl stop VIS
Source database environment for Opatch:
# dbenv
# cd $PATCH_TOP/16924879
# $ORACLE_HOME/OPatch/opatch apply -invPtrLoc /etc/oraInst.loc
Patch "16924879" is not needed since it has no fixes for this Oracle Home
Patch 17047617
# cd $PATCH_TOP/17047617
# $ORACLE_HOME/OPatch/opatch apply -invPtrLoc /etc/oraInst.loc
Email address/User Name: {Enter}
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: {Y}
Is the local system ready for patching? [y|n] {Y}
Patch 17184721
# cd $PATCH_TOP/17184721
# $ORACLE_HOME/OPatch/opatch apply -invPtrLoc /etc/oraInst.loc
Email address/User Name: {Enter}
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: {Y}
Is the local system ready for patching? [y|n] {Y}
# addbctl start
# sqlplus / as sysdba
SQL> start postinstall.sql
SQL> exit
# addbctl stop
Patch 17468141
# cd $PATCH_TOP/17468141
# $ORACLE_HOME/OPatch/opatch apply -invPtrLoc /etc/oraInst.loc
Email address/User Name: {Enter}
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: {Y}
Is the local system ready for patching? [y|n] {Y}
You may get – but ignore:
OPatch Session completed with warnings.
Run utlirp and utlrp
Beware this will run for a long time as it will create 100,000+ invalid objects that will be compiled.
Use sqlplus:
# dbenv
# sqlplus / as sysdba
SQL> shutdown immediate
SQL> startup upgrade
SQL> start $ORACLE_HOME/rdbms/admin/utlirp.sql
SQL> shutdown immediate
SQL> startup
SQL> start $ORACLE_HOME/rdbms/admin/utlrp.sql
SQL> start $ORACLE_HOME/rdbms/admin/utldtchk.sql
SQL> exit
In case the compilation gets stuck – stop the above process and try this:
# sqlplus system/manager
SQL> begin
SQL> sys.utl_recomp.recomp_serial();
SQL> end;
SQL> /
As the previous step takes a long time to complete it is a good idea to backup now.
Patch 16605855
Set environment:
# runenv
# cd $PATCH_TOP
Stop middle tier and start admin server:
# adstpall apps/apps
Enter the WLSADMIN password: Oracle122
# adadminsrvctl start
Enter the WLSADMIN password: Oracle122
Enter the APPS Schema password: apps
Use adop:
# adop phase=apply patches=16605855 hotpatch=yes
Enter the APPS password: apps
Enter the SYSTEM password: manager
Enter the WLSADMIN password: Oracle122
Enter the RUN file system context file name: {enter}
This creates <1000 invalid objects so not too bad.
Restart middle tier:
# adstrtal apps/apps
Enter the WLSADMIN password: Oracle122
Adop Prepare
The following patches can all be applied in same session however the middle tier must be running if not started already:
# runenv
# adstrtal apps/apps
Enter the WebLogic Admin password: Oracle122
Prepare for the patches:
# adop phase=prepare
Enter the APPS password: apps
Enter the SYSTEM password: manager
Enter the WLSADMIN password: Oracle122
Enter the RUN file system context file name: {enter}
Enter the PATCH file system context file name: {enter}
Patch 15955263
Adop Prepare
Use sqlplus:
# dbenv
# cd $PATCH_TOP
# sqlplus /nolog @15955263/admin/adgrants.sql apps
Use adop:
# runenv
# adop phase=apply patches=15955263
…
15955263 will run for a very, very long time – so do not kill.
However it may get stuck. In that case kill the patch and shutdown the middle tier and compile all objects from sqlplus. Then restart middle tier and restart adop patch using:
# adop phase=apply patches=15955263 restart=yes
Patch 15946788
Now the second patch:
# adop phase=apply patches=15946788
…
Patch 16207672
Use adop:
# runenv
# cd $PATCH_TOP
# mv /oracle/Stage122/V37515*.zip .
# unzip "V37515*.zip"
# adop phase=apply patches=16207672
…
16207672 will run for a very, very long time – so do not kill.
Patch 16207673
# adop phase=apply patches=16207673
…
Patch 17305947
# adop phase=apply patches=17305947
…
Adop Final Steps
Doing these one by one is case of problems…
Ready the instance for cutover:
# adop phase=finalize
Make the patch edition the new run edition:
# adop phase=cutover
Source the environment again:
# vis
Drop obsolete objects and data from old editions:
# adop phase=cleanup
Adop Clone
Copy the run file system to the patch file system:
# adop phase=fs_clone
…
Done
Un-official Patch Process
This will only apply the Adop based patches.
Patch 17064510
# runenv
# adop phase=apply hotpatch=yes patches=17064510
Patch 16605855
Stop middle tier and start admin server:
# adstpall apps/apps
# adadminsrvctl start
Use adop:
# adop phase=apply hotpatch=yes patches=16605855
Restart middle tier:
# adstrtal apps/apps
Patch 15955263
# adop phase=prepare
Use sqlplus:
# dbenv
# cd $PATCH_TOP
# sqlplus /nolog @15955263/admin/adgrants.sql apps
Use adop:
# runenv
# adop phase=apply patches=15955263
Patch 15946788
Use adop:
# adop phase=apply patches=15946788
Patches 16207672
Use adop:
# adop phase=apply patches=16207672
Patches 16207673
# adop phase=apply patches=16207673
Patches 17305947
# adop phase=apply patches=1730594716207673
Adop Final Steps
Ready the instance for cutover:
# adop phase=finalize
Make the patch edition the new run edition:
# adop phase=cutover
Source the environment again:
# vis
Drop obsolete objects and data from old editions:
# adop phase=cleanup
Clone the file system:
# adop phase=fs_clone
Done…