정의
- 테이블의 이름을 설정해 주는것
- 보통 다른 유저의 객체(테이블, 뷰, 프로시저, 함수, 패키지,시퀀스 등)를 참조할 때 많이 사용
- 다른유저의 객체를 사용할 때 유저의 이름과 객체의 실제 이름을 사용하는데, 그 두 개를 감춤으로써 데이터 베이스의 보안을 개선하기 위해 사용된다.
0.권한 부여 객체
- 유저가 두 명(user1/user2)가 있다고 가정할 때, user1이 가지고 있는 테이블에 대해 user2가 접근이 가능하도록 권한을 주어야 한다.
1. CMD 창에 가서 SQLPlus 접속한다
sqlplus sys/java@localhost:1521 as sysdba;
2.권한 부여
GRANT CREATE SYNONYM TO (PC.ID);
Synonym 생성
CREATE [PUBLC || PRIVATE] SYNONYM 시노님명 -- PUBLIC || PRIVATE 명시하지 않을 경우 PRIVATE 시노님생성
FOR 대상객체명(=테이블명);
Synonym 조회
--현재 계정의 Synonym
SELECT * FROM USER_SYNONYMS
--전체 Synonym 조회
SELECT * FROM ALL_SYNONYMS
Synonym 삭제
DROP [PUBLIC || PRIVATE] SYNONYM 시노님명;
- Synonym 제거가 안될 경우는 권한이 없는 것
'DB > SQL' 카테고리의 다른 글
trigger(트리거) (0) | 2024.01.08 |
---|---|
PL/SQL (0) | 2024.01.04 |
NVL함수 쿼리 null처리 (0) | 2024.01.02 |
SEQUENCE 객체 (0) | 2024.01.02 |
집합쿼리 (0) | 2023.12.29 |