提示没空间了?

【 使用环境 】测试环境
【 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 个赞
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 个赞

建议先确定一下是不是文件inode使用完了或者空间真的用满了,最后就是看看数据库中datafile_开头的一些字典查一下

1 个赞

df -i看一下?

1 个赞

:facepunch: :facepunch: :facepunch:

学习了 :+1: