"ORA-01654: 索引VGSM.AUDIT_DATA_I无法通过8192(在表空间KLDB中)扩展"
1.有可能是索引表空间不够
select sum(bytes/1024/1024) sizeMB from dba_free_space z where z.tablespace_name='KLDB'
还有400M的剩余空间 应该足够。
但是通过查询发现是
select s.index_name,
s.table_name,
s.tablespace_name,
s.initial_extent,
s.next_extent
from user_indexes s
where s.index_name = 'AUDIT_DATA_ID'
INDEX_NAME TABLE_NAME TABLESPACE_NAME INITIAL_EXTENT NEXT_EXTENT
IDX_INVALID_PICNAME T_INVALID_PICTURES DIMS_INVALID_PICTURE2 40960 732576768
该索引的 NEXT_EXTENT 过大
select file_name,tablespace_name,bytes/1024/1024 from dba_data_files where tablespace_name='KLDB'
select sum(bytes/1024/1024) sizeMB from dba_free_space z where z.tablespace_name='KLDB'
通过计算 400M的剩余空间
不能满足 NEXT_EXTENT 的700MB空间
所以通过加大数据文件
alter database datafile 'D:ORACLEORADATADMSDBDIMS_INVALID_PICTURE2.DBF' resize 1000M
2 这种问题存在不合理的设计 明显要杜绝
重建该索引
alter index index_name rebuild tablespace indexes storage(initial 256K next 256K pctincrease 0):