奇怪啊奇怪,为何我取得表占用的block数总是为0
我想计算一张表占用的实际物理存储空间,采用先分析,再查询占用block数乘以块大小的方法,语句如下:
分析表
analyze table tab_name compute statistics;
如果表太大就采用这个语句
analyze table tab_name estimate statistics;
查询数据大小:
select owner ,table_name,NUM_ROWS,BLOCKS*2048/1024/1024 "Size M",
EMPTY_BLOCKS,
LAST_ANALYZED
from dba_tables
where table_name= 'XXX';
但是查询得结果BLOCKS为0,所以占用空间也是0。
我也安装了oject browser,但是连接数据库时总是报Vendor:initialization failure.
这是为什么啊,有办法解决吗?肯请各位高手救我。
问题点数:0、回复次数:5Top
1 楼oracle888()回复于 2004-12-03 11:04:11 得分 0
知道占用的大小就可以了,反正空的block别的object也不能使用。Top
2 楼WideWing(石头)回复于 2004-12-03 16:13:05 得分 0
是啊,但如何才能知道占用的大小呢?Top
3 楼zmgowin(hermit)回复于 2004-12-03 16:20:56 得分 0
select sum(bytes)/1024/1024 ||'MB' from dba_extents where ....Top
4 楼hippie1024(努力必有痕迹)回复于 2004-12-03 16:27:02 得分 0
dba_extents,或dba_segment里面查Top
5 楼fightintokyo()回复于 2004-12-03 17:23:20 得分 0
你的object browse的版本是7吧。
你的话需要进行BDE的设定
DLL32 SQLORA8.DLL
VENDOR INT MTXOCI.DLLTop




