GBase 8s
运维管理
文章

查询空间使用率

GBase社区管理员
发表于2024-01-30 16:29:2127次浏览0个评论

查询空间使用率:
dbaccess sysmaster -

SELECT A.dbsnum as No, trim(B.name) as name,
CASE  WHEN (bitval(B.flags,'0x10')>0 AND bitval(B.flags,'0x2')>0)
  THEN 'MirroredBlobspace'
  WHEN bitval(B.flags,'0x10')>0  THEN 'Blobspace'
  WHEN bitval(B.flags,'0x2000')>0 AND bitval(B.flags,'0x8000')>0
  THEN 'TempSbspace'
  WHEN bitval(B.flags,'0x2000')>0 THEN 'TempDbspace'
  WHEN (bitval(B.flags,'0x8000')>0 AND bitval(B.flags,'0x2')>0)
  THEN 'MirroredSbspace'
  WHEN bitval(B.flags,'0x8000')>0  THEN 'SmartBlobspace'
  WHEN bitval(B.flags,'0x2')>0    THEN 'MirroredDbspace'
        ELSE   'Dbspace'
END  as dbstype,
 round(sum(chksize)*2/1024/1024,2)||'GB'  as DBS_SIZE ,
 round(sum(decode(mdsize,-1,nfree,udfree))*2/1024/1024,2)||'GB' as free_size,
 case when sum(decode(mdsize,-1,nfree,udfree))*100/sum(decode(mdsize,-1,chksize,udsize))
   >sum(decode(mdsize,-1,nfree,nfree))*100/sum(decode(mdsize,-1,chksize,mdsize))
then TRUNC(100-sum(decode(mdsize,-1,nfree,nfree))*100/sum(decode(mdsize,-1,chksize,mdsize)),2)||"%"
else TRUNC(100-sum(decode(mdsize,-1,nfree,udfree))*100/sum(decode(mdsize,-1,chksize,udsize)),2)||"%"
    end  as used,
  TRUNC(MAX(A.pagesize/1024))||"KB" as pgsize,
  MAX(B.nchunks) as nchunks
FROM syschktab A, sysdbstab B
WHERE A.dbsnum = B.dbsnum
 GROUP BY A.dbsnum,name, 3
ORDER BY A.dbsnum;

示例输出:

no         1
name       rootdbs
dbstype    Dbspace
dbs_size   1.95GB
free_size  0.49GB
used       75.07%
pgsize     2KB
nchunks    1

no         2
name       datadbs01
dbstype    Dbspace
dbs_size   0.95GB
free_size  0.94GB
used       0.99%
pgsize     16KB
nchunks    1

no         3
name       sbspace01
dbstype    SmartBlobspace
dbs_size   0.10GB
free_size  0.09GB
used       25.58%
pgsize     2KB
nchunks    1

no         4
name       datadbs02
dbstype    Dbspace
dbs_size   0.10GB
free_size  0.09GB
used       1.10%
pgsize     16KB
nchunks    1

评论

登录后才可以发表评论