์ค๋ผํด ์ ์ ๋ฐฉ๋ฒ
์ด์ ๊ธ์์ Listener์ ๊ด๋ จ๋ ์ค์ต์ ์งํํ์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ Oracle ์ ์ ๋ฐฉ๋ฒ ์ค์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ Easy Connect์ ๋ก์ปฌ ์ด๋ฆ ์ง์ ๋ฐฉ์์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
์ค์ต ํ๊ฒฝ
OS : OEL 5.4
DB : Oracle 12.1.0.2
SID: newdb, PROD(1๊ฐ ์๋ฒ์ 2๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค)
hostname : host01
listener ์ฌ์ ๊ตฌ์ถ ์๋ฃ 1521ํฌํธ ์ฌ์ฉ
Easy Connect ๋ฐฉ์
๊ฐ์ฅ ์ฝ๊ฒ ์ฐ๊ฒฐํ ์ ์๋ ๋ฐฉ์์ ๋๋ค. ํ์ํ ์ ๋ณด๋ค์ ๋์ดํด์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
[oracle@host01 ~]$ sqlplus system/oracle@host01:1521/PROD
sqlplus๋ฅผ ์ด์ฉํด์ ์ ์ํ์ต๋๋ค. <๊ณ์ >/<๋น๋ฐ๋ฒํธ>@<ํธ์คํธ๋ช ํน์ IP>:<๋ฆฌ์ค๋ ํฌํธ>/<์๋น์ค ๋ช > ํํ๋ก ์ฐ๊ฒฐํด์ฃผ๋ฉด ๋ฉ๋๋ค.
SYSTEM@host01:1521/PROD> show parameter db_name
PROD ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ์ต๋๋ค.
์๋น์ค๋ช ๋ณ๊ฒฝ ๋ฐ ์ ์
SYS@PROD> show parameter service_names
์ต์ด์ ์ค์ ๋๋ ์๋น์ค๋ช ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์น ์ ์ง์ ํ๋ DB Name๊ณผ Domain Name์ ์กฐํฉ์ผ๋ก ๋ง๋ค์ด์ง๋๋ค. ์๋น์ค๋ช ์ ์ฌ๋ฌ๊ฐ๋ฅผ ๋ง๋ค์ด ์ค ์ ์์ต๋๋ค. ์๋ก์ด ์๋น์ค๋ช ์ ํ๋ ์ถ๊ฐํ๊ณ Easy Connect ๋ฐฉ์์ผ๋ก ์ ์์ ๋ค์ ํด๋ณด๊ฒ ์ต๋๋ค.
SYSTEM@host01:1521/PROD> alter system set service_names = 'PROD', 'ABC';
SYSTEM@host01:1521/PROD> conn system/oracle@host01:1521/abc
Connected.
SYSTEM@host01:1521/abc> show parameter db_name
์๋ก์ด ์๋น์ค๋ช ์ผ๋ก ์ ์ํ์ต๋๋ค.
๋ก์ปฌ ์ด๋ฆ ์ง์ ๋ฐฉ์ tnsname.ora ์ฌ์ฉ
Easy Connect ๋ฐฉ์์ ์ฌ์ฉํด์ ์ ์ํ๋ ค๋ฉด ๋งค๋ฒ ํธ์คํธ๋ช , ๋ฆฌ์ค๋ ํฌํธ, ์๋น์ค๋ช ์ ์ ๋ ฅํด์ผ ์ ์์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ถํธํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ ๋ณด๋ค์ ๋ฏธ๋ฆฌ tnsnames.ora ํ์ผ์ alias๋ก ๋ง๋ค์ด ๊ด๋ฆฌํ๊ณ ํด๋น ๋ณ์นญ์ ์ด์ฉํด์ ๋์ ์ ์ํ ์ ์์ต๋๋ค. ์ค์ ๋ก ํ์ฅ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. tnsnames.ora ํ์ผ์ ์ง์ ์์ฑํ์ฌ ๋ง๋ค์ด๋ ๊ฐ๋ฅํ๊ณ Oracle Net Manager์ Oracle Net Configuration Assistant๋ฅผ ์ฌ์ฉํด์๋ ์์ฑ ๊ฐ๋ฅํฉ๋๋ค.
Oracle Net Manager ์ฌ์ฉ
[oracle@host01 ~]$ netmgr
Oracle Net Manager๋ฅผ ์คํํ ํ, Service Naming์ ์ ํํ๊ณ ์ข์ธก "+" ๊ธฐํธ๋ฅผ ๋๋ฌ ์ ์ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ ์์ ์ ์งํํ๊ฒ ์ต๋๋ค. ํด๋น ์ ๋ ฅ๋์ ์ฌ์ฉํ๊ณ ์ถ์ ๋ณ์นญ์ ์ ๋ ฅํฉ๋๋ค. abc๋ก ํ๊ฒ ์ต๋๋ค.
TCP/IP ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
ํธ์คํธ ๋ช ๊ณผ ์ฐ๊ฒฐํ ๋ฆฌ์ค๋์ ํฌํธ๋ฅผ ์ง์ ํด์ค๋๋ค.
์ฐ๊ฒฐํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋น์ค๋ช ์ ์ ๋ ฅํด์ค๋๋ค. Connection Type์์๋ Shared Server ํน์ Dedicated Server๋ก ๋๋ ์ ์ ์ํ๋ ์ต์ ์ ์ ํํ ์์์ต๋๋ค. Database Default๋ก ์ง์ ํ๊ฒ ์ต๋๋ค.
ํ ์คํธ ๋ฒํผ์ ๋๋ฅด๊ฒ ๋๋ฉด scott๊ณ์ ์ผ๋ก ํ์ธํ๋ ์์ ์ ํฉ๋๋ค. ํ ์คํธ ํ์ง์๊ณ ์งํํ๊ฒ ์ต๋๋ค.
์ค์ ์ ๋ชจ๋ ์๋ฃํ์ผ๋ ์ข์ธก ์๋จ์ File - Save Network Configuration์ผ๋ก ์ ์ฅํ๊ณ ๋น ์ ธ๋์ต๋๋ค.
[oracle@host01 ~]$ cd $ORACLE_HOME/network/admin
[oracle@host01 admin]$ vi tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0.2/dbhome/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ABC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host01)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PROD)
)
)
tnsnames.ora ํ์ผ์ ์ด์ด๋ณด๋ ABC๋ผ๋ ๋ณ์นญ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์์ ๋ณด๊ฐ ๊ธฐ์ฌ๋์ด ์์ต๋๋ค. ์ด์ ํด๋น ๋ณ์นญ์ผ๋ก ์ ์์ด ๊ฐ๋ฅํ์ง ํ์ธํด๋ณด๊ณ์ต๋๋ค.
[oracle@host01 admin]$ sqlplus system/oracle@abc
Oracle Net Configuration Assistant ์ฌ์ฉ
[oracle@host01 ~]$ netca
Local Net Service Name configuration์ ํตํด tnsnames.oraํ์ผ์ alias๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
Add ์ ํํฉ๋๋ค.
์ ์ํ ์๋น์ค ๋ช ์นญ์ ์ ๋ ฅํฉ๋๋ค.
TCP ํต์ ์ ํํฉ๋๋ค.
ํธ์คํธ๋ช ๊ณผ ์ฌ์ฉํ ๋ฆฌ์ค๋์ ํฌํธ๋ฅผ ์ง์ ํฉ๋๋ค.
ํ ์คํธ๋ ๊ฑด๋๋๋๋ค.
๋ณ์นญ์ ์ง์ ํด์ค๋๋ค.
์ถ๊ฐ ์์ ์ ์์ผ๋ฏ๋ก NO ์ ํ ํ Next
์ถ๊ฐ๊ฐ ์๋ฃ๋์์ต๋๋ค. ์ด์ tnsnames.ora ํ์ผ์ ๋ค์ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
[oracle@host01 ~]$ cd $ORACLE_HOME/network/admin
[oracle@host01 admin]$ vi tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0.2/dbhome/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
EFG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host01)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PROD)
)
)
ABC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host01)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PROD)
)
)
์ง์ ํ EFG ์๋น์ค ๋ช ์ด ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ ์๋ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
[oracle@host01 admin]$ sqlplus system/oracle@efg
์ ์ ์๋ฃ๋์๊ณ tnsnames.ora ํ์ผ์ ์ฌ์ฉํด์ ์ค๋ผํด์ ์ ์ํ๋ ์ค์ต์ ํด๋ดค์ต๋๋ค.
๋๊ธ