New Range Function |
Top |
@XRANGE is a new calculator function that takes as input two members (single or cross-dimensional) and returns a member range. @XRANGE is a member set function. Member set functions return a list of members.
This function is useful, for example, when you work with the Time and Scenario dimensions. You can use @XRANGE to return a member set combination of Time and Scenario instead of creating a dimension that combines the two (which creates many more individual members than necessary).
@XRANGE identifies a range of members using the level of the arguments, determines the cross product of all members in the range and then prunes the set to include only the range requested.
This example returns this range:
1998->Jun, 1998->Jul, ... 1998->Dec,
1999->Jan, 1999->Feb, ... 1999->Dec,
2000->Jan, 2000->Feb, ..., 2000->Dec,
2001->Jan, 2001->Feb, 2001->Mar
@AVGRANGE, @SUMRANGE, @MINRANGE, @MINSRANGE, @MAXRANGE, @MAXSRANGE, @STDDEVRANGE, @MOVSUM, @MOVAVG, @MOVMIN, @MOVMAX, @MOVMED, @SPLINE
@XRANGE can appear anywhere in a formula where a range can normally appear.
The two arguments to @XRANGE must be either single members or cross-dimensional members with the same member components. You cannot mix a single member and cross-dimensional member. For example, @XRANGE(1998->Jun, 2001) is invalid because a single member and a cross dimensional member are used together.
The dimension order of members must match for both arguments. For example, @XRANGE(1998->Jun, March->2001) is invalid because the two member components are in different orders. Changing 1998->Jun to Jun->1998 or changing March->2001 to 2001->March results in a valid function.
Although the syntax is correct, a function such as @XRANGE (2001, 1998) is meaningless because it results in an empty set.
The member components of each argument must be from the same level. For example, @XRANGE(1998->Jun, 2001->Qtr1) is invalid because Jun and Qtr1 are not from the same level.
Moving Sum Function |
Top |
Essbase now provides a moving sum function, @MOVSUM. This function applies a moving n-term sum to an input data set. Each term of the set is replaced by a trailing sum of n terms, and the first terms (the n-1 terms) are copies of the input data. @MOVSUM modifies a data set for smoothing purposes.
mbrName | Any valid single member name or member combination, or a function that returns a single member or member combination. |
n | Optional. A positive integer value that represents the number of values to sum. The default is 3. |
rangeList | Optional. A valid member name, or a comma-delimited list of member names from the same dimension, or member set function or range function that returns a list of members from the same dimension. If rangeList is not specified, Essbase uses the level 0 members from the dimension tagged as Time. |
Trailing Sum Centered Sum 1 2 3 1 2 3 6 3
For periods where the value of n cannot be used to compute the moving sum, the value returned is the same as for the source member. For example, the formula "Mov Sum" = @MOVSUM(Sales,3,Jan:Jun); produces this result for January and February:
Colas New York Actual Sales Mov Sum ===== ======= Jan 678 678 Feb 645 645For January and February, Essbase cannot compute a moving sum over the last three months (the value of n) because the three months do not yet exist. Essbase simply copies the values for Jan and Feb for the moving sums.
If you wish to assign different values to members before the value sum parameter is reached, or use different member values for the trailing members, use @MOVSUM instead.
"Mov Sum" = @MOVSUM(Sales,3,Jan:Jun);In this example, @MOVSUM smooths sales data for the first six months of the year (Jan through Jun). The results of @MOVSUM can be used with the @TREND function to forecast average sales data for a holiday season (for example, October through December).
This example produces the following report:
Colas New York Actual Sales Mov Sum ===== ======= Jan 678 678 Feb 645 645 Mar 675 1998 Apr 712 2032 May 756 2143 Jun 890 2358
Moving Sum Function with Member Value Options |
Top |
Essbase provides an additional moving sum function, @MOVSUMX, that is similar to @MOVSUM, in that it applies a moving n-term sum to an input data set. Unlike @MOVSUM, @MOVSUMX provides several options that control the value assigned to trailing members, and how to assign values to members that precede the n-term parameter. @MOVSUMX modifies a data set for smoothing purposes.
COPYFORWARD | Copies the member value into the new member until the n value is reached, then it will begin summing the value. |
TRAILMISSING | Sets the member value to #MISSING until the n value is reached, then it will begin summing the value. |
TRAILSUM | Sums the trailing values, regardless of whether the n value is reached or not. When the n value is reached, OLAP Server begins summing just those values |
mbrName | Any valid single member name or member combination, or a function that returns a single member or member combination. |
n | Optional. A positive integer value that represents the number of values that are used to calculate the moving maximum. The default is 3. |
rangeList | Optional. A valid member name, a comma-delimited list of member names, member set functions, and range functions from the same dimension. If rangeList is not specified, Essbase uses the level 0 members from the dimension tagged as Time. @XRANGE is also supported as a valid macro within rangeList. |
SalesSum = @MOVSUMX (COPYFORWARD,Sales,3,Jan:Aug);
Member | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug |
Sales | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 |
SalesSum | 100 | 150 | 450 | 600 | 750 | 900 | 1050 | 1200 |
Example 2
SalesSum = @MOVSUMX (TRAILMISSING,Sales,3,Jan:Aug);
Member | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug |
Sales | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 |
SalesSum | #MISSING | #MISSING | 450 | 600 | 750 | 900 | 1050 | 1200 |
Example 3
SalesSum = @MOVSUMX (TRAILSUM,Sales,3,Jan:Aug);
Member | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug |
Sales | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 |
SalesSum | 100 | 250 | 450 | 600 | 750 | 900 | 1050 | 1200 |
Drill-Through Filter Persistence |
Top |
Beginning with Essbase 6.5.1, when you customize a drill-through report in Essbase Spreadsheet Add-in, you can save the drill-through filters that you create in the Select Data Filters dialog box. In prior releases of Essbase, users cannot save filters that they create when customizing a drill-through report. Users of 6.5.0 and previous releases have to recreate a filter each time they create a drill-through report.
In addition, you can add new filters, rename filters, delete filters, and select existing filters that you have previously saved.
To add new filters:
In the Select Data Filters dialog box, click Save Filters. All filters created for the drill-through report are saved.
Whenever you use the Select Data Filters dialog box, you can select from the list of filters that you have saved.
Note: You must click Save Filters to save any changes, such as adding, deleting, or renaming, to the filters.
See these sources for more information about using drill-through:
Report Command LINK |
Top |
The LINK Report Writer command has been extended to span into dimension levels that are located in the Hybrid Analysis portion of an Essbase cube. For more information about LINK, see the Technical Reference topic Report Writer Commands: LINK. For more information about Hybrid Analysis, see the Database Administrator's Guide Appendix D "Accessing Relational Data with Hybrid Analysis."
Parallel Calculation Correction |
Top |
Valid values for CALCPARALLEL (or SET CALCPARALLEL) are 1 through 4.
Essbase 6.5.0 documentation incorrectly states 0 through 4.
Hybrid Analysis Support for Additional Platforms |
Top |
Hybrid Analysis functionality has been extended to include support of two additional RDBMS platforms, SQL Server and Teradata.
See the Essbase Installation Guide for information about release levels, operating systems and drivers supported.
Support for Microsoft 4 GB RAM Tuning (4GT) |
Top |
Essbase Release 6.5.1 supports Microsoft 4 GB RAM Tuning (4GT). This feature enables users with extremely large databases to take advantage of a larger address space to improve performance.
Currently, the total addressable limit of RAM on servers running Windows 2000 or Windows NT is 4 GB. By default, applications can access 2 GB, with the Windows kernel using the other 2 GB. For selected versions of Windows running on Intel architecture servers, Microsoft provides the 4GT feature. The 4GT feature increases the addressable limit for applications to 3 GB, reducing the potential RAM allocated to the Windows kernel from 2 GB to 1 GB.
Essbase currently supports the 4GT feature on computers that use Intel-based processors with more than 2 GB of physical RAM, and that have either of these versions of Windows:
Consider this example:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WIN2KADV
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WIN2KADV="Microsoft Windows
2000 Advanced Server" /3GB /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Server Version
4.0" /3GB /fastdetect
External Authentication Support for MS Active Directory |
Top |
Essbase now provides external authentication drivers for Microsoft Active directory server, in addition to the support for LDAP authentication introduced in 6.5.0.
To enable external authentication:
module_name | The name of the authentication module. Use the value that corresponds
to the external authentication server that you plan to use:
"MSAD" for MSAD
|
library_name | The directory path and name of the library that implements the authentication
protocol. For all platforms, the library that implements the authentication
protocol is located in ARBORPATH\bin. The library name
depends on the operating system where you have installed Essbase:
|
max_wait_time | The connection timeout period, in seconds. |
default_connection_parameters | Valid values can be anything representing private data needed to authenticate the user with the authentication protocol. For example, in an LDAP schema, default connection parameters would be the portion of the DN (Distinguished Name) other than the user name. The size of default_connection_parameters cannot exceed 256 bytes. The default value is FALSE. |
LDAP, MSAD:
@host_name:port_number
|
LDAP and MSAD: The host name and port number of the server that the
authentication protocol contacts to authenticate the user.
Note: You must type the character "@" before the host name, type the character ":" between host name and port number or shared secret, and include all commas as indicated. |
AUTHENTICATIONMODULE LDAP essldap.dll 30 cn=Engineers, ou=Groups, dc=yahoo, dc=com@Gorky:389The entries in this example allow users in the group Engineers from domain yahoo.com to be authenticated on host Gorky through port number 389, with a timeout period of 30 seconds.
AUTHENTICATIONMODULE MSAD essmsad.dll 45 ou=Engineers,ou=Groups,dc=yahoo,dc=com@129.63.140.122:389The entries in this example allow users in the group Engineers from domain yahoo.com to be authenticated on host 129.63.140.122 through port number 389, with a timeout period of 45 seconds. When you create a profile in MSAD, the "CN" entry must exactly match the user login name or authentication will fail.
Excel 97 Support |
Top |
Microsoft Excel 97 support has been reinstated for Essbase Spreadsheet
Add-in.
Port Statistics |
Top |
You can enable OLAP Server to log, at a specified interval, the number of ports being used. By analyzing the information in the log, you can monitor port utilization and identify a need for more ports before end users are unable to connect.
To enable OLAP Server to check port use statistics and write those statistics to the OLAP Server log:
PORTUSAGELOGINTERVAL x
The value of x represents the number of minutes between each check of the number of ports in use. The value of x can be any whole number from 1 - 60, with 5 the recommended minimum and default value. Essbase ignores any portion of a non-whole number. For example, Essbase evaluates 2.5 as 2 minutes. Statistics are written to the log immediately after each check.
View the OLAP Server Log file. You will see entries similar to this:
[Mon Apr 22 00:48:50 2002]Local/ESSBASE0///Info(1056214)
[3] ports in use, [10] ports allowed
Essbase writes the port use statistics to the OLAP Server log every
10 minutes.
PORTUSAGELOGINTERVAL
Essbase writes the port use statistics to the OLAP Server log every
five minutes (the default value).
PORTUSAGELOGINTERVAL 6.75
Essbase ignores the non-whole portion of the number, and writes the port use statistics to the OLAP Server log every six minutes.
Enhanced Security File Backup |
Top |
Essbase now compares the security backup file essbase.bak to the security file essbase.sec at specified intervals instead of only when OLAP Server starts.
Using Application Manager, you can change the frequency of these comparisons. You can also use a new ESSCMD, MaxL or API command to compare the security backup file essbase.bak to the security file essbase.sec at any time. Essbase always updates the backup file if it does not match the security file when the two files are compared, regardless of which tool is used to trigger the comparison.
To change how often Essbase checks for differences between the security file and the security backup file, and updates the security backup file if needed:
Review these facts before changing the interval value:
Caution: If Essbase stops running unexpectedly for any reason, such as a freeze or crash, or as the result of terminating a process, do not restart OLAP Server until you copy the backup file essbase.bak to the security file essbase.sec. If you do not perform the copy first, when OLAP Server starts, Essbase notes that essbase.sec is corrupt, creates an empty security file and copies it to essbase.bak, thus destroying the backup of your security information.
New Compression Algorithm |
Top |
In addition to the options provided in previous releases (RLE, bitmap compression, or no compression), OLAP Server now supports ZLIB compression. This method is used in packages like PNG, Zip, and gzip.
Calculation and data loading is faster with direct I/O and ZLIB compression than with buffered I/O and ZLIB compression. If data storage is your greatest limiting factor, use ZLIB, but be aware that, under some circumstances, data loads may be up to 10% slower than bitmap compression. On the other hand, the size of the database will be significantly smaller when you use ZLIB as your compression technique.
Bitmap compression uses an algorithm that tracks which values are missing, and does not interact with any other type of data. ZLIB compression, in contrast, builds a data dictionary based on the actual data being compressed. Therefore, ZLIB compression should provide greater compression ratios over bitmap compression given extremely dense data. However, because the effectiveness of the ZLIB algorithm is dependent (at the bit level) on the actual data being compressed, general guidelines about when ZLIB compression will provide greater compression than bitmap compression based solely on density are not available. Unlike other compression methods, the storage space saved has little or no relationship to the number of missing cells or the number of contiguous cells of equal value. It is best to test with a representative sample of data.
To estimate the storage savings you may obtain with ZLIB, create a small database with a small sampling of real data, change the compression setting, restart Essbase, and note the difference in storage.
You can also use the small sample database to estimate any changes in calculation or data loading speed.
To change the compression setting, use Application Manager, MaxL, or Essbase Administration Services as currently documented. Simply substitute "ZLIB," for the values listed. For more information on how to use ZLIB compression in Essbase Administration Services, refer to the Essbase Administration Services Online Help.
Query Logging |
Top |
Query logging provides a way for Essbase administrators to track query patterns of an Essbase database. The query log file tracks all queries performed against the database regardless of whether the query originated from Spreadsheet Add-in or Report Writer. Query logging can track members, generation or level numbers of members belonging to specific generations or levels, and Hybrid Analysis members. Query logging also offers the flexibility to exclude logging of certain dimensions and members belonging to generations or levels. Because the query log file output is an XML document, you can import the log file to any XML-enabled tool to view the log. For details about the query log file structure, refer to querylog.dtd in the ARBORPATH/bin directory.
To enable query logging, create a query configuration file (distinct from the essbase.cfg file) and add to the file the configuration settings that control how query logging is performed.
Create a query log configuration file for each database that requires query logging. If the configuration file is missing or the QUERYLOG setting is off, query logging is disabled.
To enable query logging:
QUERYLOG [dimension_name] QUERYLOG NONE GENERATION generation-range QUERYLOG NONE LEVEL level-range QUERYLOG GENERATION generation-range QUERYLOG LEVEL level-range QUERYLOG LOGHAMBRS ON | OFF QUERYLOG LOGPATH path-expression QUERYLOG LOGFORMAT CLUSTER | TUPLE QUERYLOG LOGFILESIZE n QUERYLOG TOTALLOGFILESIZE n QUERYLOG ON | OFF
QUERYLOG Parameter | Description |
[dimension_name] | Identifies the dimension name to be tracked. The brackets around the
dimension name are required. QUERYLOG [dimension_name] logs all
members of a dimension. For example, QUERYLOG [Product] tracks all members
of the Product dimension. Each dimension must be specified in a separate
QUERYLOG [dimension_name] setting.
Note: QUERYLOG [dimension_name] must precede all settings that track Hybrid Analysis members and members of generation and level ranges; otherwise, Hybrid Analysis and generation and level settings are ignored. |
NONE GENERATION generation-range | Prevents tracking of members from the specified generation range. For example, QUERYLOG NONE GENERATION 2 excludes tracking of all members from generation 2 of the named dimension. |
NONE LEVEL level-range | Prevents tracking of members from the specified level range. For example, QUERYLOG NONE LEVEL 0-2 excludes tracking of all members of levels 0, 1, and 2 of the named dimension. |
GENERATION generation-range | Tracks members of the specified generation range by generation number, rather than by member name. For example, QUERYLOG GENERATION 5-7 logs members of generations 5, 6, and 7 of the named dimension by their generation number in the log file. |
LEVEL level-range | Tracks members of the specified level range by level number, rather than by member name. For example, QUERYLOG LEVEL -3 logs members of levels 0, 1, 2, and 3 of the named dimension by their level number in the log file. |
LOGHAMBRS ON | OFF | Tracks Hybrid Analysis members of the specified dimension. By default, the setting is OFF. The QUERYLOG NONE, GENERATION, and LEVEL parameters do not apply to Hybrid Analysis members because Hybrid Analysis members are not actually members in an Essbase outline. If QUERYLOG LOGHAMBRS ON is set, the log output is always displayed in CLUSTER format, regardless of whether QUERYLOG LOGFORMAT TUPLE is set. If QUERYLOG LOGHAMBRS ON is set, but the database or dimension does not have any Hybrid Analysis members, the setting is ignored. |
LOGPATH path-expression | Specifies the location of the output log file. The log file name is
dbname00001.qlg;
for example, basic00001.qlg. Examples of the log path are QUERYLOG
LOGPATH /usr/local/Essbaselogs/ and QUERYLOG LOGPATH d:\Essbaselogs\querylogs\.
You must include a backslash \ (for Windows directories) or forward slash
/ (for UNIX directories) at the end of the path expression; otherwise,
the query log file is not created.
By default, the location for the log output file is the ARBORPATH\App\appname\dbname\ directory. If the LOGPATH path-expression setting is missing, the default is used. Essbase writes log information to the query log file after an application stops running. |
LOGFORMAT CLUSTER | TUPLE | Specifies the format of the log output. CLUSTER and TUPLE provide the same log information, but display the information differently. CLUSTER provides information on how many members of a dimension were queried and lists queried members within their respective dimensions. TUPLE lists each queried member combination. By default, CLUSTER is the log format. Because the TUPLE format lists each member combination queried, TUPLE may have a greater impact on query performance than CLUSTER. See Sample Cluster Output for an example of a query log in cluster format. See Sample Tuple Output for an example of a query log in tuple format. |
LOGFILESIZE n | Specifies the maximum size of an individual query log file in megabytes (MB). The minimum value is 1 MB. The maximum value is 2048 MB (2 GB). If the LOGFILESIZE setting is missing, then, by default, the query log file size is 1 MB. If an initial query log file size exceeds the specification, log information is added to a new query log file. Each time a new file is created, the filename is incremented by one. |
TOTALLOGFILESIZE n | Specifies the maximum size of all query log files combined in megabytes (MB). The minimum value is 512 MB (1/2 GB). The maximum value is 4095 MB. If the TOTALLOGFILESIZE setting is missing, then, by default, the total query log file size is 1024 MB (1 GB). Query log files are created until the file size total exceeds the specified maximum. When the maximum is exceeded, a message is displayed and query logging automatically turns off. |
ON | OFF | Specifies whether the query logging feature is turned on or off. All query log settings are ignored if this setting is OFF or missing. By default, the setting is OFF. |
Generation-range and level-range values
are represented in one of the following ways:
Generation-Range or Level-Range Value | Description |
x | A specific generation or level number. For example, QUERYLOG NONE GENERATION 2 excludes generation 2 from query logging. |
x-y | All generations or levels inclusive of number x through number y. For example, QUERYLOG GENERATION 1-3 or QUERYLOG LEVEL 1-3 includes generation or level numbers 1, 2, and 3. |
-x | For generation-range, all generations within the range 1 through x. For level-range, all levels within the range 0 through x. For example, QUERYLOG GENERATION -2 includes generations 1 and 2. QUERYLOG LEVEL -3 includes levels 0, 1, 2, and 3. |
x- | For generation-range, all generations within the range from number x through the highest generation. For level-range, all levels within the range from number x through the highest level. For example, QUERYLOG Level 1- includes levels 1, 2, 3 and so on up to the highest level. |
# Log the Product dimension QUERYLOG [Product] # Log Hybrid Analysis members of Product, if applicable QUERYLOG LOGHAMBRS ON # Log the Market dimension QUERYLOG [Market] # Log members of generation 2 of Market by generation number QUERYLOG GENERATION 2 # Display log output in cluster format QUERYLOG LOGFORMAT CLUSTER # Create log file in C:\QUERYLOG\ QUERYLOG LOGPATH C:\QUERYLOG\ # Start a new log file after an individual log file size reaches 2 MB QUERYLOG LOGFILESIZE 2 # Turn off query logging after the total size of all log files reaches 1024 MB (1 GB) QUERYLOG TOTALLOGFILESIZE 1024 # Enable query logging QUERYLOG ON
<?xml version="1.0" encoding="UTF-8" ?> - <root> - <session> <bootuptime>Wed Jul 23 15:27:26 2002</bootuptime> - <logsettings> - <dimensions> - <logdim name="Product"> - <logdim name="Market"> <spec>GENERATION 2</spec> </logdim> </dimensions> - <othersettings> <logformat>cluster</logformat> <logpath>C:\QUERYLOG\</logpath> </othersettings> </logsettings>
<query> <user>User1</user> <time>Tue Aug 13 12:29:49 2002</time> <subquery> <cluster size="2"> <dim size="2"> <member>100</member> <member>200</member> </dim> <dim size="1"> <member>Market</member> </dim> </cluster> </subquery> <subquery> <cluster size="2"> <dim size="1"> <member>300</member> </dim> <dim size="2"> <member>Market</member> <generation>2</generation> </dim> </cluster> </subquery> <elapsedtime>0.016 seconds</elapsedtime> </query>
<query> <user>User1</user> <time>Tue Aug 13 12:28:14 2002</time> <subquery> <tuples> <tuple> <member>100</member> <member>Market</member> </tuple> </tuples> </subquery> <subquery> <tuples> <tuple> <member>200</member> <member>Market</member> </tuple> </tuples> </subquery> <elapsedtime>0.02 seconds</elapsedtime> </query>
Improved #MISSING Handling with DATACOPY |
Top |
In previous Essbase releases, using DATACOPY on a dense dimension can create blocks populated with #MISSING. This is done deliberately in some instances, because most Essbase batch calculations operate only on existing data blocks. Therefore, DATACOPY is also used to ensure that Essbase creates all necessary data blocks prior to batch calculation.
But if the creation of #MISSING blocks is not required, you may want to avoid the increase in size of the index and page files, and the possibly slower performance that results. For example, a default calculation visits every #MISSING block.
To support that goal, Essbase now provides a SET COPYMISSINGBLOCK command that allows DATACOPY to avoid creating #MISSING blocks during the copy of data from a dense dimension.
The default behavior is for the #MISSING blocks to be created (SET COPYMISSINGBLOCKS ON), to provide backward compatibility.
A message is added to the Essbase server log to indicate the number of data blocks being copied from the source data blocks. The number of #MISSING blocks skipped, if any, is also reported in Essbase server log.
[Fri May 31 10:35:03 2002]Local/Test6/Test6/essexer/Info(1012576)
Datacopy command skipped creating [1] target data blocks with CopyMissingBlock
OFF
Invalid Block Header Identification and Correction |
Top |
Essbase helps you assess the severity of invalid block header errors (IBH) and provides tools to repair the corruption indicated by the presence of some IBHs.
There are two types of IBH errors that can be corrected:
appName and dbName are optional, but be sure to specify an application name if you specify a database name. You can substitute "xxxx" for either appName or dbName, or both. "xxxx" is a wildcard for the application name and database name.
percentage is the value of the percentage of IBHs reported relative to the number of level 0 blocks on disk. Once Essbase reaches the threshold, Essbase sends a message to the client requesting that the user rebuild the database, and shuts down. Valid values are whole numbers 0 through 100.
If you receive a message suggesting you rebuild a database, do so using procedures described in the Database Administrators Guide.
If messages are written to the client or server log indicating the presence of IBH errors, but the threshold that requires the database be rebuilt is not reached, you can either rebuild the database or you can find and fix the errors using instructions in the next section.
OK/INFO - 1006016 - Invalid block header: Illegal block type.
OK/INFO - 1006046 - A read from file [D:/ESSBASE\APP\Migr500\Basic\ess00001.pag],
to address [0x05f71458] with handle [6] from offset [1081683835] for [992]
bytes, failed with error [13] and O/S return code [23] after [-1] bytes.
OK/INFO - 1070121 - Current size of file
[D:/ESSBASE\APP\Migr500\Basic\ess00001.pag] is [2147475435] bytes.
OK/INFO - 1006050 - For transaction [Basic], the [3088] byte Input
Transfer Buffer is at address [0x05f71458] and the [3088] byte Output Transfer
Buffer is at address [0x026bf2b0].
ERROR - 1006004 - Unable to Read Information From Page File.
ERROR - 1241101 - Unexpected Essbase error 1006004.
In the example log output above, Essbase issued a read request at an offset of 1081683835 which is a valid offset based on the size of the page file. The request is to read 992 bytes starting from that offset. However, hardware problems cause the read request to fail, and the OS return code for failure is returned (13 in this example). In this situation, Essbase is unable to continue reading the page file, and the IBH diagnosis operation stalls.
Improved Exception Handling for Unix Platforms |
Top |
If OLAP Server shuts down abnormally and cannot restart, OLAP Server generates an exception log, .XCP, to help troubleshoot the problem. For Hyperion Essbase releases 6.5.1 and greater, on Unix platforms, Essbase also creates a core file with additional information about the exception. The location of the core file depends on the type of abnormal shutdown:
If present, send both the core file and the .XCP file to Hyperion Technical Support to determine why the abnormal shutdown occurred. If you have old core files from previous abnormal shutdowns, you may remove them to free up disk space. Do not remove recent core files unless you are certain that you will not need to send them to Hyperion Technical Support.
Application Memory Manager |
Top |
Essbase enables memory management by providing controls on the maximum amount of memory an application can use. Essbase also writes messages to an application log as soon as the application's memory use exceeds 90% of the limit that you set. After the limit is met 100%, OLAP Server stops the application.
To enable OLAP Server to manage application memory use:
Application is using [n] bytes of memory. It is more than 90 percent of the limit set in the memory config file.
If the application uses 100% of the memory as limited by the Memory Configuration File, OLAP Server writes this error message to the application log and stops the application:
Application is using [n] bytes of memory, and is requesting a new memory block of [n] bytes. The memory has exceeded the limit.
When the 90% warning messages appear in the log, the database administrator may wish to take corrective action:
Make sure the file is located in the ARBORPATH/bin directory.
Add the MEMORYLIMIT configuration setting to the configuration file, using this syntax:
MEMORYLIMIT n G | M
n is a whole number, the number of gigabytes or megabytes. Use G or M to indicate gigabytes or megabytes.
Recommended values:
Operating System | Recommended memory limit |
Windows NT
Windows 2000 without the 4 GB RAM option |
2 G |
Windows 2000 with the 4 GB RAM option | 3 G |
Solaris | 3 G |
HPUX | 1741 M |
AIX | 2 G |
Use these recommended values or, if lower, the amount of physical memory plus swap space available. For example, if a computer has only 2 GB of combined physical memory and swap space, and other applications on that computer require 1 GB, then the value of MEMORYLIMIT should be no more than 1 GB.
This allows OLAP Server to use up to 2 GB memory for an application.
MEMORYLIMIT 1024 M
This allows 1 GB memory for an OLAP Server application.
Copyright 2002 Hyperion Solutions Corporation.
All Rights Reserved.