hice terrible error en la creación de índices de SQL:¿Cómo verifico el estado del índice de construcción en Oracle 11?
create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
tablespace IDX_TABLESPACE LOCAL ;
Como se puede ver que echaba de menos palabra clave "en línea" para crear un índice sin bloquear la tabla de producción con alto uso con 600m + registros. El SQL corregido es:
create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
tablespace IDX_TABLESPACE LOCAL ONLINE;
Lo terminé en PL/SQL Developer. Cuando estaba tratando de detenerlo, el programa deja de responder y se cuelga.
El sistema de producción no funciona desde hace 9 horas y mi jefe quiere explotar. : D
¿Hay alguna posibilidad de ver cuántos segundos/minutos/horas dejó Oracle 11g para procesar esta creación del índice? O tal vez, ¿hay alguna posibilidad de ver si Oracle sigue trabajando en esta solicitud? (El desarrollador PL/SQL se colgó).
para los enemigos: Sé que debería hacer esto, como se ha mencionado aquí: (source)
CREATE INDEX cust_idx on customer(id) UNUSABLE LOCAL;
ALTER INDEX cust_idx REBUILD parallel 6 NOLOGGING ONLINE;
Tu enlace no parece ser válido. Espero que cualquier artículo que esté viendo al menos se refiera a la configuración 'skip_unusable_indexes' antes de decirle que cree un índice inutilizable y que le indique que cambie la configuración de paralelismo del índice una vez que esté construido. –
El artículo no lo hace, pero sí los comentarios, y también explica por qué el consejo no es tan útil como parece pensar. Sin embargo, estoy con Justin, ¿por qué no has matado a la sesión que está ejecutando la construcción del índice? –