Programming/Oracle

INVALID OBJECT RECOMPILE

초록깨비 2021. 4. 27. 09:52
728x90

테이블 컬럼 변경으로 인해 INVALID OBJECT 전체 재컴파일 하는 방법 

 

1) 쿼리 실행 

    SELECT DECODE(OBJECT_TYPE, 
                   'PACKAGE BODY', 'ALTER PACKAGE ' || OBJECT_NAME || ' COMPILE BODY;',
                                   'ALTER ' || OBJECT_TYPE ||' '|| OBJECT_NAME || ' COMPILE;')
     FROM USER_OBJECTS
   WHERE STATUS = 'INVALID' 
      AND OBJECT_TYPE IN ('PACKAGE BODY', 
                                    'PACKAGE', 
                                    'FUNCTION', 
                                    'PROCEDURE',
                                    'TRIGGER', 
                                    'VIEW')
    ORDER BY OBJECT_TYPE, 
                  OBJECT_NAME;

 

 

 

2) 쿼리 결과를 전체 실행

 

3) 실행 후 INVALID 내역 확인 하기!

 

 

 

728x90