ob4.3.5 poc测试。集群数据空间使用到了90%,主要租户未开启归档 ,
从clog清除, 合并,表大对象查看清理 等各方面是否有相关实践文档?各位老师指导一下
cd /data
du -sh *
537G 1
269G log1
ob4.3.5 poc测试。集群数据空间使用到了90%,主要租户未开启归档 ,
从clog清除, 合并,表大对象查看清理 等各方面是否有相关实践文档?各位老师指导一下
cd /data
du -sh *
537G 1
269G log1
先清理运行日志
observer.log.xxxxxx 这种日志 ob产生很多也很大 .每个 256M 。 您看您哪里参数设置的多大
election.log.xxxx
syslog 关键字
根据您的问题描述,OceanBase 集群的数据空间已经使用到了 90%,并且主要租户未开启归档功能。以下从多个方面提供清理和优化的思路,并结合文档中的信息进行解答。
Clog(Commit Log)是 OceanBase 数据库中记录事务日志的部分,当其占用空间较大时,可以通过以下步骤进行排查和清理:
grep can_skip_base observer.log
need_record
为 True
的记录,其中包含 partition_key
,表示该分区的日志无法回收。grep partition_key observer.log
分析日志,确认转储位点未推进的原因。ALTER SYSTEM SET log_disk_utilization_limit_threshold = 98 SERVER = '[IP 地址]:2882';
(参考《节点日志盘(Clog)空间满 → 应急处理流程》)对于数据盘空间使用率较高的情况,可以从以下几个方面入手:
DROP TABLE table_name;
DROP INDEX index_name;
PURGE RECYCLEBIN;
ALTER SYSTEM SET datafile_disk_percentage = 98;
OceanBase 数据库通过合并机制清理历史版本数据,减少磁盘占用。
ALTER SYSTEM MAJOR FREEZE;
ALTER SYSTEM MAJOR FREEZE;
SHOW MAJOR FREEZE STATUS;
如果集群中存在大量大对象数据(如 BLOB、CLOB 类型字段),可以进行以下操作:
SELECT table_name, column_name, data_type
FROM oceanbase.__all_column
WHERE data_type IN ('BLOB', 'CLOB');
虽然当前租户未开启归档功能,但从长期运维的角度建议开启归档,以便定期清理历史数据。
ALTER TENANT tenant_name SET ARCHIVELOG ON;
根据文档库中的信息,您可以按照以下优先级进行清理和优化:
如果上述方法仍无法解决问题,建议联系 OceanBase 技术支持团队进行进一步诊断。
检索到的文档如下:
/data/{1,log1} 这两个目录里面的文件是预占的,由参数 datafile_size、datafile_disk_percentage 和log_disk_size 、log_disk_percentage 控制的,如果没有设置datafile_size 和 log_disk_size ,则安装的时候默认以datafile_disk_percentage=90%和log_disk_percentage=90%来预占磁盘空间,
嫌占用大可以对应的调整下参数值
ob是预占用的,可以去数据库中查询下实际占用大小
SELECT * FROM oceanbase.CDB_OB_SERVER_SPACE_USAGE WHERE
oceanbase4.3.5的版本
/data/1,/data/log1这两个目录里面的文件是预占的,由参数 datafile_disk_percentage 和log_disk_size 、log_disk_percentage 控制的,如果安装的时候设置为datafile_disk_percentage=90%和log_disk_percentage=90%来预占磁盘空间,就会出现空间使用高达90%,如果觉得占用大可以对应的调整下参数值
跟着学到了