Enginatics always stays up to date with the latest technology. So right after Oracle E-Business Suite 12.2.8 has been reported to be available, our team was eager to upgrade our EBS Demo 12.2.7 instance to the latest release, so anyone can test Blitz Report™ on the most recent software. Blitz Report™ is a simple and effective reporting solution for Oracle E-Business Suite. Steps that we have taken to perform the upgrade are presented below.

Applying prerequisite patches


Oracle E-Business Suite Release 12.2.8 Readme (Doc ID 2393248.1)

Upgrade Database to or higher

Our EBS 12.2.7 installation has already included Oracle database 12c. So this step will not be covered. Besides database upgrade alone is worth dedicated article. Please refer to upgrade instructions for your specific Oracle Database version on MOS.

Apply Required Database Patches

Determine latest database PSU
Latest patch at moment of research was 28317232 – Combo of OJVM Component DB PSU + DB PSU
It includes two patches:


Download and unzip latest OPatch
Before patches application OPatch always should be updated to avoid unexpected issues.

[oracle@r1227a patches]$ cd $ORACLE_HOME
[oracle@r1227a 12.1.0]$ mv OPatch/ OPatch_bkp
[oracle@r1227a 12.1.0]$ cp ~/patches/p6880880_121010_Linux-x86-64.zip .
[oracle@r1227a 12.1.0]$ unzip p6880880_121010_Linux-x86-64.zip

Determine patches conflicts
If any conflicts are faced, please refer to MOS Documents to resolve them. Alternatively, My Oracle Support Patch Conflict Checker Tool can be used or Create Oracle Service Request can be created.

$ cd 28317232/27547329
$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Prereq “checkConflictAgainstOHWithDetail” passed.

$ cd 28317232/27923320
$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Prereq “checkConflictAgainstOHWithDetail” passed.

Shutdown apps and db services

$ . /u01/install/APPS/EBSapps.env run
$ ./adstpall.sh
$ . /u01/install/APPS/12.1.0/EBSDB_apps.env
$ echo “shu immediate”|sqlplus ‘/as sysdba’
$ lsnrctl stop $ORACLE_SID

Apply patches with OPatch
Start screen to save session in case of network interruptions. If screen utility is not available on your server, I recommend to install it. It’s very handy tool.

$ screen -S patching
$ cd 27547329
$ opatch apply
$ egrep -i “error|fail|ORA-|ac-|rc-/u01/install/APPS/12.1.0/cfgtoollogs/opatch/opatch2018-10-11_10-21-18AM_1.log
$ cd ../27923320
$ opatch apply
$ egrep -i “error|fail|ORA-|ac-|rc-/u01/install/APPS/12.1.0/cfgtoollogs/opatch/opatch2018-10-11_10-23-02AM_1.log

Load Modified SQL Files into the Database
Datapatch can be run once for both OJVM and DB PSU in upgrade mode

SQL> sqlplus ‘/as sysdba’
SQL> startup upgrade
$ cd $ORACLE_HOME/OPatch
$ ./datapatch -verbose
SQL> sqlplus ‘/as sysdba’
SQL> shutdown immediate;
SQL> startup

Recompile invalid objects

$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus ‘/as sysdba’
SQL> @utlrp.sql

Apply latest WLS PSU to patch fs

Remove conflicting patches applied on top of previous WLS PSU:

$ . /u01/install/APPS/EBSapps.env patch
$ cd $FMW_HOME/utils/bsu
$FMW_HOME/utils/bsu/bsu.sh -remove -patchlist=PSVV -prod_dir=$FMW_HOME/wlserver_10.3
$FMW_HOME/utils/bsu/bsu.sh -remove -patchlist=7P2C -prod_dir=$FMW_HOME/wlserver_10.3
$FMW_HOME/utils/bsu/bsu.sh -remove -patchlist=96N5 -prod_dir=$FMW_HOME/wlserver_10.3
$FMW_HOME/utils/bsu/bsu.sh -remove -patchlist=45ET -prod_dir=$FMW_HOME/wlserver_10.3
$FMW_HOME/utils/bsu/bsu.sh -remove -patchlist=FMJJ -prod_dir=$FMW_HOME/wlserver_10.3

Apply Patch 27919965: WLS PATCH SET UPDATE (B47X) to patch fs

$ cp B47X.jar /u01/install/APPS/fs2/FMW_Home/utils/bsu/cache_dir/
$ cd $FMW_HOME/utils/bsu
$FMW_HOME/utils/bsu/bsu.sh -install -patch_download_dir=$FMW_HOME/utils/bsu/cache_dir -patchlist=B47X -prod_dir=$FMW_HOME/wlserver_10.3

Check Weblogic version after patch application

$ . $FMW_HOME/wlserver_10.3/server/bin/setWLSEnv.sh
$ java weblogic.version

WebLogic Server PSU Patch for BUG27919965 THU JUN 14 18:34:42 IST 2018

Apply DB ETCC patches

Run ETCC report on DB tier
Run the latest version of the EBS Technology Codelevel Checker via Patch 17537119. ETCC patches are required as a pre-requisite for latest AD and TXK RUP patches.

$ cd /tmp/patches/patches/ETCC
$ ./checkDBpatch.sh

List of patches to be applied:


All above patches are contained in 28128412 EBS RELEASE 12.2 CONSOLIDATED DATABASE FIXES FOR JUL 2018

Shutdown database instance and rollback conflicting patches.

$ echo “shu immediate”|sqlplus ‘/as sysdba’
$ lsnrctl stop $ORACLE_SID
opatch rollback -id 20204035
opatch rollback -id 25995938

Apply patches
Required patches list:


For all above patches commands to apply are:

$ unzip ‘p*zip’
$ cd <patch dir>
$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
$ opatch apply
$ egrep -i “error|fail|ORA-|ac-|rc-<path to logfile>

Post installation tasks
Run datapatch and recompile invalid objects

$ lsnrctl start $ORACLE_SID
$ cd $ORACLE_HOME/OPatch
$ echo “startup”|sqlplus ‘/as sysdba’
$ ./datapatch -verbose
$ sqlplus ‘/as sysdba’

Re-run ETCC report to ensure, that all patches are applied now

[oracle@apps patches]$ . ~/EBSDB_database.env
[oracle@apps patches]$ ./checkDBpatch.sh
>>All the required one-off bugfixes are present in Database ORACLE_HOME.

Set Database Parameters
Parameters are needed to be adjusted as follows:


Commands to setup parameters are:

SQL> alter system set “_disable_actualization_for_grant”=true;
SQL> alter system set optimizer_adaptive_features=false;

Apply MT ETCC patches

Run ETCC report on MT tier

Run the latest version of the EBS Technology Codelevel Checker via Patch 17537119

$ cd /tmp/patches/patches/ETCC
[oracle@apps patches]$ ./checkMTpatch.sh
Oracle Forms and Reports
  Patch 25342269
    – Filename: p25342269_101232_Generic.zip
  Patch 26825525
    – Filename: p26825525_101232_LINUX.zip
Oracle Fusion Middleware (FMW) – oracle_common
 Patch 13544814
    – Filename: p13544814_111190_Generic.zip
  Patch 16089637
    – Filename: p16089637_111190_Generic.zip
  Patch 20141119
    – Filename: p20141119_111190_Generic.zip
Oracle WebLogic Server (WLS)
Patch 13729611 [SU Patch [47D2]]
    – Filename: p13729611_10360180717_Generic.zip
  Patch 17319481 [SU Patch [TR6Y]]
    – Filename: p17319481_10360180717_Generic.zip
  Patch 19259028 [SU Patch [ISBJ]]
    – Filename: p19259028_10360180717_Generic.zip
  Patch 26795917 [SU Patch [DN1F]]
    – Filename: p26795917_1036_Generic.zip
  Patch 25373406 [SU Patch [9XLF]]
    – Filename: p25373406_10360180717_Generic.zip
  Patch 16684205 [SU Patch [XNBA]]
    – Filename: p16684205_1036_Generic.zip
  Patch 27158972 [SU Patch [9RME]]
– Filename: p27158972_10360180717_Generic.zip

A consolidated zip file with the required application tier patches is
available on My Oracle Support via patch 28128413

Apply MT ETCC patches
For convenience passwords can be assigned to variables, so they don’t have to be provided manually.

$ read -s appspass
$ read -s systempass
$ read -s wlspass

Start new patching cycle (WLS admin server will be started automatically on run fs)

{ echo $appspass; echo $systempass; echo $wlspass; }|adop phase=prepare

Follow patch recommendation summary and apply patches. Patches below are tab-formatted showing dependencies. All pre-requisite patches should be applied before dependent patch.

Oracle Forms and Reports
[-]6880880 latest opatch

Extract latest opatch before patches application

$ mv OPatch/ OPatch_bkp
$ cp ~/patches/p6880880_101000_Linux-x86-64.zip .
$ unzip p6880880_101000_Linux-x86-64.zip
$ rm -f p6880880_101000_Linux-x86-64.zip

Apply patches using following commands:

$ . ~/EBSapps.env patch
$ cd 
$ opatch apply
$ egrep -i “error|warning|fail|ora-|ac-|rc-” “/u01/install/APPS/fs2/EBSapps/10.1.2/.patch_storage/25342269/Apply_25342269_10-11-2018_13-46-26.log” \
Oracle Fusion Middleware (FMW) – oracle_common
[-]6880880 latest opatch 111000

Extract latest opatch

$ . $FMW_HOME/SetOracleCommon.env
$ mv OPatch/ OPatch_bkp
$ cp ~/patches/p6880880_111000_Linux-x86-64.zip .
$ unzip p6880880_111000_Linux-x86-64.zip
$ rm -f p6880880_111000_Linux-x86-64.zip

Patch fs Oracle Home

$ . ~/EBSapps.env patch
$ . $FMW_HOME/SetOracleCommon.env
$ cd  
$ opatch apply

Check logfiles for errors:

egrep -i “error|warning|fail|ora-|ac-|rc-” \
/u01/install/APPS/fs2/FMW_Home/oracle_common/cfgtoollogs/opatch/13544814_Oct_11_2018_14_01_25/apply2018-10-11_14-01-25PM_1.log \
/u01/install/APPS/fs2/FMW_Home/oracle_common/cfgtoollogs/opatch/16089637_Oct_11_2018_14_04_52/apply2018-10-11_14-04-51PM_1.log \
Oracle WebLogic Server (WLS)
13729611 [SU Patch [47D2]]
17319481 [SU Patch [TR6Y]]
19259028 [SU Patch [ISBJ]]
26795917 [SU Patch [DN1F]]
25373406 [SU Patch [9XLF]]
16684205 [SU Patch [XNBA]]
27158972 [SU Patch [9RME]]

Increase memory allocation to prevent bsu fail

vi /u01/install/APPS/fs1/FMW_Home/utils/bsu/bsu.sh

Change from

MEM_ARGS=-Xms512m -Xmx1024m -XX:+UseParallelGC”


MEM_ARGS=-Xms1024m -Xmx2048m -XX:+UseParallelGC”

Apply patches

. ~/EBSapps.env patch
cd $FMW_HOME/utils/bsu
$ cp /tmp/patches/patches/etcc-bundle/LINUX_X86-64/wls/* /u01/install/APPS/fs2/FMW_Home/utils/bsu/cache_dir/
$ cd $FMW_HOME/utils/bsu
$ $FMW_HOME/utils/bsu/bsu.sh -install -patch_download_dir=$FMW_HOME/utils/bsu/cache_dir -patchlist=47D2,TR6Y,ISBJ,DN1F,9XLF,XNBA,9RME -prod_dir=$FMW_HOME/wlserver_10.3

Re-run ETCC report to confirm that now all required patches present.
Apply patch environment as all above patches were installed to patch fs.

[oracle@apps ETCC]$ . ~/EBSapps.env patch

All required one-offs are confirmed as present.

Apply the Latest AD and TXK Delta RUPS

Our system has already had R12.AD.C.Delta.10 (Patch 25820806) and R12.TXK.C.Delta.10 (Patch 25828573) applied.
Following patches are still required: Consolidated Patches for AD and TXK (Patch 27254132:R12.AD.C and Patch 27294892:R12.TXK.C)

Applying the Latest AD and TXK Release Update Packs to Oracle E-Business Suite Release 12.2 (Doc ID 1617461.1)

Patch research

[-]28394214:R12.AD.C //Critical AD patch
[-]27638770:R12.AD.C //Critical AD patch
[-]28714940:R12.AD.C //Critical AD patch
[+]25820806 R12.AD.C.Delta.10 (bug 25820806)
[+]25828573 R12.TXK.C.Delta.10 (bug 25828573)

Execute adgrants script by following the instructions in the readme of Patch 27254132:

1. Create $ORACLE_HOME/appsutil/admin on the database server.

2. Compare the version of adgrants.sql(UNIX) in $APPL_TOP/admin to that in patch directory.

$ grep ‘$Header’ $ORACLE_HOME/appsutil/admin/adgrants.sql
        $Header: adgrants.sql 120.67.12020000.51 2017/02/22 21:26:05 jwsmith ship
$ grep ‘$Header’ /tmp/patches/patches/EBS/27254132/admin/adgrants.sql
        $Header: adgrants.sql 120.67.12020000.60 2018/04/26 02:32:13 jwsmith ship

3. Copy the higher version of adgrants.sql (UNIX) to $ORACLE_HOME/appsutil/admin.

$ cp -iv /tmp/patches/patches/EBS/27254132/admin/adgrants.sql /u01/install/APPS/12.1.0/appsutil/admin

4. Set the environment to point to ORACLE_HOME on the database server.

$ . ~/EBSDB_database.env

5. Use SQL*Plus to run the script:

$ sqlplus /nolog
SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql APPS

Apply patches

read -s appspass
read -s systempass
read -s wlspass
. ~/EBSapps.env run
echo $appspass|adop -status -detail
{ echo $appspass; echo $systempass; echo $wlspass; }|adop phase=apply patches=27254132,28394214,27638770,28714940 merge=yes patchtop=/tmp/patches/patches/EBS
{ echo $appspass; echo $systempass; echo $wlspass; }|adop phase=apply patches=27294892 patchtop=/tmp/patches/patches/EBS

Verify that no errors occurred:

adopscanlog -latest=yes
egrep -i “error|warning|fail|ora-|ac-|rc-/u01/install/APPS/fs_ne/EBSapps/log/adop/52/20181012_093428/apply/apps/ADOP_MRG_20181012_1539329689/log/u_ad_3452059375.log
egrep -i “error|warning|fail|ora-|ac-|rc-/u01/install/APPS/fs_ne/EBSapps/log/adop/52/20181012_094107/apply/apps/27294892/log/u27294892.log

Apply Oracle E-Business Suite 12.2.8 Release Update Pack

Finally after applying all pre-requisite patches upgrade to 12.2.8 can be performed. For our instance Path B — Existing Customers (Release 12.2.7) should be followed.

Apply patches with adop

{ echo $appspass; echo $systempass; echo $wlspass; }|adop phase=apply patches=26787767 patchtop=/tmp/patches/patches/12.2.8

Check logfiles for errors

adopscanlog -latest=yes
egrep -i “error|warning|fail|ora-|ac-|rc-/u01/install/APPS/fs_ne/EBSapps/log/adop/52/20181012_094912/apply/apps/26787767/log/u26787767.log

Apply Oracle E-Business Suite Release 12.2.8 Online Help

{ echo $appspass; echo $systempass; echo $wlspass; }|adop phase=apply patches=26787780 patchtop=/tmp/patches/patches/EBS

Finish adop patching cycle

$ { echo $appspass; echo $systempass; echo $wlspass; }| adop phase=finalize
$ { echo $appspass; echo $systempass; echo $wlspass; }| adop phase=cutover
$ . ~/EBSapps.env run
$  { echo $appspass; echo $systempass; echo $wlspass; }|adop phase=cleanup
$  { echo $appspass; echo $systempass; echo $wlspass; }|adop phase=fs_clone


Compile invalid objects

select owner, object_name, object_type from dba_objects where status<>’VALID’;
exec utl_recomp.recomp_parallel(4);

Verify security configurations (required)

The administrator must log in to Oracle E-Business Suite using the local login page (http(s)://[host]:[port]/OA_HTML/AppsLocalLogin.jsp) to navigate to the console and unlock the system.

Update Database Tier to Latest Code

1. Execute the admkappsutil.pl utility to create the appsutil.zip file in $INST_TOP/admin/out.

$ perl $AD_TOP/bin/admkappsutil.pl

2. On the database tier (as the ORACLE user):

Source the environment for ORACLE_HOME.


3. Uncompress appsutil.zip, under $ORACLE_HOME.

$ unzip -o appsutil.zip

4. Run AutoConfig on $ORACLE_HOME.

$ egrep -i “error|warning|fail|ora-|ac-|rc-/u01/install/APPS/12.1.0/appsutil/log/EBSDB_apps/10121547/adconfig.log

5. Run AutoConfig on the run file system. Run AutoConfig on all application tier nodes (as the APPLMGR user) by executing the applicable command:

$ sh $INST_TOP/admin/scripts/adautocfg.sh


Restart application tier services and verify that following checks are passed:

– EBS login works.
– Forms open
– Number of target and actual concurrent processes are equal.
– Test concurrent requests successfully completed. Example of such requests: “CP PLSQL Regression Test”, “Active Users”
– Other components depending on instance-specific configuration. For example: workflow mailer.

Picture 1: Oracle EBS 12.2.8 home page

Picture 2: Oracle EBS 12.2.8 Administer Concurrent Managers form

Picture 3: Oracle EBS 12.2.8 Concurrent Requests form


Please keep in mind that every EBS upgrade is unique due to different software, hardware versions, customizations. So it is better not to use above instructions on production environment. But I hope that this article will help you to understand EBS upgrade process and prepare your own project.