ORA-01654 索引 无法通过 表空间扩展

安稳与你 提交于 2020-03-09 09:27:26


 

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):

增加Datafile

 alter tablespace TEST_SPACE add datafile 'E:\TEST_SPACE2.DBF' size 1000M; 

扩展Datafile

 alter tablespace TEST_SPACE add datafile 'E:\TEST_SPACE3.DBF' size 1000M autoextend on next 500M; 



怀揣着一点点梦想的年轻人
相信技术和创新的力量
喜欢快速反应的工作节奏


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!