> For the complete documentation index, see [llms.txt](https://docs.tibero.com/prosync/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/prosync/installation/pre-installation/environment-variable.md).

# 시스템 환경변수 설정

ProSync를 설치하기 위해 필요한 환경변수를 설명한다.

ProSync를 설치하기 위해 필요한 환경변수는 다음과 같다.

<table><thead><tr><th width="149.82843017578125">환경변수</th><th>설명</th></tr></thead><tbody><tr><td><code>TB_HOME</code></td><td><code>TB_HOME</code>은 Tibero DB가 설치된 홈 디렉토리이다.<br>Tibero가 Source DB 또는 Target DB에 포함된 경우 해당 경로로 설정한다.<br><br>Tibero를 사용하지 않는 경우에도 변수 자체는 반드시 설정되어야 하며, 이 경우 공백이나 dummy 경로 등으로 설정한다.</td></tr><tr><td><code>ORACLE_HOME</code></td><td>Oracle DB가 Source DB 또는 Target DB에 포함된 경우에만 설정한다.</td></tr><tr><td><code>PRS_HOME</code></td><td>ProSync가 설치된 최상위 디렉토리를 설정한다.</td></tr><tr><td><code>PATH</code></td><td><p>파일 시스템을 통해 특정 파일에 접근하기 위한 디렉토리 경로를 설정하는 환경변수이다. 아래와 같이 설정한다.</p><pre class="language-bash" data-collapsed-line-count="10"><code class="lang-bash">export PATH=$PRS_HOME/bin:$PRS_HOME/client/bin:$PATH
</code></pre></td></tr><tr><td><code>LD_LIBRARY_PATH</code></td><td><p>DB 접속을 위해 클라이언트 라이브러리에 대한 접근 경로를 설정한다.</p><p>OS에 따라 <code>LIBPATH</code>, <code>SHLIB_PATH</code> 등으로 다를 수 있으며, 아래와 같이 설정한다.</p><pre class="language-bash" data-overflow="wrap" data-full-width="false" data-collapsed-line-count="10"><code class="lang-bash">export LD_LIBRARY_PATH=$PRS_HOME/lib:$PRS_HOME/client/lib:$LD_LIBRARY_PATH
</code></pre></td></tr><tr><td><code>LANG</code>, <code>LC_*</code></td><td>설치를 수행하는 shell의 locale을 설정한다. 설정값에 따라 설치가 실패할 수 있으므로 아래 'Locale 및 Character Set 설정'을 참고한다.</td></tr><tr><td>DB 클라이언트 Character Set 변수</td><td>DB 클라이언트가 사용할 Character Set을 설정한다. DB 종류에 따라 변수명이 다르며, Tibero는 <code>TB_NLS_LANG</code>, Oracle은 <code>NLS_LANG</code>, PostgreSQL은 <code>PGCLIENTENCODING</code>을 사용한다. 설정값에 따라 설치가 실패할 수 있으므로 아래 'Locale 및 Character Set 설정'을 참고한다.</td></tr></tbody></table>

### Locale 및 Character Set 설정 <a href="#locale-character-set" id="locale-character-set"></a>

설치 스크립트는 SQL 실행 결과를 `prs_install.log`에 기록한 뒤, 그 **텍스트에서 오류 코드를 추출**하여 무시해도 되는 오류인지 판단한다. 예를 들어 설치 초기의 기존 객체 정리 단계에서는 객체가 존재하지 않아 발생하는 오류(`TBR-7071`, `ORA-00942`, `ORA-02289`, `ORA-04043` 등)가 정상적으로 발생하며, 설치 스크립트는 이를 무시하고 진행한다.

따라서 오류 메시지가 설치 로그에 깨지지 않고 기록되도록, **설치를 수행하는 shell의 locale과 DB 클라이언트의 Character Set 설정을 서로 일치시켜야 한다.** 설정이 서로 다르면 DB가 반환한 오류 메시지가 깨진 문자로 기록되고, 설치 스크립트가 오류 코드를 정확히 추출하지 못해 **무시해도 되는 오류까지 설치 실패로 처리**되어 설치가 중단된다.

다음은 오류 메시지가 깨져 설치가 중단된 예시이다. 무시 대상인 `ORA-00942`가 실패로 처리되었다.

{% code collapsedlinecount="10" %}

```
********************************************************************************
* Install to Source Database (3/5)
********************************************************************************
Checking archived log mode... ok
Checking Oracle Version... ok : 19
Dropping ProSync objects... failed 00942읶 ORA-00942: 읶
```

{% endcode %}

#### 확인 항목 <a href="#undefined" id="undefined"></a>

* 설치를 수행하는 shell의 locale(`LANG`, `LC_*`)과 DB의 CHARSET, NCHARSET 설정이 서로 맞는지 확인한다.
* DB 클라이언트의 Character Set 변수(Tibero `TB_NLS_LANG`, Oracle `NLS_LANG`, PostgreSQL `PGCLIENTENCODING`)를 shell locale의 encoding과 일치시킨다.
* 설정은 Source DB와 Target DB 구분 없이 **설치에 사용하는 모든 shell에 동일하게** 적용한다.

### 설치 시 DB 별 주의사항 <a href="#db" id="db"></a>

설치 시 Source/Target DB에 모두 접속하기 때문에 DB별 환경변수가 모두 설정되어야 한다.

#### Tibero <a href="#tibero" id="tibero"></a>

* tbsql 바이너리 경로가 PATH 환경변수에 존재해야 한다.
* Tibero 데이터베이스를 사용하지 않는 경우, [별칭 설정 가이드](/prosync/installation/pre-installation/database-alias.md) 참고하여 dsn파일 생성 후 TB\_DSN\_FILE 환경변수에 해당 파일 경로를 설정한다.

#### Oracle <a href="#oracle" id="oracle"></a>

* sqlplus 바이너리 경로가 PATH 환경변수에 존재해야 한다.
* Oracle 데이터베이스를 사용하지 않는 경우, [별칭 설정 가이드](/prosync/installation/pre-installation/database-alias.md) 참고하여 tnsnames.ora 파일 생성 후 TNS\_ADMIN 환경변수에 해당 파일이 존재하는 폴더 경로를 설정한다.

#### PostgreSQL <a href="#postgresql" id="postgresql"></a>

* psql 바이너리 경로가 PATH 환경변수에 존재해야 한다.
* PostgreSQL 데이터베이스를 사용하지 않는 경우, [별칭 설정 가이드](/prosync/installation/pre-installation/database-alias.md) 참고하여 service 파일 생성 후 PGSERVICEFILE 환경변수에 해당 파일 경로를 설정한다.
