Wednesday, April 30, 2025

Script for upgrading JDK in EBS R12.2

EBS R12.2 uses different Java Homes. Upgrade JDK 7 in EBS R12.2 has details on manually upgrading JDK used in R12.2. I wrote below shell script to upgrade JDK in 4 JDK locations used by EBS R12.2. It can complete the upgrading in minutes after correct JDK files are downloaded and saved. 

This script is mainly used as part of quarterly CPU patching (such as January 2025 CPU and October 2024 CPU). It is important to download the right files for JDK upgrade. Since Java 1.7  is out of Oracle support, we have to follow Oracle quarterly CPU release to find the right version that can be used by current EBS R12.2. For example, for January 2025 CPU patching, document 3066051.1 (Oracle Critical Patch Update (CPU) Jan 2025 for Oracle Java SE) provides link (on the low end) for downloading JDK 7 Update 451 Restricted: Patch 37308812 for JDK 1.7.0_451

The script assumes EBS apps services are shutdown and two JDK 1.7.0_451 files are saved to shared location /path/to/Jan2025_CPU/JDK: 
jdk-7u451-linux-x64.tar.gz
jdk-7u451-linux-i586.tar.gz

========== script JDK_upgrade1_7_xxx.sh ==========
# Upgrade JDKs in R12.2 by steps from Doc ID 1530033.1 
# (Using the Latest Java Update with Oracle E-Business Suite Release 12.2).
#
# currently Oracle quarterly CPU document gives a link (in Table 3?) for downloading the right JDK .gz files

# Specify 3 values:
# the location and file names for JDK 1.7.0_451  (downloaded from patch 37308812)
JDKfolder=/path/to/Jan2025_CPU/JDK
JDK_gz_file_64=jdk-7u451-linux-x64.tar.gz
JDK_gz_file_32=jdk-7u451-linux-i586.tar.gz

# Similarly, specify below values if upgrading JDK to JDK 7 Update 441 
# (downloaded from patch 37063192) as part of October 2024 CPU:
# JDKfolder=/path/to/Oct2024_CPU/JDK
# JDK_gz_file_64=jdk-7u441-linux-x64.tar.gz
# JDK_gz_file_32=jdk-7u441-linux-i586.tar.gz

DT=date +"%h_%Y"
curr=pwd
echo $curr
cd $JDKfolder
ls -al
echo ""
echo "Current JDK version:"
$ADJVAPRG -version
$AFJVAPRG -version
#--
echo "Backup two jdk folders at $COMMON_TOP/util"
cd $COMMON_TOP/util
tar -czf jdk64_BK_$DT.tar.gz jdk64  # without -v (to turn off output)
tar -czf jdk32_BK_$DT.tar.gz jdk32
rm -fr jdk64
rm -fr jdk32
cp -p $JDKfolder/*.tar.gz .
tar -xzf $JDK_gz_file_32      # Assume un-tar creates a new folder jdk1.7.0_XXX
mv jdk1.7* jdk32                   # if not, modify this line.
tar -xzf $JDK_gz_file_64      # Assume un-tar creates a new folder jdk1.7.0_XXX
mv jdk1.7* jdk64                 
ls -al jdk*
pwd
sleep 2
#--
echo "Backup the jdk64 folder at $FMW_HOME/webtier."
cd $FMW_HOME/webtier
tar -czf jdk64_BK_$DT.tar.gz jdk
rm -fr jdk
cp -p $JDKfolder/$JDK_gz_file_64 .
tar -xzf $JDK_gz_file_64
mv jdk1.7* jdk
ls -al jdk*
pwd
sleep 2
#--
echo "Backup the jdk32 folder at $ORACLE_HOME"
cd $ORACLE_HOME
tar -czf jdk32_BK_$DT.tar.gz jdk
rm -fr jdk
cp -p $JDKfolder/$JDK_gz_file_32 .
tar -xzf $JDK_gz_file_32
mv jdk1.7* jdk
ls -al jdk*
pwd
sleep 2
echo "New JDK version:"
$ADJVAPRG -version
$AFJVAPRG -version

echo "Compiling EBS Forms and Reports:"
cd $ORACLE_HOME/forms/lib
make -f ins_forms.mk sharedlib install
cd $ORACLE_HOME/reports/lib
make -f ins_reports.mk install
cd $curr
echo "Done"
============== End =================

After the script finished, run ejcpuc.sh from patch p37172035 to confirm the upgrades are successful. $RUN_BASE = /u01/app/EBSDEV/fs2, e.g.

# ./ejcpuc.sh
#############################################################
Checking Apptier Java 7 for CPU 2025.01 on Platform Linux_x64 - need 1.7.0_451
2025-0X-XX 11:43:27 EDT  on  server_name.domain.com
#############################################################
2025.01        action  Your Version    bitness Java Location
------------     -------    ---------------       --------    -----------------
1.7.0_451      OK      1.7.0_451       32-bit  $RUN_BASE/EBSapps/10.1.2/jdk/bin/java
1.7.0_451      OK      1.7.0_451       32-bit  $RUN_BASE/EBSapps/comn/util/jdk32/bin/java
1.7.0_451      OK      1.7.0_451       64-bit  $RUN_BASE/EBSapps/comn/util/jdk64/bin/java
1.7.0_451      OK      1.7.0_451       64-bit  $RUN_BASE/FMW_Home/webtier/jdk/bin/java

No comments: