从大型表oracle

时间:2017-12-13 16:34:26

标签: oracle performance sql-delete bulk-operations

我有一张包含4亿条记录的表格,其中包含一个clob列。表的大小约为30 gb。

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

我试过了

  • 传统的小块删除。
  • 将表格设为选择...
  • 插入select ...

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

删除此类庞大数据的任何建议或方法?

1 个答案:

答案 0 :(得分:0)

我会做以下事情:

  • CREATE TABLE new_table as select * from old_table where condition
  • 在new_table上添加索引
  • 在new_table上添加助手
  • 在new_table上添加约束
  • 其余的
  • DROP TABLE old_table
  • 将new_table重命名为old_table