jieguo
2025 年4 月 16 日 15:53
#1
【 使用环境 】测试环境
【 OB】4.2.5.3单机企业版
【问题描述】
__all_virual_disk_stat视图为何显示free为0了呢?bug吗?之前的3.2.4的企业版上看到的free也不是0,所有表加起来也才几个G的占用。而且文件系统还有2.8T剩余啊
3.2.4的企业版的结果如下:
使用的脚本:
SELECT svr_ip, total_size/1024/1024/1024 AS total_GB, (total_size - free_size)/1024/1024/1024 AS used_GB, free_size/1024/1024/1024 AS free_GB FROM __all_virtual_disk_stat;
-- 查询所有租户的资源单元配置(CPU/内存/日志盘)
SELECT
t.tenant_name,
u.zone,
u.svr_ip,
u.max_cpu AS "CPU配额(核)",
u.memory_size/1024/1024/1024 AS "内存配额(GB)",
u.log_disk_size/1024/1024/1024 AS "日志盘配额(GB)",
u.data_disk_in_use/1024/1024/1024 AS "数据盘已用(GB)"
FROM oceanbase.GV$OB_UNITS u
JOIN oceanbase.DBA_OB_TENANTS t ON u.tenant_id = t.tenant_id
ORDER BY t.tenant_name, u.zone;
1 个赞
看起来是没有设置磁盘自动扩容,所以在SQL查询时,临时文件落盘大小超过磁盘原始大小导致4184报错,
查询下集群参数:datafile_size、datafile_maxsize、datafile_next
2 个赞
jieguo
2025 年4 月 16 日 17:09
#4
obclient(root@sys)[oceanbase]> show parameters like '%datafile%';
+-------+----------+----------------+----------+--------------------------+-----------+-------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+---------------+-----------+
| zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault |
+-------+----------+----------------+----------+--------------------------+-----------+-------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+---------------+-----------+
| zone1 | observer | 192.168.207.18 | 2882 | datafile_disk_percentage | NULL | 0 | the percentage of disk space used by the data files. Range: [0,99] in integer | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 1 |
| zone1 | observer | 192.168.207.18 | 2882 | datafile_maxsize | NULL | 2526G | the auto extend max size. Range: [0, +∞) | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 0 |
| zone1 | observer | 192.168.207.18 | 2882 | datafile_next | NULL | 0 | the auto extend step. Range: [0, +∞) | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 1 |
| zone1 | observer | 192.168.207.18 | 2882 | datafile_size | NULL | 2G | size of the data file. Range: [0, +∞) | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0M | 0 |
+-------+----------+----------------+----------+--------------------------+-----------+-------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+---------------+-----------+
4 rows in set (0.015 sec)
obclient(root@sys)[oceanbase]> SELECT svr_ip, total_size/1024/1024/1024 AS total_GB, (total_size - free_size)/1024/1024/1024 AS used_GB, free_size/1024/1024/1024 AS free_GB FROM __all_virtual_disk_stat;
+----------------+-------------------+-------------------+----------------+
| svr_ip | total_GB | used_GB | free_GB |
+----------------+-------------------+-------------------+----------------+
| 192.168.207.18 | 2526.000000000000 | 2526.000000000000 | 0.000000000000 |
+----------------+-------------------+-------------------+----------------+
1 row in set (0.004 sec)
obclient(root@sys)[oceanbase]> show parameters like '%datafile%';
+-------+----------+----------------+----------+--------------------------+-----------+-------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+---------------+-----------+
| zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault |
+-------+----------+----------------+----------+--------------------------+-----------+-------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+---------------+-----------+
| zone1 | observer | 192.168.207.18 | 2882 | datafile_disk_percentage | NULL | 0 | the percentage of disk space used by the data files. Range: [0,99] in integer | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 1 |
| zone1 | observer | 192.168.207.18 | 2882 | datafile_maxsize | NULL | 2526G | the auto extend max size. Range: [0, +∞) | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 0 |
| zone1 | observer | 192.168.207.18 | 2882 | datafile_next | NULL | 0 | the auto extend step. Range: [0, +∞) | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 1 |
| zone1 | observer | 192.168.207.18 | 2882 | datafile_size | NULL | 2G | size of the data file. Range: [0, +∞) | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0M | 0 |
+-------+----------+----------------+----------+--------------------------+-----------+-------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+---------------+-----------+
4 rows in set (0.015 sec)
obclient(root@sys)[oceanbase]> ALTER SYSTEM SET datafile_next = '100M';
Query OK, 0 rows affected (0.066 sec)
obclient(root@sys)[oceanbase]> ALTER SYSTEM SET datafile_size = '10240M';
Query OK, 0 rows affected (0.015 sec)
obclient(root@sys)[oceanbase]> show parameters like '%datafile%';
+-------+----------+----------------+----------+--------------------------+-----------+--------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+---------------+-----------+
| zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault |
+-------+----------+----------------+----------+--------------------------+-----------+--------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+---------------+-----------+
| zone1 | observer | 192.168.207.18 | 2882 | datafile_disk_percentage | NULL | 0 | the percentage of disk space used by the data files. Range: [0,99] in integer | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 1 |
| zone1 | observer | 192.168.207.18 | 2882 | datafile_maxsize | NULL | 2526G | the auto extend max size. Range: [0, +∞) | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 0 |
| zone1 | observer | 192.168.207.18 | 2882 | datafile_next | NULL | 100M | the auto extend step. Range: [0, +∞) | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 0 |
| zone1 | observer | 192.168.207.18 | 2882 | datafile_size | NULL | 10240M | size of the data file. Range: [0, +∞) | SSTABLE | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0M | 0 |
+-------+----------+----------------+----------+--------------------------+-----------+--------+-------------------------------------------------------------------------------+---------+---------+---------+-------------------+---------------+-----------+
4 rows in set (0.014 sec)
obclient(root@sys)[oceanbase]> SELECT svr_ip, total_size/1024/1024/1024 AS total_GB, (total_size - free_size)/1024/1024/1024 AS used_GB, free_size/1024/1024/1024 AS free_GB FROM __all_virtual_disk_stat;
+----------------+-------------------+-------------------+----------------+
| svr_ip | total_GB | used_GB | free_GB |
+----------------+-------------------+-------------------+----------------+
| 192.168.207.18 | 2526.000000000000 | 2517.656250000000 | 8.343750000000 |
+----------------+-------------------+-------------------+----------------+
1 row in set (0.001 sec)
2 个赞
基于现在的资源,建议datafile至少改为200G,datafile_next改为1G
1 个赞
独善其身
2025 年4 月 16 日 18:01
#6
建议先确定一下是不是文件inode使用完了或者空间真的用满了,最后就是看看数据库中datafile_开头的一些字典查一下
1 个赞