Greenplum/Deepgreen空间满了数据库宕机怎么办?-阿里云开发者社区

开发者社区> 数据库> 正文

Greenplum/Deepgreen空间满了数据库宕机怎么办?

简介:

要点

Greenplum/Deepgreen数据库数据存储空间利用率达到100%,数据库宕机无法启动。

背景介绍

来吐槽一个极品案例,我以前服务的一家公司,使用Greenplum数据库,由于工程部管理不到位,运维策略失当,经常出现数据库存储空间不足的情况,空间不足后数据库宕机,业务部门找上来才知道数据库挂了,真是醉了。

出现该问题后,首先想到的是数据库运维失职,在数据库满前有100种方法防止此情况发生:

  1. 利用率达到70%时扩展空间?
  2. 在数据目录下放置大文件,在没有足够空间启动时通过删除大文件获取足够空间启动?
  3. 利用率达到70%时清理数据库无用数据?
    .......................

可是每次都要等到发生了才来找我......

解决办法

  1. 整个Greenplum数据库文件中,最容易通过删除获取存储空间的是pg_log目录下的文件,如果生产系统log日志没有定期清理,那么他会轻松占用1G以上的空间,如果数据库宕机无法启动,首先想到的就是清理该目录下的数据文件(所有节点);清理完后,尝试启动数据库,此时一般不会有问题,都能正常启动;
  2. 最奇葩的是,现场的pg_log保留时间太短,删完了也无法启动。此时还有一种移动文件的办法,首先你查看一下base目录(数据存储的实际目录),找到下面数字较大的文件夹,把里面的几个大文件复制备份一下,然后删除,这样空间就足够启动了,启动数据库后,尽快清理部分表数据后,将原来的数据文件移动回来,保证数据完整性。

第二种方法是在实际工作中总结的经验,使用前一定要做好备份工作,因为涉及删除生产数据,一旦误操作,可能导致数据无法恢复~~

致敬一直奋斗在数据库路上的小伙伴~~

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章