Oracle 大数据量备份和清理

Fish_LC 2013-10-15 02:43:00
问题是这样的,有一张表,存量20亿,事实上,有10亿的数据是不会被查询到的,但是又不能说直接删掉这10亿条记录。所以,这里就涉及到两个问题:
1、10亿的记录怎么做备份比较好?
2、10亿的记录怎么做删除比较好?

首先,同一个磁盘空间上,不具备一次性备份10亿的存储空间,肯定需要分多次备份。

我现在考虑到的问题

1、删除10亿的数据,会产生归档日志。如果要关闭归档模式,好像是需要重启数据库?
2、备份10亿数据,比较好的参考方式:expdb。另外两种exp和spool方式,只能作为备用。
3、有同学推荐使用goldengate软件工具。这个工具,是否比expdb效率更高?


大侠们,出来吧!20亿的数据量,是不是很刺激?来玩一下吧……

至于为什么要设计一个单表来存储20多亿的数据,就不要嘲笑了,我也想不明白当时的设计者是不是诚心的……
...全文
562 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigdata121 2013-10-17
  • 打赏
  • 举报
回复
1:创建一个新的分区表 2:设置新表,原表分别 nologging alter table tablename no logging; 3:insert into 新表; insert 可以分批写入到新表 delete from 原表的数据。 4:然后原表,新表 恢复logging; alter table tablename logging;
Comer 2013-10-16
  • 打赏
  • 举报
回复
http://blog.csdn.net/yuzhenhuan01/article/details/6620853 看看这个对你是否有用吧
zmn0079 2013-10-15
  • 打赏
  • 举报
回复
另外加磁盘空间,加数据库文件,加表空间,加表,再把数据导过去,再把本表数据删掉 其实只要空间,你慢慢导过去应该不是问题
Comer 2013-10-15
  • 打赏
  • 举报
回复
可否分区解决?

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧