Oracle Essbase
Release 11.1.2.4.000 Patch Set Exception (PSU): 11.1.2.4.025
Readme
MaxL Perl Module Will No Longer Be Supported in 12.2.1.3.0
Essbase Native Security Mode Is No Longer Supported
Linked Partition in SmartView Client cannot connect to Essbase.
Dim build setting "allow move" is not allowed
Issue with @PARENTVAL() Function
Essbase Administration Services Server Can Terminate Abnormally After Updating the Outline
Increased usage of disk space on Exalytics
On HP-UX, custom calculation allocations using the subtract option may return incorrect results.
Why do I get the following patch conflict error message when running OPatch?
Why do I get the OUI-67078 warning message when applying OPatch?
How can I find out which releases and patches of EPM System products are installed in a deployment?
Documentation Updates in this Patch
Auto Generation of Aggregate Views
Idle Application Shutdown (Applicable Only on Linux)
Maximum number of Alias Tables
RESTRUCTURETHREADS Recommended Setting
Naming Convention for Essbase Application Description Update: __PCM__
Attribute dimension Members should be Ignored in Dataload
Optimizing Custom Calculations by Skipping Empty Tuples
ODBC Driver Descriptor Management in Essbase
Unexpected Labels Printing in Report Script
MDX Functions Are Not Supported in Custom Calculation Scripts
Permission Required to Rename an Application
JAPI SOAP web services will be removed in a future release
Generating Delimited Output Tables for MaxL and MDX
Erratum: Drill-Through C APIs Not Supported with Essbase Studio.
@ALIAS Calculation Function Accepts Alias Table Name Argument
Correction: Using Runtime Substitution Variables in Calculation Scripts Run in Smart View
QUERYRESULTLIMIT Configuration Setting
Unsupported Essbase Properties in the essbase.properties File
FIXPARALLEL Support On Partitioned Databases
Runtime Substitution Variables Declared in SET RUNTIMESUBVARS Require a Default Value
SSMEMBERIDPROCESSING Configuration Setting
Changes to CLEARDATA Calculation Command
Essbase Features No Longer Supported in this Release
MEMORYMAPPEDDATA Configuration Setting
Increased Execution Level Limit for Recursive Formulas
Hybrid Aggregation Limitations
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.
MaxL Perl Module will not be supported starting with Release 12.2.1.3.0.
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.
This is a patch set update (PSU).
This patch replaces files in the existing installation and does not require a full installation.
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.
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:
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.”
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.
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
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
Defect Number |
Defect Fixed |
· 27744715 |
After running an Essbase job, Import
Oracle Fusion Data Extensions for |
· 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 |
· 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
|
· 27965789, 27965768 |
There is an inconsistency in
signage of values for MDX and |
· 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.
|
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" (for moving a
member to another parent) is
not allowed, regardless of the uniqueness defined at the generation level.
(26528652)
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)
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.
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)
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. See "Allocation Options."
(21092593)
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.
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.
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.
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.
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
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
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)
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.
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)
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.
The string "__PCM__" is reserved and should not be used for Essbase Application Descriptions.
(25599357)
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)
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)
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)
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)
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)
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)
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 and they will be replaced with REST APIs.
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)
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.
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.
/* 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;
When run in non-interactive mode (essmsh report0.msh), the resulting spool files have the following contents:
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
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
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#~#~
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)
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)
The @ALIAS calculation function accepts an optional, second argument of an alias table name.
This function returns the alias name, as a string, for the specified member name.
@ALIAS (mbrName [,altName])
mbrName |
Any valid member name, or a function returning a member. |
altName |
Optional. Alias table name. This parameter is case insensitive. |
· 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.
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)
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)
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.
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.
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;
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)
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)
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.
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.
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.
SSMEMBERIDPROCESSING Sample TRUE
(21392810)
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)
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)
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;
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)
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
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.
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
The execution level limit of 31 has been increased to 128 for these configuration settings:
· CALCLIMITFORMULARECURSION
· MDXLIMITFORMULARECURSION
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
Copyright © 2018, Oracle and / or its affiliates. All rights reserved. http://www.oracle.com