IT/oracle

[ORACLE] GRANT | 권한, synonym 생성 방법

공부가 좋은 개발자 2022. 11. 15. 13:01
728x90
반응형

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 '%테이블명%';

728x90
반응형