Oracle数据库增加表空间

本文介绍了Oracle数据库中处理大量数据时遇到的问题及解决方案,包括如何检查表空间使用情况、判断是否需要增加表空间以及具体的添加表空间操作命令。

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

Oracle用来处理数据量比较大的数据时,可以用到分区分表,理论上建议分区个数为3000,如果设置成每天自动分区,理论上可以用九年,但是实际过程中肯定需要硬盘支持,另外,跨分区的操作贼慢,扯得有点原来。

如果你的大量数据无法插入,少量数据不受影响,这时候你可以看一下表空间情况:

查看表空间使用情况:

 SELECT A.TABLESPACE_NAME                     AS TABLESPACE_NAME, 
           ROUND(A.BYTES/(1024*1024*1024),2)    AS "TOTAL(G)"     , 
         ROUND(B.BYTES/(1024*1024*1024),2)    AS "USED(G)"      , 
       ROUND(C.BYTES/(1024*1024*1024),2)    AS "FREE(G)"      , 
       ROUND((B.BYTES * 100) / A.BYTES,2)   AS "% USED"       , 
       ROUND((C.BYTES * 100) / A.BYTES,2)   AS "% FREE" 
FROM SYS.SM$TS_AVAIL A, SYS.SM$TS_USED B, SYS.SM$TS_FREE C 
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME 
AND A.TABLESPACE_NAME = C.TABLESPACE_NAME;

查询结果不用多解释,如果确定表空间已经接近99.9%,那么是时候增加表空间了;

添加表空间:

alter tablespace 表空间名 add datafile '文件路径.dbf' size 大小 autoextend off;
一般默认块大小8k,最多负载空间为32G(Oracle计算时差了一个字节,建议些31G),如果你修改默认块大小可以增加,最大负载空间可以相应增加,autoextend建议不要打开,表空间不足最多插不进去数据,如果自动扩展,并且你不注意的话操作系统就危险了。

分配时间比较长,可能是由于得划分8k小块,之后再查表空间应该就做了相应修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值