ORA-01654: Unable To Extend Index %s.%s By %s In Tablespace %s

最近遇到一个报错

ORA-1654: unable to extend index SYS.TEST_N3 by 6815744 in tablespace SYSTEM

查询文档发现有挺多种情况会导致这个问题,整理一下排查思路

 

1. 查报错表空间使用率,看是否已满

发现system表空间使用率只有70%左右,剩余20多G

 

2. 查对应表空间最大连续可用空间

SELECT max(bytes) FROM dba_free_space WHERE tablespace_name = '<tablespace name>';

发现远大于6.8M

 

3. 查对应表空间NEXT_EXTENT size  

select d.FILE_NAME,
       d.AUTOEXTENSIBLE,
       d.BYTES / 1024 / 1024 MB,
       d.INCREMENT_BY * 8 / 1024 INCREMENT_MB,
       d.MAXBYTES / 1024 / 1024 max_mb
  from dba_data_files d
 where d.tablespace_name = 'SYSTEM'

注意INCREMENT_BY字段单位是blocks,即8KB

发现NEXT_EXTENT并不大,只有100M

 

4. 查报错索引NEXT_EXTENT size  

select d.owner,
       d.index_name,
       d.tablespace_name,
       d.next_extent / 1024 / 1024 next_extent_MB,
       d.pct_increase
  from dba_indexes d
 where d.index_name='xxx';

发现NEXT_EXTENT居然有26G....刚好超出了system表空间剩余空间。这么大主要是因为没设置固定大小而设了pctincrease 100。。。瑟瑟发抖

 

各种情况对应解决方法参考:

Troubleshooting Guide - 'Unable to Extend / Create' Errors (文档 ID 1025288.6)

Overview Of ORA-01654: Unable To Extend Index %s.%s By %s In Tablespace %s (文档 ID 146595.1)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hehuyi_In

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值