You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DBC.DiskSpaceSize查询数据库大小遇[3807]错误,求排查

问题原因与解决办法

原因

Teradata数据库中不存在DBC.DiskSpaceSize这个系统对象,你应该是记错了系统视图的名称,或者混淆了其他数据库的类似空间统计对象。

解决办法

Teradata中有多个系统视图可用于统计数据库/表的磁盘空间,以下是两种常用方案:

方案1:使用DBC.DiskSpace视图(推荐,包含已用/分配空间字段)

DBC.DiskSpace是Teradata官方用于查看磁盘空间分配的系统视图,包含你需要的CURRENTPERM(已用空间)和MAXPERM(分配空间)字段,修改后的查询语句如下:

SELECT
  DATABASENAME, 
  TABLENAME, 
  SUM(CURRENTPERM)/1024/1024 (DECIMAL(10,2)) AS USED_SPACE_MB,
  SUM(MAXPERM)/1024/1024/1024 (DECIMAL(10,2)) AS SPACE_ALLOCATED_GB
FROM
  DBC.DiskSpace
WHERE 
  DATABASENAME = 'My-Database-Name'
  AND MAXPERM > 0
GROUP BY 1,2
ORDER BY 3 DESC;

方案2:使用DBC.TableSize视图(专注表已用空间统计)

如果只需要统计表的已用空间,DBC.TableSize视图更简洁,字段TOTALPERM代表表的总已用空间:

SELECT
  DATABASENAME, 
  TABLENAME, 
  SUM(TOTALPERM)/1024/1024 (DECIMAL(10,2)) AS USED_SPACE_MB
FROM
  DBC.TableSize
WHERE 
  DATABASENAME = 'My-Database-Name'
GROUP BY 1,2
ORDER BY 3 DESC;

额外注意事项

  • 执行上述查询需要当前用户拥有对应系统视图的SELECT权限,若权限不足,请联系DBA进行授权。
  • 若你的Teradata版本较旧,部分视图可能存在字段差异,可通过HELP VIEW DBC.DiskSpace;或HELP VIEW DBC.TableSize;查看视图的字段详情。

内容的提问来源于stack exchange,提问作者user21077255

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:47:18