ORA-01653: unable to extend table JC1106.T_GL_ASSISTBALANCE by 1024 in tablespace EAS_D_JC1106_STANDARD
解决方法:设置该表空间为自动扩展,或对该表空间增加数据文件
查看表空间是否已经不足,sql脚本,直接复制粘贴即可。
select max1.tablespace_name, Total_MB,MB_used ,MB_free,trunc(pct) "UsedPercent%",maxbytes as " MaxMBytes" ,pct_warn ,round(100*MB_used/maxbytes,4) as "growupPercent",
(case when ((MB_used/maxbytes)>0.9) then 'Almost Full' else 'Will Auto Increase' end ) tablespaceIncrStat
from (select T.TABLESPACE_NAME as tablespace_name,
sum(decode(d.MAXBYTES,0,d.bytes,d.maxbytes)/1024/1024) as maxbytes
from dba_tablespaces t, dba_data_files d where t.TABLESPACE_NAME=d.TABLESPACE_NAME group by T.TABLESPACE_NAME) max1,
(select tbs.tablespace_name,
trunc(tot.bytes/1024/1024) Total_MB,
trunc(tot.bytes/1024/1024-sum(nvl(fre.bytes,0))/1024/1024) MB_used,
trunc(sum(nvl(fre.bytes,0))/1024/1024) MB_free,
(1-sum(nvl(fre.bytes,0))/tot.bytes)*100 pct,
decode(
greatest((1-sum(nvl(fre.bytes,0))/tot.bytes)*100, 90),
90, '', '*'
) pct_warn
from dba_free_space fre,
(select tablespace_name, sum(bytes) bytes
from dba_data_files
group by tablespace_name) tot,
dba_tablespaces tbs
where tot.tablespace_name = tbs.tablespace_name
and fre.tablespace_name(+) = tbs.tablespace_name
group by tbs.tablespace_name, tot.bytes/1024/1024, tot.bytes) avail1
where avail1.tablespace_name=max1.tablespace_name;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
目的: 获取表空间不足的表空间名称。查看目前满了的表空间总大小多大?进而选择解决方案。如果小于30GB,可以resize的方法。如果已经30gb了,只能新增dbf文件了。详见下面的解决方法。
查看表空间是否已经开启自动递增
select tablespace_name,file_name,autoextensible from dba_data_files
1
查看表空间已经对应的数据文件位置
select tablespace_name, file_id,file_name,
round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;
1
2
DataFile文件设定了大小,且设置不能自动增长
优先把数据文件改为自动增长
--把数据文件改为自动增长,而且每次增加100m最大值为4000m;
--也可以吧maxsize改为 MAXSIZE UNLIMIT,来设置最大值没有限制直到最大限制32g
alter database datafile '数据文件路径' autoextend on next 100m maxsize 4000M;
1
2
3
4
DataFile设定了大小,且设置为自动增长,已经到了32G的文件最大值上限
通过添加数据文件进行解决
Alter tablespace 表空间名称 add datafile 'datafile路径/新dbf名字' size 20480M autoextend on next 500M maxsize UNLIMITED;
1
解释:
(1)、表空间名称:写入报错的表空间名称
( 2)、 ‘datafile路径/新dbf名字’ --存放数据库dbf文件的路径下,建个新的dbf,如已经存在的 /u01/app/oracle/oradata/user01.dbf,需要增加个新成员,新的路径就写成: /u01/app/oracle/oradata/user02.dbf
(3)、autoextend on next 500M maxsize UNLIMITED:下一次自动扩展500m,最大无-限制。
eg: 为user表空间增加新的dbf文件user02.dbf,大小20GB,下一次扩展500MB
alter tablespace USERS add datafile '/u01/app/oracle/oradata/user02.dbf 'size 20480M autoextend on next 500M maxsize UNLIMITED;
1
2
设置了自动增长但是磁盘空间不足
扩展磁盘空间,可以使用电脑自带的磁盘管理工具也可以使用第三方工具。
————————————————
版权声明:本文为CSDN博主「cacacai」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cacacai/article/details/83104798