Chinaunix

标题: 表数据备份删除问题 [打印本页]

作者: wszhhg    时间: 2011-03-04 08:38
标题: 表数据备份删除问题
10GR2下有个表,3个月增加10亿条的数据,每条数据都很小,目前只保留了3个月的数据,再多性能受影响,以上背景。
##################疯###歌###馅####################

现在需要把大表里的最早的3亿条左右的数据导出并从大表中删除,怎么操作才能不太影响性能?
据说在这个大表中直接删除这么多的数据的话会导致数据库无响应,一直在执行删除任务。
作者: renxiao2003    时间: 2011-03-04 08:42
为什么不使用分区呢?
作者: wszhhg    时间: 2011-03-04 09:55
暂时没有dba来做,开发正在修改程序使得每天生成一张表。
作者: miloluo    时间: 2011-03-04 12:38
可以在业务不繁忙的时候进行。。。
作者: duolanshizhe    时间: 2011-03-04 17:18
恩  这个确实有点儿棘手,不过提几点意见仅供参考:

1、既然表中已有10条数据,并且可以通过相关字段确认前3亿条,可以考虑创建一个新表结构与原来一样,将需要的7亿条记录通过: ctas+并行+nologging方式插入,然后将10亿条数据表改名,将7亿条数据表改成原来的名字。这样做的好处,新老数据都在,访问方便;同时不会对表造成碎片。

2、分区表是要考虑使用,不然将来还会有这种需求;如果使用分区表,就可以使用分区交换出去。

3、这些操作都是在业务空闲时间来进行。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2