请问如何查询oracle一个表占用多少字节? select count(*),sum(blocks),sum(bytes),segment_name from user_extentsgroup by (segment_name) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先用dbms_stats分析表,然后select blocks from tabs where table_name='your_table_name'<blocks>*<your_db_block_size>= <bytes> SELECT SUM(BYTES)/1024/1024||'MB' 占用空间 FROM dba_segmentsWHERE segment_name = '表名' AND owner = '用户名'; select count(*),sum(blocks),sum(bytes),segment_name from user_extentsgroup by (segment_name) 注意:如果表被删除过数据,user_extents并不能反映表实际占用的大小(表被删除记录,extents并不回收)。而且,可以用alter table <table_name> allocate extent;来预先分配extent给表(并无数据)。 这句SQL通常情况下是可以反映一个数据段所占空间大小的:SELECT SUM(BYTES)/1024/1024||'MB' 占用空间 FROM dba_segmentsWHERE segment_name = '表名' AND owner = '用户名'; 不能下载Oracle的数据库. 急!用oracle em创建备份后出现这种问题。 请SQL高手帮忙,写个存储过程 急,oracle中引入外部java类的问题 存储过程utl_file的问题,请高手解决 Oracle 判断资料是否存在 再insert 运行一段语句后提示 无效的 ROWID,希望回复。 分组更新数据 Oracle数据库中有没有定时执行存储过程的功能?请指教! 数据库日积月累,现在太大了,我想把一些历史数据备份到光盘(或移动硬盘)上,不知可不可以? 请大侠帮助小弟如何在pl/sql程序中调用? 转换字符集 在线急等
select blocks from tabs where table_name='your_table_name'<blocks>*<your_db_block_size>= <bytes>
FROM dba_segments
WHERE segment_name = '表名' AND owner = '用户名';
group by (segment_name)
如果表被删除过数据,user_extents并不能反映表实际占用的大小(表被删除记录,extents并不回收)。而且,可以用
alter table <table_name> allocate extent;
来预先分配extent给表(并无数据)。
FROM dba_segments
WHERE segment_name = '表名' AND owner = '用户名';