删除分区时,别忘了做这件事

前几天 Oracle 数据库空间告警了,嗯,是时候清除数据了。

于是我分析了一波,决定删除某张大表的历史数据,保留近几个月的数据。

然后我发起了流程,因为比较急,所以我匆匆在测试环境写下如下代码:

alter table xxx_table_name drop partition xxxx_partition_name;

因为测试环境分区数量比较少,而且数据比较少,直接执行后没什么问题。于是到了晚上,我在生产环境执行这段代码。不出意料,果然成功了。但过了一会,告警显示索引失效。

我一拍脑门,心中骂了自己一句,XX,忘记重建索引了!

于是我马上执行如下代码:

alter index xxxx_partition_name rebuild online;

虽然重建索引是挺快的,但在发现问题前还是有业务在进行,影响了业务终究不太好。

实际上,这个问题是可以避免的,只需要在原来的脚本基础上,加上 update global indexes

alter table xxx_table_name drop partition xxxx_partition_name update global indexes;

至于为什么,后面有机会再写一篇博客,想看的可以关注一下我哦。

今天就记录一下当给自己提个醒,也给大伙提个醒。

#数据库##Oracle##职场#
全部评论
感谢楼主提醒啊
点赞 回复 分享
发布于 2022-06-03 09:47

相关推荐

06-25 16:00
武汉大学 Java
工科研究生底薪工资就开3k啊??
机械打工仔:写文章提成的岗位工资低,你怪工科?
点赞 评论 收藏
分享
fRank1e:吓得我不敢去外包了,但是目前也只有外包这一个实习,我还要继续去吗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务