10-2 Oracle Fusion Middleware Configuration Guide for Oracle Business Intelligence Discoverer
■
the number of Discoverer middle tier machines
10.3 How to improve Discoverer performance
Discoverer performance is largely determined by how well the database has been designed and tuned for queries. A well designed database performs significantly
better than a poorly designed database. In addition, you can achieve significant performance improvements by making appropriate use of:
■
summary tables and materialized views
■
indexes
■
database parameter settings
■
network bandwidth In addition to a well-designed and well-tuned database, there are some things you can
do within Discoverer to improve performance, as described in the following sections:
■
Section 10.3.1, How to improve Discoverer performance by using worksheets and page items appropriately
■
Section 10.3.2, How to improve Discoverer performance by reducing the time taken to display business areas and folders
■
Section 10.3.3, How to improve Discoverer performance by using summary folders
■
Section 10.3.4, How to improve query performance by optimizing the SQL that Discoverer generates
■
Section 10.3.5, How to improve Discoverer performance by using Discoverer Administrator hints
■
Section 10.3.6, How to improve Discoverer performance by setting the Case Storage item property appropriately
■
Section 10.3.7, How to improve Discoverer performance by increasing the size of the array used to fetch rows from the database
■
Section 10.3.8, How to improve Discoverer performance by basing lists of values on tables containing distinct values
■
Section 10.3.9, How to improve Discoverer performance by changing cache settings for your system
■
Section 10.3.10, How to improve Discoverer performance by scheduling worksheets to run overnight
■
Section 10.3.11, How to improve Discoverer Viewer performance by using Oracle Web Cache
■
Section 10.3.12, How to improve Discoverer Portlet Provider performance
■
Section 10.3.13, Troubleshooting Discoverer performance and scalability
10.3.1 How to improve Discoverer performance by using worksheets and page items appropriately
The time that Discoverer takes to query and display data depends on the worksheet layout that is, table or crosstab and whether the worksheet layout uses page items.
For example:
Optimizing Oracle BI Discoverer Performance and Scalability 10-3
■
When populating a tabular worksheet that does not contain page items, Discoverer uses incremental fetch for example, retrieves rows 100 at a time and
therefore does not have to load the entire results set, which might be much larger.
Data for tabular layouts that do not contain page items is displayed faster because Discoverer does not index cached items as it would if the page items were
displayed.
■
When populating a table worksheet that contains page items or a crosstab worksheet, Discoverer takes longer to display the data, regardless of the number
of rows fetched at a time. The data takes longer to display because Discoverer spends additional time creating an index by page item on the cached results set.
To enhance performance, encourage Discoverer Plus users to follow these guidelines when designing Discoverer workbooks:
■
use tabular reports rather than crosstab reports
■
minimize the number of page items in reports
■
avoid wide crosstab reports
■
avoid creating reports that return tens of thousands of rows
■
provide parameters to reduce the amount of data produced
■
minimize the number of worksheets in workbooks
■
remove extraneous worksheets from workbooks especially if end users frequently use Discoverer’s export option
Note : When end users export data in Discoverer Plus or Discoverer Viewer, they
can export either the current worksheet or all the worksheets. In other words, they cannot selectively choose the worksheets to be exported. Remove extraneous
worksheets so that extra data is not included when end users export all worksheets.
The following worksheet setups all increase the overhead in index creation and therefore affect Discoverer performance:
■
wide crosstabs
■
page axis items
■
page axis items with a large number of values
10.3.2 How to improve Discoverer performance by reducing the time taken to display business areas and folders
When a Discoverer Plus end user builds a query, Discoverer displays a list of the business areas, folders, and items to which that user has access in the Discoverer Plus
Item Navigator for more information, see Oracle Fusion Middleware Users Guide for Oracle Business Intelligence Discoverer Plus. Before displaying the list, Discoverer makes
a database security check to confirm that the user has access to the tables referenced in the folders. Although the security check makes sure that the user cannot create
workbooks that they cannot run, the security check can increase the time taken to display the list, because the check is done for all business areas and folders.
To defer the database security check, edit the pref.txt file and set ObjectsAlwaysAccessible to 1 as follows:
ObjectsAlwaysAccessible = 1
10-4 Oracle Fusion Middleware Configuration Guide for Oracle Business Intelligence Discoverer
Note : After editing the pref.txt file, you must run the applypreferences script to apply
the preference changes you have made for more information, see Section 9.4, How to
set default user preferences for all users . Then stop and restart the Oracle BI
Discoverer Service for more information, see Section 4.3, How to start, stop, and
restart the Discoverer preferences server component using opmnctl .
If the value of ObjectAlwaysAccessible is not 0, Discoverer does not perform the security check when the query is built and assumes that the tables are accessible.
Note : Database security is always respected. The security check is made when the
query runs, instead of when the query is built. As a result, Discoverer displays the list of folders more quickly. Disabling the security
check is likely to be more appropriate on systems where users’ access rights change relatively infrequently.
Note : If a user selects a folder based on a table to which they do not have database
access, Discoverer ensures database security when the query runs and no rows are returned.
10.3.3 How to improve Discoverer performance by using summary folders