Sunday, 3 July 2011

EPM 11.1.2.1 compact deployment update part 2

This week’s blog is a continuation from the last one on compact deployments, it is not essential that you have read the last blog but for this one to be of any benefit then you would have had to successfully completed a compact deployment.

In the original post on EPM compact deployments I left two open questions and this week it is time for the second question to be covered off which only relates to windows OS deployments.

Once a compact mode has completed successfully a batch script named startEPMSystem.bat is generated to start up the WebLogic managed server, no windows service is created like the other WebLogic deployed products so to make life a little bit easier I set myself a task to create a windows service that will start up the EPM managed server.

Now I know it is probably possible to try and use the Weblogic install service utility but I didn’t have much success with it and I also I wanted the service to function like the other products in the stack so here are the steps I carried out to set up the service.



In a standard deployment once the Weblogic web applications have been started and if you look in task manager you will see a process for each managed server, each process has the same description as in fact they are all the same executable just with a different name.



Each of these executables are called when the service is started and they all reside in <MIDDLEWARE_HOME>\user_projects\domains\<domain name>\bin



The executables originate from <MIDDLEWARE_HOME>\EPMSystem11R1\common\utilities\JavaService, there is a 32bit and 64bit version of the executable.

When a Weblogic managed service is deployed it copies the file from the above directory into <MIDDLEWARE_HOME>\user_projects\domains\<domain name>\bin and renames it depending on which web application is being deployed.



I copied HyslJavaServiceAMD64.exe into <MIDDLEWARE_HOME>\user_projects\domains\epmsystem1\bin and renamed it to EPMSystem.exe

Usually the default deployment domain name is EPMSystem but in my compact deployment I called it epmsystem1.



If you take a look at any of the start up commands for the windows services you will see/ServiceName= and /RegKey=
these define the registry keys used and are called upon when the windows service is started.



The keys are all stored under HKLM\SOFTWARE\Hyperion Solutions and contain important variables and various paths to pass into the WebLogic managed server for it to be able to function correctly.

For the windows service I am creating I would need to create a new registry key for the EPM Managed server.



When a compact deployment is run it creates a file called setManagedParamsEPMserver.bat in <MIDDLEWARE_HOME>\user_projects\domains\<domain name>\bin



This file contains all the necessary information for the registry key so the next step was to transfer this information into a .reg file.

Instead of creating the file from scratch I did use a registry key that had already been created from another EPM 11.1.2.1 instance, I used the foundation services registry key as a starting point and these keys can be found in <MIDDLEWARE_HOME>\user_projects\<instance_name>\bin\deploymentScripts\installServiceScripts

The registry file needed a clean up as some of the options are repeated two or three times.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Hyperion Solutions\EPMSystem0\EPM11]
"JVMOption1"="-Dweblogic.Name=EPMServer0"
"JVMOption2"="-Dweblogic.RootDirectory=E:\\Oracle\\Middleware\\user_projects\\domains\\epmsystem1"
"JVMOption3"="-Dweblogic.j2ee.application.tmpDir=E:\\Oracle\\Middleware\\user_projects\\domains\\epmsystem1\\servers\\EPMServer0\\tmp"
"JVMOption4"="-Dweblogic.management.server=http://localhost:7001"
"JVMOption5"="-Ddomain.home=E:\\Oracle\\Middleware\\user_projects\\domains\\epmsystem1"
"JVMOption6"="-Dplatform.home=E:\\Oracle\\MIDDLE~1\\WLSERV~1.3"
"JVMOption7"="-Dwls.home=E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\server"
"JVMOption8"="-Dweblogic.home=E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\server"
"JVMOption9"="-DEPM_ORACLE_HOME=E:\\Oracle\\Middleware\\EPMSystem11R1"
"JVMOption10"="-DEPM_ORACLE_INSTANCE=E:\\Oracle\\Middleware\\user_projects\\epmsystem1"
"JVMOption11"="Djava.library.path=E:\\Oracle\\Middleware\\EPMSystem11R1/products/Planning/lib64;E:\\Oracle\\Middleware\\EPMSystem11R1/common/ADM/11.1.2.0/bin-64;E:\\Oracle\\Middleware\\EPMSystem11R1/bin;E:\\Oracle\\Middleware\\EPMSystem11R1/common/EssbaseRTC-64/11.1.2.0/bin;E:\\Oracle\\Middleware\\EPMSystem11R1/products/Essbase/EssbaseServer/bin;E:\\Oracle\\Middleware\\user_projects\\epmsystem1/products/biplus/bin;E:\\Oracle\\Middleware\\EPMSystem11R1/common/ADM/11.1.2.0/ODBO/11.1.2.0;E:\\Oracle\\Middleware\\EPMSystem11R1/products/FinancialManagement/Common;E:\\Oracle\\Middleware\\EPMSystem11R1/products/FinancialManagement/Client;E:\\Oracle\\Middleware\\EPMSystem11R1/common/ADM-64/Planning/11.1.2.0/bin;E:\\Oracle\\Middleware\\EPMSystem11R1/products/Essbase/eas/server/bin; "
"JVMOption12"="-DESS_ES_HOME=E:\\\\Oracle\\\\Middleware\\\\EPMSystem11R1/products/Essbase/eas/server"
"JVMOption13"="-Dcom.hyperion.planning.datamodel=64 "
"JVMOption14"="-Dcommon.components.home=E:\\Oracle\\MIDDLE~1\\ORACLE~1"
"JVMOption15"="-Djrf.version=11.1.1"
"JVMOption16"="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger"
"JVMOption17"="-Djrockit.optfile=E:\\Oracle\\MIDDLE~1\\ORACLE~1\\modules\\oracle.jrf_11.1.1\\jrocket_optfile.txt"
"JVMOption18"="-Doracle.domain.config.dir=E:\\Oracle\\MIDDLE~1\\USER_P~1\\domains\\EPMSYS~1\\config\\FMWCON~1"
"JVMOption19"="-Doracle.server.config.dir=E:\\Oracle\\MIDDLE~1\\USER_P~1\\domains\\EPMSYS~1\\config\\FMWCON~1\\servers\\EPMServer0"
"JVMOption20"="-Doracle.security.jps.config=E:\\Oracle\\Middleware\\user_projects\\domains\\epmsystem1\\config\\fmwconfig\\jps-config.xml"
"JVMOption21"="-Djava.protocol.handler.pkgs=oracle.mds.net.protocol"
"JVMOption22"="-Digf.arisidbeans.carmlloc=E:\\Oracle\\MIDDLE~1\\USER_P~1\\domains\\EPMSYS~1\\config\\FMWCON~1\\carml"
"JVMOption23"="-Digf.arisidstack.home=E:\\Oracle\\MIDDLE~1\\USER_P~1\\domains\\EPMSYS~1\\config\\FMWCON~1\\arisidprovider"
"JVMOption24"="Dweblogic.alternateTypesDirectory=E:\\Oracle\\MIDDLE~1\\ORACLE~1\\modules\\oracle.ossoiap_11.1.1,E:\\Oracle\\MIDDLE~1\\ORACLE~1\\modules\\oracle.oamprovider_11.1.1"
"JVMOption25"="-Dweblogic.jdbc.remoteEnabled=false"
"JVMOption26"="-DEAS_HOME=E:\\\\Oracle\\\\Middleware\\\\EPMSystem11R1/products/Essbase/eas"
"JVMOption27"="-DDISCMAN_HOME=E:\\\\Oracle\\\\Middleware\\\\EPMSystem11R1/products/DisclosureManagement/DiscManHome "
"JVMOption28"="-DDISCMAN_INSTANCE=E:\\\\Oracle\\\\Middleware\\\\user_projects\\\\epmsystem1/DisclosureManagement/discman1"
"JVMOption29"="-Doracle.deployed.app.dir=E:\\Oracle\\Middleware\\user_projects\\domains\\epmsystem1\\servers\\EPMServer0\\tmp\\_WL_user"
"JVMOption30"="-Doracle.deployed.app.ext=\\-"
"JVMOption31"="-Dem.oracle.home=E:\\Oracle\\Middleware\\oracle_common"
"JVMOption32"="-Djava.awt.headless=true"
"JVMOption33"="-Dweblogic.management.discover=true"
"JVMOption34"="-Dhyperion.home=E:\\Oracle\\Middleware\\EPMSystem11R1"
"JVMOption35"="-DHYPERION_HOME=E:\\Oracle\\Middleware\\EPMSystem11R1"
"JVMOption36"="-Dlogging.folder=E:\\Oracle\\Middleware\\user_projects\\domains\\epmsystem1\\servers\\EPMServer0\\logs"
"JVMOption37"="-Dserver.name=EPMServer0"
"JVMOption38"="-Dsun.net.inetaddr.ttl=0"
"JVMOption39"="-Djava.io.tmpdir=E:\\Oracle\\Middleware\\user_projects\\epmsystem1/tmp"
"JVMOption40"="-Xrs"
"JVMOption41"="-XX:-FlightRecorder"
"JVMOption42"="-Xms512m"
"JVMOption43"="-Xmx1046m"
"JVMOption44"="Djava.class.path=E:\\Oracle\\MIDDLE~1\\ORACLE~1\\modules\\oracle.jdbc_11.1.1\\ojdbc6dms.jar;E:\\Oracle\\MIDDLE~1\\patch_wls1034\\profiles\\default\\sys_manifest_classpath\\weblogic_patch.jar;E:\\Oracle\\MIDDLE~1\\JROCKI~1\\lib\\tools.jar;E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\server\\lib\\weblogic_sp.jar;E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\server\\lib\\weblogic.jar;E:\\Oracle\\MIDDLE~1\\modules\\features\\weblogic.server.modules_10.3.4.0.jar;E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\server\\lib\\webservices.jar;E:\\Oracle\\MIDDLE~1\\modules\\ORGAPA~1.1/lib/ant-all.jar;E:\\Oracle\\MIDDLE~1\\modules\\NETSFA~1.0_1/lib/ant-contrib.jar;E:\\Oracle\\MIDDLE~1\\ORACLE~1\\modules\\oracle.jrf_11.1.1\\jrf.jar;E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\common\\derby\\lib\\derbyclient.jar;E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\server\\lib\\xqrl.jar;E:\\Oracle\\Middleware\\user_projects\\epmsystem1/HPS/hpsfiles/config;E:\\Oracle\\Middleware\\user_projects\\epmsystem1/DisclosureManagement/discman1/lib;"
"JVMOptionCount"=dword:0000002c
"StartIn"="E:\\Oracle\\Middleware\\user_projects\\domains\\epmsystem1"
"StartupParamCount"=dword:00000000
"SysErrFile"="E:\\Oracle\\Middleware\\user_projects\\epmsystem1\\diagnostics\\logs\\services\\EPMSystem-syserr.log"
"SysOutFile"="E:\\Oracle\\Middleware\\user_projects\\epmsystem1\\diagnostics\\logs\\services\\EPMSystem-sysout.log"
"EnvCount"=dword:00000001
"JavaDll"="E:\\Oracle\\Middleware\\jrockit_160_20\\jre\\bin\\jrockit\\jvm.dll"
"Env1"="PATH=E:\\Oracle\\MIDDLE~1\\patch_wls1034\\profiles\\default\\native;E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\server\\native\\win\\x64;E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\server\\bin;E:\\Oracle\\MIDDLE~1\\modules\\ORGAPA~1.1\\bin;E:\\Oracle\\MIDDLE~1\\JROCKI~1\\jre\\bin;E:\\Oracle\\MIDDLE~1\\JROCKI~1\\bin;%PATH%;E:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\server\\native\\win\\x64\\oci920_8"
This is the registry file I came up with, it was saved as a .reg file and executing it updated the registry with the information. If you intend on using it then you will need to update the middle home directory and maybe the domain name if you use anything other than epmsystem1 as the usual domain name in an EPM deployment is EPMSystem.



One of the nice features of using this method is you get the option of generating logs like the other EPM products that use a windows service using the SysErrFile and SysOutFile options

The final step is to generate the windows service and this can be done by using the command line utility SC.



The command line used was
SC create “EPM Managed Server” binpath= E:\Oracle\Middleware\user_projects\domains\epmsystem1\bin\EPMSystem.exe” /StartClass=weblogic.Server /ServiceName=EPM11 /RegKey=EPMSystem0



When I started up the service I did notice some errors in the log relating a performance pack which stressed that performance could be degraded, this didn’t stop the managed server from starting up and working but it needed fixing, I went back to starting up the managed server by the standard batch file and the same error was being generated so it wasn’t down to the registry file I had created.

To fix this issue I just added an extra path to the –Djava.library.path option in the registry



The path added that was added was <MIDDLEWARE_HOME>\wlserver_10.3\server\native\win\x64

I did spot one more issue which only occurred if I set the JVM maximum size over 1.5GB then an out of memory error was generated in the log and the web application would terminate.



The issue seems to be common when using jrocket as the JVM, if the maximum size was set over 4GB then the error goes away but I found it was possible to also get around the issue without having to set the maximum size to 4GB by adding an extra option in the registry which is passed into the managed server.



An extra JVMOption was added with a value of –XXcompressedRefs:size=32GB (if you want to read in-depth details on why this option may have to be used then have a read here)

As an extra option was added the JVMOptionCount in the registry has to be incremented by 1.
I have not seen any other issues and the managed server is running well when started from a service.

Sunday, 26 June 2011

EPM 11.1.2.1 compact deployment update

In a previous post I went through the steps on deploying EPM 11.1.2.1 WebLogic based web applications in compact mode.

There were a couple of questions that were left unanswered questions in the post and I have been asked a few times what the answer is to them so I thought I would write up my findings.

Now if you are not intending of deploying in compact mode or have not read my previous post on the steps then this will probably be of no interest to you so you can go and do something far more interesting instead.

On to the first question, when deploying in compact mode there are a number of dependent products that need to be installed before running the deployment, in my case the deployment failed the first time due to not having HPS (Hyperion Performance Scorecard) installed and I didn’t really have any intention on using the product but at the time I just installed it to be able to proceed with the deployment.

I said that it may be possible to edit a few XML files to get around the need to have the dependent products installed, as it was niggling at me whether it could be done I went back and had a look.

The intention was to be able to deploy without having to install HPS and here are the steps that I carried out before running the compact deployment.




Details of the required librarie, dependent products and deployment details are stored within the following file
<MIDDLEWARE_HOME>/EPMSystem11R1/common/templates/compact/epm_system_11.1.2.1.jar




The file can be opened with a compression utility like 7zip so that all the XML files within the jar can be accessed and then edited, if you are planning on following these steps I would recommend taking a backup of epm_system_11.1.2.1.jar first.



The first file that was edited was template-info.xml, this file contains all the dependent libraries and deployment information the line containing “Oracle EPM HPS libraries” was deleted and then the file was saved.



The next file config-groups.xml contains all the products that will be deployed if they are already installed, two lines relating to HPS were removed.



Another line containing “hps_datasource” was removed from the same file.



The section highlighted above was also removed from the file and then the file was saved.



Within the config directory the file config.xml was edited and the above section relating to HPS was removed.



The datasource section relating to HPS shown above was also removed and the file was saved.



Finally the file hps_datasource-jdbc.xml was deleted from the jdbc directory within the jar file.

Now the compact deployment can be executed and it should not fail if HPS has not been installed, for full details on how to deploy in compact mode go back to my previous blog.

It is possible to remove other dependent products from the deployment by using this method to try and save some extra memory.

If you have products installed that are not on the dependent product list but are in the deployment list e.g. ERPi, Disclosure Management and you don’t want them deploying using the compact method then you will either to need to uninstall them and then install them after deploying in compact mode or use the method of editing the XML files as explained in this post.

I was going to go through my second question next but unfortunately I have not got any spare time left today so I will write it up in the next couple of days and then post it.

Sunday, 5 June 2011

ODI Series – Essbase related bug fixes

There have been a couple of patches released lately for ODI which address issues with the essbase adaptor and I thought it was worth going through them as I have blogged about these specific problems in the past.
  • Patch 10.1.3.6.7_01 contains the following fix - 9046176 - Wrong export order of members when using LKM Hyperion Essbase Metadata to SQL.A new column called sortid is added to the all the dimensions to order the records. This column is automatically populated using a counter.

  • Patch 10.1.3.6.8 contains the following fix - 8826035 - Extract member's descriptions when we have more than one alias table in Hyperion.
Both patches contain updates to the knowledge module “LKM Hyperion Essbase (Metadata) to SQL” and updates to underlying Java code.

These bug fixes have not made it to ODI 11g yet but it might be possible to use the KM and Java files from the above patches (I have not tested this theory).

I will go through the wrong export order of members issue first, if you are not familiar with extracting essbase metadata using ODI then you can read an article I wrote on how to do it here.



Let’s use the measures dimension in Sample.Basic for the example, if a simple interface is created using the “LKM Hyperion Essbase (Metadata) to SQL” to extract the measures dimension then you would expect the output order of members to reflect the order in the outline.



As you can see the order is not correct, the dimension member “Measures” is the last in the order instead of being the first.

Now what I have done in the past is use a RDBMS target and add an ID column, in Oracle the ID column can be populated using a Sequence and for SQL Server an identity column property can be used.



This produces the above output.



If you reverse the output using SQL then “Measures” is outputted first though the order still is not correct.



If you were to build an outline based on that order you would get an outline like the one displayed on the left when what you want is the order of the outline on the right, basically all the levels are in the wrong order and not just the top level.

I was hoping that the patch release was going resolve the issue fully but let me go through it and see the output.

Once the patch has been applied make sure the “LKM Hyperion Essbase (Metadata) to SQL” is replaced using the import_replace option.



If the essbase database model is reversed again an extra numeric column called sortid is available within each dimension datastore.



A new interface was created to extract the measures dimension and sortid is mapped from the source to ID in the target.

To change the order of the output then a slight change to the IKM being used is required.



In my example I am using “IKM SQL to File Append” so the KM was edited and step “Insert new rows” was updated, the following code was added to the “Command on Source” -
ORDER BY <%=snpRef.getColList("","[EXPRESSION] ","","","UD1")%> DESC

This means the output will be ordered based on UD1 in the mapping of the interface.



UD1 was selected on the sortid column so the output will be ordered by this column and the interface was executed.



In my opinion the fix does not resolve the order issue fully, it has added a numeric counter to the output but the levels are still in the wrong order.

On to the second fix available in patch 10.1.3.6.8, this addresses the issue with being able to only extract the default alias table information.

I originally blogged about this issue here and went through a workaround by customizing the LKM and updating the Java API.



The patch release adds a new option in the LKM to enter which alias table to extract from; the idea is the same as what I used in my workaround so I had a quick look at the bug on “My Oracle Support”



I had a quick peak at the Java code in the new patch release and it is the same as what I wrote, so it looks my workaround has made it into official Oracle software, not that anybody in Oracle contacted me about it :)

There are a number of other essbase/planning/HFM related bug fixes in the latest patches so if you are experiencing any issues it is always worth have a look through the Readme.

Sunday, 29 May 2011

EPM 11.1.2.1 compact deployment

The release of EPM 11.1.2 brought many changes across the product set and with the supporting architecture, gone was the ability to deploy web applications using Tomcat and only one option of WebLogic remained. This brought with it a much bigger footprint in terms of memory and pushed many down alternative paths to be able to run the system.

There are many reasons why high memory requirements can be restrictive, for instance if you wanted to run the full system for development, training, demos etc and intended on hosting on a laptop, yes it is possible if you pay for very high end spec machine or look to the cloud for inspiration but surely there were other possibilities.

With the release of 11.1.2.1 an additional option called compact deployment has become available which allows WebLogic based web applications to be deployed to a single managed server instead of a separate server for each product, so in theory reducing the overall memory requirement.

Today I am going to go through the process of deploying using the compact server method, now there are a few things to be aware of first.
  • It is aimed at 64bit operating systems.

  • Is available for new/upgraded 11.1.2.1 installations.

  • Financial Management and Financial Close management are not included; these will still need to be deployed using the standard deployment method, though saying that it is still possible to use a large percentage of FM functionality without the WebLogic piece running.

  • If the managed server crashes for any reason then all the web application running within it will be taken down.

  • This deployment method should not be considered for anything more than a development environment, it wouldn’t be supported either.
There are two methods of deploying in compact mode, one when products are configured using a single database and the other when configured using multiple databases, today I am going to cover the single database method as it makes perfect sense to only use one database in this sort of deployment.

Now I am not going to go through how to install EPM 11.1.2.1 as I have covered that in the past and it’s not the purpose of this blog, I am starting off with a fresh install of EPM 11.1.2.1 deployed on a windows 2008 R2 64bit machine, the process covered today should be pretty much the same for other operating systems and if it is unix type system then it will just be a matter of running a .sh instead of .bat



Before deploying the web applications the other areas for each product such as database configurations have to be carried out first, so the configurator was started using <MIDDLEWARE_HOME>/EPMSystem11R1common/config/11.1.2.0/config-manual.bat

Usually the configurator is started using configtool.bat but using configtool-manual.bat starts the configurator as if the web applications are to be deployed manually, this means there will be no options available for web application deployment.



As this a fresh install a new EPM Oracle instance has to be created, I stuck with the defaults which creates an instance with the name of epmsystem1, the instance name is required later in the process.



The first-time configuration option is selected and details of the database are entered, this will only have to be entered once as all products are going to be deployed using one database.



All the required options will already be selected notice that there are no options available to deploy to application server.

It is also worth noting that the essbase server configuration option is not available either, now you can leave configuring essbase until later or do what I did and configure all the above first and then run configtool.cmd, deselect all and only select Essbase > “Configure Essbase Server”.

Once all the products have been configured then it is time to move on to the web applications compact deployment.





To start up the compact deployment open a command prompt and go to <MIDDLEWARE_HOME>/user_projects/epmsystem1/bin/compact and execute “runCompactDeploy.bat

Four pieces of information are required:-

Weblogic Domain name – this should be the same name as the domain name created in the EPM configurator, the default being EPMSystem (though I used epmsystem1 as the domain name in my example as it was a fresh install with no domain created)

Weblogic Domain user name/password – I stuck with the default username used when configuring EPM which is epm_admin and the password is your choice, you will need these account details if you intend on logging into the WebLogic admin console for the domain.

Database user password – this is the password of the account used for configuring the one database in the configurator.

Once entered the compact deployment should spring into life and all should be good…



Unfortunately I hit a bit of an issue and thought I would explain why it happened as I am sure I won’t be the only one that gets hit with it.

The compact deployment ran through and by watching the command window intently I noticed errors appear and in the end was awarded with a pop up message stating startEPMSystem.bat did not exist.

The problem started to manifest when a WebLogic script is executed to create the domain and add the EPM library templates.

The exception was “The following prerequisites were found to be missing: Oracle EPM HPS libraries – 11.1.2.1

It seems that there are a number of mandatory products that need to be installed before the compact deployment can be carried out.

I found the details of the required libraries in the following file which is used in the compact deployment -
<MIDDLEWARE_HOME>/EPMSystem11R1/common/templates/compact/epm_system_11.1.2.1.jar



Within the jar is a file named template-info.xml which contains the required libraries, the libraries are located at <MIDDLEWARE_HOME>/EPMSystem11R1/common/templates/applications

It looks like the following products may need to installed before running the compact deployment –
Foundation
Disclosure Management

Reporting and Analysis Framework
EAS
ERPi

Planning
Financial Reporting
Web Analysis
HPS (Hyperion Performance Scorecard)

So depending on what products have been installed will determine the exception generated, in my case the only product I had not installed was Performance Scorecard and that is why the error around “Oracle EPM HPS libraries – 11.1.2.1” was being generated.

It may be possible to update the xml file to alter the dependencies but it is not something I have attempted. (Update: it is possible and I have wrote a post on how to do it, have a read here)

This left me the only option to install Performance scorecard and then configured the non web app elements.

Once complete “runCompactDeploy.bat” was executed again.



This time everything ran smoothly and no errors were generated in the compactDeploy window, once completed another command window opens and starts up the WebLogic admin server for epmsystem1, a final command window opened starting up all the EPM web applications in one managed WebLogic server by executing <MIDDLEWARE_HOME>/user_projects/domains/epmsystem1/bin/startEPMSystem.bat



If you log into the WebLogic admin console for the epmsystem1 domain you will notice a server has been created called “EPMServer0” running on port 9000, this means all the EPM web application will be running against that port.

To log in to the admin console go to http://localhost:7001/console and enter the username/password that was entered earlier when running the compact deployment batch script



To view all the web applications deployed in the managed server click on “EPMServer0” and go to deployments tab.

The admin server can be stopped to save memory as it is not required and the "EPMServer0" managed server can be run indepently.



It is possible to test logging into some of the products using port 9000 but for all the products to communicate correctly through workspace the final step was to configure the http web server element.



Once the web server was successfully configured using OHS the web applications were all accessible via port 19000

To start the managed server execute - <MIDDLEWARE_HOME>/user_projects/domains/epmsystem1/bin/startEPMSystem.bat

To stop the managed server execute - <MIDDLEWARE_HOME>/user_projects/domains/epmsystem1/bin/stopEPMSystem.bat

No windows service is created by default to start/stop the managed server, I am sure it is possible to create one and maybe it is something I will have a look at if I ever get the chance.
(Update: the steps to create a windows service can be found here)



A quick look at the Java process running the WebLogic managed server indicated the minimum memory being consumed was 1.3GB, so if you compared that to starting the entire set of EPM web applications in a standard deployment then there is a considerable difference, starting up just “Foundation” and “R&A Framework” web applications can consume around 1GB.



Depending on the available memory on the machine being deployed on the JVM maximum memory can be increased and with it being 64bit then there is less of a constraint on an upper limit like with 32bit.

To increase the JVM edit <MIDDLEWARE_HOME>/user_projects/domains/epmsystem1/bin/setManagedParamsEPMServer.bat and update the value for -Xmx then restart the managed server.

I have not had a chance to really put the system through its paces but the performance seems reasonable considering what it will be used for, I recommend you try it out and make up your own opinion but at least it opens the door for deployments on machines with a lower memory capacity.

Sunday, 15 May 2011

Planning 11.1.2.1 – Upgrade Wizard

The recent release of planning 11.1.2.1 brings new application administration features which are worth a quick mention.



These can be accessed from workspace under Administer > Classic Application Administration > Planning Administration.
Even though it is being accessed through Classic Administration it also applies to EPMA enabled applications.



The Upgrade Wizard is a new addition.




Previously if any data source elements had changed you would have to edit each data source individually, now it is possible to mass update this information.

So for instance if say the essbase server was rehosted or account information had changed then all the data sources can be updated at once.



Select the data sources that require updates, enter the new information, apply then save.



In previous versions if you wanted to upgrade a planning application to the latest release you would have to log into the planning application and select migrate, it is now possible to upgrade multiple applications at once which saves time if you have just upgraded planning.



In case of upgrade failure the upgrade process for each planning application is logged in <MIDDLEWARE_HOME>/user_projects/epmsystem1/Planning/planning1

and in the format of

PlanningAppUpgradeLog_<APPLICATION_NAME>.txt

If you have never understood what happens when a planning application is upgraded it is worth having a look at the log as it will give you a good idea of the steps taken.

The last option is “Update Reporting Essbase Servers”



If you are using the Reporting Application functionality essbase server connection information changes then it is possible update this for single or multiple applications.

I did notice a security flaw with the new functionality as if you go directly to http://<planning_server>:8300/HyperionPlanning/UpgradeWizard.jsp then anybody can access the Upgrade Wizard pages without the need for authentication, I am sure this will get fixed in subsequent patches but something to be aware of at the moment.

Saturday, 14 May 2011

Planning 11.1.2.1 – Automate pushing of Reporting Application data

One of the new features in planning 11.1.2 was the ability to map and push data to a reporting application, I covered the reporting functionality in an earlier blog which you can read here, one of the drawbacks was if you wanted to push the data to an essbase database it had to be done manually, depending on the size of the data the export/import could take a while and it would be something you would want to schedule out of hours.

With the release of 11.1.2.1 a new command line utility called PushData has been created, the utility provides the functionality to automate the pushing of data for any Reporting Applications that have been set up in a planning application.



The utility is available with the other planning utilities in the directory <MIDDLEWARE_HOME>/user_projects/epmsystem1/Planning/planning1

The parameters to use the utility are -

PushData [-f:passwordFile] /U:username /A:sourceApplication / M:applicationMapping [/C]

Most of the parameters are self-explanatory, if optional /C is used then the data on the target is cleared first.
If you want to understand how to create a password file have a read here

PushData.cmd /U:admin /A:PlanSamp /M:PLANASO /C



The utility also produces a log available at -
<MIDDLEWARE_HOME/user_projects/epmsystem1/diagnostics/diagnostics/logs/planning/PushData.log



The log will capture whether the pushing of data was successful or not and any members that are skipped due to not existing in the target.

It is also possible to check the status through the Job Console within the planning application.



I did notice some strange anomalies in the log as shown above.

After successfully running the command line utility it can be batched up and scheduled using your chosen scheduler to run at required intervals.