In my previous article "Java Caching for Oracle Applications 11i: Part 1" I talked about the basics of Java Caching and how it works conceptually.

My original intention with "Part 2" was to discuss how to diagnose issues with Java Caching, but I got a bit carried away with scripts and the like so ended up creating some Metalink notes instead.
Diagnosing Database Invalidation Issues
Here's the first one:
- Diagnosing database invalidation issues with Java Cache for eBusiness Suite (Metalink Note 455194.1)
As it says on the tin, this note covers diagnosing issues with Database Invalidation. The classic symptoms being that when Responsibilities are added to a user, they are not appearing immediately (but do after Apache is bounced).
Although the scripts are listed in the note, you can also download a soft copy via the link mentioned in the note.
Diagnosing Issues with Responsibility Assignments
This issue is not actually a Java Caching problem, but the symptoms
initially look similar to those described above. The key difference
here is that the affected responsibilities still do not appear after
Apache is bounced. For details, see:
- Existing Responsibility Does Not Appear after modifying the effective date (Metalink Note 458869.1)
More on NoClassDefFoundErrors
- Investigating NoClassDefFoundError in eBusiness 11i when users login (Metalink Note 455366.1)
Hopefully you will find these notes useful towards understanding and diagnosing any Java Cache issues you find yourself facing.
Related
- Java Caching for Oracle Applications 11i: Part 1
- Latest JVM Tuning Recommendations for Apps 11i
- Using JConsole to monitor Apps 11i JVMs
- Investigating java.lang.OutOfMemoryError with Apps 11i Middle Tier JVMs
Comments (16)
Ok.
So I have created a bayesian network to diagnose java caching problems and it is working remarkly well (the ROC / AUC are looking good for it).
Lets exchange notes if you are interested.
Sincerely,
-Mohsin
Posted by Mohsin Beg | September 21, 2007 2:11 PM
Posted on September 21, 2007 14:11
Mike/Steve, Thanks for this valuable information. Hope to see some tips/insiders in SSO registration information in Apps (Things hidden behind SSOSDK) and mystery of txkrun.pl
As always this blog is my inspiration.
Atul Kumar
Posted by Atul Kumar | September 21, 2007 5:32 PM
Posted on September 21, 2007 17:32
Very interesting notes!
We actually hit both "issues" with responsibilities and logon issue in our test environments. Usually the NoClassDefFoundError comes after cloning but since Apache bounce resolves it and it doesn't reappear after that we haven't been looking deeper into it.
Posted by Simon | September 22, 2007 1:07 AM
Posted on September 22, 2007 01:07
Hi Mike/Steve,
We occasionally hit NoClassDefFound errors with the environments. To fix this, we've found that if we remove the port values in the context file (s_fnd_cache_port_range) and leave it null - allowing the system to dynamically select ports, the problem vanishes away. (We run the application with a default of 1 core JVM - ie OACoreGroup of 1).
Would you have a clue on this ?
Thanks,
Rakesh.
Posted by Rakesh Tripathi | September 22, 2007 12:22 PM
Posted on September 22, 2007 12:22
Hello Mohsin, yes please. Will discuss with you offline
Atul, thanks for your thoughts, SSO registration/integration is certainly an area that needs to be unpicked a little I think
Simon and Rakesh, useful information so will make note and look into further
Posted by Mike Shaw | September 24, 2007 1:50 AM
Posted on September 24, 2007 01:50
Excellent notes. I hit almost all the problems before. Even I had resolved the problems, but I did not have the whole picture. These notes definitely help me understand the problems.
Posted by Tianhua Wu | September 25, 2007 10:30 AM
Posted on September 25, 2007 10:30
We had NoClassDefFoundError for the first login to almost every new cloned environment we created. What I do is to remove $COMMON_TOP/_pages/*, bounce the Apache, the problem will go away for goods. The interesting thing is that even before I start up the Apache the very first time, I had cleaned $COMMON_TOP/_pages/* , I still have the problem. I have to remove $COMMON_TOP/_pages/_oa__html again and bounce Apache, now the problem goes away for goods.
Posted by Tianhua Wu | September 25, 2007 10:43 AM
Posted on September 25, 2007 10:43
Hello Mike!
I seems that java caching problems remain in oAS 10g. We have missing responsibilities issues with OEBS Release 12 and similar problems with OCS 10.1.2 both based on oAS 10.1.2. I've read your metalink note 455194.1 "Diagnosing database invalidation issues with Java Cache for eBusiness Suite" but could not realise what should I do to avoid java caching problems in OEBS Release 12.
Regards,
Viacheslav Leichinsky
Posted by Viacheslav | September 28, 2007 3:35 AM
Posted on September 28, 2007 03:35
Hello Tianhua,
So far as I know, cloning does not clear out the JTF_PREFAB_WSH_POES_B table, so if this has entries relating to your source system, this could be causing temporary confusion for Java Cache. Next time you do a clone, try truncating the JTF_PREFAB_WSH_POES_B table (with all eBiz middle tier services shutdown) The JTF_PREFAB_WSH_POES_B table is repopulated when the services startup so there is no problem doing this on a shutdown system.
Let me know if this works and we can get that fixed
Posted by Mike Shaw | October 4, 2007 2:21 AM
Posted on October 4, 2007 02:21
Hello Viacheslav,
Release 11i and Release 12 both use pretty much the same underlying code with respect to Java Caching, so the diagnostic techniques will be very similar in both cases.
I would recommend you raise a SR with Oracle Support to have your specific case investigated. To give the investigations a head start, upload the data/script output from parts 1 through 4 of the "Detailed diagnostic steps" in Note 455194.1, as most of this information is the same for R12. The main differences are the config files name/locations and the specific patch numbers that are being listed.
Posted by Mike Shaw | October 4, 2007 2:30 AM
Posted on October 4, 2007 02:30
Thanks Mike, I will give it a shot and let you know.
Posted by Tianhua Wu | October 5, 2007 10:56 AM
Posted on October 5, 2007 10:56
I just ran into the NoClassDefFoundError for the first login issue this morning. I have cleaned up _pages and bounced Apache. It seems to work now.
Thanks,
Sriram
Posted by Sriram | October 6, 2007 4:05 PM
Posted on October 6, 2007 16:05
Hi Mike,
I have tried "truncating JTF_PREFAB_WSH_POES_B" in two clone envs, and it works, Thanks for the tip.
T Wu
Posted by Tianhua Wu | November 1, 2007 3:38 PM
Posted on November 1, 2007 15:38
Hi Mike,
I have encountered one problem lately and I suspect it might be related with Java Cache.
Basically, one a user update a profile, we do not see the changes even after boucing the Apache. However, it would eventually show in the apps after another period of time. If I bounced all applications, it would show immediately.
Unfortunately this only happens only in production, I could not play with it to decide which apps I should bounce at the same time. We are at 11.5.10.2 (ATG.RUP5) and 10.2.0.2 (DB).
I just want to know what your thought is?
Thanks,
T Wu
Posted by Tianhua Wu | March 26, 2008 1:18 PM
Posted on March 26, 2008 13:18
Hello Tianhua,
Your issue doesn't seem to directly relate to java cache and sounds more likely an issue with the processing of the records through the Workflow Java Deferred Agent Listener. Probably best plan is to go through Note 455194.1 and then raise a SR with Oracle Support
Hope this helps
Mike
Posted by Mike Shaw | March 28, 2008 2:41 AM
Posted on March 28, 2008 02:41
Thanks again, Mike! I will look into it.
T Wu
Posted by Tianhua Wu | March 28, 2008 12:53 PM
Posted on March 28, 2008 12:53