트리거가 유효하지 않은지 확인하는 방법은 무엇입니까?
문제
나는 일부 모호한 도구로 자동 생성 된 테이블을 움직이는 데이터베이스를 작업하고 있습니다. 그건 그렇고, 우리는 일부 트리거를 통해 테이블의 정보 변경을 추적해야합니다. 물론, 예를 들어 컬럼을 제거하거나 유형을 변경함으로써 테이블 구조의 일부 변화가 일부 트리거를 깨뜨 렸습니다.
따라서 문제는 다음과 같습니다. Oracle 메타 데이터를 확인할 수있는 방법이 있습니까? 확인을 위해 일부 트리거가 끊어 졌는지, 보고서를 지원 팀에 보내야합니까?
user_triggers는 모든 트리거를 제공하고 활성화 여부를 알려주지 만 여전히 유효한지는 표시하지 않습니다.
해결책
SELECT *
FROM ALL_OBJECTS
WHERE OBJECT_NAME = trigger_name
AND OBJECT_TYPE = 'TRIGGER'
AND STATUS <> 'VALID'
다른 팁
sys.obj $, 특히 상태 열을 살펴보십시오.
제휴하지 않습니다 StackOverflow