Два фактора ограничивают количество строк, которые вы можете вставить: временное пространство и пространство отмены.
Вы можете поместить столько данных во временную таблицу, сколько места в временном табличном пространстве. Если временному табличному пространству разрешено расти (с файлами autextend datafiles и табличным пространством), вы будете ограничены только дисковым пространством. Теперь вы хотите оценить размер ваших строк и предоставить дополнительные возможности для накладных расходов. Это даст вам приблизительную оценку размера, необходимого для временного табличного пространства.
Отдельная транзакция должна полностью помещаться в табличное пространство отмены. Отменить данные для вставки меньше, чем другие DML, но еще 80M строк будут выдавать LOT отмены. Если вы также удаляете эти строки из другой таблицы, отмена займет примерно то же место, что и исходные строки. Вероятно, вы используете автоматическое управление отменой, просто установите табличное пространство и его файлы данных для автоматического расширения, и вы в порядке.
Если это одноразовый снимок, вы можете уменьшить размер как временных, так и отмененных табличных пространств, как только вы закончите. Если вы собираетесь выполнять эту операцию на регулярной основе, просто позвольте табличным пространствам расти и оставить их там позже.
Единственная реальная проблема с транзакцией 80М строк является looooooong время отката могут возникнуть, если что-то пойдет не так. Удаленные строки, в частности, сделают ваш откат намного дольше, чем фактическое удаление.
Хотя нет ничего принципиально плохого в Oracle и крупной сделки (Oracle будет масштаб), разделив общую работу на более мелкие работы подразделений позволит перезапустить процесс быстрее и в меньшем подмножестве данных в случае отказ.
+1: хорошая точка зрения о недостатке в «резервной» логике. –