SET LONG
nnnn
, with nnnn
high enough, triggers a warning message in 22.4:
If using -Xmx2g (MaxHeapSize = 2147483648 bytes):
SQL> set long 2147483 -- OK, no warning
SQL> set long 2147484 -- causes SQLcl to bark:
Warning: This LONG setting may cause Java memory problems.
It is recommended to reduce the setting and/or increase the memory available to Java.
If using -Xmx4g (MaxHeapSize = 4294967296 bytes):
SQL> set long 4294967 -- OK, no warning
SQL> set long 4294968 -- causes SQLcl to bark:
Warning: This LONG setting may cause Java memory problems.
It is recommended to reduce the setting and/or increase the memory available to Java.
So it looks like the threshold for this warning is set to 0.1 % of the maximum size of the Java heap...
And that seems very low: SET LONG
must be set high enough in order to properly spool large CLOBs into text files (e.g. SQL Monitoring reports), and for that I wouldn't care using large chunks of memory—even with a heap size capped at 1.5 or 2 Gb, what's a couple of tens of Mb these days?
Or do I miss something here?
Thanks & regards,