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

# Discard

## DML DISCARD

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

해당 기능을 사용하면 특정한 에러에 대해 재시도하는 대신 해당 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="warning" %}
**주의**

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

###

***

## DDL DISCARD

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

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

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

단, TABLE 관련 DDL은 해당 기능을 사용하더라도 실패하는 경우 생략할 수 없다.
{% endhint %}

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

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

```
DDL_DISCARD_YN=[Y|N]
DDL_DISCARD_FILE_YN=[Y|N]

DDL_DISCARD_FILE_DIR=/directory/to/save/file
DDL_DISCARD_FILE_SIZE=200M
DDL_DISCARD_BACKUP_DIR=/directory/to/save/backup/file
DDL_DISCARD_BACKUP_SIZE=10G
```

<table><thead><tr><th width="263.4140625">파라미터 이름</th><th>설명</th></tr></thead><tbody><tr><td>DDL_DISCARD_YN</td><td><p>동기화 중 에러가 발생하는 경우에 스킵할 지에 여부를 설정한다. </p><ul><li>유형: Y/N </li><li>범위: Y/N</li><li>기본값: N</li></ul></td></tr><tr><td>DDL_DISCARD_FILE_YN</td><td><p>DISCARD 동작이 발생했을 때 해당 내용을 discard 파일에 남기는 기능을 활성화 하는 파라미터이다. </p><ul><li>유형: Y/N</li><li>범위: Y/N</li><li>기본값: N</li></ul></td></tr><tr><td>DDL_DISCARD_FILE_DIR</td><td><p>discard file의 저장 위치를 지정하는 파라미터. </p><ul><li>유형: 디렉토리</li><li>범위: -</li><li>기본값: "/"</li></ul></td></tr><tr><td>DDL_DISCARD_FILE_SIZE</td><td><p>discard 파일의 최대 크기를 지정하는 파라미터. </p><ul><li>유형: int32</li><li>범위: 1M - 1G</li><li>기본값: 100M</li></ul></td></tr><tr><td>DDL_DISCARD_BACKUP_DIR</td><td><p>discard 파일의 크기가 설정한 최대 크기를 초과하게 되면 생성하는 백업파일의 위치를 지정하는 파라미터. </p><ul><li>유형: 디렉토리</li><li>범위: -</li><li>기본값: "/"</li></ul></td></tr><tr><td>DDL_DISCARD_BACKUP_SIZE</td><td><p>backup 디렉토리의 최대 크기를 지정하는 파라미터. </p><ul><li>유형: uint64</li><li>범위: 0 - 128G</li><li>기본값: 0</li></ul></td></tr></tbody></table>

###


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.tibero.com/prosync/administration/apply/key-features/flow-control/conflict/discard.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
