개발정리

[Oracle] 오라클 시노님(Synonym)이란? 왜 사용하지?

ejkings 2022. 12. 28. 16:01
반응형


시노님(Synonym)이란?

- 다른 유저의 객체를 사용할때 객체이름을 시노님(Synonym)으로 이름을 감춰 데이터베스보안을 강화하기 위해 사용한다.
- 대부분 테이블, 뷰, 프로시저, 함수, 패키지, 시퀀스 등 참조 할 때 사용한다.

1) 시노님(Synonym) 생성
1-1) test1 스키마에서 test2 라는 스키마의 테이블을 사용하려면 시노님을 생성하기전에 권한을 등록이 필요
- [권한생성] GRANT CREATE SYNONYM to test1;
- [오류발생] insufficient privileges 권한이 없는 경우 오류 발생

1-2) [시노님생성] CREATE [PUBLIC] SYNONYM [Synonmy name] FOR [Object Name]
- [PUBLIC] : 은 모든 사용자의 접근 가능하게 하도록 하는 옵션, 선언하지 않는다면 PRIVATE 으로 설정됨
- 예제) CREATE SYNONYM new_synonym_table FOR test2.test2Table;

2) 시노님(Synonym) 조회
- 예제) SELECT * FROM new_synonym_table;
- new_synonym_table은 test2.test2Table와 동일한 결과를 출력한다.

* 생성된 모든 Synonym을 조회하고 싶다면 아래 쿼리로 조회하면 된다.
- SELECT * FROM ALL_SYNONYMS;

3) 시노님(Synonym) 삭제
- 예제) DROP SYNONYM new_synonym_table;

반응형