最近导入一个表的数据,发现201701月份的分区表提示分区无法扩展表空间之类的错误,Google了一把后说明是表空间满了,而且没有设置自动扩展,那么怎么去处理呢?
首先,本次我发现有多个表都出现这个问题了,那么就先全部产看一遍:
SELECT t.tablespace_name FROM dba_tablespaces t where t.tablespace_name like '%TBS_CHAN_INC_D%';
将表空间的名字作为条件继续查询表空间对应的dbf文件所在的位置
select file#,name,status from v$datafile where status<>'RECOVER' and name like '%TBS_CHAN_INC_D%';
然后查询表空间是否自动增长
SELECT file_id, file_name, tablespace_name, autoextensible, increment_by FROM dba_data_files WHERE tablespace_name = 'TBS_CHAN_INC_D_201701'
如果没有自动增长,那么就需要修改状态自动增长,且每次增长32M,容量无限
ALTER DATABASE DATAFILE '/data/xxx/xxx/DATA_CHAN_INC_D/2017/TBS_CHAN_INC_D_201701.dbf' AUTOEXTEND on next 32M maxsize unlimited;
然后就解决了。