You can't fix the files. is this a index tablespaces, right?
If this is the case, please recreate the indexes again in a new tablespace or rebuild them, I'm sending you the scripts for both situations.
cursor colcur (ind_in varchar2)
select * from dba_ind_columns
where table_owner=my_owner and table_name=my_name
order by column_position;
cursor indcur is
select * from dba_indEXES
where table_owner=my_owner and table_name=my_name;
for indrow in indcur loop
createstring := 'CREATE';
if indrow.uniqueness = 'UNIQUE' then
createstring := createstring || ' UNIQUE';
createstring := createstring || ' INDEX ' || indrow.index_name || ' ON '
|| indrow.table_name || ' (';
for colrow in colcur (indrow.index_name) loop
createstring := createstring || colrow.column_name || ',';
end loop; --colcur
You can try to detect the indexes that are using that datafiles, drop them and recreate again in a new tablespace. If you can't do that, your only option is recreate all them in a new tablespace and drop the old one.