728x90

1. USER_SYNONYMS란?
USER_SYNONYMS는 Oracle 데이터베이스에서 현재 사용자가 소유한 시노님(Synonym)의 메타데이터를 확인할 수 있는 뷰입니다. 시노님은 데이터베이스 오브젝트에 별칭을 부여하여 접근성을 높이고, 복잡한 스키마 구조를 단순화하는 데 사용됩니다.
2. 시노님(Synonym)이란?
시노님은 테이블, 뷰, 시퀀스, 프로시저 등의 객체에 간단한 이름 또는 우회 경로(alias)를 제공하는 구조입니다. 일반적으로 다음과 같은 목적으로 사용됩니다:
- 접근 경로 단축:
SCHEMA_A.CUSTOMERS→CUSTOMERS - 보안 및 캡슐화: 내부 객체의 이름을 외부에 노출하지 않고 우회 접근
- 스키마 독립성: 애플리케이션이 특정 스키마에 의존하지 않도록 구조 구성
3. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| SYNONYM_NAME | 시노님의 이름 (사용자가 부여한 별칭) |
| TABLE_OWNER | 원래 오브젝트를 소유한 사용자 또는 스키마 |
| TABLE_NAME | 실제 참조되는 오브젝트 이름 |
| DB_LINK | 원격 데이터베이스 링크 이름 (있을 경우) |
4. 실전 활용 예제
현재 사용자 스키마에서 생성한 모든 시노님 목록을 조회하려면 다음과 같이 실행합니다:
SELECT SYNONYM_NAME, TABLE_OWNER, TABLE_NAME
FROM USER_SYNONYMS
ORDER BY SYNONYM_NAME;
특정 오브젝트를 참조하는 시노님만 조회할 수도 있습니다:
SELECT SYNONYM_NAME
FROM USER_SYNONYMS
WHERE TABLE_NAME = 'ORDERS';
5. 시노님 관련 뷰 비교
| 뷰 이름 | 설명 | 범위 |
|---|---|---|
| USER_SYNONYMS | 현재 사용자가 생성한 시노님 | 개인 스키마 전용 |
| ALL_SYNONYMS | 접근 가능한 모든 시노님 | 타 사용자 포함 |
| DBA_SYNONYMS | 모든 시노님 정보 (DBA 전용) | 전체 DB |
6. 고급 활용 전략
- 데이터 마이그레이션 대응: 원본 객체가 변경되어도 시노님으로 참조하면 애플리케이션 변경 최소화
- 다중 환경 대응: DEV/TEST/PROD 환경에서 동일 시노님을 사용하여 개발/운영 분리
- DB 링크 기반 글로벌 시노님: 원격 DB 객체를 로컬처럼 호출
7. 결론
USER_SYNONYMS는 복잡한 스키마나 분산 시스템 환경에서 객체 참조를 단순화하고, 유지보수 효율성을 향상시키는 강력한 도구입니다. 특히 대형 시스템이나 공통 테이블이 많은 환경에서는 시노님 전략이 중요한 데이터 아키텍처의 축이 됩니다.
참고 자료
- Oracle® Database SQL Language Reference 21c
- Oracle® Database Object-Relational Developer's Guide
- Oracle Help Center: https://docs.oracle.com/en/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_TABLES 뷰를 활용한 테이블 구조 분석과 관리 전략 (0) | 2025.08.08 |
|---|---|
| [ORACLE] USER_SYS_PRIVS로 사용자 시스템 권한 정밀 분석 (0) | 2025.08.07 |
| [ORACLE] USER_SUMMARIES로 요약 뷰(MV) 기반 성능 최적화 이해하기 (0) | 2025.08.07 |
| [ORACLE] USER_SUBPART_KEY_COLUMNS로 서브파티션 키 구조 완벽 분석 (0) | 2025.08.07 |
| [ORACLE] USER_SUBPART_HISTOGRAMS 뷰로 히스토그램 기반 서브파티션 최적화하기 (0) | 2025.08.07 |