ORA-04067: 실행불가, package body USER_NAME.PACKAGE_NAME가 존재하지 않습니다 (ORA-06508: PL/SQL: could not find program unit being called: USER_NAME.PACKAGE_NAME)

ORA-06508: PL/SQL: could not find program unit being called: USER_NAME.PACKAGE_NAME 오류에서 스키마와 패키지명은 여러분이 지금 호출하려는 이름에 따라 달라질 수 있습니다. 해당 예외는 펑션, 프로시저와 같은 서브프로그램이 속한 프로그램, 이를테면 패키지와 같은 객체를 찾을 수 없기 때문인데, 가장 의심스러운 곳은 해당 패키지 바디 자체의 누락을 손꼽을 수 있습니다. 그러고 보니 예외 처리를 위한 도움말에서도 'package body'라는 언급이 있군요.

ORA-04067 예외가 한글로 발생한 경우

ORA-04067: 실행 불가, package body "USER_NAME.PACKAGE_NAME"이(가) 존재하지 않습니다.
ORA-06508: PL/SQL: 호출 중인 프로그램 단위를 찾을 수 없습니다(: "USER_NAME.PACKAGE_NAME").
ORA-06512:  1행

ORA-04067 예외가 영문으로 발생한 경우

ORA-04067: not executed, package body "USER_NAME.PACKAGE_NAME" does not exist
ORA-06508: PL/SQL: could not find program unit being called: "USER_NAME.PACKAGE_NAME"
ORA-06512: at line 1

예외 발생 예제

다음은 해당 오류가 발생하도록 의도적으로 만든 예제입니다. 참고해 주십시오. 다음과 같이 패키지 스펙을 생성하였습니다. (바디가 없는 상태)

CREATE PACKAGE PACKAGE_NAME
IS
   PROCEDURE PROCEDURE_NAME;
END;

이 때 프로시저를 실행하는 경우 오류가 발생합니다.

EXEC PACKAGE_NAME.PROCEDURE_NAME();
BEGIN PACKAGE_NAME.PROCEDURE_NAME(); END;

*
ERROR at line 1:
ORA-04067: not executed, package body "USER_NAME.PACKAGE_NAME" does not exist
ORA-06508: PL/SQL: could not find program unit being called: "USER_NAME.PACKAGE_NAME"
ORA-06512: at line 1

ORA-06508: PL/SQL: could not find program unit being called: USER_NAME.PACKAGE_NAME

ORA-04067 실행불가, package body USER_NAME.PACKAGE_NAME가 존재하지 않습니다

다시 한 번 요약을 하면 이 오류 메시지는 USER_NAME.PACKAGE_NAME이라는 패키지 바디가 존재하지 않거나 호출 중인 프로그램 단위를 찾을 수 없다는 것을 나타낸다는 것을 아실 겁니다. 해당 예외를 해결하기 위한 몇 가지 가능한 조치를 안내해드리겠습니다.

패키지 생성 여부 확인

먼저 USER_NAME.PACKAGE_NAME 패키지 바디가 정상적으로 생성이 되어 있는지 확인합니다. 패키지 바디가 없다면, 해당 부분을 생성해야 할 것입니다.

권한 확인

오류가 발생한 사용자에게 패키지에 대한 실행 권한이 있는지 확인합니다. 패키지가 있음에도 해당 스키마가 찾지 못하는 것은 조회 권한이 부족하기에 발생하는 경우도 있기 때문입니다. 필요한 권한이 없다면, 권한을 부여하여 해결해 주십시오.

의존성 또는 컴파일 오류 등

그럼에도 해결이 되지 않는다면 확인을 해 볼 만한 사항입니다. 패키지가 다른 객체(패키지 등)에 의존하고 있는지 확인합니다. 프로그램 실행에 필요한 객체가 없다면, 해당 객체를 생성하거나 사용 가능한 상태로 만들어 주십시오.

또는, 패키지를 컴파일할 때 오류가 발생하지 않았는지 확인합니다. 만약 컴파일 오류가 있다면, 해당 오류를 해결해 주십시오. 패키지 오류 처리와 관련한 사항은 블로그에 몇 개 게시해 놓았으니 참고해 주세요. 😭

댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗