You can further affect the overall performance by setting specific runtime options:
For JSP report definitions, Oracle Reports Builder performs tag validation and checks for items such as duplicate field identification or malformed attributes. This feature is useful only during the design phase, but not in the production environment. By default, tag validation in Oracle Reports Services is off. To turn this option on, specify
VALIDATETAG=YES in your HTTP request (for example,
VALIDATETAG=YES slows performance.
By default, the
RECURSIVE_LOAD command line keyword used by both
rwservlet commands is set to
YES, causing invalid external references of PL/SQL program units to automatically recompile. Set the
RECURSIVE_LOAD=NO in a production environment, because this is useful only in a development environment.
For SQL queries, Oracle Reports takes advantage of the Oracle database's array processing capabilities for data fetching. This allows records to be fetched from the database in batches instead of one at a time, resulting in fewer calls to the database. However, array processing requires more memory on the execution platform to store the arrays of records returned. To reduce the network load (number of network trips) in a production environment, set the value of the
ARRAYSIZE command line keyword (defined in kilobytes) to a large value.
As discussed in Section 24.4, "Tuning Reports Server Configuration", when running a large number of reports with Oracle Reports Servlet (
rwservlet) or Reports Client (
rwclient), set the
EXPIRATION command line keyword to reflect the
cacheSize values. For example, if the
queue element in the server configuration files specifies
=6000, you can keep a maximum of 6000 jobs in the job queue. If you run more than 6000 jobs within a day, with
EXPIRATION=1440 (1 day), you may lose some of the jobs even before the
EXPIRATION time is met because Reports Server will remove the jobs to maintain the
maxQueueSize and server stability, even though the jobs have not expired. Additionally, the
cache element in the server configuration file should specify sufficient
cacheSize should be allocated in order to maintain the 6000 jobs. As a general guideline, set
cacheSize according to the number of jobs you will run in one day.
LONGCHUNK command line keyword to as large a value as possible, if your report uses the
BLOB data types to retrieve large amounts of data. This reduces the number of increments taken by Oracle Reports to retrieve long values. On an Oracle database server, use the more efficient
BLOB data types, instead of
COPIES command line keyword carefully when printing to PostScript. Setting
COPIES to a value greater than
1 requires that Oracle Reports save the pages in a temporary storage, in order to collate them. This increases the amount of temporary disk space used and the overhead of writing additional files results in slow performance.
When generating a report to PDF output, set the
PDFCOMP command line keyword to
NO. PDF output is compressed by default. Although compressed files download quickly, the time taken to generate a compressed file is much more when compared to a non-compressed file.
Running a Report to WebLayout works only if the weblayout port in the
$ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/rwbuilder.conf file is set to the port of the managed server, as in the following example:
<webLayout port="managed_server_port" docroot="$DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/reports_<version>/<random_string>/war"/>