Comment puis-je vérifier l'indice de statut d'immeuble sur Oracle 11?
J'ai fait terrible erreur dans SQL de création de l'index:
create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
tablespace IDX_TABLESPACE LOCAL ;
Comme Vous pouvez le voir j'ai raté mot clé "ONLINE" de l'index, sans blocage de la PRODUCTION de la table avec une grande utilisation avec 600m+ enregistrements. Corrigé SQL est:
create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
tablespace IDX_TABLESPACE LOCAL ONLINE;
J'ai été fait sous PL/SQL Developer. Quand j'ai essayé de l'arrêter, le programme cesse de répondre et s'est écrasé.
Système de Production ne fonctionne pas pour 9 heures maintenant, et mon patron veux exploser. 😀
Est-il une chance de voir combien de secondes/minutes/heures Oracle 11g gauche de processus de la création de cet index ? Ou peut-être est-il une chance de voir ne Oracle continue de travailler sur cette demande? (PL/SQL Developer est tombé en panne).
Pour les rageux:
Je sais que je devrais le faire comme indiqué ici: (source)
CREATE INDEX cust_idx on customer(id) UNUSABLE LOCAL;
ALTER INDEX cust_idx REBUILD parallel 6 NOLOGGING ONLINE;
skip_unusable_indexes
réglage avant de vous dire à créer un inutilisables index et qu'il vous dit de changer le paramètre de parallélisme de l'index une fois qu'il est construit.L'article n'est pas, mais les commentaires ne sont, et aussi d'expliquer pourquoi le conseil n'est pas aussi utile comme vous semblez le penser. Je suis avec Justin mais, pourquoi n'avez-vous pas tué la session de course à la construction de l'index?
OriginalL'auteur WBAR | 2012-09-11
Vous devez vous connecter pour publier un commentaire.
Vous devriez être capable de voir l'état d'avancement de l'opération en
V$SESSION_LONGOPS
Bien sûr, dans un système de production, j'aurais probablement tué la session d'heures plutôt que de laisser l'opération DDL continuent d'empêcher les utilisateurs d'accéder à l'application.
Je ne suis pas sûr que je comprends ce que vous dites. Le fait que l'application cliente (PL/SQL Developer) s'est écrasé n'a rien à voir avec le fait que la session de base de données est toujours en cours d'exécution. Voyez-vous la session en v$session?
Je ne vois pas cette session
Si la session n'existe pas (et en supposant que ce n'est pas un RAC système dans lequel cas où vous auriez besoin d'utiliser
gv$session
ougv$session_longops
), il ne peut pas être un verrou.OriginalL'auteur Justin Cave