"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:\ORACLE\ORADATA\DMSDB\DIMS_INVALID_PICTURE2.DBF' resize 1000M
2 這種問題存在不合理的設計 明顯要杜絕
重建該索引
alter index index_name rebuild tablespace indexes storage(initial 256K next 256K pctincrease 0):