Oracle Essbase

Release 11.1.2.4.000 Patch Set Exception (PSU): 11.1.2.4.025

Readme

About this Patch. 2

Unsupported Features. 3

MaxL Perl Module Will No Longer Be Supported in 12.2.1.3.0. 3

Essbase Native Security Mode Is No Longer Supported. 3

Patch Type. 3

Supported Paths to this Patch. 3

Prerequisites. 4

Required User Rights. 4

Supported Platforms. 4

Supported Languages. 4

Defects Fixed in this Patch. 5

Known Issues in this Patch. 7

Linked Partition in SmartView Client cannot connect to Essbase. 7

Dim build setting "allow move" is not allowed. 7

Issue with @PARENTVAL() Function. 7

Essbase Administration Services Server Can Terminate Abnormally After Updating the Outline. 8

When running Essbase on an SLES 11 operating system and upgrading to 11.1.2.4.006 or above, Essbase Applications cannot load. 8

Increased usage of disk space on Exalytics. 8

On HP-UX, custom calculation allocations using the subtract option may return incorrect results. 8

Applying this Patch. 8

Rolling Back this Patch. 12

Troubleshooting FAQs. 12

Why do I get the following patch conflict error message when running OPatch?. 12

Why do I get the OUI-67078 warning message when applying OPatch?. 13

How can I find out which releases and patches of EPM System products are installed in a deployment?. 13

I applied the patch successfully but I don’t see the changes from the patch in the product. What should I do?. 13

Documentation Updates in this Patch. 13

Auto Generation of Aggregate Views. 13

Idle Application Shutdown (Applicable Only on Linux). 14

Maximum number of Alias Tables. 14

RESTRUCTURETHREADS Recommended Setting. 14

Naming Convention for Essbase Application Description Update:  __PCM__. 14

Attribute dimension Members should be Ignored in Dataload. 15

Optimizing Custom Calculations by Skipping Empty Tuples. 15

ODBC Driver Descriptor Management in Essbase. 16

Unexpected Labels Printing in Report Script 16

MDX Functions Are Not Supported in Custom Calculation Scripts. 17

Permission Required to Rename an Application. 17

Changes in Server Shutdown. 17

JAPI SOAP web services will be removed in a future release. 17

Generating Delimited Output Tables for MaxL and MDX. 18

Erratum: Drill-Through C APIs Not Supported with Essbase Studio. 21

@ALIAS Calculation Function Accepts Alias Table Name Argument 21

Correction: Using Runtime Substitution Variables in Calculation Scripts Run in Smart View.. 22

QUERYRESULTLIMIT Configuration Setting. 23

Unsupported Essbase Properties in the essbase.properties File. 24

Essbase Failover Clustering Supports Oracle RAC Database Connectivity and Windows Native Authentication for Microsoft SQL Server. 24

FIXPARALLEL Support On Partitioned Databases. 26

Runtime Substitution Variables Declared in SET RUNTIMESUBVARS Require a Default Value. 26

SSMEMBERIDPROCESSING Configuration Setting. 27

Changes in Server Shutdown. 27

OPMN and LD_LIBRARY_PATH. 28

Allocation Options. 28

Changes to CLEARDATA Calculation Command. 29

Essbase Features No Longer Supported in this Release. 29

Updated: Virtual Memory and Swap Space Considerations when Essbase Runs on Oracle Exalytics In-Memory Machine. 29

MEMORYMAPPEDDATA Configuration Setting. 29

Increased Execution Level Limit for Recursive Formulas. 30

Hybrid Aggregation Limitations. 30

About this Patch

This Readme file describes the defects fixed in this patch and the requirements and instructions for applying this patch.

Note: This patch is cumulative and includes defects fixed in earlier patches.

Caution: You are urged to carefully read and understand the following requirements. Failure to comply may result in applying a patch that can cause your application to malfunction, including interruption of service and/or loss of data. Before installing or applying this patch:

Verify that your system configuration (product version, patch level, and platform) exactly matches what is specified in the Readme.

Unsupported Features

MaxL Perl Module Will No Longer Be Supported in 12.2.1.3.0

MaxL Perl Module will not be supported starting with Release 12.2.1.3.0.

Essbase Native Security Mode Is No Longer Supported

Caution! Oracle strongly recommends not using Essbase native security mode because of security concerns. If you are currently using Essbase native security mode, you should convert Essbase Server to EPM System security mode and migrate users to EPM System security using Administration Services Console. See “Converting Essbase Server and Migrating Users to Shared Services” in the Oracle Essbase Administration Services Online Help. After you complete the conversion and migration tasks, Essbase security is managed as described in the Oracle Enterprise Performance Management System User Security Administration Guide.

 

Patch Type

This is a patch set update (PSU).

This patch replaces files in the existing installation and does not require a full installation.

Supported Paths to this Patch

You can apply this patch to the following releases:

·         11.1.2.4.000

·         11.1.2.4.001

·         11.1.2.4.002

·         11.1.2.4.003

·         11.1.2.4.004

·         11.1.2.4.005

·         11.1.2.4.006

·         11.1.2.4.007

·         11.1.2.4.008

·         11.1.2.4.009

·         11.1.2.4.010

·         11.1.2.4.011

·         11.1.2.4.012

·         11.1.2.4.013

·         11.1.2.4.014

·         11.1.2.4.015

·         11.1.2.4.016

·         11.1.2.4.017

·         11.1.2.4.018

·         11.1.2.4.019

·         11.1.2.4.020

·         11.1.2.4.021

·         11.1.2.4.022

·         11.1.2.4.023

Caution: Oracle recommends using the same version of all Essbase portfolio products (Essbase, Essbase Administration Services, Hyperion Provider Services, and Essbase Studio) and components (server, client, runtime client, API, and JAPI). When only some Essbase portfolio products are included in a patch release, the last released versions of the products that are not included in the patch are supported.

Essbase Administration Services 11.1.2.4.023, Provider Services 11.1.2.4.025, and Essbase Studio 11.1.2.4.016 are supported for use with Essbase 11.1.2.4.025.

Recommendation: After you apply a patch within the same release codeline, Oracle recommends as a best practice that you export the data from your databases, clear the data from the databases, and then reload the data.

Prerequisites

Required User Rights

The user applying the patch should be the user who was set up to install and configure EPM System products. Required user privileges or rights:

Windows:

Use the user account that has Local administrator rights and was set up for installation and configuration. This user is an administrator and is the same for all EPM System products. Assign local policies if required by the product. Such assignments typically are: “Act as part of the operating system, Bypass traverse checking, Log on as a batch job, Log on as a service.”

UNIX/Linux:

Use the account that was used to install EPM System products and has Read, Write, and Execute permissions on $MIDDLEWARE_HOME. If you installed other Oracle products, the user who installed EPM System products must be in the same group as the user who installed the other Oracle products. OPatches are not intended to be applied using a root user.

Supported Platforms

Applies to all supported platforms.

Information about system requirements and supported platforms for EPM System products is available in a spreadsheet format in the Oracle Enterprise Performance Management System Certification Matrix. This matrix is posted on the Oracle Fusion Middleware Supported System Configurations page on the Oracle Technology Network (OTN):

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

Supported Languages

Applies to all supported languages.

Information about supported languages for EPM System products is available in a spreadsheet format on the Translation Support tab in the Oracle Enterprise Performance Management System Certification Matrix. This matrix is posted on the Oracle Fusion Middleware Supported System Configurations page on OTN:

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

Defects Fixed in this Patch

Defect Number

Defect Fixed

·   27744715

After running an Essbase job, Import Oracle Fusion Data Extensions for
Transactional Business Intelligence does not display data populating correctly for reports based on cube.

·   27731207

Reports submitted from Oracle Business Intelligence generates an MDX query that in some cases causes an Aggregate Storage application connection closure with Network Error 10054.

·   27538674

MaxL script for allocation improvement to support larger size.

·   27476426

Calculation performance was slow in the case of Calc Dataexport for databases that have large block size and the calculation has a FIX on a large number of members.

·   27241692

Allocation calculation performance degraded in some cases after Essbase 11.1.2.4.012 Patchset Update.

·   25457372

In some cases, an Aggregate Storage application using SUBSELECT returns #MISSING.

·   27631111

A dimension build fails to update for duplicate members with the expense property type of an Aggregate Storage database.

·   27348228

The SET EMPTYMEMBERSETS set to ON in a calculation script does not work as expected and returns #MISSING.

·   27703870, 27629975

The EXPENSE property type for shared members should derive from the base member.

·   27553676

In some cases, an MDX query can cause the Essbase server to terminate abnormally.

·   26880357

In some cases, errors are returned after an Essbase outline is modified:

Error: 1054001 Cannot load application <Application_Name> with error number [1052003]

·   27694630, 27372488, 28021881, 27932949

An essbase.cfg setting to configure and disable idle-time shutdown at app
level has been added
  
   Syntax:
   SVRIDLETIME <val>
   SVRIDLETIME <app> <val>
  
<val> is specified in minutes. If <val> is set to 0, the idle-time
shutdown is disabled for the target application(s).

·   28158588

When an MDX report is run with a large queried region and access filters are used then an error can be returned:

ERROR - 1200762 - Internal Error: Mathematical operation results in wide
integer overflow/underflow. Reduce the size of the query region.


ERROR - 1241101 - Unexpected Essbase error 1200762.

·   27965789, 27965768

There is an inconsistency in signage of values for MDX and
Report Writer reports when "Use Expense Type" functionality is activated for
Smart View reports.

·   27958040, 27736538, 28051882

In some cases, during a database restructure the database outline is missing and results in an error

Essbase Error (1002097): Unable to Load Database 

·   27920128

In some cases a report script causes the Essbase server to terminate abnormally.

·   27594652

Unable to run a calculation script if the script is large.

·   27422358

When running a calculation script against a Unicode Block Storage Application with @ISMBRUDA can result in the application terminating abnormally.

·   27283225

While running a calculation and a clear partial data on an Aggregate Storage Application in some cases can result in a core dump and will generate an exception file.

·   26821074

When running an MDX report it can fail with an error:

Possible loss of data or precision in column

·   27969867

In some cases a query runs slower in Essbase 11.1.2.4.023 Patchset Update than in previous releases.

·   27875035

In some cases, incorrect results are returned when using an Aggregate Storage application with a query on a member that is tagged as dynamic calc with NONEMPYTUPLE.

·   27809356

In some cases when running a query with attributes on a Federated or Transparent Partition can result in abnormal termination.

·   27765425

In some cases when using Hybrid Aggregation, an MDX report on Link Reported Objects is not returned.

·   27717868

Creating an Aggregate Storage outline with attributes, then deleting the attributes and saving the outline may result in abnormal termination of the application.

·   27669383, 26928063

In some cases of using CREATE SET in MDX reports can result in an abnormal termination of the application.

·   27860762

Enhanced Auto Generation of Aggregate Views.  See Documentation Updates below for more information.

·   27530595

Priorities for MDX property MEMBER_TYPE have been changed to allow filtering out dynamically calculated members for any dimension.


Example:
  SELECT {} ON COLUMNS,
  FILTER([Measures].MEMBERS,[Measures].CurrentMember.MEMBER_TYPE <> 2)
  ON ROWS FROM [ASOSamp].[Sample]


The MEMBER_TYPE for a non-attribute member is set now according to these rules:
    if ASO non-leaf member or member with formula, ==> 2
    else if for BSO dynamic (and not dynamic-and-store) member with formula ==> 2
    else if generation 1 member ==> 1
    else if accounts ==> 3
    else ==> 0
For completeness of the implementation, for attribute member:
    if attribute calc dimension, and not SUM ==> 2
    else if attribute calc dimension, and SUM ==> 0
    else if not attribute calc dimension with formula ==> 2
    else if not attribute calc dimension without formula ==> 0

Known Issues in this Patch

Linked Partition in SmartView Client cannot connect to Essbase

Linked Partition in SmartView Client cannot connect to Essbase. The work around is to use Essbase host in the partition definition instead of cluster url.

(27502969)

 

Dim build setting "allow move" is not allowed

Dim build setting "allow move" (for moving a member to another parent) is
not allowed, regardless of the uniqueness defined at the generation level.

(26528652)

Issue with @PARENTVAL() Function

When a calculation formula associated with sparse member assigns a dynamic parent value to a stored child member through @PARENTVAL it may produce a #Missing result. To get the correct result the formula needs to be executed attaching to a dense member.

(24481074)

Essbase Administration Services Server Can Terminate Abnormally After Updating the Outline

If EAS server crashes upon "Update Outline" and if the JRE used is jrockit, add the option -Xss1m in setCustomParamsEssbaseAdminServices.sh at <EPM_ORACLE_INSTANCE>/bin/deploymentScripts>.
The default size of a thread stack in jrockit is 320K for win64 and 1M for linux64. So, set the -Xss value accordingly. 

(22985660)

 

When running Essbase on an SLES 11 operating system and upgrading to 11.1.2.4.006 or above, Essbase Applications cannot load.

When running Essbase on an SLES 11 operating system and upgrading to 11.1.2.4.006 or above, Essbase Applications cannot load.

Workaround for this issue:

1.    Update opmn.xml:
vim ./user_projects/epmsystem1/config/OPMN/opmn/opmn.xml

2.    Add LD_PRELOAD=/lib64/libc.so.6 under EssbaseAgent section:
  <process-type id="EssbaseAgent" module-id="ESS">
    <environment>
      <variable id="LD_PRELOAD" value="/lib64/libc.so.6"/>

3.    Restart Essbase using opmn
(/refresh/home/Oracle/Middleware/user_projects/epmsystem1/bin/startEssbase.sh)

(23018108)

 

Increased usage of disk space on Exalytics

On Exalytics only: There may be increased usage of disk space under certain circumstances when the database grows rapidly. Use the alter database force restructure MAXL statement periodically, to reduce the disk space usage as needed.

(21219151)

On HP-UX, custom calculation allocations using the subtract option may return incorrect results.

On HP-UX, custom calculation allocations using the subtract option may return incorrect results. See "Allocation Options."

(21092593)

Applying this Patch

The section includes important information about applying this patch for Essbase.

Component

Patch ID

Essbase Client MSI (Windows)

27797117

Essbase Client (OPatch)

27797126

Runtime Client

27797123

Essbase Server

27797131

 

To apply this patch for Essbase Client on Windows 32-bit and 64-bit platforms:

1.    Uninstall the Essbase Client.

2.    To apply this patch, run the EssbaseClient.exe, pick a destination folder, and complete the installation.

NOTE: After applying the Essbase Client patch, you might need to set the ESSLANG variable to your local language.

To apply this patch for Essbase Client on UNIX and Linux platforms:

1.    Stop the Essbase service(s).

2.    Download and unzip the downloaded patch file <patch id>_<platform>.zip to <EPM_ORACLE_HOME>/OPatch.

NOTES:

o    <patch id>_<platform>.zip is the name that My Oracle Support assigns to this patch. When you download the file, a message indicates the file name.

o    You must unzip the file on the platform for which it is intended. After you unzip the patch file, verify that the executable and library files have execute permission before you apply the patch. If you apply the patch and the executable and library files do not have execute permission, you will not be able to start Essbase after applying the patch.

3.    On the Essbase Server machine, launch command prompt and change the current directory to the <EPM_ORACLE_HOME>/OPatch.

4.    To apply the patch, enter the following command on one line:

Windows:
opatch.bat apply <EPM_ORACLE_HOME>/Opatch/<PATCH DIRECTORY> -oh <EPM_ORACLE_HOME>
-jre <MIDDLEWARE_HOME>/jdk160_35
 

NOTE: The default for <EPM_ORACLE_HOME> is C:/Oracle/Middleware/EPMSystem11R1. The default for <MIDDLEWARE_HOME> is C:/Oracle/Middleware.

UNIX/Linux:
./opatch apply <EPM_ORACLE_HOME>/OPatch/<PATCH DIRECTORY> -oh <EPM_ORACLE_HOME> -jre <MIDDLEWARE_HOME>/jdk160_35 -invPtrLoc <EPM_ORACLE_HOME>/oraInst.loc

NOTE: The default for <EPM_ORACLE_HOME> is $HOME/Oracle/Middleware/EPMSystem11R1. The default for <MIDDLEWARE_HOME> is $HOME/Oracle/Middleware.

5.    If you use <MIDDLEWARE_HOME>/EPMSystem11R1/products/Essbase/EssbaseClient/api/redist you will need to update these files from <MIDDLEWARE_HOME>/EPMSystem11R1/common/EssbaseClient/11.1.2.0/bin

NOTE: The default for <MIDDLEWARE_HOME> is C:/Oracle/Middleware.

6.    Restart Essbase.

NOTE: After applying the Essbase Client patch, you might need to set the ESSLANG variable to your local language.

To apply this patch for runtime client:

1.    Stop the Essbase service(s).

2.    Download and unzip the downloaded patch file <patch id>_<platform>.zip to <EPM_ORACLE_HOME>/OPatch.

NOTES:

o    <PATCH ID>_<PLATFORM ID>.zip is the name that My Oracle Support assigns to this patch. When you download the file, a message indicates the file name.

o    You must unzip the file on the platform for which it is intended. After you unzip the patch file, verify that the executable and library files have execute permission before you apply the patch. If you apply the patch and the executable and library files do not have execute permission, you will not be able to start Essbase after applying the patch.

3.    On the Essbase Server machine, launch command prompt and change the current directory to the <EPM_ORACLE_HOME>/OPatch.

4.    To apply the patch, enter the following command on one line:

Windows:
opatch.bat apply <EPM_ORACLE_HOME>/Opatch/<PATCH DIRECTORY> -oh <EPM_ORACLE_HOME>
-jre <MIDDLEWARE_HOME>/jdk160_35
 

NOTE: The default for <EPM_ORACLE_HOME> is C:/Oracle/Middleware/EPMSystem11R1. The default for <MIDDLEWARE_HOME> is C:/Oracle/Middleware.

UNIX/Linux:
./opatch apply <EPM_ORACLE_HOME>/OPatch/<PATCH DIRECTORY> -oh <EPM_ORACLE_HOME> -jre <MIDDLEWARE_HOME>/jdk160_35 -invPtrLoc <EPM_ORACLE_HOME>/oraInst.loc

NOTE: The default for <EPM_ORACLE_HOME> is $HOME/Oracle/Middleware/EPMSystem11R1. The default for <MIDDLEWARE_HOME> is $HOME/Oracle/Middleware.

5.    If you use <MIDDLEWARE_HOME>/EPMSystem11R1/products/Essbase/EssbaseClient/api/redist you will need to update these files from <MIDDLEWARE_HOME>/EPMSystem11R1/common/EssbaseRTC/11.1.2.0/bin

NOTE: The default for <MIDDLEWARE_HOME> is C:/Oracle/Middleware.

6.    Restart Essbase.

To apply this patch for Essbase Server:

1.    Stop the Essbase service(s).

2.    Download and unzip the downloaded patch file <patch id>_<platform>.zip to <EPM_ORACLE_HOME>/OPatch.

NOTES:

o    <PATCH ID>_<PLATFORM ID>.zip is the name that My Oracle Support assigns to this patch. When you download the file, a message indicates the file name.

o    You must unzip the file on the platform for which it is intended. After you unzip the patch file, verify that the executable and library files have execute permission before you apply the patch. If you apply the patch and the executable and library files do not have execute permission, you will not be able to start Essbase after applying the patch.

3.    On the Essbase Server machine, launch command prompt and change the current directory to the <EPM_ORACLE_HOME>/OPatch.

4.    To apply the patch, enter the following command on one line:

Windows:
opatch.bat apply <EPM_ORACLE_HOME>/Opatch/<PATCH DIRECTORY> -oh <EPM_ORACLE_HOME>
-jre <MIDDLEWARE_HOME>/jdk160_35
 

NOTE: The default for <EPM_ORACLE_HOME> is C:/Oracle/Middleware/EPMSystem11R1. The default for <MIDDLEWARE_HOME> is C:/Oracle/Middleware.

UNIX/Linux:
./opatch apply <EPM_ORACLE_HOME>/OPatch/<PATCH DIRECTORY> -oh <EPM_ORACLE_HOME> -jre <MIDDLEWARE_HOME>/jdk160_35 -invPtrLoc <EPM_ORACLE_HOME>/oraInst.loc

NOTE: The default for <EPM_ORACLE_HOME> is $HOME/Oracle/Middleware/EPMSystem11R1. The default for <MIDDLEWARE_HOME> is $HOME/Oracle/Middleware.

5.    If a language other than English is installed copy localized files to your bin directory

Copy all the files from <EPM_ORACLE_HOME>/products/Essbase/EssbaseServer/localized/<Language ID>/bin
to
<EPM_ORACLE_HOME>/products/Essbase/EssbaseServer/bin


Replace <Language ID> in the preceding lines with the appropriate language identifier for your installation. The following are the language identifiers for each language available for this release:

o    Arabic – ar

o    Chinese (Simplified) - zh_CN

o    Chinese (Traditional) - zh_TW

o    Czech - cs

o    Danish - da

o    Dutch – nl

o    English - en

o    Finnish – fi

o    French – fr

o    French (Canadian) - fr_CA

o    German - de

o    Greek - el

o    Hebrew - he

o    Hungarian - hu

o    Italian - it

o    Japanese - ja

o    Korean - ko

o    Norwegian – no

o    Polish - pl

o    Portuguese - pt

o    Portuguese (Brazilian) - pt_BR

o    Romanian - ro

o    Russian - ru

o    Slovak - sk

o    Spanish - es

o    Swedish – sv

o    Thai - th

o    Turkish - tr

6.    Restart Essbase.

Rolling Back this Patch

To remove this patch for Essbase Client on Windows:

1.    In Windows Control Panel, navigate to Add or Remove Programs.

2.    Select the appropriate item, and then click Remove.

3.    Reinstall the previous version of the Essbase Client console.

To roll back this patch for Essbase Client on UNIX and Linux platforms, Essbase Runtime Client, or Essbase Server:

1.    From a command line, change the directory to <EPM_ORACLE_HOME>/OPatch (by default, Oracle/Middleware/EPMSystem11R1/OPatch).

2.    To roll back the patch, enter the following command on one line:

Windows:
opatch.bat rollback -id <PATCH ID> -oh <EPM_ORACLE_HOME> -jre <MIDDLEWARE_HOME>/jdk160_35

NOTE: The default for <EPM_ORACLE_HOME> is C:/Oracle/Middleware/EPMSystem11R1. The default for <MIDDLEWARE_HOME> is C:/Oracle/Middleware.

UNIX/Linux:
./opatch rollback -id <PATCH ID> -oh <EPM_ORACLE_HOME> -jre <MIDDLEWARE_HOME> /jdk160_35 -invPtrLoc <EPM_ORACLE_HOME>/oraInst.loc

NOTE: The default for <EPM_ORACLE_HOME> is $HOME/Oracle/Middleware/EPMSystem11R1. The default for <MIDDLEWARE_HOME> is $HOME/Oracle/Middleware.

Troubleshooting FAQs

Why do I get the following patch conflict error message when running OPatch?

If the patch that you apply conflicts with a previously applied patch, you may receive the following error message when running OPatch:

Patch(es) <PreviousPatch#> conflict with the patch currently being installed (<NewPatch#>).

If you continue, patch(es) <PreviousPatch#> will be rolled back and the new patch (<NewPatch#>) will be installed.

If a merge of the new patch (<NewPatch#>) and the conflicting patch(es) (<PreviousPatch#>) is required, contact Oracle Support Services and request a Merged patch.

This error is returned when one patch attempts to update a previously patched file. When this conflict happens, you can either (1) roll back the previous patch and apply the new patch (this action might be appropriate if the previous patch was not critical) or (2) request a “merged patch” consisting of the new patch and the patch that it conflicts with. To request a merged patch, contact your Oracle Support representative. 

Why do I get the OUI-67078 warning message when applying OPatch?

This warning means that the patch being applied is a superset of a patch already on the deployment and the existing patch will be rolled back. The following snippet shows the context of this warning.

The following warnings have occurred during OPatch execution:
1) OUI-67078:Interim patch 12345678 is a superset of the patch(es) [77777777] in OH C:\Hyperion
-----------------------------------------------------------------------------------
OPatch Session completed with warnings.

How can I find out which releases and patches of EPM System products are installed in a deployment?

In EPM System Release 11.x, you can use the lsinventory command to OPatch to find the release and patches that are installed in an Oracle Home. For example, enter the following command on one line:

Windows:

opatch.bat lsinventory -oh <EPM_ORACLE_HOME> -jdk <MIDDLEWARE_HOME>/jdk160_35

UNIX/Linux:

./opatch lsinventory -oh <EPM_ORACLE_HOME> -jdk <MIDDLEWARE_HOME>/jdk160_35
–invPtrLoc <EPM_ORACLE_HOME>/oraInst.loc

I applied the patch successfully but I don’t see the changes from the patch in the product. What should I do?

When patching an .EAR file for an application, you may need to delete the cached files in the following folders in order to see the changes provided with the patch:

<MIDDLEWARE_HOME>/user_projects/domains/<DOMAIN_NAME>/servers/
<MANAGED_SERVER_NAME/tmp/

<MIDDLEWARE_HOME>/user_projects/domains/<DOMAIN_NAME>/servers/
<MANAGED_SERVER_NAME/cache

Documentation Updates in this Patch

 

Auto Generation of Aggregate Views

Aggregate Views have been updated in order to improve the performance of Aggregate View creation with auto generation based on query tracking.  To enable this, update the essbase.cfg file with the following

DefaultViewBuild <APP_NAME> <AUTO_Mode> 

DefaultViewBuildSize <total_size>

<AUTO_Mode> = TRUE or FALSE - enable automatic default aggregate views maintenance (recreate default views on every destructive change, views removal or data load to empty DB)

<total size> - Optional. Selects views, specifying a storage stopping value in terms of a factor times the size of the unaggregated input (level 0) values. For example, a stopping value of 1.5 means that the view selection should permit the database to grow by no more than 50% as a result of the aggregation.

(27860762)

Idle Application Shutdown (Applicable Only on Linux)

An essbase.cfg setting to configure and disable idle-time shutdown at app level has been added
  
   Syntax:
   SVRIDLETIME n
   SVRIDLETIME <app> n
  
Where n is the number of minutes of idle time permitted before shutdown and <app> is the name of the application. The default value is 0 minutes which means it is disabled. The minimum value is 1 minute. The maximum value is 20160 minutes (two weeks).  If this setting is not added to the essbase.cfg file, then idle-time shutdown is disabled.

An Essbase application server starts when needed: for example, when someone runs a calculation or a data load.  To optimally use the server capacity, Essbase shuts down idle applications after n minutes.

SVRIDLETIME should always be set to a few more minutes than the idle-user session logout time, which you can change using the set session_idle_limit grammar in the MaxL alter system statement.

 

Maximum number of Alias Tables

The maximum number of Alias Tables has been increased from 32 to 56 starting with Patchset Update 11.1.2.4.023.  If an outline is saved with more than 32 Alias Tables, then this outline will not be able to be saved with an older Patchset Update.

(25666963, 27458608)

RESTRUCTURETHREADS Recommended Setting

The WORKERTHREADS topic in the Technical Reference lists guidelines for threaded operations. The suggested setting for RESTRUCTURETHREADS is incorrect. Oracle recommends setting an application’s RESTRUCTURETHREADS to 2 for most systems, or 4 if the application runs on Exalytics. Check your calculation and restructure performance after making any changes.

Naming Convention for Essbase Application Description Update:  __PCM__

The string "__PCM__" is reserved and should not be used for Essbase Application Descriptions.

(25599357)

Attribute dimension Members should be Ignored in Dataload

Attribute dimension members should be ignored during the data load.  In previous releases it was not ignored and the intersection was overwritten with the new value.  Starting with this patch this case will return an error if there is an attribute member in the data load file. In case of free form data load it will abort the data load.

(25675558)

Optimizing Custom Calculations by Skipping Empty Tuples

Because large data sets can be very sparse, using the NONEMPTYTUPLE property in custom calculation scripts can optimize your script to conserve memory resources.

You create a custom calculation script with one or a series of tuple-expression pairs in MDX, terminated by semicolons. You can optionally filter out empty result sets from being calculated, by including the NONEMPTYTUPLE property clause in the custom calculation script.

Using the NONEMPTYTUPLE property clause in a custom calculation script indicates to Essbase that the cell value being calculated for a tuple is empty whenever the given nonempty_member_list is empty.

Syntax

use_optimized_way;

tuple := [NONEMPTYTUPLE (nonempty_member_list)] numeric_value_expression;

Where

use_optimized_way — a literal keyword, required to enable the use of NONEMPTYTUPLE property in the calculation script. If omitted, NONEMPTYTUPLE directives are ignored.

tuple—an MDX specification of one or more members, where no two members can be from the same dimension.

NONEMPTYTUPLE — an optional property you can use to optimize calculation performance. If used, then you must follow this literal property with nonempty_member_list.

nonempty_member_list — one or more comma-separated member names from different dimensions.

numeric_value_expression — a simple MDX numeric value expression, such as a number or an arithmetic operation. The expression must be on the right side of the equation. Only arithmetic operators are permitted. An error is returned if non arithmetic operators (such as AND, OR, or IF statements) are used.

Examples

The following custom calculation script examples include a NONEMPTYTUPLE property clause to filter out empty tuples from being included in the calculation pass.

 

use_optimized_way;

([Balance].[Net Balance].[Net Change].[Allocation Out]):= NONEMPTYTUPLE ([Balance].[Remainder],[Rule]) -(([Balance].[Remainder],[Rule])*(20.24000/100));

([2014], [August], [Actual]):= NONEMPTYTUPLE ([2014], [January], [Actual]) ([2014], [January], [Actual]);

For more information about writing custom calculation scripts, see “Writing Custom Calculations” in the Oracle Essbase Database Administrator’s Guide.

(25416191, 26305739)

ODBC Driver Descriptor Management in Essbase

In releases prior to 11.1.2.4.014, you must update driver descriptor strings in essbase.cfg to exactly match those in odbcinst.ini after every driver version update. Driver versions may be updated without an Essbase release update, breaking DSN-less connections in Essbase. You must then update essbase.cfg for the DSN-less connections to work.

In Releases starting with 11.1.2.4.014, Essbase automatically finds the appropriate driver without requiring any configuration. The higher version of the drivers get preference.

Example 1

If you want to make a connection with Oracle Database, and the following list of drivers is available:

[ODBC Drivers]

Data direct 7.1 Oracle Wire Protocol

Data direct 7.1.4 Oracle Wire Protocol

 

Essbase uses the Data direct 7.1.4 Oracle Wire Protocol driver because it is the highest version.

Example 2

If you want to make a connection with SQL Server, and the following list of drivers is available:

[ODBC Drivers]

Data direct 6.0 SQL Server Wire Protocol

Data direct 7.0 SQL Server Wire Protocol

Data direct 7.1 SQL Server Wire Protocol

Data direct 7.1.4 SQL Server Wire Protocol

 

Essbase uses the SQL Server 7.1.4 driver because it is the highest version.

Notes:

·         This functionality works differently in different releases. This document covers only 11.1.2.4.xxx releases, starting with 11.1.2.4.014.

·         Older drivers may be present because of previous Essbase installations. When the new version of Essbase is installed, it must use the latest drivers supplied with the new installation. You cannot use the older drivers.

·         (24943751)

Unexpected Labels Printing in Report Script

A report script using substitution variables and the MISSINGTEXT command with empty arguments may cause unexpected data presentation.  Workaround: use an extra set of quotation marks in the MISSINGTEXT command. For example:

{MISSINGTEXT """"}

(23733454)

 

MDX Functions Are Not Supported in Custom Calculation Scripts


In the Oracle Essbase Database Administrator's Guide topic entitled "Writing Custom Calculations," the following statement appears:

The use of member functions is not supported for custom calculation scripts.

The correct statement should be:

The use of any MDX functions is not supported for custom calculation scripts.

(23239352)

Permission Required to Rename an Application

In the Oracle Essbase Technical Reference, the MaxL topic for Alter Application states that Application Manager permission is required to use the set of statements within Alter Application.

Correction: To rename an application, you must have Create/drop application privilege.

(22456868)

Changes in Server Shutdown

Issuing a MaxL statement to unload an application cancels all active requests and database connections, and stops the application, unless you explicitly specify otherwise using the no_force option.

Updated MaxL Syntax

alter system unload application {all|APP-NAME} [no_force];

no_force

Optional keyword. The no_force option causes Essbase to return an error if active requests are running on the application.

 

Examples

The following terminates all active requests and stops all applications:

alter system unload application all;

The following stops all running applications (as the above statement does) and shuts down Essbase Server:

alter system shutdown;

 

The following prepares to unload application Sample; however, if active requests are running, an error is returned.

alter system unload application Sample no_force;

JAPI SOAP web services will be removed in a future release

JAPI SOAP web services will be removed in a future release and they will be replaced with REST APIs.

Generating Delimited Output Tables for MaxL and MDX

Overview

For the following types of MaxL and MDX statements, whose output displays tables or grids of data, you can set the MaxL Shell (essmsh) to create spool (output) files that are more easily readable by programs (such as Microsoft Excel, RDBMS, or custom parsers) that can import delimiter-separated file formats such as CSV.

·         Select statements (MDX)

·         Display statements (MaxL)

·         Query statements (MaxL)

Syntax

To turn on delimiters for tabular output, use a MaxL Shell command to turn on column delimiters in the  MaxL script file. The syntax is:

set column_separator STRING;

where STRING is the column separator. 

For example, to create tab-delimited output that Excel can read,

set column_separator "     ";

where the double quotation marks enclose a single Tab.

The column separator can be any string. For example:

set column_separator "*|*";

To turn delimiters off after the select, display, or query statement has executed, use:

set column_separator off;

To turn column headers on or off, the syntax is:

set column_header on|off;

Column headers are on by default.

To control whether issued statements are repeated in the spool file, turn echo mode on or off. The syntax is:

set echo_mode on|off;

Echo mode is on by default.

Notes

The tabular output is saved in MaxL spool files. A MaxL Shell spool file is a text file of the shell session and its output.

To make spool files contain only the delimited tabular output that you want,

a.    Use non interactive mode to run a MaxL script file. Non interactive mode means that MaxL Shell must be invoked with a script file name provided as the first (or only) argument.

b.    Ensure that the spool on command is the last MaxL Shell operation in the script before the select, display, or query statement, and that the spool off command follows the final statement that you are interested in printing to the spool file.

c.    Set the message level to warning; otherwise, informational messages will be printed in the spool file.
set message_level warning;

d.    Turn off echo mode; otherwise, statements and newlines will be printed in the spool file.
set echo_mode off;

e.    Optionally, turn off the printing of the header row in the spool file.
set column_header off;

The spool file contains a concatenation of all the select, display, or query statement results. Each result is separated by a single empty line.

Example Script

/* file name: report0.msh: */

login 'admin' identified by 'password' on 'localhost';

set column_width 200;

/* to make spool file cleaner, return only warnings */

set message level warning;

set column_separator "#~";

set column_header off;

set echo_mode off;

spool on to 'output0mdxnohead.txt';

 

select {[Mar],[Apr]} on columns,

{[300],[400]} dimension properties

level_number, member_unique_name on rows,

crossjoin({[Actual],[Budget]},

{[Opening Inventory],[Ending Inventory]})

dimension properties level_number, member_unique_name on pages

from [Sample].[Basic];

 

spool off;

set column_header on;

spool on to 'output0mdxhead.txt';

 

select {[Mar],[Apr]} on columns,

{[300],[400]} dimension properties

level_number, member_unique_name on rows,

crossjoin({[Actual],[Budget]},

{[Opening Inventory],[Ending Inventory]})

dimension properties level_number, member_unique_name on pages

from [Sample].[Basic];

 

spool off;

 

/* More width for display database, as member names are ~4kb */

set column_width 10000;

set column_header on;

spool on to 'output0display.txt';

display session all;

display database Sample.Basic;

spool off;

spool on to 'output0querydbstats.txt';

query database Sample.Basic get dbstats dimension;

spool off;

logout;

exit;

Example Output Files

When run in non-interactive mode (essmsh report0.msh), the resulting spool files have the following contents:

MDX output without header (output0mdxnohead.txt):

Actual#~Opening Inventory#~0#~Actual#~0#~Opening Inventory#~Cream Soda#~1#~300#~29095#~30334

Actual#~Opening Inventory#~0#~Actual#~0#~Opening Inventory#~Fruit Soda#~1#~400#~26409#~27588

Actual#~Ending Inventory#~0#~Actual#~0#~Ending Inventory#~Cream Soda#~1#~300#~30334#~32266

Actual#~Ending Inventory#~0#~Actual#~0#~Ending Inventory#~Fruit Soda#~1#~400#~27588#~29550

Budget#~Opening Inventory#~0#~Budget#~0#~Opening Inventory#~Cream Soda#~1#~300#~27380#~28460

Budget#~Opening Inventory#~0#~Budget#~0#~Opening Inventory#~Fruit Soda#~1#~400#~27230#~29030

Budget#~Ending Inventory#~0#~Budget#~0#~Ending Inventory#~Cream Soda#~1#~300#~28460#~30190

Budget#~Ending Inventory#~0#~Budget#~0#~Ending Inventory#~Fruit Soda#~1#~400#~29030#~31520

MDX output with header (output0mdxhead.txt):

Scenario#~Measures#~Scenario.LEVEL_NUMBER#~Scenario.MEMBER_UNIQUE_NAME#~Measures.LEVEL_NUMBER#~Measures.MEMBER_UNIQUE_NAME#~Product#~Product.LEVEL_NUMBER#~Product.MEMBER_UNIQUE_NAME#~Mar#~Apr

Actual#~Opening Inventory#~0#~Actual#~0#~Opening Inventory#~Cream Soda#~1#~300#~29095#~30334

Actual#~Opening Inventory#~0#~Actual#~0#~Opening Inventory#~Fruit Soda#~1#~400#~26409#~27588

Actual#~Ending Inventory#~0#~Actual#~0#~Ending Inventory#~Cream Soda#~1#~300#~30334#~32266

Actual#~Ending Inventory#~0#~Actual#~0#~Ending Inventory#~Fruit Soda#~1#~400#~27588#~29550

Budget#~Opening Inventory#~0#~Budget#~0#~Opening Inventory#~Cream Soda#~1#~300#~27380#~28460

Budget#~Opening Inventory#~0#~Budget#~0#~Opening Inventory#~Fruit Soda#~1#~400#~27230#~29030

Budget#~Ending Inventory#~0#~Budget#~0#~Ending Inventory#~Cream Soda#~1#~300#~28460#~30190

Budget#~Ending Inventory#~0#~Budget#~0#~Ending Inventory#~Fruit Soda#~1#~400#~29030#~31520

Multiple display statements concatenated (output0display.txt):

user#~session#~login_time#~application#~database#~db_connect_time#~request#~request_time#~connection_source#~connection_ip#~request_state

admin#~0#~2#~Sample#~Basic#~0#~none#~0#~localhost.localdomain*#~127.0.0.1#~

application#~database#~comment#~startup#~autostartup#~minimum permission#~aggregate_missing#~two_pass_calc#~create_blocks#~data_cache_size#~file_cache_size#~index_cache_size#~index_page_size#~cache_pinning#~compression#~retrieve_buffer_size#~retrieve_sort_buffer_size#~io_access_mode#~pending_io_access_mode#~no_wait#~committed_mode#~pre_image_access#~lock_timeout#~commit_blocks#~commit_rows#~currency_database#~currency_member#~currency_conversion#~note#~db_type#~read_only_mode#~db_status#~elapsed_time#~users_connected#~blocks_locked#~number_dimensions#~number_disk_volume#~data_status#~current_data_cache#~current_file_cache#~current_index_cache#~current_index_page#~currency_country_dim#~currency_time_dim#~currency_category_dim#~currency_type_dim#~currency_partition_dim

Sample#~Basic#~#~TRUE#~TRUE#~no_access#~FALSE#~TRUE#~FALSE#~3145728#~33554432#~1048576#~8192#~FALSE#~2#~20480#~20480#~1#~1#~FALSE#~2#~TRUE#~20#~3000#~0#~#~#~1#~#~0#~FALSE#~2#~00:00:00:01#~1#~0#~10#~0#~0#~0#~0#~1048576#~8192#~#~Year#~Measures#~#~

Single query statement (output0querydbstats.txt):

dimension_name#~type#~declared_size#~actual_size

Year#~0#~19#~12

Measures#~0#~17#~8

Product#~1#~22#~19

Market#~1#~25#~25

Scenario#~0#~5#~2

Caffeinated#~1#~3#~0

Ounces#~1#~5#~0

Pkg Type#~1#~3#~0

Population#~1#~15#~0

Intro Date#~1#~8#~0

(23044065)

Erratum: Drill-Through C APIs Not Supported with Essbase Studio

The following erratum applies to all 11.1.2.3.x and 11.1.2.4.x releases, and beyond.

The following Essbase C API functions are not supported with Essbase Studio drill-through.

·         EssGDTConnect

·         EssGDTRequestDrillThrough

·         EssGDTGetInfo

·         EssGDTSetInfo

·         EssGDTListReports

·         EssGDTExecuteReport

·         EssDTAPIGetError

·         EssGDTGetHeader

·         EssGDTGetData

·         EssGDTEndDrillThrough

(21264590)

@ALIAS Calculation Function Accepts Alias Table Name Argument

The @ALIAS calculation function accepts an optional, second argument of an alias table name.

Description

This function returns the alias name, as a string, for the specified member name.

Syntax

@ALIAS (mbrName [,altName])

mbrName

Any valid member name, or a function returning a member.

altName

Optional. Alias table name. This parameter is case insensitive.

 

Notes

·         If no alias name is found, this function returns an empty string.

·         Because functions that take strings as arguments may not function correctly if the string matches a member alias, use the function @ALIAS to pass member alias names as strings, for example when passing alias names as strings to functions such as @ISUDA, @UDA, @CONCATENATE, @SUBSTRING, @MATCH, or @NAME.

Examples

The following example returns the alias of member "US$" from the alias table "Long Names."

IF(@ISUDA(@ALIAS("US$", "Long Names")))

In the following example, assume "Book_Inventory" is a dimension name, and there are four alias tables in the outline ("Long Names" is one of them). The example code checks if the current member being calculated in the "Title" dimension has an alias name in "Long Names" that matches with the UDA associated with the "Book_Inventory" dimension’s currently calculating member.

@ISUDA("Book_Inventory",@ALIAS(@NAME(@CURRMBR("Title")), "Long Names"))

(23033947)

Correction: Using Runtime Substitution Variables in Calculation Scripts Run in Smart View

The following information updates the “Using Runtime Substitution Variables in Calculation Scripts Run in Smart View” section of the Oracle Essbase Database Administrator's Guide for 11.1.2.4:

·         The value of the runtime substitution variable must be set to POV; it cannot be set to a member name.

·         The runtime substitution variable type can be set to a member, string, or number; it cannot be set to a date

The correct syntax of a runtime substitution variable definition for use in Smart View:

SET RUNTIMESUBVARS

{

rtsv = POV

<RTSV_HINT>

   <svLaunch>

      <description>rtsv_description</description>

      <type>member | string | number</type>

      <dimension>dimName</dimension>

      <choice>single | multiple</choice>

      <allowMissing>true | false</allowMissing>

   </svLaunch>

</RTSV_HINT>

};

Only the example in the “Example 1: Runtime Substitution Variable Set to POV” topic is correct. Ignore the examples in these topics:

·         Example 2: Runtime Substitution Variable Set to a Single Member Name

·         Example 3: Runtime Substitution Variable Set to Multiple Member Names

·         Example 4: Example: Runtime Substitution Variable—String Data Type Implied

The date data type is not supported; however, the string data type can be defined as a date.

The correct description of the string data type:

string—The runtime substitution variable value can be defined as a single member name, a comma separated list of member names (for example, “New York”,”Florida”), or a date.

When using the string data type, the Member Selection dialog box is not available; therefore, the  Smart View user must be sure to use the correct syntax (enclosing a member name in quotes, separating multiple member names with a comma, or, for a date, matching the format of the date string to the format that is defined in the calculation script—mm-dd-yyyy or dd-mm-yyyy).

(21903619, 22777038)

QUERYRESULTLIMIT Configuration Setting

This version of the QUERYRESULTLIMIT configuration setting documentation replaces the content in the Essbase 11.1.2.4.007 Readme. The default value has changed to 1,000,000.

This configuration sets the maximum number of cells returned by an MDX or spreadsheet query. The setting applies to block storage, aggregate storage and hybrid aggregation databases.

Syntax

QUERYRESULTLIMIT [appname [dbname]] n

·         appname—Optional. Applies the query result limit to the application specified. If you specify appname, you must also specify a value for n, or Essbase Server ignores QUERYRESULTLIMIT. If you do not specify an application, you cannot specify a database, and the query result limit applies to all applications and databases on the server. If you specify a value for appname and do not specify a value for dbname, the query time limit applies to all databases in the specified application.

·         dbname—Optional. Must be used with appname and n, or the server ignores QUERYRESULTLIMIT. If you specify dbname, appname, and n, the query result limit is applied only to the specified database.

·         n—An integer value between 0 and 2^31 specifies the number of query result cells that the server allows a query to return.

The default value is 1000000 (1M).

An invalid value is replaced as follows:

o    Non-numeric value: 1000000 (1M)

o    Negative value: 0

Notes:

-      If appname is specified, only the query against the database specified in dbname is rejected.

-      If appname is not specified, all queries against the databases in all applications on Essbase Server are rejected.

o    Value greater than 2^31: 2^31

This information applies to Essbase 11.1.2.4.008, 11.1.2.4.505, and 11.1.2.3.508_22314799.

Description

QUERYRESULTLIMIT specifies the maximum number of result cells that an MDX query or spreadsheet query can retrieve before Essbase Server terminates that query. You can apply this setting to an entire server, to all the databases in a single application, or to a single database.

When the number of returned cells for a query exceeds the result limit, an error message is returned.

Use QUERYRESULTLIMIT to limit the result volume of MDX queries and spreadsheet queries, and prevent a query from freezing when a very large number of result cells are returned.

Examples

QUERYRESULTLIMIT Sample Basic 100000

Sets 100,000 cells as the maximum number of results cells returned in a query to the Basic database for the Sample application.

QUERYRESULTLIMIT 150000

Sets 150,000 cells as the maximum number of cells that a query can return before being terminated. The query result limit applies to all applications and databases on Essbase Server that correspond to the essbase.cfg file containing this setting.

Unsupported Essbase Properties in the essbase.properties File

Essbase properties service.olap.dataQuery.grid.maxRows and service.olap.dataQuery.grid.maxColumns in the essbase.properties file are no longer supported.

·         These properties, if defined in essbase.properties, do not have any effect on the grid result.

·         The results of the grid are controlled by the QUERYRESULTLIMIT configuration setting in the essbase.cfg file on Essbase Server.

·         With these changes, existing use cases that expect an error for the previous lower row and column limits set in JAPI will not get an error unless the QUERYRESULTLIMIT limit is exceeded.

·         With these changes, Provider Services JAPI does not apply any limits against a previous version of Essbase. Essbase has to be upgraded to use the QUERYRESULTLIMIT configuration setting.

Essbase Failover Clustering Supports Oracle RAC Database Connectivity and Windows Native Authentication for Microsoft SQL Server

Support for Oracle RAC database connectivity

This version of Essbase supports Failover clustering against an Oracle RAC (Real Application Cluster) relational database. If an EPM Configuration used multiple-node based JDBC URL to connect to Oracle RAC database, then, Essbase can now support such a configuration provided the latest 11.1.2.4 based EPM Registry OPatch is applied. Essbase uses the new EPM registry capability to get an ODBC Connection string, based on the JDBC URL specified by the customer at configuration time. Essbase uses this ODBC connection detail to establish connection to all types of Oracle Database configurations like a single node database instance, a multi-node based RAC and a SCAN based RAC.

Customers who do not have the latest EPM Registry patch or who like to override EPM registry's magic of JDBC to ODBC generation, can define their own ODBC Merant driver based connection string on their existing environments by adding a property in EPM registry. The details on how to do that is described in the below section "Configuring a customized ODBC Connection for Essbase Lease Manager".

Support for MS SQL Server connections over a Windows native authentication

If customer has configured the EPM environment to use Microsoft SQL Server database over a windows NTLM authentication, Essbase Failover clustering now supports such a configuration, with the manual addition of a new property called "dbOdbcConnString" at the EPM registry level.

Firstly, follow the instructions in below section "Configuring a customized ODBC Connection for Essbase Lease Manager" and define an NTLM based ODBC Connection string.

Secondly, the EPM configuration has a limitation when it's an Windows NTLM connectivity, wherein the EPM registry contains empty database credentials. So, customer must update EPM registy to set those NTLM credentials. Follow the below instructions:

1. Generate the EPM Registry HTML report by running this on the command line:

  <EPM_INSTANCE_HOME>/bin/<epmsys_registry script>

   For example, on Windows:

  C:\Oracle\Middleware\user_projects\epmsystem1\bin\epmsys_registry.bat

2. Open the registry report and identify the Hyperion Shared Services database component. This can be done by looking for "DATABASE_CONN" component type, which has a property, "isRegistryDB" set to "true". Make a note of the component "ID" value. Let me call it "DB_ID" to refer further in this section.

3. On the command line, go to "EPM_INSTANCE_HOME/bin" directory.

4. Update the database Username property with Windows NTLM user:

<epmsys_registry script> updateproperty "#DB_ID/@dbUserName"
"<windows-user-name>"

5. Update the database Password property with corresponding NTLM password:

<epmsys_registry script> updateencryptedproperty "#DB_ID/@dbPassword"
"<windows-password>"

Configuring a Customized ODBC Connection for Essbase Lease Manager

The database configuration in EPM Configuration tool supports an "Advanced" option for customers to define their custom JDBC URL to connect to Oracle RAC or to a Windows NTLM based SQL Server connection. This JDBC URL is likely to be a complex connection information, involving details of multiple-nodes, load balance properties, etc. The EPM configuration tool is limited to accepting only the JDBC URL input. Since there is no input for an ODBC Connection, components like Essbase which the same EPM environment has not been able to support Active/Passive Failover clustering capabilities against all such database configurations.

Essbase now introduces flexibility to customers to define their own ODBC Connection, equivalent to the complex JDBC URL they used at configuration time. This is supported through manual addition of a new property called "dbOdbcConnString" at the EPM registry level.

Note that, similar to how a customer understands and specifies a JDBC URL at configuration time, customers using this approach must understand and specify an ODBC Connection String. Customer can refer the ODBC Merant Driver documentation to define ODBC strings.

Following are the instructions to do so:

1. Generate the EPM Registry HTML report by running this on the command line:

  <EPM_INSTANCE_HOME>/bin/<epmsys_registry script>

   For example, on Windows:

  C:\Oracle\Middleware\user_projects\epmsystem1\bin\epmsys_registry.bat

2. Open the registry report and identify the Hyperion Shared Services database component. This can be done by looking for "DATABASE_CONN" component type, which has a property, "isRegistryDB" set to "true". Make a note of the component "ID" value. Let me call it "DB_ID" to refer further in this section.

3. On the command line, go to "EPM_INSTANCE_HOME/bin" directory and run the "epmsys_registry" script to add "dbOdbcConnString" property with the ODBC Connection string as its value, to this DATABASE_CONN component.

That is, running using this syntax:

<epmsys_registry script> addproperty "#DB_ID/@dbOdbcConnString" "<ODBC Connection String>"

Where "<ODBC Connection String>" represents the ODBC Merant based Connection string. Define this ODBC Connection string, excluding the DRIVER, UID and PWD tokens because Essbase will use the ODBC Driver configured on the environment and database Username/Password is used from the "dbUserName" and "dbPassword" properties of the DATABASE_CONN component. If you happen to specify the database credentials as part of the ODBC Connection string, then it exposes a security issue. With this approach, Essbase constructs the final ODBC Connection using <DRIVER>;<dbOdbcConnString>;<UID>;<PWD>.    

Example of Oracle RAC connection having three nodes:

epmsys_registry.bat addproperty "#7c9a3cde298fcf477dd72391152d7157ebdS7ff3/@dbOdbcConnString" "CONNECTIONRETRYDELAY=5;CONNECTIONRETRYCOUNT=180;LOADBALANCING=1;HOSTNAME=MyRACNode1;PORTNUMBER=1521;SERVICENAME=orcl.us.oracle.com;ALTERNATESERVERS=(HOSTNAME=MyRACNode2:PORTNUMBER=1521:SERVICENAME=orcl.us.oracle.com,HOSTNAME=MyRACNode3:PORTNUMBER=1521:SERVICENAME=orcl.us.oracle.com)"

If you are connecting to a MSSQL Server using Windows authentication, then, the ODBC Driver has to know that. Similar to how you specify "AuthenticationMethod=ntlm" in your JDBC URL to tell JDBC Driver about the native authentication, as per ODBC documentation, specifying a connection token, "AuthenticationMethod=4" as part of the final ODBC string, tells the ODBC driver that it's a NTLM authentication.

Example of MSSQL Server connection over Windows authentication:

epmsys_registry.bat addproperty "#7c9a3cde298fcf477dd72391152d7157ebdS7ff3/@dbOdbcConnString" " SERVER=MyDBHost;ADDRESS=MyDBHost,1433;DATABASE=MyHSS;AuthenticationMethod=4;POOLING=0;

FIXPARALLEL Support On Partitioned Databases

In this release, FIXPARALLEL is supported on partitioned databases. 

For databases which are the target of transparent partitions, FIXPARALLEL is supported only when remote calculation is disabled (SET REMOTECALC OFF).

(22249357)

Runtime Substitution Variables Declared in SET RUNTIMESUBVARS Require a Default Value

The information in this topic supersedes the information in the 11.1.2.4 Oracle Essbase Database Administrator's Guide ("Using Runtime Substitution Variables in Calculation Scripts" topic) and Oracle Essbase Technical Reference ("SET RUNTIMESUBVARS" calculation command topic and "Execute Calculation" block storage version MaxL statement topic).

Runtime substitution variables used in a calculation script must be declared in the SET RUNTIMESUBVARS calculation command, with a name and default value.

If a default value is not included in the runtime substitution variable declaration in SET RUNTIMESUBVARS, an error occurs when the calculation script is validated. Oracle recommends that you provide a default value to avoid the validation error and, when running the calculation script, provide the expected value. However, if you do not provide a default value, you can still provide a value at runtime using the execute calculation MaxL statement with the with runtimesubvars grammar. (21902413, 22137778)

SSMEMBERIDPROCESSING Configuration Setting

In this release, this feature is only applicable to users of Oracle General Ledger.

Controls whether Smart View keeps track of members in a report by using stable member IDs instead of (less stable) uniquely qualified member names.

For a database that has duplicate member names enabled, an internal member ID is associated with each member.

Syntax

SSMEMBERIDPROCESSING [appname [dbname]] TRUE | FALSE

·         appname--Optional. Specifies the application for which member IDs should be used.

·         dbname--Optional. Specifies the database, in the application appname, for which member IDs should be used.

·         TRUE--Essbase tracks members using stable member IDs. This is the default for BI outlines, if DISPLAY_KEY and MEMBER_VALUE alias tables exist in the outline.

·         FALSE--Essbase tracks members using qualified member names.

Description

For Smart View reports on duplicate member name outlines, member IDs can help Smart View maintain report validity for all members, even when members in the outline are moved or renamed.

Example

SSMEMBERIDPROCESSING Sample TRUE

(21392810)

Changes in Server Shutdown

With this release, issuing a MaxL statement to unload an application cancels all active requests and database connections, and stops the application, unless you explicitly specify otherwise using the no_force option.

Updated MaxL Syntax

alter system unload application {all|APP-NAME} [no_force];

no_force

Optional keyword. The no_force option causes Essbase to return an error if active requests are running on the application.

 

Examples

The following terminates all active requests and stops all applications:

alter system unload application all;

The following stops all running applications (as the above statement does) and shuts down Essbase Server:

alter system shutdown;

 

The following prepares to unload application Sample; however, if active requests are running, an error is returned.

alter system unload application Sample no_force;

(21137674)

OPMN and LD_LIBRARY_PATH

When LD_LIBRARY_PATH_64 is set on Solaris 64-bit, the opmnctl startall command fails, and neither the opmn service nor any other opmn controlled process starts.

The reason for this is that the opmn.xml file configures LD_LIBRARY_PATH, and when a system has both LD_LIBRARY_PATH and LD_LIBRARY_PATH_64 defined, only the LD_LIBRARY_PATH_64 setting is used. As a result, the opmnctl command fails to load the required libraries in $ORACLE_HOME/opmn/lib.

To avoid this, remove the definition for LD_LIBRARY_PATH_64, or add the LD_LIBRARY_PATH value from opmn.xml to the LD_LIBRARY_PATH_64 variable.

(20780452)

Allocation Options

Options are given for allocation and custom calculations to accumulate into resulting cells. Generated allocation values can be added to (or subtracted from) existing values, instead of overwriting them (the default).

For the MaxL statements execute allocation and execute calculation (aggregate storage), the following optional grammar is added to the very end of the statement:

override|add|subtract values

The C Main API structure ESS_PERF_ALLOC_T, used by the function EssPerformAllocationASO, has a new dataloadOption field of type ESS_ULONG_T.

The C Main API structure ESS_PERF_CUSTCALC_T, used by the function EssPerformCustomCalcASO, also has a new dataloadOption field of type ESS_ULONG_T.

The new dataloadOption field can be set to one the following constants:

ESS_ASO_DATA_LOAD_BUFFER_STORE_DATA       0
ESS_ASO_DATA_LOAD_BUFFER_ADD_DATA         1
ESS_ASO_DATA_LOAD_BUFFER_SUBTRACT_DATA    2

If omitted, the following is the default:

ESS_ASO_DATA_LOAD_BUFFER_STORE_DATA       0

Code Snippet Example:

allocStruct->dataloadOption = ESS_ASO_DATA_LOAD_ADD_DATA;

Changes to CLEARDATA Calculation Command

Using CLEARDATA in a FIX statement on a sparse dimension clears the data and removes the blocks, to improve performance. Blocks are cleared only if the entire CLEARDATA block is selected by the FIX (no dense dimensions in the FIX), and the block is update-able (it is not a replicated-partition target region). If you wish to retain empty blocks, then in the FIX statement, set the blocks to #MISSING, instead of using CLEARDATA.

For example, the following command block clears New York data and removes the block (because Market is sparse):

FIX("East")
CLEARDATA "New York";
ENDFIX

The following command block sets New York data values to #MISSING without removing the blocks:

FIX("East")
"New York" = #Missing;
ENDFIX

(17476648)

Essbase Features No Longer Supported in this Release

Delayed freespace recovery is no longer supported:

·         MaxL statement: alter database recover freespace

·         Oracle recommends using the alter database force restructure statement.

·         Configuration setting: DELAYEDRECOVERY

Updated: Virtual Memory and Swap Space Considerations when Essbase Runs on Oracle Exalytics In-Memory Machine

The information in this topic updates the topic titled, "Virtual Memory and Swap Space Considerations," which is in the "Running Essbase on Oracle on Oracle Exalytics In-Memory Machine" chapter in the 11.1.2.4 Oracle® Essbase Database Administrator's Guide.

When Essbase Server runs on Oracle Exalytics In-Memory Machine, an accompanying increase in virtual memory usage is normal and expected. Virtual memory usage is increased by the size of page files.

You can configure whether to use memory mapped I/O for page files, which improves in-memory computing of block storage databases, with the MEMORYMAPPEDDATA configuration setting.  By default, MEMORYMAPPEDDATA is not enabled for Essbase running on Exalytics In-Memory Machine that runs on Linux or Solaris. To enable MEMORYMAPPEDDATA, you must set MEMORYMAPPEDDATA to TRUE.

For best performance, configure swap space on the system to be greater than the sum of the expected sizes of dynamic calculator caches, for all databases on the system.

MEMORYMAPPEDDATA Configuration Setting

When Essbase runs on Oracle Exalytics In-Memory machine, this configuration setting improves in-memory computing of block storage databases by using memory mapped I/O for page files.

Areas in which performance is improved include data loading, serial and parallel calculation, export, restructuring especially for remote storage (NFS).

Notes:

·         Virtual memory usage will be equal to the size of the sum of page files in the database.

·         This configuration setting applies only to Essbase deployed on Oracle Exalytics In-Memory machine with the ORACLEHARDWAREACCELERATION configuration setting set to TRUE.

Syntax

MEMORYMAPPEDDATA [appname [dbname]] TRUE | FALSE

·         appname—Optional. Specifies the application for which to enable memory mapped data. If you specify a value for appname and do not specify a value for dbname, the setting applies to all databases in the specified application. To enable the setting for a specific database, you must specify an application and database.

·         dbname—Optional. Specifies the database, in the application specified by appname, for which to enable memory mapped data. If you specify a value for dbname but do not specify a value for appname, your specification is ignored.

·         TRUE—Enables memory mapped data.

·         FALSE—Disables memory mapped data.

FALSE is the default value for Essbase running on Exalytics In-Memory machines that run on Linux and Solaris.

Example

MEMORYMAPPEDDATA Sample Basic TRUE

Increased Execution Level Limit for Recursive Formulas

The execution level limit of 31 has been increased to 128 for these configuration settings:

·         CALCLIMITFORMULARECURSION

·         MDXLIMITFORMULARECURSION

 

Hybrid Aggregation Limitations

The following types of calculations are not supported for hybrid mode. Essbase detects when these conditions are present, and calculates them in block storage mode.

·         Time-balance tagged members

·         Attribute calculations

·         Calculated members in MDX "WITH" sections

·         Formulas with cross-dimensional operators (@XREF and @XWRITE)

·         Formulas that dependency analysis is deeper than 128

·         Formulas that had validation fail

·         Dynamic Calc members with formulas that are a target of transparent partitions

·         Dynamic Calc members with '/', '*', '%' consolidation operators that are a target of transparent partitions.

·         Dynamic Calc members with non-zero solve order that are a target of transparent partitions.

·         Parent of shared and parent of prototype members are separated by transparent partition target definition (unsupported for compatibility of results). 

·         A stored time balance member in transparent partition target (unsupported for compatibility of results)

·         Queries which include both two-pass and one-pass dynamic calc members from the same dimension

·         XOLAP

·         Text measures / text lists

If a query mixes supported and unsupported hybrid mode calculation types, Essbase defaults to block storage execution.

During hybrid aggregation, Dynamic Calc and Store members are treated as stored members.

Formulas with dimension references can run in hybrid mode in the following cases:

·         Sparse-to-Sparse: The formula is set on a sparse dimension member, and the formula only references member combinations from sparse dimensions.

·         Dense-to-Dense: The formula is set on a dense dimension member, and the formula only references member combinations from dense dimensions.

The following functions are supported for hybrid aggregation mode. Functions other than these are not supported, and if encountered, Essbase defaults to block storage execution for these functions.

o    @ABS 

o    @AVG    

o    @CALCMODE      

o    @CHILDREN          

o    @COUNT           

o    @DESCENDANTS

o    @EXP

o    @FACTORIAL       

o    @IDESCENDANTS

o    @INT

o    @ISMBR

o    @LEVMBRS 

o    @LIST

o    @MAX        

o    @MAXRANGE    

o    @MAXS

o    @MAXSRANGE   

o    @MIN

o    @MINS

o    @MINSRANGE     

o    @MOD  

o    @MODE

o    @MOVSUMX

o    @NOTEQUAL 

o    @POWER              

o    @RANGE               

o    @RANK

o    @REMAINDER     

o    @ROUND              

o    @SUM

o    @VAR              

o    @VARIANCEP       

o    @VARPER