Этого, вероятно, будет достаточно, чтобы заставить его работать:
alter session enable parallel dml;
Вы можете проверить фактическую степень параллелизма с помощью запроса:
select px_servers_executions, v$sql.*
from v$sql where lower(sql_text) like '%insert%parallel%' order by last_load_time desc;
Если вы все еще не получаете параллелизм, есть много возможных причин. Для начала посмотрите на эти параметры:
select * from v$parameter where name like 'parallel%'
Но вам, вероятно, не нужен параллелизм для вашего оператора вставки. Параллелизм сопряжен с большими издержками и, как правило, полезен, только если вы имеете дело со многими тысячами или миллионами записей.
Полагаю, ваша настоящая проблема - время для анализа большого оператора SQL. Многостоловые вставки особенно плохи. Если вы попытаетесь вставить более нескольких сотен строк, ваш запрос займет много секунд для анализа. И в зависимости от вашей версии Oracle он будет зависать вечно, если вы попытаетесь использовать 501 таблицу. Гораздо быстрее выполнить несколько небольших запросов вместо одного большого запроса. Например, 5 вставок из 100 строк будут выполняться намного быстрее, чем одна вставка из 500 строк. (В общем, это полная противоположность настройке производительности для Oracle. Это особый случай из-за ошибок, связанных с анализом больших операторов SQL.)