Sembra un problema di Oracle. Sebbene l'errore sia il risultato diretto delle impostazioni di timeout ODBC, la query non dovrebbe richiedere 20 minuti per completare l'esecuzione.
La prima cosa da provare quando si verifica un problema di prestazioni del dizionario di dati è raccogliere statistiche sul dizionario di dati. Ciò fornisce a Oracle maggiori informazioni sulle dimensioni degli oggetti, in modo che possa prendere decisioni migliori su come unire le tabelle.
begin
dbms_stats.gather_fixed_objects_stats;
dbms_stats.gather_dictionary_stats;
end;
/
Se ciò non funziona, ti consigliamo di ridurre la query alla dimensione più piccola possibile che presenta ancora il problema. Ci sono tre query UNION ALL
Insieme, è probabile che solo uno di loro sia lento. Quindi possiamo lavorare sull'ottimizzazione di quella query.
(Ma l'ottimizzazione di una query è un processo che richiede molto avanti e indietro ed è difficile da eseguire su Internet. Potresti provare a trovare un amministratore di database locale che possa aiutarti. Poiché stai utilizzando Express Edition , non puoi contattare il supporto Oracle per ricevere assistenza.)