Friday, November 20, 2015

Java 7 update 25 Upgrade for JDK from JDK 1.6 on Oracle EBS R12.1.3


Java 7 update 25 Upgrade for JDK
Assumptions:
Apps Tier– Oracle EBS R12.1.3 on Oracle Linux EL 6.7 64bit
Database Tier– Database 11.1.0.7 on Oracle Linux EL 6.7 64bit
Accounts – applmgr (Apps Tier) and oravis (DB tier)
Host Names: ebsapps.oracle (Apps tier) and ebsdb.oracle(db tier)

Enable MM
·         Ensure no EBS services are running
·         Enable Maintenance Mode using adadmin
$login to applmgr
$adadmin (Option 5 and 1)
·         Take backup of CONTEXT file
$cp $INST_TOP/appl/admin/VIS_ebsapps.xml $INST_TOP/appl/admin/VIS_ebsapps.xml_beforeJDK
·         Make sure inventory_loc is pointing to correct location in oraInst.loc
Apply EBS patches
·         Apply Patch 16545472
$cd /software/patches/jdk7u25/16545472
$adpatch

·         Apply Patch 17309237
$cd /software/patches/jdk7u25/17309237
$adpatch
Move Pre-existing JDK & JRE
·         Replace the old JDK installation in 10.1.3 Home:-
$ cd $IAS_ORACLE_HOME/appsutil
$ mv jdk jdk6_old_2014
$ cp  /software/patches/jdk7u25/jdk-7u25-linux-i586.tar.gz $IAS_ORACLE_HOME/appsutil/
$ tar -xvf jdk-7u25-linux-i586.tar.gz
$ mv jdk1.7.0_25 jdk

·         Replace the old JRE installation in 10.1.3 Home:-
$ mv $IAS_ORACLE_HOME/jre/1.4.2 $IAS_ORACLE_HOME/jre/1.4.2_old

·         Replace the old JDK installation in 10.1.2 Home:-
$ echo $ORACLE_HOME     --(Should be 10.1.2 Home)
$ cd $ORACLE_HOME/
$ mv jdk jdk4_old_2014
$ cp  /software/patches/jdk7u25/jdk-7u25-linux-i586.tar.gz $ORACLE_HOME/
$ tar -xvf jdk-7u25-linux-i586.tar.gz
$ mv jdk1.7.0_25 jdk

·         Replace the old JRE installation in 10.1.2 Home:-
$mv $ORACLE_HOME/jre/1.4.2 $ORACLE_HOME/jre/1.4.2_old
$mv $ORACLE_HOME/jdk64 $ORACLE_HOME/jdk64_old      (this may not be there)
·         Install Albany (Display) Font:-
$ cp $FND_TOP/resource/ALBANYWT.ttf $IAS_ORACLE_HOME/appsutil/jdk/jre/lib/fonts/
$ cp $FND_TOP/resource/ALBANWTJ.ttf $IAS_ORACLE_HOME/appsutil/jdk/jre/lib/fonts/
$ cp $FND_TOP/resource/ALBANWTK.ttf $IAS_ORACLE_HOME/appsutil/jdk/jre/lib/fonts/
$ cp $FND_TOP/resource/ALBANWTS.ttf $IAS_ORACLE_HOME/appsutil/jdk/jre/lib/fonts/
$ cp $FND_TOP/resource/ALBANWTT.ttf $IAS_ORACLE_HOME/appsutil/jdk/jre/lib/fonts/

Upgrading to Latest JDK 7.0 in OracleAS 10.1.2 Oracle_Home
NOTE:  Please source 10.1.2 ORACLE_HOME (which is the default ORACLE_HOME) before we apply the below patches. When applying some of these patches, you might face an opatch error while it tries to rollback the previous patch. You can safely ignore the error as indicated in the patch readme.

·         Ensure ORACLE_HOME is pointed to  EBS 10.1.2 ORACLE_HOME (which is the default ORACLE_HOME)
e.g.
$echo $ORACLE_HOME
$ /prodappl/prod/apps/tech_st/10.1.2
$opatch lsinventory ----à This should be successful before applying the patches.
If not execute bellow:
$export PATH=$ORACLE_HOME/Opatch:$PATH

·         Apply Patch 12848228:-
$cd /software/patches/jdk7u25/12848228
$opatch apply

·         Apply Patch 5659594:-
$cd /software/patches/jdk7u25/5659594
$opatch apply

·         Apply Patch 16271876:-
$cd /software/patches/jdk7u25/16271876
$opatch apply

cd $ORACLE_HOME/lib/stubs
 ln -s libjvm-1.7-stub.so libjvm.so

·         Apply Patch 17907988:-
$cd /software/patches/jdk7u25/17907988
$opatch apply

$chmod +x $ORACLE_HOME/bin/genshlib

·         Apply Patch 17653437:-
$cd /software/patches/jdk7u25/17653437
$opatch apply

$cd $ORACLE_HOME/forms/lib
$make -f ins_forms.mk sharedlib install

·         Apply Patch 17645157:-
$cd /software/patches/jdk7u25/17645157
$opatch apply

$cd $ORACLE_HOME/reports/lib
 $make -f ins_reports.mk install


·         Apply Patch 16241466:-
(Note: This patch will try to rollback patch 8551790. It is OK)
$cd /software/patches/jdk7u25/16241466
$opatch apply

Rebuild Forms and Reports Executables.
·         Relink forms and reports:-
Note: Oracle Home should be set to 10.1.2(which is the default home).

$cd $ORACLE_HOME/forms/lib
$ make -f ins_forms.mk sharedlib install

$cd $ORACLE_HOME/reports/lib
$ make -f ins_reports.mk install

Adadmin steps
Run adadmin & take care of following:-

·         Generate message files
·         Generate form files
·         Generate report files
·         Generate product JAR files (no force option)
·         Compile APPS schema
·         Compile menu information
Run autoconfig
·         Validate EBS $CONTEXT_FILE for the parameter "s_adovar_afclasspath" and "s_adovar_classpath" to ensure it must the necessary JDK 7.0 libraries, which should include:-
[IAS_ORACLE_HOME]/appsutil/jdk/lib/dt.jar
[IAS_ORACLE_HOME]/appsutil/jdk/lib/tools.jar
[IAS_ORACLE_HOME]/appsutil/jdk/jre/lib/rt.jar
[IAS_ORACLE_HOME]/appsutil/jdk/jre/lib/charsets.jar

Modify "s_adovar_afclasspath" and "s_adovar_classpath, if needed after backing up xml file.

·         Run autoconfig (See other post to run autoconfig)
o    First run on DB Tier
o    Then run in EBS Tier

·         Source the fresh environment & validate below to ensure all looks good:-
$ $ADJVAPRG -version
$ echo $CLASSPATH
$ $AFJVAPRG -version
$ echo $AF_CLASSPATH

Verify Java version
·         Verify Java on EBS tier using below command:-

cd $ORACLE_HOME/jdk/bin
./java –version

[applprod@lin40app4 appl]$ cd $ORACLE_HOME/jdk/bin
[applprod@lin40app4 bin]$ ./java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) Server VM (build 23.25-b01, mixed mode)
[applprod@lin40app4 bin]$
Upgrading to Latest JRE 7.0 on Database Tier Node
FYI….If you have upgraded the Oracle database version to 11gR2 or higher on the database tier, do not perform JRE 7 upgrade since the AutoConfig uses the JRE from /jdk/jre & not from /appsutil/jre.

For 11.1.0.7:

$cd $ORACLE_HOME/appsutil
$ mv jre jre_old
$ tar –xvf (jre 1.7.5.tar file)
$ mv jre1.7.0_5 jre

Java 7 update 25 Upgrade for Native JRE

Patch Staging Patch 16631990

$cd /software/patches/jre7u25/16631990
$mv jre-7u25-windows-i586.exe j2se17025.exe

Copy j2se17025.exe to EBS Tier
$cd /software/patches/jre7u25/16631990
$cp j2se17025.exe $COMMON_TOP/webapps/oacore/util/jinitiator
Apply the Interoperability Patch
$cd /software/patches/jre7u25/4377566
$adpatch

Run the JRE Upgrade Script
·         Run the $FND_TOP/bin/txkSetPlugin.sh script as below:-
txkSetPlugin.sh 17025

The script will prompt you for the following values, if it does not find them automatically:
o    Location of APPSORA.env file, if not present in the default location $APPL_TOP
o    Location of the AutoConfig Context File.
o    Password for the APPS user in the database (If the correct value is returned by the script you may press the return key at the prompt).
Ensure that you perform above steps on all EBS tiers

Autoconfig Step
Run autoconfig in below order:-
Ø  DB Tier
Ø  EBA Tier

Source fresh environment in all 3 tiers before starting services.
Ø Run the adgrants.sql script as sysdba:-
o    Compare the version of adgrants.sql(UNIX) in $APPL_TOP/admin to that in patch directory.
o    Copy the higher version of adgrants.sql (UNIX) to RDBMS “$ORACLE_HOME/appsutil/admin”
o    Login to DB tier & use SQL*Plus to run the script as sys user.
SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql APPS

Ø  Apply Patch 17191279:-
$cd /software/patches/jre7u25/17191279
$Apply U driver using adpatch
Error:-
sqlplus -s APPS/*****
SQL>@/prodappl/prod/apps/apps_st/appl/ad/12.0.0/patch/115 /sql/ADJRIINITPASSWD.sql
Connected.
begin
*
ERROR at line 1:
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_SESSION", line 114
ORA-06512: at "APPS.AD_JAR", line 44
ORA-06512: at line 2

Solution:-
Connect to apps user and run the below sql.

SQL> create or replace context AD_JAR using AD_JAR;

Context created.

Reference: ADJRIINITPASSWD.sql Fails With An ORA-01031 Error When Applying Patch 17191279 (Doc ID 1597168.1)

·         Apply Patch 10150738:-
o    $cd /software/patches/jre7u25/10150738
o    adpatch
·         Apply Patch 17259273:-
o    $cd /software/patches/jre7u25/17259273
o    adpatch
Start EBS services
·         Disable Maintenance Mode
·         Start EBS services
JDK 7_u25 upgrade verification
1: Navigate to OA_HTML directory
cd $OA_HTML

2: Create JDKtest.jsp file

Using a text editor, create a file called JDKtest.jsp under [OA_HTML] containing the following line:
The JDK version is: <%= System.getProperty("java.version") %>

3: Compile JDKtest.jsp script

$ perl -x $FND_TOP/patch/115/bin/ojspCompile.pl --compile -s 'JDKtest.jsp'

4: Run JDKtest.jsp script from browser.

Access the JSP file from a browser, using the URL:

http://[web server]:[port]/OA_HTML/JDKtest.jsp

You should see something like:                
The JDK version is: 1.7.0_25

JRE 7_u25 upgrade verification
·         Launch the forms & the following steps verify that you have successfully upgraded JRE.
o    Enable the Java Console and Check Version :-
§  Enable the Java Console on your desktop client through the 'Java Control Panel' by setting:
§  'Control Panel' -> 'Java' (icon) -> 'Advanced' -> 'Java Console' -> 'Show Console'.
o    Close All Browser Windows
o    Logon to Oracle E-Business Suite
o    Check your Java Plug-in Version

Java Plug-in 10.10.2.18
Using JRE version 1.7.0_25-b18 Java HotSpot(TM) Client VM
Note: If a higher version of JRE than the one just installed is shown, it may be because a higher version has previously been installed on the desktop. You can check the versions installed through the 'Java Control Panel':
Control Panel -> Java (icon) -> Java (tab) -> View (button)


ISSUES
Forms are not opening
·        After JRE 7 upgrade Forms are not open at client system (Windows)
Error Message:  “The requested URL /forms/frmservlet was not found on this server.”
Check Log files - $LOG_HOME/ora/10.1.3/Apache
Solution:
$ADMIN_SCRIPTS_HOME/adstpall.sh [apps user/apps password]
$FND_TOP/bin/txkrun.pl -script=CfgOC4JApp
Enter Application name for re-deployment ? forms
Enter Oc4j Instance password for re-deployment ? (current password)
Run Autoconfig [Yes/No] ? No

post-deployment tasks

Run AutoConfig on the instance by running the command:
$ADMIN_SCRIPTS_HOME/adautocfg.sh

Start the appropriate services on the instance by running the command:
$ADMIN_SCRIPTS_HOME/adstrtal.sh [apps user/apps password]

2 comments:

Unknown said...

Good blog Sudheer. Thank you keep it up. ..

ㅤㅤjampani said...

Very good post,
I have question here , is there any dependency between java version we use for applications (JDK) and java we use for desktop clients (JRE).

I tried upgrading java for desktop clients(JRE) before upgrading JDK , we are having issues while Relink forms and reports.

In short i tried to do " Java 7 update 25 Upgrade for Native JRE " in this post first.