본문 바로가기
오라클/이론 및 실습

Oracle Net Service(3) - tnsname.ora

by LaTale 2019. 7. 11.

Client쪽의 User Process가 Server를 찾아가기 위한 정보를 담고 있는 설정 파일이다.


기본 경로는 $ORACLE_HOME/network/admin이다.


listener.ora와 마찬가지로 파라미터들을 이용해 설정할 수 있다.


1. Protocol Section에 설정

- ENABLE

  접속만 하고 아무 작업을 하지 않는 Idle상태일 때 서버가 Down되었는지를 확인한다.


 - FAILOVER

  접속할 서버가 여러 개 있어서 address부분에 여러 개의 Host가 적혀 있을 경우 첫 번째 접속이 실패할 경우 두 번째 접속으로 접속하는 것을 설정한다.


 - LOAD_BALANCE

  여러 개의 Host가 있을 경우 부하 분산 유무를 결정하는 파라미터이다. 즉, 설정된 Host들에 랜덤으로 접속해서 작업을 수행한다.

 만약 FAILOVER와 같이 ON되어 있다면 성공할 때 까지 순서대로 다음 주소로 시도한다.


 - RECV_BUF_SIZE

  서버로부터 데이터를 받아서 저장할 Buffer의 크기를 바이트 단위로 저장한다.


 - SEND_BUF_SIZE

  서버로 보낼 때 사용할 Buffer의 크기를 바이트 단위로 저장한다.


 - SDU

  Session Data Unit의 약자로 server와 client 사이에 데이터를 주고 받을 때 사용하는 패킷의 크기를 지정한다.


 - SOURCE_ROUTE

  목적지까지의 경로를 직접 지정한다.


2. CONNECT_DATA Section

 - CONNECT_DATA

  접속하기 위한 SERVICE_NAME 등을 설정한다. 하위 파라미터로 아래 파라미터들이 사용된다.


 - FAILOVER_MODE

  서비스중인 리스너에 장애 발생 시 다른 리스너로 Failover기능을 구현한다.


 - METHOD

  운영중인 노드에 장애 발생 시 얼마나 빨리 다음 노드로 Failover되는지 지정하는 파라미터이다. 다음과 같이 두 가지 값이 있다.

   - basic : 장애 발생 시 백업 노드로 연결한다. 백업 노드는 장애 발생 전까지는 대기하고 있는다.

   - preconnect : 장애 발생 전에 미리 연결을 해 놓고 기다린다.


 - RETRIES

  failover 후 재접속을 시도하는 횟수를 지정한다. DELAY가 설정되어 있다면 기본적으로 5번 시도를 한다.


 - DELAY

  접속 시도를 하면서 기다리는 시간을 지정한다. RETRIES가 설정되어 있다면 기본값으로 1초로 설정된다.


 - GLOBAL_NAME

  Oracle Rdb Database 사용 시 설정한다.


 - HS

  Oracle Net Service에서 Non-Oracle system으로 접속할 때 Heterogeneous Services를 이용하도록 설정하는 파라미터이다.


 - INSTANCE_NAME

  접속하려고 하는 Instance Name을 지정한다.


 - RDB_DATABASE

  Oracle Rdb Database를 사용할 경우 file명을 지정한다.


 - SERVER

  리스너에 접속할 때 Server 모드를 지정한다. dedicated, shared, pooled 와 같은 옵션을 가진다.


 - SERVICE_NAME

  접속하고자 하는 service name을 지정한다.


 - SECURITY

  SECURITY기능을 사용할 때 지정한다.


 - SSL_SERVER_CERT_DN

  데이터베이스의 distinguished name(DN)을 지정한다.


3. Timeout Section에 설정

 - CONNECT_TIMEOUT

  서버로 접속을 시도할 때 허용하는 시간을 초 단위로 지정한다.


 - RETRY_COUNT

  접속 실패 시 재 시작하는 횟수를 지정한다.