Thursday, February 11, 2010

Which cache is what cache – JDBj cache

There are 2 main caches that should be taken into consideration

  • Generic JDBC caching on JAS servers (service cache)
  • Internal JDEBASE DB caching – kernel (database cache)

If you want to clear the cache, you MUST clear both.  Remember that if you just do the web/service cache, your BSFN’s will validate against the wrong data!

 

Service Cache

The JDBC caching is easy, the cache just needs to be cleared, but there are two other caches that you need to consider. This is cleared by using SM for SAW depending on the release. In the newer releases of JDE this can be done over all instances – which is cool!

  • Data Dictionary Alpha Cache (c.f., DDTEXT)
  • JDBJ OCM Cache
  • Row Column Cache (c.f., FDATEXT)
  • JDBj Service Cache (refer Service Cache)
  • Menu Cache (from F989998/F989999)
  • Data Dictionary Glossary Text (F00165 -Media Object)
  • JDBj Security Cache
  • Serialized Objects (Object Cache data in F989998/F989999 - Java Persistent Data)

Note that the tables that are cached by the web server can be found in :

  • Service Cache
    • Do not change defined values/tables as it may cause unexpected results when running certain applications. You can get this information from \System_JAR\com\jdedwards\database\services\serviceobj\ on your JAS server to check tables which are members of ServiceCache

Note that the duration that some of these are maintained is controlled by settings in the JDBj Runtime Properties of the JAS.INI

There is a timeout setting for each of the cache types.

The value in the ini file is in milliseconds, default is 600000. There are 1000 milliseconds in a second, so this means that the cache lasts for 600 seconds or 10 minutes.

  • Service Cache
    • Use SAW (Server Administration Workbench) or Server Manager (depending on your Tools Release
    • Find the JAS instance you're working with
    • In the Runtime Metrics Category (SMC), click on JDBJ Database Caches
    • Select JDBj Service Caches and click on Clear Cache to flush Service Cache
    • Verify that Cache Size is set to zero

Database Cache

Internal JDEBASE caching is controlled by P98613. I suggest caution when using this application. This controls how many records are cached internally by JDE.

clip_image002

Unless you are on one of the newer releases, I find that this is not 100%. There is a menu item from WSJ to “reset cache” which can clear many of the troublesome caches on the server, but this is not 100% in my experience.

  • Database Cache
    • Log into a FAT/HTML or WebDev client
    • Fast Path to WSJ (Work with Submitted Jobs)
    • Highlight your logic Server and from ROW menu click on Reset Cache
    • Select Database, then click OK.  This will flush database caching

clip_image004

2 comments:

ioss said...

Nice writeup! Do you know if any of these caches include the datasource master -- F98611 for the JAS and Enterprise servers?

Shannon Moir said...

unfortunately that is a restart of services in my experience.