18.12 Reusing Report Output from Cache

When you run a report, a copy of the report output is saved in the Oracle Reports Services cache. Subsequently, if an identical report is run (that is, with the same cache key), then the current request is recognized as a duplicate job.

There are several scenarios where reports caching takes effect:

  • When a new job request "A" comes to the Reports Server, and there is another job "B" that has the same cache key in the Current Jobs Queue (where it is waiting for an available engine or is in the middle of execution), then job "A" will use the output from job "B".

    The job cache key excludes the destype, desname, server, and tolerance parameters, and includes almost all other parameters.

    This level of cache happens automatically. You need not specify any other parameters in the command line for it to work.

  • If the user specifies TOLERANCE=n (where n is a number in units of minutes) in the new job request "A", then Reports Server will try to find a job in the Finished Jobs Queue than was successfully completed within n minutes. If Reports Server finds such a job, then the new job request "A" will return the output of job "B".


    Refer to Section A.8.23, "TOLERANCE" for more information.

Oracle Reports Services cache results are persistent. If the Reports Server is shut down, once it is up again all the previous cache results are recovered and ready to use again.

18.12.1 Usage Note

You can set the cache size through Reports Queue Manager (rwrqm on Windows, or rwrqv.sh on Solaris) or through the cache element in the server configuration file (rwserver.conf). Reports Server attempts to keep the total size of cache files below the set limit, deleting the oldest cache files. In addition, you can empty the cache through Reports Queue Manager.

For more information on setting the cache, refer to the Reports Queue Manager online Help, and see Chapter 8, "Configuring Oracle Reports Services".