Oracle表空间不够使用及解决方法

本文详细介绍了如何查询和管理Oracle表空间不足的问题,包括使用特定SQL查询来检查表空间使用情况,以及通过增加数据文件的方法来解决空间不足的问题。建议保持表空间的free百分比在10%以上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle表空间不够使用及解决方法

1.查询表空间使用方法:

select b.file_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;

select fs.tablespace_name,max(round((1 - freespace / totalspace) * 100, 2)) ratio ,totalspace
from (select tablespace_name, round(sum(bytes) / 1024 / 1024) totalspace
from dba_data_files
group by tablespace_name) df,
(select tablespace_name, round(sum(bytes) / 1024 / 1024) freespace
from dba_free_space
group by tablespace_name) fs
where df.tablespace_name = fs.tablespace_name(+)
and fs.tablespace_name not in ('UNDOTBS2','UNDOTBS1','SYSAUX')
group by fs.tablespace_name,totalspace order by 2 desc;

2.增加表空间:
查看数据文件存放路径:select file_name from dba_data_files;

解决方法1:增大数据文件

--增加对应的表空间里面的某个数据文件的大小为***M

alter database datafile '全路径的数据文件名称' resize ***M;

解决方法2:增加数据文件

alter tablespace 表空间名称 add datafile '全路径的数据文件名称' size ***M;

--新增一个数据文件,全路径的数据文件名称为该新增数据文件的全路径文件名称。大小为***M,数值具体设置。

PS:Oracle表空间一般让free百分比保持在10%以上,MDMC里面目前的比例是25%,如果低于就增加datafile或者resieze datafile,一般数据文件大小不要超过2G.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值