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).