Configuring Memory Guard & Data Model Properties

Implement the memory guard features by setting the properties in the Administration Runtime properties page.

The Memory Guard and Data Model property settings are described for each category in the following sections of tables.

Maximum report data size for online reports (for Check#1)

Property description Default Value

RTF/XSL/XSLFO/eText template

100MB

PDF template

10MB

Excel template

50MB

XPT template

50MB

Flash template

50MB

Validation rule: Any numeral followed by its unit. For example, [1–9][0–9]*[KB/MB/GB].

Examples:
  • 123MB

  • 128974848

  • 2GB

  • 2147483648

Maximum report data size for offline reports (for Check#1)

Property description Default Value

(Scheduled reports) RTF/XSL/XSLFO/eText template

HeapSize/2

Dynamically calculated based on JVM's heap size

PDF template

100MB

Excel template

500MB

XPT template

HeapSize/20

Dynamically calculated based on JVM's heap size

Flash template

100MB

Validation rule: Any numeral followed by its unit. For example, [1–9][0–9]*[KB/MB/GB].

Examples:
  • 123MB

  • 128974848

  • 2GB

  • 2147483648

Memory estimate formula (for Check#2)

Property Description Default Value

RTF/XSL/XSLFO/eText template

foMemEstimate(XML_DATA_FILE_NAME, XSL_TEMPLATE_FILE_NAME, OUTPUT_FORMAT)

PDF template

XML_DATA_SIZE*5

Dynamically calculated based on XML data size

Excel template

XML_DATA_SIZE*3

Dynamically calculated based on XML data size

XPT template

XML_DATA_SIZE*5

Dynamically calculated based on XML data size

Flash template

XML_DATA_SIZE*5

Dynamically calculated based on XML data size

Validation rule:

  • Any formula that returns long value

  • Just 0 or negative number can be used to bypass free memory check

  • KB/MB/GB notation is not allowed

  • Allowed variable(case sensitive)

    • XML_DATA_SIZE

    • XML_DATA_FILE_NAME

    • XSL_TEMPLATE_FILE_NAME

    • OUTPUT_FORMAT

  • Allowed operator

    • +

    • -

    • *

    • /

    • (

    • )

  • Allowed function (case sensitive)
    • foMemEstimate

  • Examples

    • 0 (disable Check#2)

    • 100 * 1024 * 1024

    • (XML_DATA_SIZE * 3) + (10 * 1024 * 1024)

    • foMemEstimate(XML_DATA_FILE_NAME, XSL_TEMPLATE_FILE_NAME, OUTPUT_FORMAT)

  • Unacceptable examples

    • 100MB (unit string not allowed here)

    • myFunction(XML_DATA_SIZE,OUTPUT_FORMAT) (custom function not allowed here)

Others

Property description Default Value

Maximum wait time for free memory to come back for online reports

10 (seconds)

Maximum wait time for free memory to come back for offline (scheduled) reports

30 (seconds)

Process timeout for online report formatting

600 (seconds)

Maximum rows for CSV output

1000000

Data Model

Property Description

Maximum data size limit for data generation

Default value: 500MB

Maximum XML data size in that can be generated from the execution of a data model. This setting applies to both online report requests and to requests submitted through the scheduler. When the size of the file generated by the data engine exceeds the value set for this property, the data engine terminates execution of the data model and throws an exception.

Validation rule: [1-9][0-9]*[KB|MB|GB]?

Examples:
  • 123MB

  • 128974848

  • 2GB

  • 2147483648

To turn this property off, enter 0 or a negative number.

Maximum sample data size limit

Default value: 1MB

Maximum file size of a sample data file that can be uploaded to the data model editor.

Enable Data Model scalable mode

Default: True

Processing large data sets requires the use of large amounts of RAM. To prevent running out of memory, activate scalable mode for the data engine. In scalable mode, the data engine takes advantage of disk space when it processes the data.

You can also set this property for specific data models. The data model setting overrides the system setting here. See Setting Data Model Properties in Data Modeling Guide for Oracle Business Intelligence Publisher.

Enable Auto DB fetch size mode

Default value: True

When set to True, BI Publisher calculates and sets database fetch size at run time according to the total number of data set columns and total number of query columns.

This setting avoids out of memory conditions, but can significantly slow processing times.

When set to True, any other DB fetch size settings are ignored.

This setting is recommended for implementations of BI Publisher that frequently process complex queries of hundreds of columns, such as Oracle Fusion Applications implementations. This setting is not recommended for most general implementations of BI Publisher.

Setting this property will override the data model- level database fetch size properties.

When set, this property takes effect for all data models and can significantly slow processing time.

DB fetch size

Default value: 20 (rows)

The maximum database fetch size for a data model. This property value takes effect only when Enable Auto DB fetch size mode is set to False. When the fetch size is met, the rows are written to a temp file and another fetch is executed; this process is repeated until all the rows are returned to the temp file.

A smaller fetch size requires more round trips from BI Publisher to the database and can impact overall processing time; however, the smaller data chunks ensure against excessive memory usage.

This property can also be set at the data model level. The data model setting overrides the server property.

SQL Query Timeout

Default: 600 seconds

Time out for SQL query-based data models. If the SQL query is still processing when the time out value is met, the error "Failed to retrieve data xml." is returned.

This property can also be set at the data model level. The data model setting overrides the server property here.

All BI Publisher reports running online will have a maximum SQL query timeout of 10 minutes irrespective of the settings at the instance level or data model level to avoid stuck threads and server outages.

Enable Data Model diagnostic

Default value: False

Setting this property to true will write data set details, memory, and SQL execution time information to the log file. Oracle recommends setting this property to true only for debugging purposes. When set to true, processing time is increased.

Enable SQL Session Trace

Default value: False

Setting this property to True writes a SQL session trace log to the database for every SQL query that is executed. The log can then be examined by a database administrator.

Oracle recommends that you turn this property on only in test and development environments.

To enable this property, the user that you define for the database connection must be granted the Alter Session privilege on the database (Syntax: GRANT ALTER SESSION TO <USER NAME>). The connection user is defined here: Setting Up a JDBC Connection to the Data Source.

Enable SQL Pruning

Default value: False

Applies to Oracle Database queries only that use Standard SQL. If your query returns many columns but only a subset are used by your report template, SQL pruning returns only those columns required by the template. Setting this property enhances processing time and reduces memory usage. Note that Enable SQL Pruning is also a data model-level property that can be turned on or off for particular data models to override this server-level setting.

SQL pruning is not applicable for PDF, Excel, and E-text template types.

For information about the data model setting, see Setting Data Model Properties in Data Modeling Guide for Oracle Business Intelligence Publisher.