# oracle ora-01652无法通过128(在表空间xxx中)扩展 问题解决方式 > 看到数据库有这个报错,看了些文章,普遍说是表空间满了,但我查了我的表空间,是自动扩展的表空间,理论上来说,不应该出现这样的问题。最终是通过扩展表空间的方式来解决: 1.查下各个表空间的使用率 ```sql SELECT A .tablespace_name, A .bytes total, b.bytes used, c.bytes free, (b.bytes * 100) / A .bytes "% USED ", (c.bytes * 100) / A .bytes "% 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; ``` 如果部分表空间没有查出来可以去除查询条件 ```sql SELECT A .tablespace_name, A .bytes total, b.bytes used, c.bytes free, (b.bytes * 100) / A .bytes "% USED ", (c.bytes * 100) / A .bytes "% FREE " FROM sys.sm$ts_avail A, sys.sm$ts_used b, sys.sm$ts_free c; ```  2.查询表空间的位置: ```sql select name from v$datafile; ```  3.修改表空间大小 ```sql alter database datafile '/ora/oradata/radius/undo.dbf' resize 10240m; ``` 4.执行步骤1,重新查询表空间使用情况 5.上述方式只能改变单个文件大小,单个表文件大小最多32G,无法让表空间增长更多 ,需要给表空间添加跟多的表文件 ```sql -- 增加表空间文件 alter tablespace MSP_DATA add datafile 'd:\app\Administrator\oradata\test\MSP_DATA\_NEW1.DBF' size 32000m ```