Tuesday, 30 December 2014

EPM - Did you know? #4

Back again with the fourth instalment of the “did you know” series and the random topic for today is:

Did you know that you can alter the frequency or disable the essbase OPMN ping?

Personally I think OPMN was a bad choice to inflict on essbase and has been more trouble that it is worth, it only seems a viable solution for clustering on *nix type systems and the rest of the time it is a waste of space, it would have been nice to be given the option of not having to deploy it with essbase, anyway it is an old technology and looks like it is not going to be in Oracle’s strategic future.

In case you are wondering what the OPMN ping is all about I will give a little bit of background information.

If you look in the essbase product bin directory you will see the OPMN ping executable:


What it basically does is log into essbase with the admin account and then log out this indicates whether essbase is alive or not which is a requirement when clustering.

By default this happens every 20 seconds and if you take a look at the essbase log you will see it constantly polluted with something like:

[Tue Dec 30 10:12:29 2014]Local/ESSBASE0///964/Info(1042059)
Connected from [192.168.1.115]

[Tue Dec 30 10:12:49 2014]Local/ESSBASE0///964/Info(1042059)
Connected from [192.168.1.115]


As you can imagine this amounts up to many entries over time and doesn’t serve much purpose in the log.

There are also other logs that get written to under the OPMN logs directory.


I seem to find that at many clients this log folder is not part of any housekeeping solution and the essbase ping and agent log can become large in size.

Unfortunately there does not seem to be any options to rotate these logs even though there is a setting in the opmn.xml


The rotation size works with the opmn log but not does not seem to work with the ping or agent log, I remember a enhancement request back in 2012 to be able to add the option to but I am not sure it got anywhere.

14556989 - ABILITY TO DO LOG ROTATIONS ON ESSBASE. OPMN, AND ESSBASE STUDIO

If you look in the EssbasePing.log then you will see the following messages repeating every 20 seconds.

[2014-12-30T11:02:15.272-18:02] Initializing Ping Request
PM-PingUtility INFO: Connection is done
PM-PingUtility INFO: Received Response from the Essbase Agent
PM-PingUtility INFO: Essbase Message - PING_OK
PM-PingUtility INFO: PING SUCCESS


If there is a problem connecting or logging into Essbase then you will see a similar message to:   

[2014-12-30T11:25:13.539-18:58] Initializing Ping Request
PM-PingUtility: Couldn't connect to Essbase with Essbase ERR# 1042006
PM-PingUtility: Fails to Ping the Essbase Agent 1042006


In a non-clustered essbase environment this is not really providing much benefit as the message just repeats and unless the log is being monitored it would go unnoticed, if required the same solution could be easily created with a Maxl script.

Luckily the opmn ping log does not have a lock on it so it can be removed with stopping services.

So how about altering the frequency of the ping and how can it be done.

Well it is back to the opmn.xml file located in:

<EPM_ORACLE_INSTANCE>\diagnostics\logs\OPMN\opmn


There is an element called ping and an attribute called interval that can be added to the XML file

For example <ping interval="60"/>


The interval is the number of seconds between each ping so in the above example after a restart to OPMN the ping will have gone from 20 seconds to 60 seconds.

After making any changes to the xml file I was always like to use the validate command to check the file is still valid.


The maximum value is 7200 seconds and if you try and set it any higher then you should see the following error message:


The maximum value is defined by the XML schema definition file:


It is possible to change the value in the XSD file so I tested increasing the maximum value to 10800 and the ping interval matched the value.

So how about disabling the ping process well it couldn’t be simpler just set the interval value to 0.


If you set it to 0 and restart OPMN then you will no longer be bothered by the ping.

2 comments:

Anonymous said...

Thanks for this John and Happy New Year.

I was not aware of this new log file and it was getting quite large on my systems!

I thought i'd disable pinging (set ping-interval=0) but Essbase no longer starts up. To start up i normally just start the OPMN service.

My configuration file layout was also slightly different to yours with a specific ping parameter section:







Was there anything else you did?

I am on version 11.1.2.3.500.

Thanks
Andy T

Anonymous said...

i take back my comment, i didn't read it properly!

My file is under a slightly different location:
E:\Oracle\Middleware\user_projects\Essbase1\config\OPMN\opmn

The ping-param section is not what you were talking about and it's a new tag around line 81 that's required as you rightly said.

I'll try with a long ping and no ping and see if that resolves.

Thanks
Andy T