Como ya escribí anteriormente, se puede hacer una reconstrucción de índices en línea en Oracle, pero puede aparecerte el siguiente error:
ORA-00439: función no activada: Online Index Build
Primero debes ver que tengas activada la funcionalidad con la siguiente consulta
select * from v$option
Esto debiese generarte una salida como la siguiente
PARAMETER VALUE ------------------------------------- ----- Partitioning TRUE Objects TRUE Real Application Clusters FALSE Advanced replication TRUE Bit-mapped indexes TRUE Connection multiplexing TRUE Connection pooling TRUE Database queuing TRUE Incremental backup and recovery TRUE Instead-of triggers TRUE Parallel backup and recovery TRUE Parallel execution TRUE Parallel load TRUE Point-in-time tablespace recovery TRUE Fine-grained access control TRUE Proxy authentication/authorization TRUE Change Data Capture TRUE Plan Stability TRUE Online Index Build TRUE Coalesce Index TRUE Managed Standby TRUE Materialized view rewrite TRUE Materialized view warehouse refresh TRUE Database resource manager TRUE Spatial TRUE Visual Information Retrieval TRUE Export transportable tablespaces TRUE Transparent Application Failover TRUE Fast-Start Fault Recovery TRUE Sample Scan TRUE Duplexed backups TRUE Java TRUE OLAP Window Functions TRUE Block Media Recovery TRUE Fine-grained Auditing TRUE Application Role TRUE Enterprise User Security TRUE Oracle Data Guard TRUE Oracle Label Security FALSE OLAP TRUE Table compression TRUE Join index TRUE Trial Recovery TRUE Data Mining TRUE Online Redefinition TRUE Streams Capture TRUE File Mapping TRUE Block Change Tracking TRUE Flashback Table TRUE Flashback Database TRUE Data Mining Scoring Engine FALSE Transparent Data Encryption TRUE Backup Encryption TRUE Unused Block Compression TRUE 54 filas seleccionadas
Fijate en la linea Online Index Build debiese ser TRUE, si es false debes instalar por separado el producto o la version que tienes de oracle no soporta la funcionalidad (puede ser una versión standard, sin soporte de esta funcionalidad)
También puede dar en el caso que no se tenga permiso para ejecutar la funcionalidad, ya que si el usuario solo tiene privilegios de CONNECT no podrá realizar la tarea, por lo que se puede verificar el GRANT
GRANT ALTER ANY INDEX TO "USUARIO";
En donde «USUARIO» es el usuario que esta ejecutando la consulta, ahora si el usuario que estabas utilizando al darte este error era SYS o SYSTEM, entonces es necesariamente la primera causa.