๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ORACLE/DB

[Oracle] Synonym ๋™์˜์–ด ์™œ์‚ฌ์šฉํ• ๊นŒ์š”? :: ๋งˆ์ด์ž๋ชฝ

by ๐ŸŒปโ™š 2020. 3. 24.

Synonym ์ด๋ž€?

Oracle์—๋Š” Synonym์ด๋ž€ ๊ฐ์ฒด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์ฒด์— ๋Œ€ํ•ด์„œ ์˜์†์ ์œผ๋กœ ๋ณ„๋ช…์„ ์ง€์–ด์ฃผ๋Š” ๊ฒƒ.

ํ…Œ์ด๋ธ” ALIAS์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์ž„์‹œ์ ์ธ ๋ณ„๋ช…์ด ์•„๋‹Œ ์˜์†์ ์œผ๋กœ ๋ณ„๋ช…์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด Synonym์ž…๋‹ˆ๋‹ค. Oracle Database๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ ํ•œ๋ฒˆ๋„ Synonym์„ ๋งŒ๋“ค์–ด๋ณด์ง€ ์•Š์•„์„œ ์‚ฌ์šฉ์„ ํ•œ๋ฒˆ๋„ ์•ˆํ–ˆ๋‹ค! ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ค์ˆ˜๋„ ์žˆ๋Š”๋ฐ... ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ Synonym์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

1
SELECT SYSDATE FROM DUAL;

DUAL์ด๋ผ๋Š” ์ž„์‹œ ํ…Œ์ด๋ธ”์€ SYNONYM์ž…๋‹ˆ๋‹ค. DUALํ…Œ์ด๋ธ”์€ ๋ชจ๋“  ๊ณ„์ •์—์„œ ์Šคํ‚ค๋งˆ ์—†์ด DUAL์ด๋ผ๋Š” ๋ช…์นญ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. DUAL๋„ ์ž„์‹œ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ…Œ์ด๋ธ”์ธ๋ฐ ์™œ ์Šคํ‚ค๋งˆ ์—†์ด DUAL์ด๋ผ๋Š” ๋ช…์นญ์œผ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ–ˆ์„๊นŒ์š”? DUAL ํ…Œ์ด๋ธ”์€ ์–ด๋Š ๊ณ„์ •์— ์†Œ์œ ๋œ ํ…Œ์ด๋ธ”์ผ๊นŒ์š”?

 

1
SELECT SYSDATE FROM SYS.DUAL;

DUAL ํ…Œ์ด๋ธ”์€ ์‚ฌ์‹ค SYS ๊ณ„์ •์ด ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. Public ๊ถŒํ•œ์œผ๋กœ ๋™์˜์–ด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ชจ๋“  ๊ณ„์ •์—์„œ๋Š” DUAL์ด๋ผ๋Š” Synonym์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

Synonym์€ ์™œ ์‚ฌ์šฉํ• ๊นŒ?

ํ…Œ์ด๋ธ” ์†Œ์œ  ๋ณด์•ˆ

DUAL ํ…Œ์ด๋ธ” ์ฒ˜๋Ÿผ ๊ธด์ด๋ฆ„์„ ์งง๊ฒŒ ํ˜น์€ ์งง์€ ์ด๋ฆ„์„ ๊ธธ๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด Synonym์„ ์ด์šฉํ•˜๊ธฐ๋„ ํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๋ณด์•ˆ์˜ ๋ชฉ์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž๊ฐ€ EMP๋ผ๋Š” ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ•„์š”ํ• ๋•Œ ํ…Œ์ด๋ธ”์ด ์–ด๋–ค ์Šคํ‚ค๋งˆ์— ์žˆ๋Š”์ง€ ๋…ธ์ถœ์‹œ์ผœ์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ EMP๋ผ๋Š” SYNONYM์„ ์ƒ์„ฑํ•˜์—ฌ ํ•ด๋‹น SYNONYM์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌํ•˜์—ฌ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

Database ์œ„์น˜ ํˆฌ๋ช…์„ฑ

Database์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Protocol, IP, Listener Port, SID, ๊ณ„์ • ์ •๋ณด๋ฅผ ๋“ค๊ณ  Database Link๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค.

DEPT๋ผ๋Š” ํ…Œ์ด๋ธ”์€ USA์— ์žˆ๋Š” ์ •๋ณด์ด๊ณ  EMP ํ…Œ์ด๋ธ”์€ ํ•œ๊ตญ์— ์žˆ๋Š” ์ •๋ณด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

1
SELECT * FROM EMP;

ํ˜„์žฌ ์ ‘์†ํ•œ ์œ ์ €์˜ ๊ถŒํ•œ์œผ๋กœ EMP ํ…Œ์ด๋ธ”์„ ์ฝ์œผ๋ฉด LOCAL์— ์žˆ๋Š” Database์— Schema๋ฅผ ์ฝ๊ฒ ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ USA์— ์žˆ๋Š” DEPTํ…Œ์ด๋ธ”์„ ์ฝ์–ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด

 

1
SELECT * FROM DEPT@USA;

USA๋ผ๋Š” DB LINK๋ฅผ ์ƒ์„ฑํ•˜์—ฌ @USA๋กœ DB๋ฅผ ์กฐํšŒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ธก์—์„œ @USA DB LINK ์ •๋ณด๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋„๋ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋ฉด DEPT ํ…Œ์ด๋ธ”์€ USA์— ์กด์žฌํ•˜๊ณ  EMP ํ…Œ์ด๋ธ”์€ ํ•œ๊ตญ์— ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์œ„ ์ฒ˜๋Ÿผ Database์˜ ์œ„์น˜ ํˆฌ๋ช…์„ฑ์— ์œ„๋ฐ˜๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Synonym์„ ์ƒ์„ฑํ•ด์ค„ ๋•Œ DB Link์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋„ฃ์–ด ์ƒ์„ฑํ•˜๊ณ  Synonym์— ๋Œ€ํ•œ ์ •๋ณด๋งŒ ์ œ๊ณตํ•œ๋‹ค๋ฉด ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ Database์˜ ์œ„์น˜๋ฅผ ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ฐ€๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์—…๋ฌด์  ํŽธ์˜

์—…๋ฌด์  ํŽธ์˜๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. HR SCHEMA์—์„œ ์‚ฌ์›(EMP)์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํšŒ์‚ฌ ์ •์ฑ…์ƒ PROD SCHEMA๋กœ ์‚ฌ์›์— ๋Œ€ํ•œ ๊ด€๋ฆฌ ์—…๋ฌด๊ฐ€ ๋„˜์–ด๊ฐ”์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ธฐ์กด ์‹œ์Šคํ…œ์—์„œ ๊ฐœ๋ฐœ ์‹œ Synonym์œผ๋กœ DB ์ •๋ณด๊ฐ€ ์ œ๊ณต๋˜์ง€ ์•Š๊ณ  ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ SCHEMA๊ฐ€ ์ œ๊ณต๋˜์—ˆ๋‹ค๋ฉด, ์ฟผ๋ฆฌ๋ฅผ HR.EMP๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ ํ–ˆ์„๊ฒ๋‹ˆ๋‹ค. PROD SCHEMA๋กœ ํ…Œ์ด๋ธ” ์ •๋ณด๊ฐ€ ๋„˜์–ด๊ฐ€๋ฉด ๊ธฐ์กด์— ๊ฐœ๋ฐœ๋˜์—ˆ๋˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ HR.EMP ๋กœ ๊ตฌ์„ฑํ–ˆ๋˜ ์ฟผ๋ฆฌ๋ฅผ PROD.EMP๋กœ ๋ชจ๋‘ ๋ณ€๊ฒฝํ•ด์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์ƒ๊น๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ EMP๋ผ๋Š” Synonym์„ ์ œ๊ณตํ–ˆ๋‹ค๋ฉด, ๋ฒˆ๊ฑฐ๋กœ์šด ํ”„๋กœ๊ทธ๋žจ ๋ณ€๊ฒฝ์—†์ด Synonym์— ๋Œ€ํ•œ ์ •๋ณด๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์šด์˜๋˜๊ณ  ์žˆ๋Š” ์‹œ์Šคํ…œ์ด๋ผ๋ฉด ๋”๋”์šฑ Synonym์˜ ํ™œ์šฉ์ด ์œ ์šฉํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

Synonym ์ƒ์„ฑ

1
GRANT CREATE PUBLIC SYNONYM TO HR;

SYNONYM ์ƒ์„ฑ์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ์—†๋‹ค๋ฉด DBA ๊ถŒํ•œ์˜ ๊ณ„์ •์—์„œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด์ค๋‹ˆ๋‹ค.

 

CREATE ์ƒ๋žต๊ฐ€๋Šฅ[PUBLIC] SYNONYM Synonym๋ช… FOR ๊ฐ์ฒด;
1
CREATE PUBLIC SYNONYM EMP FOR EMPLOYEES;

PUBLIC ์˜ต์…˜์„ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด Synonym์„ ์ƒ์„ฑํ•œ ๊ณ„์ • ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ๊ณ„์ •์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

1
CREATE PUBLIC SYNONYM DEPT FOR DEPARTMENTS@USA;

DB LINK๋ฅผ ์‚ฌ์šฉํ•ด์ค€๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์ด ์ƒ์„ฑํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

1
SELECT * FROM EMP;

SYNONYM ์ƒ์„ฑ ํ›„ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ SYNONYM๋ช…์œผ๋กœ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋‹ค๋ฅธ ๊ณ„์ •์—์„œ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํ•ด๋‹น Synonym ๊ฐ์ฒด์— ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด์ค˜์•ผํ•ฉ๋‹ˆ๋‹ค.

 

 

๋Œ“๊ธ€