暂无图片
分享
李石岩
2019-03-15
shrink8t的大表,含有blob段,已经清理了95%回收
有个大表,已经清理了95%.需要shrink,cascade发现影响业务。分两步回收,compat,还有shrink,这两个会影响业务吗?回收时间各多久
收藏
分享
3条回答
默认
最新
盖国强
如果清理了绝大部分数据,建议通过 rename 原表,创建新表,insert 留存记录,删除原表。这个步骤完成。 shrink 会非常慢,可能需要十多个小时。几乎不可接受。 这种情况,ctas 加并行重建一遍应该很快的。如果是12.2版本支持online move,也比较快。
暂无图片 评论
暂无图片 有用 0
章芋文

首先lob字段不会级联shrink,需要单独处理。

如果没有业务停机时间,可以考虑你说的分两步,先SHRINK SPACE COMPACT再SHRINK SPACE CASCADE,
SHRINK SPACE COMPACT只会整理行数据,不会降低高水位,执行时对相关行持有行锁,对业务影响较小

SHRINK SPACE会降低高水位,表上会持有X锁,阻塞DML操作,对业务影响较大,需要在业务空闲时再执行

另外,可以考虑不加CASCADE减少时间,然后再单独处理相关索引

至于操作时间与数据量和在线业务量有关,建议测试库测试大致操作的时间

暂无图片 评论
暂无图片 有用 0
章芋文
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏