За да избегнете писане в журнала за отмяна на Oracle, ако вашата update
изразът удря всеки един ред от таблицата, тогава вероятно е по-добре да изпълните create table as select
заявка, която ще заобиколи всички регистрационни файлове за отмяна, което вероятно е проблемът, с който се сблъсквате, тъй като регистрира въздействието върху 60 милиона реда. След това можете да премахнете старата таблица и да преименувате новата таблица с името на старата таблица.
Нещо като:
create table new_people as
select l.newid,
p.col2,
p.col3,
p.col4,
p.col5
from people p
join id_conversion l
on p.id = l.id;
drop table people;
-- rebuild any constraints and indexes
-- from old people table to new people table
alter table new_people rename to people;
За справка прочетете някои от съветите тук:http://www.dba-oracle.com /t_efficient_update_sql_dml_tips.htm
Ако всъщност създавате нова таблица, а не просто актуализирате някои от редовете на таблица, това вероятно ще се окаже по-бързият метод.