Domanda

Sto lavorando su database con tabelle mobili generate automaticamente da alcuni strumenti oscuri. A proposito, dobbiamo tenere traccia delle modifiche alle informazioni nella tabella tramite alcuni trigger. E, naturalmente, si verifica che alcuni cambiamenti nella struttura della tabella abbiano rotto alcuni trigger, rimuovendo una colonna o cambiando il suo tipo, ad esempio.

Quindi, la domanda è: esiste un modo per eseguire una query sui metadati Oracle per verificare se alcuni trigger sono interrotti, al fine di inviare un rapporto al team di supporto?

I trigger_utente forniscono tutti i trigger e indicano se sono abilitati o meno, ma non indicano se sono ancora validi.

È stato utile?

Soluzione

SELECT *
FROM   ALL_OBJECTS
WHERE  OBJECT_NAME = trigger_name
AND    OBJECT_TYPE = 'TRIGGER'
AND    STATUS <> 'VALID'

Altri suggerimenti

Dai un'occhiata a SYS.OBJ $, in particolare alla colonna STATUS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top