새소식

반응형
DataBase/Oracle

Oracle 시노님(SYNONYM)

  • -
반응형

시노님(SYNONYM) 이란?

오라클(Oracle) 객체(테이블, 뷰, 시퀀스, 프로시저)에 대한 대체 이름을 의미한다.

실제로 그 객체를 사용하는게 아닌 객체를 직접적으로 참조하여 사용한다.

보통 다른 유저(계정)의 객체를 참조할 때 사용한다.

 

본인은 DBA 가 아니므로 틀릴 수 있습니다.

 

직접적으로 겪어본 바 보통 보안상 이유로 시노님을 사용하는걸로 보인다.

 

특정 2개의 계정이 있다. 하나는 관리자 계정 또 하나는 특정 유저의 계정이다.

관리자 계정은 수정, 삭제 등 모든 권한이 존재한다.

모든 사람이 관리자 계정을 사용하게 되면 문제가 발생할 수 있다.

 

이러한 문제로 관리자 계정을 사용하지 않고 특정 유저의 계정을 하나 만들어 

관리자 계정의 테이블에 접근이 가능하도록 시노님(특정 유저의 테이블 참조)을 준다.

 

 

시노님(SYNONYM) 조회 방법

 

데이터베이스 내 시노님을 조회하는 방법은 아래와 같다.

 

SQL> SELECT * FROM ALL_SYNONYMS;

 

 

시노님(SYNONYM) 권한 부여

 

시노님을 생성하기 위해선 시노님 생성권한을 가지고 있는 계정과 시노님을 생성할 테이블의 접근 권한이 필요합니다.

 

// 시노님 생성권한을 받을 계정에게 권한을 준다.
SQL> GRANT CREATE SYNONYM to '시노님 생성권한을 받을 유저명'

ex) GRANT CREATE SYNONYM to 'obo1'

 

 

// 시노님을 생성할 테이블의 접근 권한을 준다.
SQL> GRANT '권한명(ALL, SELECT 등)' ON '유저명.테이블명' TO '권한받을 유저'

ex) GRANT ALL ON obo2.table1 TO obo1

 

 

시노님(SYNONYM) 생성 방법

 

CREATE [ PUBLIC ] SYNONYM [ 시노님 이름 ]
FOR [ 객체 이름 ]

 

여기서 PUBLIC 은 모든 사용자가 접근할 수 있도록 설정한다.

PUBLIC 을 선언하지 않으면 기본적으로 PRIVATE 이 선언되며 접근에 제한된다.

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.