Tuesday, November 8, 2011

Cache Management & Overcoming Cache Problems


It is possible that reports that you run after the load process will reuse the cache that existed prior to the load process. This can result in inconsistencies between reports.


Following are some workarounds to avoid such inconsistencies.

I.

If you want to use the cache and you have a regular load of data into your source for OBIEE, then you just need to ensure that the cache is cleared after your load. There is an ODBC command which will clear it:

Call SAPurgeAllCache();

You can put this in a sql file and then call it from a .cmd file:

nqcmd -d "AnalyticsWeb" -u Administrator -p <password> -s D:\OracleBI\server\Scripts\Common\purge_cache.sql -o D:\OracleBI\server\Scripts\Common\purge_cache.out

When you run this .cmd file it will clear the cache, and you can also schedule the command at regular intervals.


II.

If your data is changing all the time and you just don't want caching on then Turn off caching in the NSQConfig.ini (and restart the server service) or at the physical table level in the .rpd, to ensure you get the un-cached results, and can therefore see the SQL being generated each run, or drill down in Answers.

1. Locate this configuration file: <root
directory>\OracleBI\server\Config\NQSConfig.INI.
2. In the Query Result Cache Section, change the [ CACHE ] setting from ENABLE =YES; to ENABLE = NO;.
3. Save the NQSConfig.INI configuration file and restart the Oracle BI Server service.
4. After running an Answers report, check the SQL NQQUERY.log (on Windows, usually located in, :\OracleBI\Server\log\)


III.

Third one is that check wether Table is cacheable (table properties) in the physical layer, you can turn on/off it per table or can set a schedule to expire and refresh using "Cache Persistence Time".


IV.

Bypass Web Server Cache feature in Advanced tab of the corresponding reports is also a resolution.

Here are the steps to implement By Pass Server Cache;

1 Build Report with required fields,
2 Go to Advance SQL tab check the Check Box ' Bypass Oracle BI Presentation Services Cache'
3 Goto bottom of page look for 'Prefix' in text box type 'SET VARIABLE DISABLE_CACHE_HIT=1;'
4 Save the report

v.

Here is another one, If you always want to bypass the Presentation server cache add this to the instanceconfig file of the development presentation server:

add below lines in instanceconfig.xml  file then restart all bi services.


<WebConfig>
<ServerInstance>
<ForceRefresh>TRUE</ForceRefresh>
</ServerInstance>
</WebConfig>


VI.

You can manually purge all the cache entries:
1. Open the Oracle BI Administration Tool in online mode.
2. Click Manage, Cache to access the Cache Manager page and select all cache entries.
3. Click Action, Purge.


Cheers ;)

No comments:

Post a Comment