大数据量的核心oltp库,如何快速删除大表?

hadr的10.1版本中,一主一备的环境下,power 750小机,2T的内存大约10T的数据库,核心业务库,7*24小时有业务,有张大表,数据量2t左右,不能drop 的方式(业务特殊)在这样的环境下,如何快速删除这个表里的数据?、truncate方式会到导致主备机的日志差变大,不能采用(我们默认的近同步方式)...显示全部

hadr的10.1版本中,一主一备的环境下,power 750小机,2T的内存

大约10T的数据库,核心业务库,7*24小时有业务,有张大表,数据量2t左右,

不能drop 的方式(业务特殊)

在这样的环境下,如何快速删除这个表里的数据?、

truncate方式会到导致主备机的日志差变大,不能采用

(我们默认的近同步方式)

收起
参与12

查看其它 1 个回答atpeace331的回答

atpeace331atpeace331数据库管理员银行

“核心业务 OLTP”
“7x24”
“2T/10T”
等于说一个OLTP的核心业务 20%的数据(2TB)全在一张普通表上,这张表大概率是记录业务日志的,且没有进行分区和历史数据归档。
糟糕的系统设计问题导致的后期运维难题!!!

  1. 如果这张表不能离线脱机维护,那只能在业务空闲期间,小批量地在线 delete,分批在线删除历史数据,对新数据入表影响不大!HADR需要根据测试实际情况设置足够大的 DB2_HADR_BUF_SIZE 或者临时启用 hadr log spooling!
  2. 如果这张表有离线运维窗口的话,创建该表的分区表 T1,然后,用“rename table”语句对表名进行互换。当然,这种不大适合你们的场景。

目前,就想到这么多,如有新的想法,我会更新。。。

银行 · 2019-04-09

回答者

atpeace331
数据库管理员银行

atpeace331 最近回答过的问题

回答状态

  • 发布时间:2019-04-09
  • 关注会员:3 人
  • 回答浏览:2028
  • X社区推广