使用方法:
alter table test rename to test1;
使用场景:
对于一个很大的日志表,没有做分区表,之前也从未清理过,现在需要清理,要求只保留3个月数据。
如果直接用delete,ORACLE会记录大量的日志,并且有可能撑爆回滚表空间。最好的处理方法是新建一个表,把想要的数据放进去,再删除原始表,并将新增的表改名为原始的表名。
注意:不要先建表再插入,这样插入的时候ORACLE同样会记录日志。
create table test1 as select * from test where rq>=trunc(sysdate)-90;
drop table <span style="font-family: Arial, Helvetica, sans-serif;">test ;</span>
<span style="font-family: Arial, Helvetica, sans-serif;">alter table test 1 rename to test;</span>