如果磁盘空间满了,数据库的写入操作,包括数据文件,日志等,都会报错,disk full,本文提供了一些应急处理方法。
目录导航
日志
集群的一些日志,特别是加载日志,同步日志等,如果有很多或者个别的很大,比如超过500M,可以考虑删掉或者cp 一份到其它目录,然后通过 echo > XXX的方式清空文件,释放空间。
日志在服务的log目录下
数据库的核心服务日志
建议备份,然后echo方式清空
加载日志
一般在loader_logs目录下,可以直接将早期的(比如1天以前的)删除。
trc日志和同步日志
可以删除
垃圾文件
宕机文件
如果发生过宕机,产生了core文件,一般较大,可以删除。
文件在服务的userdata目录的下一级子目录里。
测试文件
比如系统上线时,硬件测试过磁盘性能,有可能保留了20-100G的测试文件,此时正好可以删除来释放空间
用户的临时文件
如果有导出操作,占用了空间,可以删除
可删除的表
如果一些历史表可以删除,又不能通过数据库的SQL操作,那可以手工到目录下将表的分片数据删除
gnode/userdata/gbase/库名/sys_tablespace/表名_分片号/*
一般会有个备份分片,总之确认好表名,直接将里面的文件删掉,目录建议保留。
等空间够用,服务正常后,记得drop table将表残留信息删掉。