> For the complete documentation index, see [llms.txt](https://docs.tibero.com/tibero-manuals/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tibero.com/tibero-manuals/7.2.6.manuals/administrator-guide/appendix/appendix-a-tbdsn-tbr.md).

# Appendix A. tbdsn.tbr

tbdsn.tbr 파일은 클라이언트가 Tibero 데이터베이스에 접속하는 데 필요한 정보를 포함하는 환경 설정 파일입니다. 기본적으로 tbdsn.tbr 파일에는 SID, 호스트, 포트 번호 등의 정보가 포함되어 있습니다.

예를 들면 다음과 같습니다.

```
tb=(
    (INSTANCE=(HOST=168.1.1.33)
             (PORT=8629)
             (DB_NAME=tibero)
    )
)
```

## tbdsn.tbr 구조

tbdsn.tbr 파일은 다음과 같은 구조로 이루어져 있습니다.

```
SID_1=(
    (INSTANCE=(항목1=값1)
             (항목2=값2)
             ...
    )
)

SID_2=(
    (INSTANCE=(항목1=값1)
             (항목2=값2)
             ...
    )
)

TB_NLS_LANG=EUCKR

TBCLI_LOG_LVL=TRACE

TBCLI_LOG_DIR=/home/test/log

...
```

SID는 클라이언트에서 해당 서버를 식별하기 위한 고유한 이름으로 위 구조와 같이 세부 항목이 포함되어 있으며 병렬 구조의 형태를 띱니다.

tbdsn.tbr에서 SID로 사용할 수 있는 표준 문자는 문자(A\~Z, a\~z), 숫자(0\~9), 언더라인(\_), 샵(#), 달러($)입니다. 첫 글자는 문자 또는 언더라인만 사용할 수 있으며, 대소문자를 구별합니다.

SID의 세부 항목은 다음과 같습니다.

<table><thead><tr><th width="159">항목</th><th>설명</th></tr></thead><tbody><tr><td>HOST</td><td>서버의 IP 주소(예: HOST=168.1.1.33)</td></tr><tr><td>PORT</td><td>서버의 포트 번호(예: PORT=8629)</td></tr><tr><td>DB_NAME</td><td>데이터베이스 이름(예: DB_NAME=tibero)</td></tr></tbody></table>

SID 외에도 클라이언트 환경을 설정할 수 있습니다. 이 설정은 환경 변수로도 지정할 수 있습니다. 두 위치에 모두 설정된 경우 tbdsn.tbr 파일 설정을 우선 적용합니다.

<table><thead><tr><th width="172">항목</th><th>설명</th></tr></thead><tbody><tr><td>TB_NLS_LANG</td><td><p>클라이언트에서 사용하는 문자 집합을 지정<br>TB_NLS_LANG의 기본값은 다음과 같음<br></p><ul><li>Tibero 6 이전: MSWIN949</li><li>Tibero 7 이후: UTF8(예: <code>TB_NLS_LANG=UTF8</code>)</li></ul></td></tr><tr><td>TBCLI_LOG_LVL</td><td>CLI의 로그 레벨을 지정할 수 있음(예: <code>TBCLI_LOG_LVL=TRACE</code>)</td></tr><tr><td>TBCLI_LOG_DIR</td><td><ul><li>CLI 로그를 저장할 디렉터리를 지정할 수 있음</li><li>기본 디렉터리는 Windows에서 <code>c:\</code>, UNIX 계열에서 <code>/tmp</code><br>(예: <code>TBCLI_LOG_DIR=/home/test/log</code>)</li></ul></td></tr></tbody></table>

## 이중화 서버 설정

이중화 서버(Replication server)는 물리적으로 독립된 여러 서버를 동일하게 복제한 구성입니다. 동일하게 복제된 서버 중 하나에 접속할 수 있습니다. 한 서버가 정지해도 다른 서버에 접속하여 같은 작업을 수행할 수 있습니다.

tbdsn.tbr 파일에서 이중화 서버를 구성하려면 다음과 같이 하나의 SID에 이중화 서버를 INSTANCE 항목으로 설정합니다. 이중화 서버로 설정한 SID는 항상 CTF(Connection Time Failover)를 지원합니다.

```
tb=(
        (INSTANCE=(HOST=168.1.1.33)
                (PORT=8629)
                (DB_NAME=tibero)
        )
        (INSTANCE=(HOST=192.168.1.25)
                (PORT=8629)
                (DB_NAME=tibero2)
        )
        (INSTANCE=(HOST=localhost)
                (PORT=8629)
                (DB_NAME=tibero)
        )
)
```

## 로드 밸런싱 설정

Tibero는 이중화 서버에서 특정 서버로의 접속 집중을 막기 위해 로드 밸런싱(Load balancing) 기능을 지원합니다. 이 기능은 접속을 분산하여 시스템 과부하를 방지하고 더 나은 접속 환경을 제공합니다.

tbdsn.tbr 파일에서 로드 밸런싱 기능을 설정하는 방법은 다음과 같습니다.

```
tb=(
        (INSTANCE=(HOST=168.1.1.33)
                (PORT=8629)
                (DB_NAME=tibero)
        )
        (INSTANCE=(HOST=192.168.1.25)
                (PORT=8629)
                (DB_NAME=tibero2)
        )
        (INSTANCE=(HOST=localhost)
                (PORT=8629)
                (DB_NAME=tibero)
        )
        (LOAD_BALANCE=Y)
)
```

위 예제처럼 SID 내의 LOAD\_BALANCE 값을 'Y'로 설정하면 로드 밸런싱 기능을 사용할 수 있습니다. LOAD\_BALANCE 값이 없거나 'Y' 외의 값을 입력하면 로드 밸런싱 기능은 동작하지 않습니다.

## Failover 설정

Tibero가 TAC 또는 이중화된 서버로 설정된 상태에서 장애로 인해 중단되면 CLI 모듈은 다른 인스턴스 또는 이중화된 서버로 접속하여 해당 세션을 자동으로 복구합니다.

tbdsn.tbr 파일에서 Failover 기능을 설정하는 방법은 다음과 같습니다.

```
tb=(
        (INSTANCE=(HOST=168.1.1.33)
                (PORT=8629)
                (DB_NAME=tibero)
        )
        (INSTANCE=(HOST=192.168.1.25)
                (PORT=8629)
                (DB_NAME=tibero2)
        )
        (INSTANCE=(HOST=localhost)
                (PORT=8629)
                (DB_NAME=tibero)
        )
        (USE_FAILOVER=Y)
        (FORCE_FAILOVER_DELAY=10)
)
```

위 예제처럼 SID 내의 USE\_FAILOVER 값을 'Y'로 설정하면 Failover 기능을 사용할 수 있습니다. 단, 문장(Statement) 수준의 복구는 지원하지 않습니다.

FORCE\_FAILOVER\_DELAY는 Failover 기능의 선택적 옵션입니다. 다른 인스턴스 또는 이중화 서버에 접속하기 전 일정 지연 시간(단위: 초) 후에 접속을 시도합니다. 위 예제에서는 10초 후 다른 인스턴스로 Failover를 시도합니다.

{% hint style="info" %}
**참고**

1. CTF(Connection Time Failover)는 USE\_FAILOVER 설정과는 관련이 없으며 이중화 서버로 구성한 SID에 대해서는 항상 지원합니다.
2. USE\_FAILOVER 설정으로 서버에 접속할 때 서버가 normal 모드로 기동하지 않았다면 오류(ERROR\_CLIMSG\_REDIRECT)가 발생합니다. 이 경우 접속할 서버를 명시해야 합니다.
   {% endhint %}
