У вас есть еще один вариант, начиная с 11g. Oracle представила пакет, который делает нечто похожее на то, что вы хотите сделать, с именем DBMS_PARALLEL_EXECUTE
Согласно им, «пакет DBMS_PARALLEL_EXECUTE позволяет пользователю постепенно обновлять данные таблицы параллельно». Довольно хорошее описание того, как его использовать: здесь
По сути, вы определяете способ, которым Oracle должен использовать, чтобы разбить вашу работу на части (в вашем случае вы, кажется, передаете какое-то ключевое значение), а затем он запустит каждую из частей по отдельности. Конечно, для его использования требуется немного планирования и немного дополнительного кодирования, но ничего такого, чего вы не должны были делать в любом случае.
Преимущество использования санкционированного метода, такого как этот, заключается в том, что Oracle даже предоставляет представления базы данных, которые можно использовать для мониторинга каждого из независимых потоков.