반응형
Synonym (시노님) 이란?
데이터베이스 객체는 각자 고유한 이름이 있다. 이 객체들에 대한 동의어를 만드는것이 바로 시노님이다.
ALIAS 개념과 유사한데 ALIAS는 1회성인 반면 Synonym은 영구적이다.
따라서 Synonym은 다른 유저의 객체를 참조할 때 사용한다.
이 Synonym에는 PUBLIC과 PRIVATE타입이 있다.
- Public : 모든 사용자 접근 가능
- Private : 특정사용자만 접근 가능
Synonym 생성 및 수정 방법
CREATE OR REPLACE [PUBLIC/PRIVATE] SYNONYM [시노님명] FOR [객체명];
- PUBLIC/PRIVATE 는 명시 선택사항이며, 기본값은 PRIVATE으로 생성됨
- Synonym 수정도 위 구문으로 다시 쓰면 됨
- 예 : CREATE OR REPLACE SYNONYM S_PAPER FOR K_PAPER;
생성된 Synonym 조회 방법
<--! 현재 계정의 Synonym 조회-->
SELECT * FROM USER_SYNONYMS;
<--! 전체 Synonym 조회-->
SELECT * FROM ALL_SYNONYMS;
Synonym 사용권한 부여
GRANT SELECT ON [시노님명] TO [계정명];
- '테이블 또는 뷰가 존재하지 않습니다.' 오류가 발생할 경우, 권한이 없어서 발생한 오류이니 위 구문으로 해결
Synonym 삭제
DROP [PUBLIC/PRIVATE] SYNONYM [시노님명]
- PRIVATE Synonym을 삭제할 땐 DROP SYNONYM이나 DROP ANY SYNONYM 권한이 있어야 함.
- PUBLIC Synonym을 삭제할 땐 DROP PUBLIC SYNONYM 권한이 있어야 함.
따라서 제거가 안될 경우엔 다음과 같이 권한 부여 후 삭제 명령 재실행
<--! PRIVATE SYNONYM 삭제 시-->
GRANT DROP SYNONYM TO [계정명];
GRANT DROP ANY SYNONYM TO [계정명];
<--! PUBLIC SYNONYM 삭제 시-->
GRANT DROP PUBLIC SYNONYM TO [계정명];
참고문헌
참고문헌 1. Oracle Help Center : Database SQL Reference https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_7001.htm
반응형
'운영(Ops) 이야기 > 데이터베이스' 카테고리의 다른 글
[Oracle] 실행한 SQL 쿼리 이력 확인 방법 (0) | 2022.11.09 |
---|---|
[Oracle] 데이터베이스 명, SID 조회 방법 (0) | 2022.08.08 |
[Oracle] Materialized View 생성 권한 부여 방법 (0) | 2022.08.04 |
[Oracle] Oracle 용어 정리 : SID 와 Service Name의 차이 및 확인 방법 (0) | 2022.08.04 |
[Oracle] DB LINK 생성 및 권한 부여 (0) | 2022.08.03 |