[Oracle] 프로시저(Procedure) 권한 부여 방법

오라클에서 타 스키마에 생성된 프로시저의 사용 권한 또는 실행 권한을 부여하기 위해서는 "GRANT EXECUTE" 구문을 사용한다. "프로시저 권한이 불충분합니다"라는 오류 메시지가 발생하면 실행 권한을 부여하면 된다. 프로시저 생성, 컴파일, DDL 권한을 부여하기 위해서는 "GRANT CREATE PROCEDURE" 구문을 사용하여 권한을 부여하면 프로시저 생성, 수정, 삭제 권한이 부여된다.

 

오라클 프로시저 권한 부여 방법

목차
  1. 프로시저 실행 권한 부여 (EXECUTE)
  2. 프로시저 생성 권한 부여 (CREATE)

 

프로시저 실행 권한 부여 (EXECUTE)

특정 프로시저 실행 권한 부여

-- 프로시저 실행 권한 부여
GRANT EXECUTE ON hr.pc_helloworld TO scott;

-- 프로시저 실행 권한 제거(회수)
REVOKE EXECUTE ON hr.pc_helloworld FROM scott;

 

GRANT EXECUTE ON [스키마.프로시저명] TO [사용자 계정]

 

GRANT 문을 사용하여 자신의 스키마(scott)가 아닌 다른 스키마(hr)에 생성된 프로시저의 실행 권한을 부여한다.

REVOKE 문을 사용하여 부여된 권한을 삭제(회수)  할 수 있다.

 

특정 프로시저 실행 권한을 모든 사용자에게 부여

-- 모든 사용자(public) 프로시저 실행 권한 부여
GRANT EXECUTE ON hr.pc_helloworld TO public;

-- 모든 사용자(public) 프로시저 실행 권한 제거(회수)
REVOKE EXECUTE ON hr.pc_helloworld FROM public;

 

GRANT EXECUTE ON [스키마.프로시저명] TO public

 

사용자 계정 대신 public 키워드를 사용하면 해당 프로시저의 실행 권한을 모든 사용자에게 부여할 수 있다.

 

모든 프로시저 실행 권한 부여

-- 모든 프로시저 실행 권한 부여
GRANT EXECUTE ANY PROCEDURE TO scott;

-- 모든 프로시저 실행 권한 제거(회수)
REVOKE EXECUTE ANY PROCEDURE FROM scott;

 

EXECUTE ANY PROCEDURE 구문을 사용하면 특정 사용자(scott)에게 모든 프로시저의 실행 권한을 부여할 수 있다.

 

프로시저 생성 권한 부여 (CREATE)

자신의 스키마에 프로시저 생성 권한 부여

-- 자신의 스키마에 프로시저 생성 권한 부여
GRANT CREATE PROCEDURE TO scott;

-- 자신의 스키마에 프로시저 생성 권한 제거(회수)
REVOKE CREATE PROCEDURE FROM scott;

 

GRANT CREATE PROCEDURE 구문을 사용하여 자신의 스키마(scott)에 프로시저를 생성할 수 있는 권한을 부여한다. 해당 권한을 부여하면 프로시저 생성(CREATE), 수정(REPLACE), 제거(DROP)의 권한이 모두 부여된다.

 

GRANT CREATE PROCEDURE 권한인 경우 프로시저(Procedure), 함수(Function), 패키지(Package)의 생성, 수정, 삭제 권한이 모두 부여된다.

 

모든 스키마에 프로시저 생성 권한 부여

-- 모든 스키마에 프로시저 생성 권한 부여
GRANT CREATE ANY PROCEDURE TO scott;

-- 모든 스키마에 프로시저 삭제 권한 부여
GRANT DROP ANY PROCEDURE TO scott;


-- 모든 스키마에 프로시저 생성 권한 제거(회수)
REVOKE CREATE ANY PROCEDURE FROM scott;

-- 모든 스키마에 프로시저 생성 삭제 제거(회수)
REVOKE DROP ANY PROCEDURE FROM scott;

 

GRANT CREATE ANY PROCEDURE 구문을 사용하여 모든 스키마에 프로시저의 생성 권한을 부여한다. ANY 권한인 경우 삭제(DROP) 권한을 따로 부여해야 다른 스키마에 생성된 프로시저를 삭제할 수 있다.

 

 

[Oracle] 함수(Function) 권한 부여 방법 (GRANT, REVOKE)

오라클에서 다른 스키마의 함수 실행(사용) 권한을 부여하기 위해서는 "GRANT EXECUTE" 구문을 사용하면 된다. 그리고 함수의 생성 또는 컴파일 권한을 부여하기 위해서는 "GRANT CREATE FUNCTION" 구문을

gent.tistory.com

 

[Oracle] 테이블 권한 부여 방법 (GRANT, REVOKE)

오라클에서 다른 스키마(사용자)에 생성된 테이블의 DML(SELECT, INSERT, UPDATE, DELETE ) 권한을 부여하기 위해서는 GRANT 문을 사용하면 된다. GRANT CREATE ANY TABLE 권한을 부여하면 다른 스키마에 테이블을.

gent.tistory.com

 

[Oracle] 시스템 권한 부여 방법 (GRANT, REVOKE)

오라클에서 시스템 권한을 부여하거나 회수(제거) 하기 위해서는 GRANT, REVOKE 문을 사용하면 된다. 사용자를 생성 후 시스템 권한이 부여되어야 데이터베이스 접속(로그인)이 가능하고 테이블 생

gent.tistory.com

 

댓글

Designed by JB FACTORY