【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】 block_file文件和clog目录纸坊街占用磁盘超90%
【复现路径】
【附件及日志】我服务器有3.7T空间, 就只装了应用及数据库,跑了几天之后发现磁盘占用超过了90%,看了一下文件主要是OB数据的block_file文件和clog事物日志,AI了一下,这个是OB数据库的与占用机制,求教各位大佬,这个怎么解决啊,这与占用也太高了吧,AI还给不出来解决方案。
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手 ] 即可召唤小助手,欢迎试用!
4 个赞
论坛小助手
2026 年6 月 23 日 15:38
#3
您提到的OceanBase数据文件(包括block_file和clog事务日志)预占用磁盘空间达到90%的情况,通常并不被视为预期行为。在健康的OceanBase集群中,合理的磁盘使用率应当保持在一个较低水平,以便于应对突发的数据增长或维护操作需求。如果磁盘占用过高,可能会引发性能下降甚至是服务中断等问题。
对于这种情况,建议首先通过obdiag工具来采集相关日志并进行初步分析,看看是否有任何异常导致了磁盘空间的过度消耗。
日志采集场景: clog盘满
日志采集命令: obdiag gather scene run --scene=observer.clog_disk_full
此外,也可以直接尝试执行根因分析命令,以识别可能导致磁盘使用率过高的具体原因:
根因分析场景: clog日志磁盘空间满的问题
根因分析命令: obdiag rca run --scene=clog_disk_full
请您运行上述命令收集信息,并将生成的日志文件分享给我们做进一步检查。同时,为帮助我们更准确地定位问题,请回答以下几个问题:
您最近是否对集群进行了任何调整或升级?如果有,请提供详细的操作步骤。
数据库负载近期是否有显著变化?例如增加了新的大容量写入任务。
是否存在长时间运行而未提交的大事务?
除了clog目录外,其他目录(如data目录)的空间利用率如何?
能否分享一下当前设置的clog相关参数值,比如clog_disk_usage_limit_percentage等?
以上信息将有助于我们理解问题背景,从而提供更加针对性的帮助。
附上敏捷诊断工具 obdiag 使用帮助链接
3 个赞
吉利蛋
2026 年6 月 24 日 09:35
#4
SHOW PARAMETERS LIKE ‘datafile_disk_percentage’;
是不是这个设置了90
2 个赞
1、检查参数配置是不是90%
SHOW PARAMETERS LIKE ‘datafile_disk_percentage’;
2、目前不支持在线缩容数据文件,只能重建集群
2.1、单实例重建步骤(可支持长时间停机)
备份数据,可以使用obdumper或者物理备份
卸载集群
重新部署集群,在安装过程中根据实际情况配置datafile_disk_percentage参数
恢复数据
2.2、单实例重建步骤(不支持长时间停机)
申请一台新的主机,部署集群,在安装过程中根据实际情况配置datafile_disk_percentage参数
新建备租户
做swithover
更改VIP指向新的集群,或者需要更改应用数据源地址
回收旧集群资源
2.3、分布式集群缩容步骤
修改zone的优先级,把待删除的节点修改为非primary zone
删除副本
删除节点
重新添加节点,根据实际情况配置datafile_disk_percentage参数
添加副本
参考这个步骤依次替换集群中的所有节点,完成缩容操作
1 个赞
咖啡哥
2026 年6 月 24 日 15:07
#7
安装的时候你没设置磁盘相关参数。默认就是90%。预分配的。跟oracle的数据文件类似
1 个赞
淇铭
2026 年7 月 3 日 11:07
#8
show parameters where name in (‘memory_limit’,‘memory_limit_percentage’,‘system_memory’,‘log_disk_size’,‘log_disk_percentage’,‘datafile_size’,‘datafile_disk_percentage’);
查一下 参数 应该是设置的不合理导致的