Вы не говорите, сколько памяти на самом деле имеет ваша машина (и все ли она доступна экземпляру Oracle).
Oracle использует два типа памяти. Первая - это разделяемая память (SGA), вторая - память процесса (PGA). SGA, как правило, легче контролировать.
Из SQL * Plus, попробуйте SHOW SGA. Посмотрите, соответствует ли это вашей цели.
Также попробуйте SHOW PARAMETER PGA
Затем запросите v $ process и сравните общую PGA процессов с целью.
Возможно, вы установили слишком высокое значение PGA_AGGREGATE_TARGET / SGA_MAX_SIZE.
Или, возможно, Oracle не может удерживать память PGA до цели (например, из-за сессий, хранящих большое количество информации в массивах PL / SQL).