ORA-1654: unable to extend index SMS. by 8192 in tablespace SMS_DATA

在给某客户处理巡检时,发现该报错,平时见到的大部分是临时段的问题。

对于此类问题,可以按照处理临时段不足的方式处理,不过有些不妥。

解决方法1:
检查报错表空间的可用空间使用率,如果不足则添加空间(一般处理),还可以进一步利用DBA_FREE_SPACE视图,检查下空间的碎片率。
添加语法:
  ALTER TABLESPACE ADD DATAFILE '' SIZE ; 
或者开启自动扩展:
  ALTER DATABASE DATAFILE ` AUTOEXTEND ON MAXSIZE UNLIMITED;

扩展办法:
光添加数据文件还不够,要剖析出问题的根源问题。这里还可以用 DBA_INDEXES视图,看看索引的NEXT_EXTENT和PCT_INCREASE的状况。这有个公式:
next_extent = next_extent * (1 + (pct_increase/100) 

处理:
ALTER STORAGE ( next pctincrease );

需要深入了解的,可以看看concept中对于extent的分配算法,了解下Oracle是如何管理extent的。
请使用浏览器的分享功能分享到微信等