문서유형ㅣ기술정보
분야ㅣ관리/환경설정
적용제품버전ㅣTibero5, Tibero6, Tibero7
문서번호ㅣTADTI208
개요
exec utl_recomp.recomp_serial은 INVALID 상태의 객체만 컴파일을 수행합니다.
운영 환경에서 DB 객체 상태는 VALID이나,
AP 단에서 프로시저/패키지 동작이 정상적으로 수행되지 않거나
재배포/패치/이관 이후 실행 로직 불일치가 의심되는 경우
VALID 상태의 PSM(프로시저, 함수, 트리거, 패키지 등) 까지 재컴파일이 필요할 수 있습니다.
이 경우 FORCE 옵션을 사용하여 VALID PSM까지 강제 재컴파일을 수행할 수 있습니다.
방법
동작 방식
1) 기본 recomp 동작
utl_recomp.recomp_serialINVALID 객체만 컴파일 수행
VALID 상태의 PSM은 재컴파일 로직을 수행하지 않습니다.
2) FORCE 재컴파일 동작
FORCE옵션 사용 시기존에 VALID 상태였던 PSM도 강제로 재컴파일 수행
대상 범위
procedure / function / trigger / package / object type (PSM)
VIEW (FORCE 미지원)
※ VIEW는 FORCE 재컴파일 대상이 아니므로,
INVALID VIEW 발생 시 재컴파일이 아닌 재조회(select) 만 수행됩니다.
방법 1) FORCE 옵션으로 전체 강제 재컴파일 (권장)
conn sys
alter system recompile all force;방법 2) Hidden 파라미터를 이용한 FORCE 동작
conn sys
alter system set _DDL_PSM_RECOMPILE_FORCE = Y;
alter system recompile all;
alter system set _DDL_PSM_RECOMPILE_FORCE = N;파라미터 확인
select * from vt_parameter
where name = '_DDL_PSM_RECOMPILE_FORCE';
검증
1) INVALID 객체 확인
select owner, object_type, object_name, status
from dba_objects
where status <> 'VALID'
order by 1,2,3;2) FORCE 재컴파일 수행
alter system recompile all force;3) 재확인
select owner, object_type, object_name, status
from dba_objects
where status <> 'VALID'
order by 1,2,3;