2017-01-19 1 views
0

오라클 DB에서 일부 객체 (뷰/동의어)가 "Invalid"(컴파일 중)로 표시되어 더 많은 작업을 추가하는 경우가 있습니다 이러한 문제를 자주 관리해야합니다.오라클에 유효하지 않은 객체를 체크하고 잘못된 객체를 컴파일하기 위해 스크립트를 빌드

모든 배포시 내 스크립트의 처음과 끝에 몇 가지 문구를 포함 할 예정입니다. 1. 변경 사항을 적용하기 전에 잘못된 개체를 모두 확인하려면. 2. 변경 사항이 적용된 후 유효하지 않은 모든 오브젝트를 다시 점검하고 자동으로 스크립트를 빌드하여 INVALID 뷰 & 동의어를 수정하고 실행하십시오.

누군가 내 위에서 언급 한 포인트를 다루는 오라클 스크립트를 작성하는 데 도움이 될 수 있다면 큰 도움이 될 것입니까?

참고 : 나는 DBA 관리 권한이없는, 내가 미리

감사에게 많은 스크립트를 배포하는 배포 도구를 사용합니다. Sitesh

+0

자동 수정을 말씀 하셨을 때 - 올바르게 다시 컴파일 하시겠습니까? 제 대답을 확인해주세요. –

답변

1

이 스크립트는 유효하지 않은 개체를 찾을 수 있습니다,

select OWNER, OBJECT_NAME, OBJECT_TYPE, STATUS 
from dba_objects 
where status != 'VALID' 
    and OWNER in ('SCHEMA_1','SCHEMA_2','SCHEMA_3') 
order by owner, object_type; 

를 사용하여 아래 스크립트는 지정된 스키마에서 유효하지 않은 모든 오브젝트를 다시 컴파일합니다.

EXEC DBMS_UTILITY.compile_schema('SCHEMA_1', compile_all => false); 
관련 문제