Saya mengalami situasi serupa di lingkungan pergudangan data di pekerjaan sebelumnya.
Apakah DBA Anda membuat pga_aggregate_target atau _pga_max_size atau keduanya? Ingatlah bahwa ketika DBA meningkatkan pga_aggregate_target menjadi 150MB, itu tidak berarti bahwa sesi Anda akan dapat mengambil semua 150MB itu. Oracle hanya akan mengizinkan sesi tertentu untuk mengambil sebagian kecil dari ruang itu. Meningkatkan pga_aggregate_target dari 150 MB menjadi 200 MB hanya akan memberi sesi Anda beberapa MB memori tambahan untuk dimainkan untuk operasi dalam memori IIRC.
Jika server DB Anda memiliki lebih banyak memori yang tersedia, Anda harus membuat DBA Anda meningkatkan pga_aggregate_target dan _pga_max_size, jika tidak, Anda harus melihat menggunakan GTT atau membuat tabel awal untuk membuang data Anda dan kemudian mengerjakannya dari di sana.