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

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

 

오라클 함수 권한 부여 방법

목차
  1. 함수 실행 권한 부여 (EXECUTE)
  2. 함수 생성 권한 부여 (CREATE)

 

함수 실행 권한 부여 (EXECUTE)

특정 함수의 실행 권한 부여

-- 함수 실행 권한 부여
GRANT EXECUTE ON hr.fn_helloworld TO scott;

-- 함수 실행 권한 제거(회수)
REVOKE EXECUTE ON hr.fn_helloworld FROM scott;

 

GRANT EXECUTE ON [스키마.함수명] TO [사용자 계정]

 

다른 스키마(hr)에 생성된 특정 함수의 실행 권한을 부여하기 위해서는 GRANT 문을 사용하면 된다.

함수의 실행 권한을 제거하기 위해서는 REVOKE 문을 사용해서 권한을 회수하면 된다.

 

모든 함수의 실행 권한 부여

-- 모든 함수 실행 권한 부여
GRANT EXECUTE ANY PROCEDURE TO scott;

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

 

특정 함수명을 지정하지 않고 모든 함수의 실행 권한을 부여하기 위해서는 EXECUTE ANY PROCEDURE 구문을 사용하면 된다.

 

함수 생성 권한 부여 (CREATE)

자신의 스키마에 함수 생성 권한 부여

-- 자신의 스키마에 함수 생성 권한 부여
GRANT CREATE PROCEDURE TO scott;

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

 

CREATE PROCEDURE 구문은 자신의 스키마(scott)에 함수를 생성할 수 있는 권한을 부여한다.

자신의 스키마에 함수 생성(CREATE), 수정(REPLACE), 제거(DROP)를 할 수 있다.

 

모든 스키마의 함수 생성 권한 부여

-- 모든 스키마에 함수 생성 권한 부여
GRANT CREATE ANY PROCEDURE TO scott;

-- 모든 스키마에 함수 삭제 권한 부여
GRANT DROP ANY PROCEDURE TO scott;

 

CREATE ANY PROCEDURE 구문은 자신의 스키마뿐만 아니라, 다른 스키마(hr 등)에 함수를 생성할 수 있다.

함수를 제거할 수 있는 DROP 권한이 필요할 경우 추가로 권한을 부여해야 한다.

 

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

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

 

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

 

 

[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