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.
Best Answer
I found solution making creating index quite faster... (on Oracle 11g works fine)
Then I need to rebuild index online choosing partition:
Altering index is much faster because it using different, faster mechanism and data can be accessed much sooner. For example when data for employees (in this example) is partitioned by timestamp. So newer data are more quickly available.