表空间及 dbf 文件占用空间整理
一、表空间占用物理存储空间查询
select (tablespace_name) “表空间名”,
sum(total_size) “总空间 /M”,
sum(total_free) “剩余空间 /M”,
sum(max_continue) “最大连续空间 /M”,
round(sum(total_free) / sum(total_size) * 100) “剩余百分比 /ratio”
from ((select tablespace_name,
(0) total_size,
round(sum(bytes) / 1024 / 1024, 2) total_free,
round(max(bytes) / 1024 / 1024, 2) max_continue
from dba_free_space
group by tablespace_name) union all
(select tablespace_name, round(sum(bytes) / 1024 / 1024, 2), 0, 0
from dba_data_files
group by tablespace_name))
group by tablespace_name
order by 5 asc;
二、调整数据库文件 DBF 大小(而非修改文件上限大小)
alter database datafile ‘D:\ORADATA\ECC_MES.DBF’ resize 19000M;
扩展:dbf 文件大小上限为 32G,当数据量积累,dbf 文件大小达到上限时,需要为同一个表空间指定多个 dbf 文件
ALTER TABLESPACE mestar_data ADD DATAFILE ‘/u01/app/oracle/oradata/Tracedb/mestar_data1.dbf’ SIZE 1024M AUTOEXTEND ON NEXT 200M MAXSIZE 30G;
修改指定表空间文件大小
alter database datafile ‘/u01/app/oracle/oradata/Tracedb/mestar_data.dbf’ autoextend on maxsize 30G;