欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-15 15:05:29
...
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.
相关标签: oracle