informix怎样查看表空间分别对应哪些库?
比如有npmdb库,它包含有如下表空间:dpmdbs1dpmdbs2dpmdbs3dpmdbs4……现在的情况是informix数据库下有很多个库,也有大量的表空间,有什...
比如有npmdb库,
它包含有如下表空间:
dpmdbs1
dpmdbs2
dpmdbs3
dpmdbs4
……
现在的情况是informix数据库下有很多个库,也有大量的表空间,有什么方式能知道每一个表空间分别属于哪个库呢?
或者说是怎么看到每一个库下分别有哪些表空间…… 展开
它包含有如下表空间:
dpmdbs1
dpmdbs2
dpmdbs3
dpmdbs4
……
现在的情况是informix数据库下有很多个库,也有大量的表空间,有什么方式能知道每一个表空间分别属于哪个库呢?
或者说是怎么看到每一个库下分别有哪些表空间…… 展开
展开全部
给你个脚本,能看到dbspace下数据库和表的占用情况
#!/bin/bash
dbaccess << !
database sysmaster;
output to /tmp/dpmdbs1.txt select c.name dbspace,b.dbsname database,b.tabname,
round(sum(d.pe_size)*2/1024) size_1m
from systabinfo a,systabnames b,sysdbspaces c,sysptnext d
where a.ti_partnum = b.partnum and
b.partnum = d.pe_partnum and
partdbsnum(a.ti_partnum)=c.dbsnum
and c.name="dpmdbs1"
group by 1,2,3
order by 4 desc
!
追问
不好意思啊,这具体是怎么用呢?我对informix不熟的……
追答
你数据库装在什么系统里?如果是Linux,保存成脚本文件,直接命令行下执行这个脚本
也可以在dbaccess里执行中间的SQL语句:
select c.name dbspace,b.dbsname database,b.tabname,
round(sum(d.pe_size)*2/1024) size_1m
from systabinfo a,systabnames b,sysdbspaces c,sysptnext d
where a.ti_partnum = b.partnum and
b.partnum = d.pe_partnum and
partdbsnum(a.ti_partnum)=c.dbsnum
and c.name="dpmdbs1"
group by 1,2,3
order by 4 desc
其中的dbspace名部分自己改改
如果输出成文件,前面加上output to dpmdbs1.txt
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询