Um zu vermeiden, in das Rückgängig-Protokoll von Oracle zu schreiben, wenn Ihr update
-Anweisung jede einzelne Zeile der Tabelle trifft, dann ist es wahrscheinlich besser, create table as select
auszuführen Abfrage, die alle Rückgängig-Protokolle umgeht, was wahrscheinlich das Problem ist, auf das Sie stoßen, da es die Auswirkungen über 60 Millionen Zeilen protokolliert. Sie können dann die alte Tabelle löschen und die neue Tabelle in den Namen der alten Tabelle umbenennen.
Etwas wie:
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;
Lesen Sie als Referenz einige der Tipps hier:http://www.dba-oracle.com /t_efficient_update_sql_dml_tips.htm
Wenn Sie im Grunde eine neue Tabelle erstellen und nicht nur einige Zeilen einer Tabelle aktualisieren, ist dies wahrscheinlich die schnellere Methode.