Invalid ayrı birşeydir, disable ayrı birşeydir; valid ayrıdır, enable ayrıdır.
Eğer siz disable olan contraint'lerinizi ve trigger'larını enable etmek istiyorsanız aşağıdaki komutu kullanabilirsiniz.
alter trigger TRIGER_ADI enable;
alter table TABLO_ADI enable constraint CONSTRAINT_ADI;
aşağıdaki sql ile de tüm invalid objelerinizi derleyebilirsiniz. hata yoksa valid duruma geçer.
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
FOR cur_rec
IN ( SELECT 'ALTER ' || REPLACE (OBJECT_TYPE, 'PACKAGE BODY', 'PACKAGE') || ' ' || OWNER || '.' || OBJECT_NAME || ' COMPILE' sqlsmt
FROM dba_objects
WHERE STATUS = 'INVALID' AND object_type NOT IN ('SYNONYM') AND owner NOT LIKE 'TC%'
ORDER BY owner)
LOOP
BEGIN
EXECUTE IMMEDIATE cur_rec.sqlsmt;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('Error on SQL: ' || cur_rec.sqlsmt || SUBSTR (SQLERRM, 1, 120));
CONTINUE;
END;
END LOOP;
END;
/