# 기동 / 로그 확인 / 종료 / 초기화

## 1. 기동

### 1.1. SysMaster DB 환경 변수 설정

```
export SYSMASTERDB_HOME={SysMasterDB_Home_Path}
```

| 인자                          | 설명                                 |
| --------------------------- | ---------------------------------- |
| {*SysMasterDB\_Home\_Path*} | docker-compose.yml 파일이 위치한 디렉터리 경로 |

### 1.2. SYSMASTERDB\_HOME을 PATH에 추가

```
export PATH=$PATH:$SYSMASTERDB_HOME
```

### 1.3. 라이선스 파일 세팅

지정된 경로 하위에 발급받은 라이선스 파일을 배치한다. 라이선스 파일명과 경로는 아래와 같으며, **그 외의 파일명과 경로는 허용하지 않는다.**

* 지원 라이선스 파일명
  * `sysmaster-db-license.xml`
  * `sysmaster-db-license-*.xml`&#x20;
    * Ex. 1)  `sysmaster-db-license-real.xml`
    * Ex. 2)  `sysmaster-db-license-1000cores.xml`
* 라이선스 경로
  * `$SYSMASTERDB_HOME/license`

`$SYSMASTERDB_HOME` 경로 하위에 `license` 디렉토리가 존재하지 않는 경우, 해당 디렉토리를 직접 생성해준 후 발급 받은 라이선스 파일을 배치한다.

#### 1.3.1. 라이선스 파일 교체

라이선스(기간 만료 등의 이유로) 파일 교체가 필요한 경우, 아래와 같은 방법으로 새 라이선스를 적용할 수 있다.

1. `$SYSMASTERDB_HOME` 경로 하위 `license` 디렉토리 내부에 신규 라이선스 파일 배치.
2. 신규 라이선스 파일 적용 (택 1)
   * SysMasterDB 서비스 재기동
   * SysMasterDB 서비스 기동 상태에서 라이선스 업데이트
     * SDM 컨테이너 내부 터미널 접근 후, `refresh-license` 명령어 수행

       ```
       # SysMasterDB 서버 머신 터미널에서 SDM 컨테이너 내부 터미널 진입
       docker exec -it sdm /bin/sh
       ```

       ```
       # 라이선스 업데이트 명령어 수행
       refresh-license
       ```

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

SysMasterDB 서비스 기동 상태에서 라이선스 업데이트 시, 라이선스 디렉토리 내부에 유효한 라이선스 파일이 존재하지 않는 경우에는 기존 라이선스 적용 상태가 유지된다.
{% endhint %}

{% hint style="warning" %}
**제약 사항**

* 기존에 **Trial 라이선스**를 사용한 경우, 새 라이선스로 교체 시 반드시 정식 라이선스를 발급 받아 적용해야 한다.
* **Real 타입 라이선스**의 경우 복수 개의 라이선스 파일을 일괄 적용할 수 있다. 이 경우, 적용할 Real 타입 라이선스 파일을 모두 라이선스 경로 내에 배치하면 된다.
* **Real 타입 외 라이선스**의 경우, 라이선스 경로 내 유효한 라이선스 파일이 여러 개 존재하는 경우를 허용하지 않는다. 따라서 라이선스 경로 내에 실제 사용할 라이선스 파일만 두는 것을 권장한다.&#x20;
  {% endhint %}

### 1.4. 실행

#### 1.4.1. Docker-compose 환경

```
sysmaster-db up
```

#### 1.4.2. Podman-compose 환경

```
podman compose -f podman-compose.yml up -d
```

부팅이 완료된 이후에 로그인과 프로그램 사용이 가능하다. \
부팅 완료는 SDM 로그에서 아래와 같은 로그를 통해 확인할 수 있다.

```
Started SdmApplication in ... seconds (JVM running for ...)
```

***

## 2. 로그 확인

**.env** 파일의 로그 관련 파라미터 설정을 통해 로그가 저장될 경로를 지정할 수 있다. default 로그 경로는 **./logs**이므로 docker-compose.yml 파일이 있는 디렉터리에 logs 폴더가 자동으로 생성되며, 여기서 로그 파일을 확인할 수 있다.

***

## 3. 종료

SysMaster DB for PostgreSQL **기동**을 위한 **환경 변수** 및 **PATH**가 설정된 상태에서 아래의 명령을 수행하면 모든 서비스가 제거되고, SysMaster DB for PostgreSQL가 종료된다. 이때 SysMaster DB for PostgreSQL를 종료해도 METADB\_PATH와 REPODB\_PATH에 생성된 파일은 유지되므로, SysMaster DB for PostgreSQL를 다시 기동하면 종료 전과 동일하게 사용할 수 있다.

```
sysmaster-db down
```

***

## 4. 초기화

METADB\_PATH와 REPODB\_PATH 디렉터리를 삭제한 후 SysMaster DB for PostgreSQL를 다시 기동하면 최초 설치 상태와 동일하게 동작한다. 단, 이전에 저장한 데이터는 사용할 수 없다.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tibero.com/sysmasterdb-for-postgresql1.0/8.3_manual/installation-guide/installation/docker-compose-podman-compose-environment/up-down.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
