[ORACLE] GRANT | 권한, synonym 생성 방법
1. 테이블 조회 권한 주기 [SELECT]
GRANT select ON 권한을줄테이블명 TO 권한을 받을 사용자계정;
1) scott이라는 계정과 alex라는 계정이 있는 경우, alex에게 scott의 EMP테이블 SELECT 권한을 줄때는 아래와 같이 하면된다.
a. scott 계정으로 접속 [sqlplus scott/비번]
b. GRANT select ON EMP TO alex;
2. 테이블 입력이나 수정 삭제의 권한을 부여 [INSERT , UPDATE , DELETE ]
GRANT INSERT , UPDATE , DELETE ON 권한을주려는테이블 TO 권한 받을사용자계정
a. scott 계정으로 접속 [sqlplus scott/비번]
b. GRANT INSERT , UPDATE , DELETE ON EMP TO alex;
3. FUNCTION 실행 권한 주기 [execute]
GRANT execute ON 권한을 줄 함수명 TO 권한을 받을 사용자계정;
===========================> 여기 까지 처리한 경우,
alex계정에서 select * from scott.EMP;와 같이 접근이 가능하다.
그냥, scott.을 안붙이고 조회하고 싶은 경우, 아래와 같이 synonym을 생성해주면 된다.
4. synonym 생성
- A 계정에서 B계정의 테이블을 B.테이블명이 아닌 테이블명만으로 조회하고자 할 때
a. B 계정 로그인
b. CREATE SYNONYM A.테이블명 FOR B.테이블명
5. 시노님 삭제
- 시노님을 삭제할 때는 다른 객체와 마찬가지로 DROP문을 사용하여 제거한다.
* DROP [PUBLIC] SYNONYM [스키마명.]시노님명;
입력 : DROP SYNONYM syn_channel;
결과 : synonym SYN_CHANNEL이(가) 삭제되었습니다.
또는 다음과 같이 사용한다.
입력 : DROP PUBLIC SYNONYM syn_channel2;
결과 : public synonym SYN_CHANNEL2이(가) 삭제되었습니다.
6. 시노님 확인
- 계정 내의 테이블이 시노님인지 계정 내에서 생성한 테이블인지 확인하는 방법
a. 전체 테이블
SELECT *
FROM TAB;
b. 특정 테이블
SELECT *
FROM TAB
WHERE TNAME LIKE '%테이블명%';