ORA-01654解决方案

 ORA-01654: unable to extend index APPUSER.SYS_C003741 by 8 in tablespace APPDATA

 

1、首先根据报错中的索引名称获取索引的tablespace

select s.index_name,
s.table_name,
s.tablespace_name,
s.initial_extent,
s.next_extent
from user_indexes s
where s.index_name = 'SYS_C003741' or index_name='SYS_C003745';

2、根据索引名称来获取索引的next_extent(byte),表空间剩余大小不能小于next_extent
select s.index_name,
s.table_name,
s.tablespace_name,
s.initial_extent,
s.next_extent
from user_indexes s
where s.index_name = 'SYS_C003741'
3、根据tablespace可以得到表空间的FILE_NAME以及表空间当前设置的大小
select file_name,tablespace_name,bytes/1024/1024,autoextensible  from dba_data_files where tablespace_name='APPDATA';

4、获取表空间剩余大小
select sum(bytes/1024/1024) sizeMB from dba_free_space z where z.tablespace_name='APPDATA';

5、如果确实是因为表空间大小不足可以采用扩从空间的方式
alter database datafile '/u01/oracle/oradata/ORATEST/app20210319.dbf' resize 12288M;
posted @ 2021-07-14 14:29  长不胖的小男孩  阅读(3126)  评论(0编辑  收藏  举报