服务器之家

服务器之家 > 正文

Oracle数据库空间满了进行空间扩展的方法

时间:2020-03-25 15:43     来源/作者:mrr

在管理软件应用中,常常会出现数据库空间满了的问题,导致管理软件不效能出现问题或者甚至不能使用。当这种情况出现了该怎么办呢?下面就介绍下方法

方法/步骤如下所示:

1.查询用户对应的表空间,我们可以看到针对不同的数据库用户Oracle

?
1
2
select username, default_tablespace, temporary_tablespace
from dba_users;

Oracle数据库空间满了进行空间扩展的方法

2.查询用户的对应的数据文件,以及数据文件大小

?
1
2
3
4
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

Oracle数据库空间满了进行空间扩展的方法

3.根据1.2 用户对应的表空间,以及表空间的大小,可以在通过下述语句查看目前使用百分比,如果所用空间不再下述查询范围内,则证明此空间已经满了,没有剩余量的空间在下面的SQL中没有展示,我们可以看到有一个空间已经到了95%

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT a.tablespace_name "表空间名",
total "表空间大小",
free "表空间剩余大小",
(total - free) "表空间使用大小",
total / (1024 * 1024 * 1024) "表空间大小(G)",
free / (1024 * 1024 * 1024) "表空间剩余大小(G)",
(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",
round((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
FROM dba_free_space
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM dba_data_files
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name ;

Oracle数据库空间满了进行空间扩展的方法

4.此时我们执行空间扩增语句。把刚才使用率95%空间从1800M扩增到3000M

?
1
alter database datafile '/u2/oracle/PLM_SD_data' resize 3000m

扩增成功后如下图所示

Oracle数据库空间满了进行空间扩展的方法

5.此时在执行空间使用率查询语句得出如下的结果,可以看到空间扩增成功。

Oracle数据库空间满了进行空间扩展的方法

6.最后我们在通过SQL语句查询一下空间是不是变成了3000M

当然为了防止空间不够,导致异常,还可以设置空间自动延展。但是本人不太建议使用此功能,因为有可能导致空间的无限蔓延。

Oracle数据库空间满了进行空间扩展的方法

总结

以上所述是小编给大家介绍的Oracle数据库空间满了进行空间扩展的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://jingyan.baidu.com/article/414eccf6530b826b431f0ae0.html

<

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部