Du säger att du är ny på Oracle. Jag gissar att du är van vid SQL Server, där det är ganska vanligt att använda temporära tabeller. Oracle fungerar annorlunda så det är mindre vanligt eftersom det är mindre nödvändigt.
Tänk på att användning av en tillfällig tabell medför följande omkostnader:
- läs data för att fylla i temporär tabell
- skriv temporär tabelldata till filen
- läs data från den tillfälliga tabellen när din process startar
För övrigt väcker ditt omnämnande av anslutningspooling en annan fråga. En process som mumlar stora mängder data är inte en bra kandidat för att köra i ett OLTP-läge. Du borde verkligen överväga att initiera en bakgrundsprocess (d.v.s. asynkron), förmodligen ett databasjobb, för att köra din lagrade procedur. Detta gäller särskilt om du vill köra det här jobbet regelbundet, eftersom vi kan använda DBMS_SCHEDULER för att automatisera hanteringen av sådana saker.