从大型表oracle中删除大数据

问题描述 投票:0回答:1

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

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

我试过了

  • 传统的小块删除。
  • 创建表作为选择...
  • 插入选择...

所有的努力都失败了,因为重做日志已经填满,或者发生了一些事情并且会话被卡住超过一个小时所以我杀了会话。

删除这些庞大数据的任何建议或方法?

oracle performance sql-delete bulk-operations
1个回答
0
投票

我会做以下事情:

  • 创建表new_table作为select * from old_table where condition
  • 在new_table上添加索引
  • 在new_table上添加补助金
  • 在new_table上添加约束
  • 其余的部分
  • DROP TABLE old_table
  • 将new_table重命名为old_table
© www.soinside.com 2019 - 2024. All rights reserved.