> For the complete documentation index, see [llms.txt](https://docs.tibero.com/prosyncmanager/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/prosyncmanager/releasenote/4.7.md).

# 4.7

ProSyncManager 4.7 에서 기능 추가 및 개선된 사항에 대해 안내합니다.

> #### **Release Highlights**
>
> * Source Oracle ASM 환경의 Instance 설치 설정 추가
> * 웹 및 API 접속에 HTTPS 적용
> * 인증서 자동 생성 및 외부 인증서 적용 지원
> * Integrity Check의 데이터형별 비교 방식 개선
> * Apache Tomcat, repoDB 및 Tibero JDBC 업데이트

## 업그레이드 시 확인 사항

4.6 이하 버전에서 업그레이드하기 전에 다음 사항을 확인해야 합니다.

#### HTTPS 접속

웹 화면과 API의 접속 주소를 `http://`에서 `https://`로 변경해야 합니다. 웹 포트는 `install.cfg`의 `SERVER_PORT`를 사용하며, 기본값은 기존과 동일한 `8080`입니다. 기본 설정의 웹 접속 주소는 `https://localhost:8080/`입니다. 기존 HTTP 설치 환경에는 4.7 배포본의 Tomcat 설정과 설치 절차를 함께 적용해야 하며, `regen-cert` 명령만으로 기존 HTTP 접속 설정이 HTTPS로 변경되지는 않습니다.

#### 인증서 및 설치 도구

인증서 설정에는 `keytool`과 OpenSSL 1.1.1 이상이 필요합니다. 실제 접속하는 호스트명 또는 IP가 인증서의 SAN에 포함되어야 합니다. 자체 서명 인증서를 사용하는 경우 브라우저 및 연동 클라이언트의 인증서 신뢰 설정을 확인해야 합니다.

#### repoDB 교체

repoDB 이미지 변경 시 기존 데이터는 자동으로 이전되거나 업그레이드되지 않습니다. 기존 repoDB를 유지하는 경우에는 설치 과정의 repoDB 설치 단계에서 `n`을 선택하여 설치를 건너뛸 수 있습니다. repoDB를 교체하거나 재설치하는 경우에는 기존 데이터와 볼륨을 확인하고, 백업 및 데이터 이전 절차를 별도로 준비해야 합니다.

#### 정합성 검사

4.6에서는 문자열 비교에 공백 제거를 적용하였으나, 4.7에서는 `CHAR` 계열과 `VARCHAR` 계열 간 비교에만 앞뒤 공백 제거를 적용합니다. `CHAR` 계열끼리 또는 `VARCHAR` 계열끼리 비교할 때는 이 처리를 적용하지 않습니다. 이기종 DB의 날짜 및 빈 값 비교 기준도 변경되어, 같은 데이터라도 4.6.8과 정합성 검사 결과가 달라질 수 있습니다.

## 신규 기능

#### Source Oracle ASM 환경의 Instance 설치 설정을 지원합니다.

Oracle을 Source 데이터베이스로 사용하는 Instance의 설치 화면에 `For Oracle ASM` 설정이 추가되었습니다.

* `USE ASM`에서 `Yes`를 선택하면 `ASM DB Name`, `ASM User`, `ASM Password`를 입력할 수 있습니다.
* 입력한 ASM 접속 정보를 Instance 설치 설정으로 전달합니다.
* `USE ASM`의 기본값은 `No`이며, 이때 ASM 입력란은 비활성화됩니다.

#### 웹 및 API 접속에 HTTPS를 적용합니다.

웹 화면 및 API 접속에 HTTPS를 적용하고, TLS 1.2와 TLS 1.3을 사용하도록 구성하였습니다.

* 설치 시 호스트명과 IP를 SAN에 포함하는 자체 서명 인증서를 자동 생성합니다. 기본 인증서는 RSA 3072비트이며, 유효기간은 365일입니다.
* 외부 PKCS12 인증서 또는 PEM 인증서 · 개인키를 적용할 수 있습니다. 외부 인증서는 RSA 및 EC(ECDSA)를 지원합니다.
* 자체 서명 인증서에 추가 접속 주소가 필요한 경우 `EXTRA_SAN`으로 지정할 수 있습니다.

### 신규 파라미터

#### Install Parameter

HTTPS 인증서 적용을 위한 설치 설정이 `install.cfg`에 추가되었습니다. 각 항목의 기본값은 미설정이며, 외부 인증서 설정을 지정하지 않으면 자체 서명 인증서를 생성합니다.

<table><thead><tr><th width="310">Parameter Name</th><th>설명</th><th width="90">Default</th></tr></thead><tbody><tr><td>EXTERNAL_KEYSTORE</td><td>외부 PKCS12 인증서 파일의 경로입니다. EXTERNAL_KEYSTORE_PASS_FILE과 함께 지정합니다.</td><td>미설정</td></tr><tr><td>EXTERNAL_KEYSTORE_PASS_FILE</td><td>PKCS12 인증서의 비밀번호가 저장된 파일의 경로입니다.</td><td>미설정</td></tr><tr><td>EXTERNAL_CERT</td><td>외부 PEM 인증서 파일의 경로입니다. EXTERNAL_KEY와 함께 지정합니다.</td><td>미설정</td></tr><tr><td>EXTERNAL_KEY</td><td>외부 PEM 인증서에 대응하는 개인키 파일의 경로입니다.</td><td>미설정</td></tr><tr><td>EXTERNAL_CHAIN</td><td>외부 PEM 인증서 적용 시 필요한 인증서 체인 파일의 경로입니다. 필요한 경우에만 지정합니다.</td><td>미설정</td></tr><tr><td>EXTRA_SAN</td><td>자체 서명 인증서에 추가할 접속 주소입니다. DNS:호스트명,IP:주소 형식으로 지정합니다.</td><td>미설정</td></tr></tbody></table>

{% hint style="info" %}
**사용 조건**

외부 PKCS12 방식과 PEM 방식은 동시에 설정할 수 없습니다. `EXTRA_SAN`은 자체 서명 인증서에서만 사용할 수 있으며, 외부 인증서 설정과 함께 지정할 수 없습니다.
{% endhint %}

## **변경 사항**

### 주요 기능

#### Integrity Check

* `CHAR` 계열과 `VARCHAR` 계열을 비교할 때 앞뒤 공백을 제거하도록 변경되었습니다. `NCHAR` 및 `NVARCHAR` 계열도 포함하며, 문자열 내부 공백은 유지합니다.
* Oracle/Tibero `DATE`와 PostgreSQL `DATE`를 비교할 때 시각 부분을 제외하고 날짜를 비교하도록 변경되었습니다.
* PostgreSQL과 Oracle/Tibero의 `CHAR` · `VARCHAR` 계열 비교에서 빈 문자열과 `NULL`을 동등하게 처리하도록 변경되었습니다.
* PostgreSQL `BYTEA`와 Oracle/Tibero `RAW` 비교에서 빈 바이너리 값과 `NULL`을 동등하게 처리하도록 변경되었습니다.

위 비교 기준은 데이터 비교 대상 컬럼의 값에 적용됩니다.

#### 배포 구성

* Apache Tomcat이 9.0.100에서 9.0.121로 업데이트되었습니다.
* repoDB 이미지가 `tmaxopensql/postgres:14.6`에서 `postgres:14.24`로 변경되었습니다. repoDB 설치 및 상태 확인 절차도 PostgreSQL 공식 이미지에 맞게 변경되었습니다.
* Tibero JDBC가 Tibero 7.0 드라이버에서 Tibero 7.2 드라이버(JDK 1.8용)로 업데이트되었습니다.
* 정합성 검사 모듈이 1.2.5에서 1.3.4로 업데이트되었습니다.

### 편의성 개선

* 인증서 갱신 및 접속 주소 변경을 위한 `prosyncmanager regen-cert` 명령이 추가되었습니다. 인증서 변경 후 서비스를 재시작해야 반영됩니다.
* `prosyncmanager status`가 HTTPS 접속을 기준으로 서버와 웹 상태를 확인하도록 개선되었습니다.
