db2数据库一个大表45GB,如何快速清除其中一年前的数据(该表属于业务表,要尽可能的不影响业务)?

最好不要影响业务,如果非要影响业务,如何做到时间最小。显示全部

最好不要影响业务,如果非要影响业务,如何做到时间最小。

收起
参与132

查看其它 10 个回答hufeng719的回答

hufeng719hufeng719联盟成员系统工程师某钢铁企业

谢谢各位!
我今天重新做了一遍,保留一年的数据:
1、首先导出原表test01结构,创建一个新表名test02,创建索引、主键、授权。
2、重命名原表test01为test03,重命名test02为test01.
3、导出test03中最近一年的数据,生成ixf文件。
4、导入test01表中,用commitcount参数,避免import造成日志满。
注意在导入的时候会造成表死锁,影响部分业务查询超时,但不是太严重,导出近半个小时,导入的时候遇到数据库tsm备份超慢,后来停止备份,才恢复速度,总用时近3个小时,如果不是备份影响 应该1.5小时就可以。数据由原来的1亿行缩减为近3000万行。

能源采矿 · 2018-01-12
浏览8387

回答者

hufeng719
系统工程师某钢铁企业
擅长领域: 数据库存储服务器

hufeng719 最近回答过的问题

回答状态

  • 发布时间:2018-01-12
  • 关注会员:14 人
  • 回答浏览:8387
  • X社区推广