2015-07-22 12 views
5

Uso Oracle 10g. Dal mesi ho il seguente errore una tabella:(Oracle): colonne in stato parzialmente rilasciato

ORA-12986: columns in partially dropped state. Submit ALTER TABLE DROP COLUMNS CONTINUE 

ALTER TABLE COLONNE GOCCIA CONTINUA fallisce per gli straordinari.

Non ho privilegi DBA su questo database.

Cosa posso fare? Drop & ricreare il tavolo?

È un tavolo enorme con milioni di record.

Quello che ho cercato:

  1. Una volta, ho fatto il seguente comando per impostare alcune colonne in inutilizzate:

    ALTER TABLE hr.admin_emp SET UNUSED (hiredate, mgr); 
    

    Poi, diedi il seguente comando:

    ALTER TABLE hr.admin DROP UNUSED columns; 
    

    Il sistema riaggancia, l'operazione è troppo lunga, quindi è difettosa.

    Ora la tabella hr.admin ha due colonne in stato parzialmente rilasciato, e non posso andare né avanti né indietro.

    Non capisco perché sia ​​successo.

  2. feci le seguenti operazioni, il sistema aggancia alla FASE DUE:

    STAGE ONE ============

    SQL> select * from user_unused_col_tabs; 
    
    TABLE_NAME COUNT 
    ----------- ---------- 
    TEMP  1 
    

    FASE DUE == ==========

    SQL> alter table temp drop unused columns; 
    
    Table altered. 
    

    TERZA FASE =============

    SQL> select * from user_unused_col_tabs; 
    
    no rows selected 
    
  3. Checkpoint 500 opzione

    sto cercando ancora una volta con la seguente dichiarazione:

    ALTER TABLE MYUSER.MYTABLE DROP COLUMNS CONTINUE CHECKPOINT 500; 
    

    Potrebbe l'opzione CHECKPOINT 500 aiutarmi?

+0

Cosa intendi con "errori"? Qual è il messaggio di errore esatto? –

+0

La sessione Oracle scade dopo 48 ore. Non posso chiedere di dba. – UltraCommit

+0

Non so quale sia il messaggio di errore, la sessione scade e il processo muore. – UltraCommit

risposta

0

Abbiamo dato per circa dodici volte consecutive il comando:

ALTER TABLE MYUSER.MYTABLE DROP COLUMNS CONTINUE CHECKPOINT 250; 

La dichiarazione è stata automaticamente ucciso ogni 48 ore, questo è il motivo perché abbiamo dovuto lanciare più volte.

Circa 500 ore di elaborazione per far cadere definitivamente le colonne in stato parzialmente rilasciato ... !!

Si conferma che CHECKPOINT 250 esegue un "commit", quindi al prossimo avvio dello stesso comando, si inizia dal punto di arresto.

Problemi correlati