1.通过查询dba_segments

Select owner,segment_name,sum(bytes)/1024/1024 as MB from dba_segments group by owner,segment_name;

查询:是分配给一个表的物理空间数量,而不管空间是否被使用。

 

2.num_rows * avg_row_len 

select table_name, round(num_rows * avg_row_len /1024/1024, 8) as total_len, num_rows  from all_tables where table_name = '表名' order by table_name;

查到的是实际占用的空间大小,已经使用的

3.取消数据表空间自动扩展

select 'alter database datafile '''||FILE_NAMA||''' autoextend off;' from dba_data_files t where t.autoextensible='YES';

4.取消临时表空间自动扩展

select 'alter database tempfile '''||FILE_NAMA||''' autoextend off;' from dba_temp_files t where t.autoextensible='YES';

We only live once, and time just goes by.