Here is my problem:

drop table t1;
drop table t2;

create table T1
(
NO1 NUMBER,
NO2 NUMBER
)
partition by range (NO2)
(
partition part_1 values less than (2)
)
;

create index I1 on T1 (NO1, NO2) local;


create table T2
(
NO1 NUMBER,
NO2 NUMBER
);

create index I2 on T2 (NO1, NO2);

insert into t2 values(1,1);

alter table t1 exchange partition part_1 with table t2 including indexes with validation;


select index_name, status from user_indexes where table_name in('T1','T2');

INDEX_NAME STATUS
------------------------------ --------
I1 N/A
I2 VALID


Why is my index on T1 is invalid?



This is just an example, i have a big table which i use exchange partition and the query than run on my partitioned table it ran fine and uses the indexes. The problem i am having right now is the gathering stats at night:

ORA-20000: index "MUS_GEN3"."I1" or partition of such index is in unusable state
*** 2007-04-25 22:05:48.163
GATHER_STATS_JOB: GATHER_INDEX_STATS('"MUS_GEN3"','"I1"','"PART_1"', ...)
ORA-20000: index "MUS_GEN3"."I1" or partition of such index is in unusable state


How do i put that index to a valid status? Without re-creating it of course. The goal of exchange partition was to save time, if i re-create my index, i am doing exchange partition for nothing.

also, im not able to rebuild it, if that is the solution:

alter index i1 rebuild;
alter index i1 rebuild
*
ERROR at line 1:
ORA-14086: a partitioned index may not be rebuilt as a whole


alter index i1 partition (PART_1) REBUILD;
alter index i1 partition (PART_1) REBUILD
*
ERROR at line 1:
ORA-14006: invalid partition name


But part_1 is my partition name:
select segment_name, segment_type, partition_name from user_segments
where segment_name in ('I1');
SEGMENT_NAME SEGMENT_TYPE PARTITION_NAME
------------ ------------------
I1 INDEX PARTITION PART_1