Ho un tavolo davvero enorme, con ~ 200 milioni di righe. Non aveva affatto indice/pk. Le selezioni in questa tabella erano (ovviamente) lente. Ho deciso di creare un PK utilizzando 3 colonne. L'ho fatto in un ambiente di test che ha una versione ridotta di questo tavolo e ha funzionato come un fascino.La creazione di indice/pk in una tabella enorme richiede troppo tempo. Sto usando Oracle. Come faccio a sapere se sta andando bene?
Quindi, prima di andare a casa ho fatto una ALTER TABLE HUGETABLE Aggiungi vincolo PK_HUGETABLE PRIMARY KEY (ID1, ID2, ID3);
Mi aspettavo che funzionasse durante la notte, ma è già da oltre 24 ore e funziona ancora.
So che se avessi mantenuto l'ID sessione prima di iniziare la mia ricerca sarei in grado di rintracciarlo a V $ SESSION_LONGOPS. Ma non l'ho fatto.
C'è un modo per verificare come sta andando la mia domanda o quanto tempo ci vorrà ancora?
Non riuscivo a trovarlo. Ho trovato un sacco di processi in corso, ma non sono riuscito a identificare il mio. Così ho rinunciato e l'ho cancellato :) Mi fermerò tutto durante il fine settimana e riproverò. Questa volta otterrò l'id della sessione prima di iniziare il lavoro. Grazie comunque. – Michael
La prossima volta, definisci l'indice con PARALLEL n, dove n è un grado accettabile di parallelismo sul tuo sistema. Al termine, modificare l'indice in NOPARALLEL. Inoltre, se non si utilizza Data Guard e si può eseguire un backup del database una volta terminato, utilizzare la clausola NOLOGGING. –