从大型 table oracle 中删除大量数据

delete large data from a large table oracle

我有一个 table 有 4 亿条记录,只有一个 clob 列。 table 的大小约为 30 GB。

我想从中删除 2.5 亿条记录。

我试过了

所有的努力都失败了,因为重做日志被填满,或者发生了什么事情,会话卡住了一个多小时,所以 我杀了会话。

删除如此庞大的数据有什么建议或方法吗?

我会做以下事情:

  • CREATED TABLE new_table as select * 来自 old_table where condition
  • 在 new_table
  • 上添加索引
  • 在 new_table
  • 上添加赠款
  • 在 new_table
  • 上添加约束
  • 其余
  • 丢弃 TABLE old_table
  • 将 new_table 重命名为 old_table