Supponendo che tu stia utilizzando la maggior parte delle tabelle intermedie solo per i join e non estrai dati da esse, crea indici aggiuntivi in ciascuno che indicizza entrambi gli ID in un unico indice. In questo modo, quando il db raccoglie i dati per eseguire il join, cerca nell'indice e quindi ha tutti i dati di cui ha bisogno. Tutti quei record "TABLE ACCESS FULL" scompaiono, avrai solo accessi all'indice.
Esempi di indici:
TABLE2 (ID_ROLE, ID_APLICATION)
TABLE4 (ID_PTS, ID_TS)
TABLE6 (ID_PLANT, ID_DEL)
etc...