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

image

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…