Our Environment is Essbase 188.8.131.52 and working on Essbase EAS and Shared Services components.One of our user tried to run the Cal Script of one Application and faced this error.
Dynamic Calc processor cannot lock more than  ESM blocks during the calculation, please increase CalcLockBlock setting and then retry(a small data cache setting could also cause this problem, please check the data cache size setting).
I have done some Google and found that we need to add something in Essbase.cfg file like below.
Analytic Services could not lock enough blocks to perform the calculation.
Increase the number of blocks that Analytic Services can allocate for a calculation:
Actually in our Server Config file(essbase.cfg) we dont have below data added.
So my doubt is if we edit the Essbase.cfg file and add the above settings and restart the services will it work? and if so why should we change the Server config file if the problem is with one application Cal Script. Please guide me how to proceed.
Your calculation needs to hold more blocks in memory than your current set up allows.
From the docs (quoting so I don't have to write it, not to be a smarta***:
CALCLOCKBLOCK specifies the number of blocks that can be fixed at each level of the SET LOCKBLOCK HIGH | DEFAULT | LOW calculation script command.
When a block is calculated, Essbase fixes (gets addressability to) the block along with the blocks containing its children. Essbase calculates the block and then releases it along with the blocks containing its children. By default, Essbase allows up to 100 blocks to be fixed concurrently when calculating a block. This is sufficient for most database calculations. However, you may want to set a number higher than 100 if you are consolidating very large numbers of children in a formula calculation. This ensures that Essbase can fix all the required blocks when calculating a data block and that performance will not be impaired.
essbase.cfgfile contains the following settings:CALCLOCKBLOCKHIGH 500 CALCLOCKBLOCKDEFAULT 200 CALCLOCKBLOCKLOW 50
then you can use the following SET LOCKBLOCK setting commands in a calculation script:SET LOCKBLOCK HIGH;means that Essbase can fix up to 500 data blocks when calculating one block.
Support doc is saying to change your config file so those settings can be made available for any calc script to use.
On a side note, if this was working previously and now isn't then it is worth investigating if this is simply due to standard growth or a recent change that has made an unexpected significant impact.
Many Thanks for your reply and point noted. But actually in the Cal Script SET LOCKBLOCK HIGH is already being setup but the Config file doesn't have these data quoted as below. Actually we have done Migration to new 184.108.40.206 and in the old server Config file i found these settings.
So if i add the above details to new Server Config file and restart the Essbase Services the Cal Script will run right.
it's too small
index cache = size all IND file * 1.2
DAtaCache = 2 or 4 GB.
and don't forgot about free memory on the server. It's need 1Gb for operation system functionality.
Other way. Split calculation on separate parts. For more less Fix statement. I mean if you calc one big dimension - you need calc one little part from this in one fix, and other part from dimension in other fix.
Thanks Daniel i just changed the Config file by adding these values which are in Old Server Config file.
It worked out and the User is able to Complete the Cal Script Successfully. Incredible thing is that the script which takes 1.5 hours in 11.1.1 is completed within 5 mins in 220.127.116.11.