학습/DB

Oracle DML GRANT, REVOKE 사용하기

코동이 2021. 9. 1. 16:13

 현재 회사에서 같은 DB를 사용하지만, 스키마를 분리하여 사용하는 구조이다. 가끔 서로 시스템을 연결해야 하는 경우가 있어 다른 스키마의 테이블을 사용해야 한다. 만약에 제대로 권한을 가지지 못하면 테이블을 찾을 수 없다는 오류가 뜬다. 따라서, 해당 오류와 관련하여 검색한 후, 바로 권한을 부여하였고 해당 개념을 정리한다.

 

GRANT, REVOKE 종류

종류 설명
SELECT SELECT를 할 수 있는 권한(조회)
UPDATE UPDATE를 할 수 있는 권한(수정)
DELETE DELETE를 할 수 있는 권한(삭제)
REFERENCES REFERENCES를 할 수 있는 권한(참조)
ALTER ALTER를 할 수 있는 권한(변경)
INDEX INDEX를 할 수 있는 권한(인덱스)
ALL 모든 권한

 

특정 사용자에게 테이블 권한을 부여할 수 있다. 한번에 한가지도 가능하고, 여러가지도 가능하다

 

GRANT 구조

GRANT privileges ON object TO user;

 

GRANT ALL ON suppliers TO smithj;

모든 권한을 suppliers 테이블에 대해 smithj 사용자에게 부여한다.

 

GRANT SELECT, INSERT, UPDATE, DELETE ON suppliers TO smithj;

SELECT, INSERT, UPDATE, DELETE 권한을 suppliers 테이블에 대해 smithj 사용자에게 부여한다.

 

REVOKE 구조

REVOKE privileges ON object FROM user;

 

REVOKE DELETE ON suppliers FROM anderson;

DELETE 권한을 suppliers 테이블에 대해 anderson 사용자로부터 삭제한다.

 

REVOKE ALL ON suppliers FROM anderson;

모든 권한을 suppliers 테이블에 대해 anderson 사용자로부터 삭제한다.

 

 

출처

https://www.techonthenet.com/oracle/grant_revoke.php

반응형