南大通用GBase 8a如果出现磁盘空间满了怎么应急处理

如果磁盘空间满了,数据库的写入操作,包括数据文件,日志等,都会报错,disk full,本文提供了一些应急处理方法。

日志

集群的一些日志,特别是加载日志,同步日志等,如果有很多或者个别的很大,比如超过500M,可以考虑删掉或者cp 一份到其它目录,然后通过 echo > XXX的方式清空文件,释放空间。

日志在服务的log目录下

数据库的核心服务日志

建议备份,然后echo方式清空

加载日志

一般在loader_logs目录下,可以直接将早期的(比如1天以前的)删除。

trc日志和同步日志

可以删除

垃圾文件

宕机文件

如果发生过宕机,产生了core文件,一般较大,可以删除。

文件在服务的userdata目录的下一级子目录里。

测试文件

比如系统上线时,硬件测试过磁盘性能,有可能保留了20-100G的测试文件,此时正好可以删除来释放空间

用户的临时文件

如果有导出操作,占用了空间,可以删除

可删除的表

如果一些历史表可以删除,又不能通过数据库的SQL操作,那可以手工到目录下将表的分片数据删除

gnode/userdata/gbase/库名/sys_tablespace/表名_分片号/*

一般会有个备份分片,总之确认好表名,直接将里面的文件删掉,目录建议保留。

等空间够用,服务正常后,记得drop table将表残留信息删掉。