Oracle‎ > ‎

FDM Web Keep Alive

With the Oracle EPM Financial Data Quality Management 11.1.2.x line of FDM versions the initial login and subsequent logins after a few minutes of no use causes the login screen to take ages to load, the FDM login page is slow to show. Between a few minutes of inactivity the FDM Web site/application pool spins down, I have not investigated why but a simple fix is to employ a mechanism to call the FDM URL every minute or so. This can happen naturally using monitoring software or a loadbalancer which check node availability. Alternatively a simple bat file can be used to hit the web page every few minute there are many ways to skin this cat but here is just one example.

  

Example: 
This method utilises the nice ab.exe utility which is delivered as standard with Apache and Oracle HTTP Server.
The ab.exe utility can be used to do lots of other things concerning URLs too. http://httpd.apache.org/docs/2.2/programs/ab.html
 
Create a bat file: fdmkeepalive.bat for example in: C:\Oracle\scripts\fdmalive\
The file contents looks like:

REM This file calls the FDM Web Site every minute in order to keep it alive
:START
D:\Oracle\Middleware\ohs\ohs\bin\ab.exe http://<FDMWEBSERVER>/HyperionFDM/AuthorizedPages/LogonPage.aspx
timeout /T 60 /NOBREAK
GOTO START
The <FDMWEBSERVER> Should be substituted with the correct FDM IIS server. Note that if you have more then one FDM Web server to keep alive you need to send a request to each one.
 
Now this batch file needs to be scheduled to run at startup of the server or as I like to do at the startup of the OHS services so using OPMN.
 
So to run the fdmkeepalive.bat we must run it as an OPMN Custom Script.
The default format for a custom OPMN entry is:
----------------SNIP
<ias-component id="Custom">
    <process-type id="Custom" module-id="CUSTOM">
        <process-set id="Custom" numprocs="1">
            <module-data>
                <category id="start-parameters">
                    <data id="start-executable" value="Yourstartexecutable here" />
                </category>
            </module-data>
        </process-set>
    </process-type>
</ias-component>
----------------SNIP
Note the process-type id="Custom" value can be customised to identify your process.
First take a backup and then edit th opmn.xml file: c:\Oracle\Middleware\user_projects\epmsystem??\httpConfig\ohs\config\OPMN\opmn
an exert of this file with the custom script inserted looks like this: (Note: the entry can be renamed to give a more informative name).
Also its important to keep the integraty of this XML file since it also contains the configuration information for the OHS server.

----------------SNIP

            <module-id id="EMAGENT"/>

         </module>

      </process-modules>

      <ias-instance id="EPM_epmsystem2" name="EPM_epmsystem2">

        <environment>

           <variable id="TEMP" value="C:\Temp\4"/>

           <variable id="TMP" value="C:\Temp\4"/>

        </environment>


<ias-component id="Custom">

   <process-type id="FDMKeepAlive" module-id="CUSTOM">

   <process-set id="Custom" numprocs="1">

      <module-data>

         <category id="start-parameters">

            <data id="start-executable" value="C:\Oracle\Scripts\fdmalive\fdmkeepalive.bat" />

         </category>

      </module-data>

   </process-set>

   </process-type>

</ias-component>

</ias-instance>

      <rmd-definitions>

         <!-- Audit Loader Setup TODO

              Update the interval for Audit

...

----------------SNIP

From the command prompt using the opmnctrl.bat file will let us query the updated opmn configuration.
After reloading the configuration or stopping/starting the OPMN service we now see:

C:\Oracle\Middleware\user_projects\epmsystem??\httpConfig\ohs\bin>opmnctl.bat reload
C:\Oracle\Middleware\user_projects\epmsystem??\httpConfig\ohs\bin>opmnctl.bat startall
C:\Oracle\Middleware\user_projects\epmsystem??\httpConfig\ohs\bin>opmnctl.bat status
 
Processes in Instance: ohsInstance4217365659

---------------------------------+--------------------+---------+---------

ias-component                    | process-type       |     pid | status

---------------------------------+--------------------+---------+---------

Custom                           | FDMKeepAlive       |    4760 | Alive

ohs_component                    | OHS                |    8152 | Alive

  
Comments