like this:
select sum(bytes)/1024/1024||' MB' from  dba_extents where owner='CX' and segment_name='CX_LOG';

解决方案 »

  1.   

    select segment_name,bytes/1024/1024 from dba_segments where segment_name=upper('你要查找的表的名字');
      

  2.   

    说实在的我不是很懂,不过兄弟我想说说我的做法
    select table_name,bytes from user_table where table_name='student'
      

  3.   

    select segment_name,bytes/1024/1024 from dba_segments where segment_name="STUDENT"
      

  4.   

    楼上,oracle都是以段为存储的,segment_name包含了表,索引,回滚段等,所以在dba_extents,dba_segments都可以找到占用空间大小的信息.
    ------------------------
    select sum(bytes)/1024/1024||' MB' from  dba_extents where owner='CX' and segment_name='CX_LOG'; 这样的写法是对的
    ------------------------
    select segment_name,bytes/1024/1024 from dba_segments where segment_name=upper('你要查找的表的名字');  这样的写法不完全,当表是分区表,dba_segments有多条信息.可改成:select sum(bytes)/1024/1024 from dba_segments where segment_name=upper('你要查找的表的名字');
      

  5.   

    to blueflame147(蓝色火焰):
      客气了.
      如果是MM,当然可以;男生就不用了 :)
      

  6.   

    But You need to analyse the table first .
      

  7.   

    首先估算你的数据量大小, 然后确定那些pctfree, pctused等等; 如果没经验,先给一个,不够再加;后者再调整算了
      

  8.   

    为什么要先分析表啊(But You need to analyse the table first ),具体应该怎么做啊,高手们能不能讲的明白些啊
      

  9.   

    分析表后会在dba_tables等系统表中有该表的一些相应信息,但同样需要计算大小
    分析sql为:
    analyze table tab_name compute statistics;
    表太大的话可以执行:
    analyze table tab_name estimate statistics;
      

  10.   

    分析表能够对表的存储格式进行验证,可以得到相关的统计信息,用户可以通过查询user_table/all_table/dba_table数据字典视图来获取分析后的统计信息.select TABLE_NAME,blocks*block_size/1024||'MB'   
    from user_tables
    where table_name='STUDENT'