array fetch size

Set minimum size of array when using Oracle array fetching.

USYS$ORA_PARAMS = array fetch size Number

USYS$ORA_PARAMS = af N

Description

The array fetch size option specifies the minimum number of records Uniface fetches with one call to the Oracle server using array fetching. The default array size is platform-specific (typically 10) with a range of valid values is 1 through 32,767.

This option indirectly specifies the amount of memory which is dynamically allocated by the ORA connector. The connector allocates an I/O buffer of approximately 15 kilobytes multiplied by the array size plus one ( (N + 1) * 15). When you are using SQL*Net, memory is allocated on the client platform. When the Uniface server is used, memory allocation occurs on the Uniface server platform. The I/O buffer is allocated when first needed, and the memory is released when the number of logon paths to Oracle drops to zero.

The specified array size is subject to platform-specific memory limitations. When the amount of memory required to fetch an array of the specified size cannot be allocated, the following errors can occur:

Oracle connector Error[-54]:
Storage required for I/O buffer exceeds system limits.
Reduce array size.

and:

Oracle connector Error[-4]: Dynamic memory allocation failed.

If you encounter connector error -54, reducing the array size solves the problem. If connector error -4 occurs, both reducing the array size and increasing available memory can solve the problem (for example, increase the storage available for paging and swapping with virtual memory operating systems).