ORACLE数据库空间满了如何进行空间扩展

 时间:2026-02-13 02:30:24

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

select username, default_tablespace, temporary_tablespace

from dba_users;

ORACLE数据库空间满了如何进行空间扩展

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

selecttablespace_name, file_id, file_name,

round(bytes/(1024*1024),0)total_space

from dba_data_files

order bytablespace_name;

ORACLE数据库空间满了如何进行空间扩展

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

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

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

扩增成功后如下图所示

ORACLE数据库空间满了如何进行空间扩展

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

ORACLE数据库空间满了如何进行空间扩展

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

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

ORACLE数据库空间满了如何进行空间扩展

  • 瘦肉汤的做法与功效
  • 申请免费SSL证书
  • 猪蓝耳病怎么治疗
  • 统帅装饰口碑到底怎么样?来看客户真实评价吧!
  • 支付宝APP上哪里能领养宠物
  • 热门搜索
    好客山东旅游网 安徽旅游局官网 余姚旅游网 旅游集散中心上海 广西龙脊梯田旅游攻略 杭州旅游景点推荐 爱琴海旅游报价 阳江沙扒湾旅游攻略 中国禁止韩国旅游 保定旅游网