Se le tue righe sono grandi, tieni presente che tutte le righe che recuperi contemporaneamente dovranno essere archiviate nell'heap Java nei buffer interni del driver. In 12c, Oracle ha colonne VARCHAR(32k), se ne hai 50 e sono piene, sono 1.600.000 caratteri per riga. Ogni carattere è di 2 byte in Java. Quindi ogni riga può richiedere fino a 3,2 MB. Se stai recuperando le righe 100 per 100, avrai bisogno di 320 MB di heap per archiviare i dati e questo è solo per una dichiarazione. Quindi dovresti aumentare la dimensione di precaricamento della riga solo per le query che recuperano righe ragionevolmente piccole (piccole dimensioni dei dati).