terça-feira, 28 de janeiro de 2014

ORACLE-Recompilar objetos inválidos

Gerar script para recompilar objetos inválidos no Oracle

O comando abaixo, lista os objetos inválidos com exceção de sinônimos, e gera um script para recompilar posteriormente.

Para gerar o script é necessário estar ou ter um grant de DBA para o usuário logado no Oracle

SELECT 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || OBJECT_NAME ||
       ' COMPILE; '
  FROM DBA_OBJECTS
WHERE STATUS = 'INVALID'
   AND OBJECT_TYPE IN
       ('PROCEDURE', 'VIEW', 'TRIGGER', 'FUNCTION', 'PACKAGE')
UNION ALL
SELECT 'ALTER ' || 'PACKAGE ' || ' ' || OWNER || '.' || OBJECT_NAME ||
       ' COMPILE; '
  FROM DBA_OBJECTS
WHERE STATUS = 'INVALID'
   AND OBJECT_TYPE IN ('PACKAGE BODY')

Nenhum comentário:

Postar um comentário