From time to time, the cached JSP class files used by the E-Business Suite web server can become missing or invalid, resulting in blank pages or "page not found" errors in the EBS HTML interface, or pages not displaying expected behavior. Most often, this occurs after patching or cloning, and the standard advice is to manually recompile all JSPs, either via the adadmin utility or by directly invoking the ojspCompile.pl script from the command line:
[applvis@londo ~]$ $FND_TOP/patch/115/bin/ojspCompile.pl --compile --flush -p 2 logfile set: /u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/rgf/ojsp/ojspc_error.log starting...(compiling all) using 10i internal ojsp ver: 10 synchronizing dependency file: loading deplist...8048 enumerating jsps...8048 updating dependency...0 initializing compilation: eliminating children...5979 (-2069) translating and compiling: translating jsps...<b>5979/5979 in 8m16s</b> compiling jsps...<b>5979/5979 in 11m14s</b> Finished!
20 minutes to compile 6000 JSPs? Even if your system is faster than mine (which it probably is), that's a lot of time and effort for what may be just a few files. If you already know which JSPs are broken, you can save time by using the -s flag to the osjpCompile.pl script to specify just those files.
For example, in early versions of Oracle Applications Release 12, the initial login page was not always created correctly, resulting in failures during post-upgrade validation tests (see My Oracle Support Doc 435550.1). As far as I know, this condition has been corrected in Release 12.1, and may also have been corrected in 12.0.4, but when we upgraded to 12.0.3, I was able to save 15-20 minutes during my downtime window by selectively compiling the offending JSPs:
[applvis@londo ~]$ $FND_TOP/patch/115/bin/ojspCompile.pl --compile -s 'RF.jsp,AppsLocalLogin.jsp' --flush -p 2 logfile set: /u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/rgf/ojsp/ojspc_error.log starting...(compiling all) using 10i internal ojsp ver: 10 quick compile: files to compile...2 translating and compiling: translating jsps...<b>2/2 in 1s</b> compiling jsps...<b>2/2 in 3s</b> Finished!
I wish I could say I got to sleep that much earlier, but upgrade weekends don't always work that way.
Still, I was glad to have the time savings.
This isn't always a viable option, of course. Depending on your circumstances, there may be so many JSPs in need of recompilation that trying to be selective isn't worth the effort. If you can see from the application server log files that only a few JSPs are failing, however, then you might be able to save yourself some time, and your users some disruption, by only compiling the files that are necessary to fix the problem.
Hope everyone out there is enjoying a bit of holiday-season relaxation, and that 2010 brings good things. Happy New Year!

2 Trackbacks
[...] This post was mentioned on Twitter by John Piwowar, Christophe Arondel. Christophe Arondel said: Compiling JSPs in Oracle EBS? Try being selective first http://tinyurl.com/ya52dpz [...]
[...] Only Four Left… Oracle stuff. Some Linux and Mac stuff. ALTER TABLE blog DISABLE UNIQUE (content_type); Skip to content Author and ContactsBlog answersUbiquity commands « Compiling JSPs in EBS? Try being selective first. [...]