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

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

 

오라클 테이블 권한 부여 방법

목차
  1. 다른 스키마 테이블 DML 권한 부여
  2. 다른 스키마 테이블 DML 권한 제거
  3. 다른 스키마 테이블 생성, 수정 제거 권한
  4. 다른 스키마 인덱스 생성, 수정 제거 권한
  5. 자신의 스키마에 테이블 생성 권한 부여

 

권한을 부여하기 위해서는 DBA 계정 또는 권한 부여가 가능한 계정으로 로그인 후 권한을 부여해야 한다.

 

다른 스키마 테이블 DML 권한 부여

GRANT SELECT ON hr.employees TO scott;
GRANT INSERT ON hr.employees TO scott;
GRANT UPDATE ON hr.employees TO scott;
GRANT DELETE ON hr.employees TO scott;

 

다른 스키마(hr)에 생성된 테이블의 SELECT, INSERT, UPDATE, DELETE 권한을 scott 사용자에게 부여한다.

 

-- 여러개 권한을 부여
GRANT SELECT, INSERT, UPDATE, DELETE ON hr.employees TO scott;

-- 모든 권한 부여
GRANT all ON hr.employees TO scott;

 

GRANT 문에서 여러 개의 권한을 한 번에 부여할 때는 쉼표로 구분하여 권한을 부여할 수 있다.

 

 

scott 사용자 계정으로 로그인하여 hr 스키마에 생성된 employees 테이블을 SELECT 할 수 있다.

스키마(hr)을 붙이지 않고 테이블을 조회하고 싶으면 시노님을  부여해야 한다.

 

다른 스키마 테이블 DML 권한 제거

REVOKE SELECT ON hr.employees FROM scott;
REVOKE INSERT ON hr.employees FROM scott;
REVOKE UPDATE ON hr.employees FROM scott;
REVOKE DELETE ON hr.employees FROM scott;

 

scott 사용자 계정에 부여된 테이블 권한을 제거(회수)할 수 있다.

 

REVOKE SELECT, INSERT, UPDATE, DELETE ON hr.employees FROM scott;

 

REVOKE 문에서도 여러 개의 권한을 쉼표로 구 분 한여 한 번에 회수할 수 있다.

 

다른 스키마 테이블 생성, 수정 제거 권한

GRANT CREATE ANY TABLE TO scott;
GRANT ALTER ANY TABLE TO scott;
GRANT DROP ANY TABLE TO scott;

 

다른 스키마에 테이블 생성, 수정, 삭제 권한을 부여하기 위해서는 ANY 키워드를 사용하면 된다.

 

 

scott 사용자 계정으로 로그인하여 hr 스키마에 테이블을 생성할 수 있다.

 

다른 스키마 인덱스 생성, 수정 제거 권한

GRANT CREATE ANY INDEX TO scott;
GRANT ALTER ANY INDEX TO scott;
GRANT DROP ANY INDEX TO scott;

 

다른 스키마에 테이블 생성 시 PK 또는 인덱스를 생성하기 위해서는 INDEX 권한을 부여해야 한다.

 

자신의 스키마에 테이블 생성 권한 부여

GRANT CREATE TABLE TO scott;

 

자신의 스키마(scott)에는 테이블 생성 권한만 부여하면 삭제(DROP TABLE) 및 DML(SELECT, INSERT, UPDATE, DELETE) 권한은 자동으로 부여된다.

 

 

scott 사용자 계정으로 로그인하여 테이블을 생성 및 삭제를 할 수 있다.

자신의 스키마에 테이블을 생성할 때는 스키마명(scott) 없이 테이블명(emp)만 작성해도 된다.

 

 

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

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

gent.tistory.com

 

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

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

gent.tistory.com

 

댓글

Designed by JB FACTORY