为在用项目的oracle数据库增加表空间

当默认的'users'表空间达到94%占用率时,无需停用应用程序即可进行表空间扩展。通过SQL查询确认高占用,然后在sqlplus中执行增加表空间的操作。增加后未重启服务,应用仍正常运行。注意每个表空间可以对应多个物理文件,而每个物理文件仅属于一个表空间。

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

由于历史原因,初期建表时全部使用默认表空间“”users“”,后来随着表结构越来越多及数据量越来越大,发现表空间占用率已达到94%多,可通过以下语句查询出来:

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 

查询结果如下图:




在未停用任何应用程序情况下(注:增加表空间之前,将数据库做了完全备份,也是有点担心未关闭应用的情况下增加表空间后,会把数据库搞崩溃!!不过经测试,没什么事!),打开服务端的sqlplus,见下图:


增加表空间后,也没有重启oracle服务,看了看各个应用,貌似也没什么事!~~


//增加表空间对应的数据文件
 alter tablespace USERS add datafile 'F:\ORADATA\MYORA\USERS02.DBF' size 3000m;

上面语句的3000M貌似是物理文件的最大值。

注意:一个表空间可对应多个物理文件,但一个物理文件只会属于一个表空间。


//删除表空间对应的数据文件
 alter tablespace USERS drop datafile 'F:\ORADATA\MYORA\USERS02.DBF';

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值