1、查询表空间使用量
select upper(f.tablespace_name) "表空间名",
d.tot_grootte_mb "表空间大小(m)",
d.tot_grootte_mb - f.total_bytes "已使用空间(m)",
to_char(round((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,2),'990.99') "使用比",
f.total_bytes "空闲空间(m)",
f.max_bytes "最大块(m)"
from (select tablespace_name,
round(sum(bytes) / (1024 * 1024), 2) total_bytes,
round(max(bytes) / (1024 * 1024), 2) max_bytes
from sys.dba_free_space
group by tablespace_name) f,
(select dd.tablespace_name,
round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb
from sys.dba_data_files dd
group by dd.tablespace_name) d
where d.tablespace_name = f.tablespace_name
order by 4 desc;
2、查询表空间文件
select t.tablespace_name,d.file_name
from dba_tablespaces t,dba_data_files d
where t.tablespace_name=d.tablespace_name
3、表空间不足创建新的表空间文件
alter tablespace system add datafile 'd:\oracle\oradata\xinyu\system02.dbf' size 50m;
4、设置表空间文件自动扩展,maxsize有最大限制
alter database datafile 'd:\oracle\oradata\xinyu\system02.dbf' autoextend on next 50m maxsize 5000m;