암호화 관련 사용자 함수 컴파일 오류 (DBMS_CRYPTO 관련) 0 1 12,833

by 손님 [Oracle 에러코드] DBMS_CRYPTO 암호화 [2011.02.21 15:36:41]



안녕하세요? 오라클 초보 입니다.
알고나면 간단한 문제 같은데 감을 못 잡겠네요.

도와주세요. ㅜ.ㅜ

개발서버를 새로 구성하느라 운영 오라클을 그대로 가져왔습니다.
데이터는 잘 나오는데 암호화 관련 사용자 함수가 컴파일이 안 되네요.

http://www.gurubee.net/lecture/1200  여기를 참고했고요.

사용자 함수 내용은 아래와 같고, 오류메세지도 밑에 적었습니다.

CREATE OR REPLACE FUNCTION USER.ENC_VALUE(planText IN VARCHAR2, PASSWORD IN VARCHAR := 'aaaaaaaa')

RETURN VARCHAR2
IS
    ENCRYPTED    RAW(200);
    KEY_BYTE     RAW(32);
    CRYPTION_TYPE    PLS_INTEGER := DBMS_CRYPTO.ENCRYPT_RC4
    + DBMS_CRYPTO.CHAIN_ECB
    + DBMS_CRYPTO.PAD_PKCS5;
BEGIN
    KEY_BYTE := UTL_I18N.STRING_TO_RAW(PASSWORD);
    ENCRYPTED := DBMS_CRYPTO.ENCRYPT
    (
    src => UTL_I18N.STRING_TO_RAW(planText, 'AL32UTF8'),
    typ => CRYPTION_TYPE,
    key => KEY_BYTE
    );
    RETURN ENCRYPTED;
END;

오류는 다음과 같습니다.

PLS-00201: identifier 'DBMS_CRYPTO' must be declared,
PL/SQL: Item ignored,
PLS-00201: identifier 'DBMS_CRYPTO' must be declared,
PL/SQL: Statement ignored

by 초보 [2011.05.25 14:19:29]
PLS-00201: identifier 'DBMS_CRYPTO' must be declared
는 권한 문제이네요..
sys의 DBMS_CRYPTO 패키지의 실행권한을 유저에게 주시면 됩니다.
GRANT EXECUTE ON DBMS_CRYPTO TO 사용자
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입