Number of PQ Servers to Use
For most parallel query operations, it is possible to limit (or at least influence) the number of parallel query servers that may be used for a particular operation. For example, the degree of parallelism can be specified for a table, and Oracle will do its best to provide the specified number of PQ servers for queries of that table. It’s also possible to specify the degree of parallelism (and hence the number of PQ servers used) for any particular query by specifying the appropriate optimizer hints.
Unfortunately, no such option exists for parallelized table functions.
I wish something like the following syntax were available:
CREATE OR REPLACE FUNCTION area_summary ( p_cursor ref_cursors.acct_trx_curs )
RETURN area_summary_t
PIPELINED
PARALLEL_ENABLE ( PARTITION p_cursor BY HASH(area) )
DEGREE 3 - invalid - DRH dream syntax
ORDER p_cursor BY (area) AS...That way, I could define the maximum number of PQ servers allocated to a single execution of the table function. Despite this minor quibble, I do have to admit that Oracle does a pretty good job of determining the number of PQ servers to utilize.