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


References:

Oracle E-Business Suite Release 12.2.8 Readme (Doc ID 2393248.1)
https://blogs.oracle.com/stevenchan/oracle-e-business-suite-1228-now-available

Upgrade Database to 11.2.0.4 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 12.1.0.2.180717 DB PSU + DB PSU 12.1.0.2.180717
It includes two patches:

27547329 DATABASE PATCH SET UPDATE 12.1.0.2.180717
27923320 OJVM PATCH SET UPDATE 12.1.0.2.180717

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
$ cd $ADMIN_SCRIPTS_HOME
$ ./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 10.3.6.0.180717 (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 10.3.6.0.180717 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:

p27905157_12102180417_Linux-x86-64.zip
p28376332_12102180717_Linux-x86-64.zip
p28062791_121025_Generic.zip
p27720266_12102180417_Linux-x86-64.zip
p25099339_12102180417_Linux-x86-64.zip
p25305405_12102160119_Linux-x86-64.zip
p20123899_121025_Generic.zip

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:

p27905157_12102180417_Linux-x86-64.zip
p28376332_12102180717_Linux-x86-64.zip
p28062791_121025_Generic.zip
p27720266_12102180417_Linux-x86-64.zip
p25099339_12102180417_Linux-x86-64.zip
p25305405_12102160119_Linux-x86-64.zip
p20123899_121025_Generic.zip

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’
SQL>@?/rdbms/admin/utlrp.sql
exit

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:

optimizer_adaptive_features=false
“_disable_actualization_for_grant”=true

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
 
=========================================================================
PATCH RECOMMENDATION SUMMARY
=========================================================================
——————————————————————————
Oracle Forms and Reports 10.1.2.3.0
——————————————————————————
 
  Patch 25342269
 
    – Filename: p25342269_101232_Generic.zip
 
  Patch 26825525
 
    – Filename: p26825525_101232_LINUX.zip
 
——————————————————————————
Oracle Fusion Middleware (FMW) – oracle_common 11.1.1.9.0
——————————————————————————
 
 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) 10.3.6.0.180717
——————————————————————————
 
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 10.1.2.3.0
——————————————————————————
 
[-]6880880 latest opatch
[-]25342269
        [+]14825718
        [+]6640838
[-]26825525
        [+]8551790

Extract latest opatch before patches application

$ cd $ORACLE_HOME
$ 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” \
“/u01/install/APPS/fs2/EBSapps/10.1.2/.patch_storage/26825525/Apply_26825525_10-11-2018_13-46-59.log
——————————————————————————
Oracle Fusion Middleware (FMW) – oracle_common 11.1.1.9.0
——————————————————————————
 
[-]6880880 latest opatch 111000
[-]13544814
[-]16089637
[-]20141119

Extract latest opatch

$ . $FMW_HOME/SetOracleCommon.env
$ cd $ORACLE_HOME
$ 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 \
/u01/install/APPS/fs2/FMW_Home/oracle_common/cfgtoollogs/opatch/20141119_Oct_11_2018_14_10_08/apply2018-10-11_14-10-08PM_1.log
——————————————————————————
Oracle WebLogic Server (WLS) 10.3.6.0.180717
——————————————————————————
 
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”

to

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/10.3.6.0.180717/* /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
 ./checkMTpatch.sh

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)

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

Patch research

[-]27254132:R12.AD.C (CONSOLIDATED PATCH ON TOP OF AD DELTA 10)
[-]28394214:R12.AD.C //Critical AD patch
[-]27638770:R12.AD.C //Critical AD patch
[-]28714940:R12.AD.C //Critical AD patch
[-]27294892:R12.TXK.C (CONSOLIDATED PATCH ON TOP OF TXK DELTA 10)
[+]25820806 R12.AD.C.Delta.10 (bug 25820806)
[+]25828573 R12.TXK.C.Delta.10 (bug 25828573)

Pre-steps
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

Post-steps

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.

$ cd $ORACLE_HOME
$ . $ORACLE_HOME/$CONTEXT_NAME.env

3. Uncompress appsutil.zip, under $ORACLE_HOME.

$ cd $ORACLE_HOME
$ unzip -o appsutil.zip

4. Run AutoConfig on $ORACLE_HOME.

$ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/adautocfg.sh
 
$ 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

Healthcheck


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

Conclusion


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.