## 查询所有表空间的使用情况和位置(Oracle表空间单文件最大32G)
select b.file_id 文件ID,
b.tablespace_name 表空间,
b.file_name 物理文件名,
b.bytes 总字节数,
(b.bytes - sum(nvl(a.bytes, 0))) 已使用,
sum(nvl(a.bytes, 0)) 剩余,
sum(nvl(a.bytes, 0)) / (b.bytes) * 100 剩余百分比
from dba_free_space a,
dba_data_files b
where a.file_id = b.file_id
group by b.tablespace_name, b.file_name, b.file_id, b.bytes
order by b.tablespace_name;
方式1:手工改变已存在数据文件的大小
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 20480M;
方式2:允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
AUTOEXTEND ON NEXT 100M MAXSIZE 20480M;
方式3:增加数据文件,设置文件初始分配空间为7g, autoextend on为自动增长大小,oracle单个文件大小最大不超过32g.
sql脚本如下:需要扩容的表空间是system
ALTER TABLESPACE SYSTEM ADD DATAFILE
'D:\DFYYCDB\DATAFILE\O2_MF_SYSTEM_CWMNZ9XV_.DBF'
size 7167 M autoextend on;
Oracle数据库表空间不足问题解决方案一
最新推荐文章于 2025-09-25 13:58:56 发布
本文介绍了如何查询Oracle表空间使用情况,包括手工调整数据文件大小、启用自动扩展,以及新增数据文件实例,重点讲解了system表空间的扩容操作。涵盖了ALTER TABLESPACE和ALTER DATABASE DATAFILE语句的实战应用。
1035

被折叠的 条评论
为什么被折叠?



