--동의어(synonym) : 객체에 대한 별명
동의어(Synonym)란?
-------------------
Synonym(동의어)
-------------------
A. 개념
- 동의어(Synonym)은 Table, View, SnapShot,Sequence,Procedure, Function, Package에
대한 별칭이다.
- 공용 및 전용 동의어의 두가지 종류가 있다. 공용동의어는 public이라는 특정사용자 그룹에서
소유하며 DB의 모든 사용자가 사용할수 있다. 전용동의어는 다른 사용자에 대해 전용동의어의
가용성을 제어할수 있는 특정 사용자의 스키마에 들어있다.
B. 생성
- 예를들어 scott의 Schema에 포함된 Emp Table에 대해 puiblic_emp라는 공용 Synonym생성
- Create public synonym public_emp for scott.emp;
- 이상과 같이 공용으로 생성하면 Oracle의 다른 사용자는 public_emp라는 별칭을 사용하여
Query 할수있다.
- tiger라는 User는 public_emp라는 별칭을 사용하여 다음과 같이 Query 할수있다.
Sqlplus>select * from public_emp;
C. 삭제
- drop public synonym public_emp
-----------------------------------------------------------------------
만약 Synonym이 전용이라면 생성과 삭제시 public이라는 Option을 안쓰면 된다.
--system/oracle 계정
SQL> grant create synonym to user1; --synonym권한만 주기
SQL> grant create public synonym to user1;-- public, synonym권한주기
-- public synonym : 모든 계정에서 별명을 공유 할 수 있다.
--user1/hb 계정
SQL> create synonym saw for scott.sawon
SQL> create public synonym saw2 for scott.sawon
--scott/tiger 계정
SQL> grant select on sawon to user1; --유저1에게 권한을 준것이다
--user1/hb 계정
--synonym 삭제
SQL> drop synonym saw; --user1에서 삭제가능.
동의어가 삭제되었습니다.
SQL> drop public synonym saw2; --권한이 없다. public 선언해서 만든것은 system 계정에서만 지울 수있다.
ORA-01031: 권한이 불충분합니다
--------------------동의어(synonym) 끝-------------------------
'# 데이터베이스 > 오라클' 카테고리의 다른 글
오라클 함수 작성, procedure 작성, 수정, 삭제, 연습문제 (2) | 2013.04.09 |
---|---|
pl/sql, 수행 속도 향상, 모듈화, 자동화가 가능, (0) | 2013.04.09 |
오라클 계정 생성, 권한, 보안, 권한 관련,grant,revoke (0) | 2013.04.09 |
Deadlocks, 데드락 해결방안, VIEW 테이블, 수정, 삭제, 생성, 연습문제 (0) | 2013.04.09 |
Subquery, any, all 연산자, exists 연산자, subquery를 이용한 테이블 생성 및 자료 추가 (0) | 2013.03.31 |