> 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/4.5_manual/administration/apply/key-features/flow-control/conflict/discard.md).

# Discard

ProSync가 동기화 과정 속에 DML을 Target DB에 반영 중 에러가 발생할 수 있다. 일반적인 경우에는 ProSync가 해당 DML에 대한 반영을 성공할 때 까지 재시도하게 된다.

&#x20;해당 기능을 사용하면 특정한 에러에 대해 재시도하는 대신 해당 DML에 대한 반영을 생략하고 이후의 동기화를 진행하도록 설정할 수 있다.

&#x20;또한 DISCARD 기능이 발생한 이력을 기록하는 Discard file 을 작성할 수 있다.

해당 기능을 사용하기 위해선 config 파일에 다음과 같은 Parameter를 설정해야 한다.

```
DISCARD_YN=[Y|N]
DISCARD_EC=2 10007 8033
DISCARD_FILE_YN=[Y|N]

DISCARD_FILE_DIR=/directory/to/save/file
DISCARD_FILE_SIZE=200M
DISCARD_BACKUP_DIR=/directory/to/save/backup/file
DISCARD_BACKUP_SIZE=10G
```

<table><thead><tr><th width="214">파라미터 이름</th><th>설명</th></tr></thead><tbody><tr><td>DISCARD_YN</td><td><p>동기화 중 에러가 발생하는 경우에 스킵할 지에 여부를 설정한다. <br>Y 상태에선 발생한 에러가 DISCARD_EC 에 작성된 에러코드에 속해있는 경우 재시도를 생략한다.</p><ul><li>유형: Y/N </li><li>범위: Y/N</li><li>기본값: N</li></ul></td></tr><tr><td>DISCARD_EC</td><td><p>재시도를 하지 않고 건너뛰고자 하는 에러코드를 입력한다. </p><ul><li>유형: 에러코드</li><li>범위: 최대 256개</li><li>기본값: </li></ul></td></tr><tr><td>DISCARD_FILE_YN</td><td><p>DISCARD 동작이 발생했을 때 해당 내용을 discard 파일에 남기는 기능을 활성화 하는 파라미터이다. </p><ul><li>유형: Y/N, dynamic</li><li>범위: Y/N</li><li>기본값: N</li></ul></td></tr><tr><td>DISCARD_FILE_DIR</td><td><p>discard file의 저장 위치를 지정하는 파라미터. </p><ul><li>유형: 디렉토리</li><li>범위: -</li><li>기본값: (LOG_DIR과 같은 디렉토리)</li></ul></td></tr><tr><td>DISCARD_FILE_SIZE</td><td><p>discard 파일의 최대 크기를 지정하는 파라미터. </p><ul><li>유형: int32, dynamic</li><li>범위: 1M - 1G</li><li>기본값: 100M</li></ul></td></tr><tr><td>DISCARD_BACKUP_DIR</td><td><p>discard 파일의 크기가 설정한 최대 크기를 초과하게 되면 생성하는 백업파일의 위치를 지정하는 파라미터. </p><ul><li>유형: 디렉토리</li><li>범위: -</li><li>기본값: DISCARD_FILE_DIR/backup</li></ul></td></tr><tr><td>DISCARD_BACKUP_SIZE</td><td><p>backup 디렉토리의 최대 크기를 지정하는 파라미터. </p><ul><li>유형: uint64, dynamic</li><li>범위: 0 - 128G</li><li>기본값: 0(무제한)</li></ul></td></tr></tbody></table>

{% hint style="info" %}
**주의**

* DISCARD 기능을 활성화하면 batch apply 기능이 사용 불가능하다.
* DML을 반영할 때 발생하는 에러에 대해서 만 DISCARD 기능을 지원한다.
* (12032)Deadlock detected. 에러는 DISCARD 기능을 지원하지 않는다.
* SAM\_BIND\_VALUE=Y 를 사용하면, discard log에 실패한 query의 value 값이 함께 저장된다.&#x20;
  {% endhint %}

###
