创建索引时候,出错:ORA-01658:无法为表空间XXX中的段创建INITIAL区。
原因:表数据库中表空间在已满时未设置自动扩展,即此时数据库表空间已满。
解决:在ORACLE中找到对应数据表空间,将表空间的存储页面上“数据文件已满后自动扩展(AUTO EXTEND)”复选框选上,“增量”哪边填上你想增加的具体值。
解决步骤:
1.根据索引查看相关的表空间
select index_name,tablespace_name from dba_indexes
where owner='JINFENG' and index_name ='SALES_CUST_ID_IDEX';
2. 查看数据文件和表空间的字段信息
desc dba_data_files;
3.查看对应表空间的数据文件的名称
select file_id,file_name ,tablespace_name from dba_data_files ,autoextensible
where tablespace_name ='TBS_INDEX';
4.扩展文件
alter database tempfile '/u01/app/oracle/oradata/test/temp01.dbf' autoextend on;
alter database datafile '/u01/app/oracle/oradata/test/data01.dbf' autoextend on;
5.再次检查表空间是否为可扩展的
select file_id,file_name ,tablespace_name from dba_data_files ,autoextensible
where tablespace_name ='TBS_INDEX';
6.再次执行索引的创建功能
alter index SALES_CUST_ID_IDEX online;