알버트의 개발하는 블로그

[Oracle] 오라클 리스너와 TNS에 대해서 본문

프로그래밍 언어/DB

[Oracle] 오라클 리스너와 TNS에 대해서

알버트 2021. 12. 16. 16:48

1.리스너(listener)란?
리스너란, 오라클 서버에서 클라이언트와의 통신 환경을 설정하는 파일이다.

오라클 서버에 존재하며 오라클 클라이언트에서 서버로 접속할 때 필요한 프로토콜과 포트 정보등을 설정하여 준다.

 

ex)


SID_LIST_LISTENER =

(SID_LIST=
  (SID_DESC =
   (SID_NAME = PLSExtProc)
   (ORACLE_HOME =C:\oraclexe\app\product\11.2.0\server)
   (PROGRAM = extproc)
  )

  (SID_DESC =
   (SID_NAME = CLRExtProc)
   (ORACLE_HOME = C:\oralcexe\app\product\11.2.0\server)
   (PROGRAM = extproc)
  )
)

LISTENER =
 (DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 컴퓨터이름)(PORT = 1521))
  )
)

DEFAULT_SERVICE_LISTENER = (XE)

 


 



2.TNS(Transparent Network Subtrate)란?
tnsname.ora파일을 의미하는데, 리스너파일과 같은 경로에 있다.

client가 Oracle Server에 접속하기 위해서 server 컴퓨터에 하는 설정 파일이다.
클라이언트에서 오라클 서버로 접속할 때 필요한 프로토콜 및 포트번호, 서버주소, 인스턴스 등을 설정해주는 파일

 
ex)

XE =
(DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 컴퓨터이름)(PORT = 1521))
   (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = XE)
  )
)


TNS는 TCP프로토콜만 받을 수 있다.

 


참고 내용
-DESCRIPTION: 접속하고자 하는 데이터베이스 정보
-ADDRESS: 접속하고자 하는 데이터베이스 서버의 리스너를 호출하기 위한 주소정보
-CONNECT_DATA: SERVICE_NAME 옵션을 이용하여 접속할 리스너 프로세스가 사용하는 서비스 이름을 지정하거나
                         또는 SID옵션을 이용하여 데이터베이스의 SID명을 지정
-SID_NAME: 리스너의 접속을 허용하는 데이터베이스의 SID명을 지정