I have big partitioned table with global index. My case is drop old data from archived partitions. I can't simply drop partition because i have global index.
So I have idea to use INVISIBLE local INDEX (calculating for 12-16h) and then drop global index and make new index visible and rename it to just dropped global index.
But..
SQL> create index I_EMPLOYEE_SALARY_T on EMPLOYEE (SALARY, DEPARTAMENT) local invisible online;
create index I_EMPLOYEE_SALARY_T on EMPLOYEE (SALARY, DEPARTAMENT) local invisible online
*
ERROR at line 1:
ORA-01408: such column list already indexed
Is there any other option to change global index to local using atomic/fast operations to change id on the fly?
Dropping global index and then creating new one is NOT acceptable.
ALTER TABLE... DROP PARTITION ... UPDATE GLOBAL INDEXES
?UPDATE GLOBAL INDEXES
. This doesn't answer your main question (transform a global index into a local index) but might help you with dropping partitions.UPDATE GLOBAL INDEXES
how long it takes ? Like creating new one ?ONLINE
word at end forcing to index be calculated on the fly without blocking my table.