Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
BUG-50579 Edit Manual
  • Loading branch information
hoooon-kim committed Dec 21, 2023
commit 7d6de2b2aac8037bf50aeb53d619dd9fc8fde650
72 changes: 54 additions & 18 deletions Manuals/Altibase_7.1/kor/General Reference-2.The Data Dictionary.md
Original file line number Diff line number Diff line change
Expand Up @@ -9269,23 +9269,39 @@ Sender에게 ACK을 보내는 데 걸린 시간의 누적 값이다.

지역서버의 이중화 구동시에 명시한 구동 옵션이다. 다음 값들을 가질 수 있다.

- : 0
- NORMAL: 0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

START_FLAG가 BIGINT형인데, 이름: 숫자 형태가 아니라 숫자: 이름 순으로 쓰는 게 보기에 자연스럽지 않을까 합니다. STATUS 컬럼 설명은 숫자: 이름 형태로 되어 있습니다.

그리고 이름이 의미하는 것이 옵션이지 아니면 내부적으로 사용하는 상수인지요? 정의가 안 되어 있는 것 같아 궁금합니다.

V$REPGAP에도 동일한 형태로 작성되어 있습니다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

REPGAP도 같이 숫자 : 이름 형태로 수정하겠습니다.
내부 상수로 앞에 RP_ 가 붙은 채로 사용되고 있습니다.
rp.h 헤더파일을 확인하시면 enum으로 다음과 같이 정의되어 있습니다.
typedef enum RP_SENDER_TYPE
{
RP_NORMAL = 0,
RP_QUICK,
RP_SYNC,
RP_SYNC_ONLY,
RP_RECOVERY, //PROJ-1608 recovery from replication
RP_OFFLINE, //PROJ-1915 off-line replicator
RP_PARALLEL
} RP_SENDER_TYPE;

typedef enum RP_SENDER_STATUS
{
RP_SENDER_STOP = 0,
RP_SENDER_SYNC,
RP_SENDER_FAILBACK_NORMAL,
RP_SENDER_FAILBACK_MASTER,
RP_SENDER_FAILBACK_SLAVE,
RP_SENDER_RUN,
RP_SENDER_FAILBACK_EAGER, /* 여기부터는 Eager replication이 동작하는 status를 기술*/
RP_SENDER_FLUSH_FAILBACK,
RP_SENDER_IDLE,
RP_SENDER_RETRY
} RP_SENDER_STATUS;


- QUICK: 1
이 값은 액티브 서버쪽의 송신 쓰레드가 트랜잭션 로그를 분석하여 XLog로 변환한 후, 대기 서버로 XLog를 전송하는 것을 의미한다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

설명에 LAZY 모드라는 의미가 들어가야 할 것으로 보입니다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다.


- SYNC: 2
- QUICK: 1

- SYNC_ONLY: 3
이중화를 QUICKSTART 옵션으로 시작하면 이 값이 보여질 수 있는데, 이는 전송 시작 위치가 변경중임을 나타내며, 송신 쓰레드는 예전 로그를 무시하고 가장 최근 로그부터 전송을 시작할 것이다. 시작 위치 변경 후에는, QUICK에서 NORMAL로 바뀔 것이다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QUICK에서 NORMAL로 바뀔 것이다. --> QUICK에서 NORMAL로 변경된다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"가장 최근 로그"라는 것이 미전송 로그 중 마지막 하나를 의미하는지 궁금합니다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"가장 최근 로그"라는 것이 미전송 로그 중 마지막 하나를 의미하는지 궁금합니다.
rpxSenderXLSN에서
smiGetLastValidGSN -> updateXSN 을 하게 되는데, smiGetLastValidGSN의 주석을 보면 다음과 같이 나와있습니다.
마지막으로 Log를 기록하기 위해 "사용된/저장된" LSN값을 리턴한다.
-> 마지막으로 기록한 로그 레코드의 LSN으로 해석이 됩니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인 감사합니다.


- SYNC: 2

이 값은 SYNC 옵션으로 이중화를 시작할 때 보여진다. 동기화가 완료된 후, NORMAL (LAZY 모드) 또는 PARALLEL (EAGER 모드)로 바뀌어 보여진다.

- SYNC_ONLY: 3

지역 서버의 이중화 대상 테이블의 모든 데이터를 원격 서버의 대응하는 테이블의 데이터와 일치시키기 위해 수행하는 작업. 데이터의 동기화만 진행하고 더이상 이중화를 수행하지 않는다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SYNC ONLY 옵션으로 이중화를 시작할 때 보인다고 하는게 좋을 것 같습니다.
SYNC ONLY 옵션으로 이중화를 시작할 때 보여진다. 데이터의 동기화만 진행하고 더이상 이중화를 수행하지 않는다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"보여진다"는 영어는 괜찮은데, 한국어는 사용하기 조금 어색해 보입니다. 아래 내용 한번 참고하세요.

SYNC: 2
SYNC 옵션 사용 시, 지역 서버와 원격 서버간 데이터 동기화를 우선 진행 후 이중화를 시작한다. SYNC 동기화 작업이 진행 중을 표시하는 값이다. 동기화 완료 후 이중화가 시작되면, NORMAL (LAZY 모드) 또는 PARALLEL (EAGER 모드)로 값이 변경된다.

SYNC_ONLY: 3
SYNC ONLY 옵션은 지역 서버와 원격 서버간 데이터 동기화 작업만을 수행하는데, SYNC ONLY 동기화 진행 중을 표시하는 값이다. 동기화 완료 후 이중화는 종료된다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"보여진다"는 영어는 괜찮은데, 한국어는 사용하기 조금 어색해 보입니다. 아래 내용 한번 참고하세요.

SYNC: 2 SYNC 옵션 사용 시, 지역 서버와 원격 서버간 데이터 동기화를 우선 진행 후 이중화를 시작한다. SYNC 동기화 작업이 진행 중을 표시하는 값이다. 동기화 완료 후 이중화가 시작되면, NORMAL (LAZY 모드) 또는 PARALLEL (EAGER 모드)로 값이 변경된다.

SYNC_ONLY: 3 SYNC ONLY 옵션은 지역 서버와 원격 서버간 데이터 동기화 작업만을 수행하는데, SYNC ONLY 동기화 진행 중을 표시하는 값이다. 동기화 완료 후 이중화는 종료된다.

확인했습니다. 수정하겠습니다.


- SYNC RUN : 4

- SYNC END : 5
- SYNC END : 5

- RECOVERY from Replication : 6
현재 SYNC RUN 과 SYNC END 는 사용되지 않는다.

- OFFLINE: 7
- RECOVERY from Replication : 6

- PARALLEL: 8
이 값은 송신 쓰레드가 다른 서버에서 손상된 데이터를 복원하기 위해 실행중임을 나타낸다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아래 의미가 맞는지요?
RECOVERY 옵션으로 시작되어 데이터 손상이 발생한 상대편 이중화 서버의 데이터를 복구 중임을 표시하는 값이다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

네 맞습니다

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인 감사합니다.


- OFFLINE: 7

이 값은 액티브 서버가 오프라인이고 대기 서버에 로그를 적용할 때, 송신 쓰레드가 액티브 서버의 로그를 읽기 위해 실행중임을 나타낸다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"오프라인이고"라는 표현이 이해가 어려울 것 같아서 아래와 같이 바꿔 봤습니다. 그리고, 항상 대기 서버에만 로그를 적용하는 것이 아니고 이 글 자체가 송신 쓰레드에 대한 설명이므로 해당 설명은 제거했습니다.

이 값은 액티브 서버 장애시, 대기 서버에서 액티브 서버의 로그를 읽어서 전송하는 송신 쓰레드가 실행 중임을 나타낸다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다.


- PARALLEL: 8

이 값은 이중화 대상 테이블과 관련된 XLog를 여러 송신 쓰레드가 병렬로 송신중임을 나타낸다. 이 값은 PARALLEL 옵션과 함께 EAGER 모드로 이중화를 시작할 때 보여질 수 있다. SYNC 또는 SYNC ONLY 옵션과 함께 이중화를 시작할 때 지정할 수 있는 PARALLEL 옵션과는 다르다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eager 모드에서만 parallel이 가능하죠?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드 확인 시 EAGER 모드에서만 PARALLEL이 가능한 것으로 나옵니다.
REPLICATION MANUAL 에서도 병렬 이중화에 대한 정의로 "EAGER 모드에서 이중화 수행시 여러개의 송신 쓰레드와 수신 쓰레드를 사용하는 것을 일컫는다." 라고 나와 EAGER 모드에서만 가능하다는 것을 알 수 있습니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인 감사합니다.


##### NET_ERROR_FLAG

Expand All @@ -9305,25 +9321,45 @@ Sender에게 ACK을 보내는 데 걸린 시간의 누적 값이다.

지역서버의 이중화 송신 쓰레드의 현재 상태를 나타낸다.

- 0: STOP
- 0: STOP

- 1: RUN
이중화 송신 쓰레드가 정지 중인 단계.

- 2: RETRY
- 1: RUN

- 3: FAILBACK NORMAL
이중화 송신 쓰레드가 정상 동작 중인 단계.

- 4: FAILBACK MASTER
- 2: RETRY

- 5: FAILBACK SLAVE
원격 서버와의 연결에 장애가 발생하여 재시도를 하는 단계.

- 6: SYNC
- 3: FAILBACK NORMAL

- 7: FAILBACK EAGER
증분 동기화를 완료 하거나 건너뛴 후, Eager 모드 이중화가 정상적으로 시작되기 전에, 장애 시간 동안 서버 B에서 서버 A로 전송하지 못했던 트랜잭션 로그에 대한 데이터를 동기화한다. 장애로 인해 전송하지 못했던 로그를 전송할 때에는, 이중화가 Lazy 모드로 전환하여 동작하며, 로그를 모두 전송하여 이중화 갭이 없어지면, 다시 Eager 모드로 전환하여 이중화가 시작된다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

위에서 3가지 상태를 설명하셨는데, 전체를 다 포함하는지요? 아니면 그 중 어느 특정 상태인지요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인 결과 STOP과 RETRY는 전체 다 포함하는 것으로 보이고, RUN의 경우는 조금 더 조사를 해보고 다시 코멘트 달겠습니다. 현재는 PARALLEL 이 아닌 경우 SENDER RUN 이 붙는 것으로 확인은 되는데 정확한 설명을 위해 조금 더 조사하겠습니다.


- 8: FAILBACK FLUSH
- 4: FAILBACK MASTER

- 9: IDLE
증분 동기화 시, 두 서버 중 SYS_REPLICATIONS_ 메타 테이블의 REMOTE_FAULT_DETECT_TIME 컬럼 값이 더 늦은 서버가 MASTER 서버가 된다. 이 때 나타나는 값이다. MASTER의 이중화 송신자는 SLAVE가 요청한 데이터를 전송해주는 역할을 한다.

- 5: FAILBACK SLAVE

증분 동기화 시, 두 서버 중 SYS_REPLICATIONS_ 메타 테이블의 REMOTE_FAULT_DETECT_TIME 컬럼 값이 더 빠른 서버가 SLAVE 서버가 된다. 이 때 나타나는 값이다. SLAVE의 이중화 송신자는 재시작 SN부터 자신의 트랜잭션 로그를 분석하여 MASTER 와 다를 수 있는 데이터를 결정하고, MASTER 로부터 해당 데이터를 가져와서 동기화를 수행한다.

- 6: SYNC

지역 서버에 있는 이중화 대상 테이블의 모든 레코드를 원격 서버로 전송해서 동기화 한 후에 현재 로그부터 이중화를 진행한다.

- 7: FAILBACK EAGER

FAILBACK 과정 중 생긴 이중화 갭을 없애기 위해 EAGER 모드로 이중화를 수행하는 단계.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

STATUS 컬럼이니 단계 보다는 상태라는 단어가 더 적합해 보입니다.

Suggested change
FAILBACK 과정 중 생긴 이중화 갭을 없애기 위해 EAGER 모드로 이중화를 수행하는 단계.
FAILBACK 과정 중 생긴 이중화 갭을 없애기 위해 EAGER 모드로 이중화를 수행하는 상태.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

현재 버그를 김진아님께서 가져가셨습니다. 추가 사항은 김진아님께서 담당해주실 예정입니다. 리뷰해주셔서 정말 감사드립니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

현재 버그를 김진아님께서 가져가셨습니다. 추가 사항은 김진아님께서 담당해주실 예정입니다. 리뷰해주셔서 정말 감사드립니다.

넵~수고 많으셨습니다.


- 8: FAILBACK FLUSH

송신 쓰레드가 FAILBACK 과정의 마지막을 처리하는 단계.

- 9: IDLE

송신 쓰레드가 FAILBACK을 마치고 SLEEP하는 단계.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FAILBACK FLUSH -> IDLE만 상태 전환이 가능한지요? 아니면, 다른 상태에서 IDLE로 상태 전환도 가능한지 궁금합니다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replicateLogFiles 함수에서 Sender Thread에서 직접 보낼 로그들이 존재하지 않을 경우에도 IDLE로 상태가 변경됩니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기록해주신 부연 설명에 따르면 "FAILBACK을 마치고"는 SLEEP으로 전환되는 여러 케이스 중 한 가지일 것 같습니다. "송신 쓰레드가 처리할 로그가 없는 상태"라고 하는 게 더 정확하지 않을까 합니다.


##### SENDER_IP

Expand Down
72 changes: 54 additions & 18 deletions Manuals/Altibase_7.3/kor/General_Reference-2.The Data Dictionary.md
Original file line number Diff line number Diff line change
Expand Up @@ -9230,23 +9230,39 @@ Sender에게 ACK을 보내는 데 걸린 시간의 누적 값이다.

지역서버의 이중화 구동시에 명시한 구동 옵션이다. 다음 값들을 가질 수 있다.

- : 0
- NORMAL: 0

- QUICK: 1
이 값은 액티브 서버쪽의 송신 쓰레드가 트랜잭션 로그를 분석하여 XLog로 변환한 후, 대기 서버로 XLog를 전송하는 것을 의미한다.

- SYNC: 2
- QUICK: 1

- SYNC_ONLY: 3
이중화를 QUICKSTART 옵션으로 시작하면 이 값이 보여질 수 있는데, 이는 전송 시작 위치가 변경중임을 나타내며, 송신 쓰레드는 예전 로그를 무시하고 가장 최근 로그부터 전송을 시작할 것이다. 시작 위치 변경 후에는, QUICK에서 NORMAL로 바뀔 것이다.

- SYNC: 2

이 값은 SYNC 옵션으로 이중화를 시작할 때 보여진다. 동기화가 완료된 후, NORMAL (LAZY 모드) 또는 PARALLEL (EAGER 모드)로 바뀌어 보여진다.

- SYNC_ONLY: 3

지역 서버의 이중화 대상 테이블의 모든 데이터를 원격 서버의 대응하는 테이블의 데이터와 일치시키기 위해 수행하는 작업. 데이터의 동기화만 진행하고 더이상 이중화를 수행하지 않는다.

- SYNC RUN : 4

- SYNC END : 5
- SYNC END : 5

- RECOVERY from Replication : 6
현재 SYNC RUN 과 SYNC END 는 사용되지 않는다.

- OFFLINE: 7
- RECOVERY from Replication : 6

- PARALLEL: 8
이 값은 송신 쓰레드가 다른 서버에서 손상된 데이터를 복원하기 위해 실행중임을 나타낸다.

- OFFLINE: 7

이 값은 액티브 서버가 오프라인이고 대기 서버에 로그를 적용할 때, 송신 쓰레드가 액티브 서버의 로그를 읽기 위해 실행중임을 나타낸다.

- PARALLEL: 8

이 값은 이중화 대상 테이블과 관련된 XLog를 여러 송신 쓰레드가 병렬로 송신중임을 나타낸다. 이 값은 PARALLEL 옵션과 함께 EAGER 모드로 이중화를 시작할 때 보여질 수 있다. SYNC 또는 SYNC ONLY 옵션과 함께 이중화를 시작할 때 지정할 수 있는 PARALLEL 옵션과는 다르다.

##### NET_ERROR_FLAG

Expand All @@ -9266,25 +9282,45 @@ Sender에게 ACK을 보내는 데 걸린 시간의 누적 값이다.

지역서버의 이중화 송신 쓰레드의 현재 상태를 나타낸다.

- 0: STOP
- 0: STOP

- 1: RUN
이중화 송신 쓰레드가 정지 중인 단계.

- 2: RETRY
- 1: RUN

- 3: FAILBACK NORMAL
이중화 송신 쓰레드가 정상 동작 중인 단계.

- 4: FAILBACK MASTER
- 2: RETRY

- 5: FAILBACK SLAVE
원격 서버와의 연결에 장애가 발생하여 재시도를 하는 단계.

- 6: SYNC
- 3: FAILBACK NORMAL

- 7: FAILBACK EAGER
증분 동기화를 완료 하거나 건너뛴 후, Eager 모드 이중화가 정상적으로 시작되기 전에, 장애 시간 동안 서버 B에서 서버 A로 전송하지 못했던 트랜잭션 로그에 대한 데이터를 동기화한다. 장애로 인해 전송하지 못했던 로그를 전송할 때에는, 이중화가 Lazy 모드로 전환하여 동작하며, 로그를 모두 전송하여 이중화 갭이 없어지면, 다시 Eager 모드로 전환하여 이중화가 시작된다.

- 8: FAILBACK FLUSH
- 4: FAILBACK MASTER

- 9: IDLE
증분 동기화 시, 두 서버 중 SYS_REPLICATIONS_ 메타 테이블의 REMOTE_FAULT_DETECT_TIME 컬럼 값이 더 늦은 서버가 MASTER 서버가 된다. 이 때 나타나는 값이다. MASTER의 이중화 송신자는 SLAVE가 요청한 데이터를 전송해주는 역할을 한다.

- 5: FAILBACK SLAVE

증분 동기화 시, 두 서버 중 SYS_REPLICATIONS_ 메타 테이블의 REMOTE_FAULT_DETECT_TIME 컬럼 값이 더 빠른 서버가 SLAVE 서버가 된다. 이 때 나타나는 값이다. SLAVE의 이중화 송신자는 재시작 SN부터 자신의 트랜잭션 로그를 분석하여 MASTER 와 다를 수 있는 데이터를 결정하고, MASTER 로부터 해당 데이터를 가져와서 동기화를 수행한다.

- 6: SYNC

지역 서버에 있는 이중화 대상 테이블의 모든 레코드를 원격 서버로 전송해서 동기화 한 후에 현재 로그부터 이중화를 진행한다.

- 7: FAILBACK EAGER

FAILBACK 과정 중 생긴 이중화 갭을 없애기 위해 EAGER 모드로 이중화를 수행하는 단계.

- 8: FAILBACK FLUSH

송신 쓰레드가 FAILBACK 과정의 마지막을 처리하는 단계.

- 9: IDLE

송신 쓰레드가 FAILBACK을 마치고 SLEEP하는 단계.

##### SENDER_IP

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9229,23 +9229,39 @@ Sender에게 ACK을 보내는 데 걸린 시간의 누적 값이다.

지역서버의 이중화 구동시에 명시한 구동 옵션이다. 다음 값들을 가질 수 있다.

- : 0
- NORMAL: 0

- QUICK: 1
이 값은 액티브 서버쪽의 송신 쓰레드가 트랜잭션 로그를 분석하여 XLog로 변환한 후, 대기 서버로 XLog를 전송하는 것을 의미한다.

- SYNC: 2
- QUICK: 1

- SYNC_ONLY: 3
이중화를 QUICKSTART 옵션으로 시작하면 이 값이 보여질 수 있는데, 이는 전송 시작 위치가 변경중임을 나타내며, 송신 쓰레드는 예전 로그를 무시하고 가장 최근 로그부터 전송을 시작할 것이다. 시작 위치 변경 후에는, QUICK에서 NORMAL로 바뀔 것이다.

- SYNC: 2

이 값은 SYNC 옵션으로 이중화를 시작할 때 보여진다. 동기화가 완료된 후, NORMAL (LAZY 모드) 또는 PARALLEL (EAGER 모드)로 바뀌어 보여진다.

- SYNC_ONLY: 3

지역 서버의 이중화 대상 테이블의 모든 데이터를 원격 서버의 대응하는 테이블의 데이터와 일치시키기 위해 수행하는 작업. 데이터의 동기화만 진행하고 더이상 이중화를 수행하지 않는다.

- SYNC RUN : 4

- SYNC END : 5
- SYNC END : 5

- RECOVERY from Replication : 6
현재 SYNC RUN 과 SYNC END 는 사용되지 않는다.

- OFFLINE: 7
- RECOVERY from Replication : 6

- PARALLEL: 8
이 값은 송신 쓰레드가 다른 서버에서 손상된 데이터를 복원하기 위해 실행중임을 나타낸다.

- OFFLINE: 7

이 값은 액티브 서버가 오프라인이고 대기 서버에 로그를 적용할 때, 송신 쓰레드가 액티브 서버의 로그를 읽기 위해 실행중임을 나타낸다.

- PARALLEL: 8

이 값은 이중화 대상 테이블과 관련된 XLog를 여러 송신 쓰레드가 병렬로 송신중임을 나타낸다. 이 값은 PARALLEL 옵션과 함께 EAGER 모드로 이중화를 시작할 때 보여질 수 있다. SYNC 또는 SYNC ONLY 옵션과 함께 이중화를 시작할 때 지정할 수 있는 PARALLEL 옵션과는 다르다.

##### NET_ERROR_FLAG

Expand All @@ -9265,25 +9281,45 @@ Sender에게 ACK을 보내는 데 걸린 시간의 누적 값이다.

지역서버의 이중화 송신 쓰레드의 현재 상태를 나타낸다.

- 0: STOP
- 0: STOP

- 1: RUN
이중화 송신 쓰레드가 정지 중인 단계.

- 2: RETRY
- 1: RUN

- 3: FAILBACK NORMAL
이중화 송신 쓰레드가 정상 동작 중인 단계.

- 4: FAILBACK MASTER
- 2: RETRY

- 5: FAILBACK SLAVE
원격 서버와의 연결에 장애가 발생하여 재시도를 하는 단계.

- 6: SYNC
- 3: FAILBACK NORMAL

- 7: FAILBACK EAGER
증분 동기화를 완료 하거나 건너뛴 후, Eager 모드 이중화가 정상적으로 시작되기 전에, 장애 시간 동안 서버 B에서 서버 A로 전송하지 못했던 트랜잭션 로그에 대한 데이터를 동기화한다. 장애로 인해 전송하지 못했던 로그를 전송할 때에는, 이중화가 Lazy 모드로 전환하여 동작하며, 로그를 모두 전송하여 이중화 갭이 없어지면, 다시 Eager 모드로 전환하여 이중화가 시작된다.

- 8: FAILBACK FLUSH
- 4: FAILBACK MASTER

- 9: IDLE
증분 동기화 시, 두 서버 중 SYS_REPLICATIONS_ 메타 테이블의 REMOTE_FAULT_DETECT_TIME 컬럼 값이 더 늦은 서버가 MASTER 서버가 된다. 이 때 나타나는 값이다. MASTER의 이중화 송신자는 SLAVE가 요청한 데이터를 전송해주는 역할을 한다.

- 5: FAILBACK SLAVE

증분 동기화 시, 두 서버 중 SYS_REPLICATIONS_ 메타 테이블의 REMOTE_FAULT_DETECT_TIME 컬럼 값이 더 빠른 서버가 SLAVE 서버가 된다. 이 때 나타나는 값이다. SLAVE의 이중화 송신자는 재시작 SN부터 자신의 트랜잭션 로그를 분석하여 MASTER 와 다를 수 있는 데이터를 결정하고, MASTER 로부터 해당 데이터를 가져와서 동기화를 수행한다.

- 6: SYNC

지역 서버에 있는 이중화 대상 테이블의 모든 레코드를 원격 서버로 전송해서 동기화 한 후에 현재 로그부터 이중화를 진행한다.

- 7: FAILBACK EAGER

FAILBACK 과정 중 생긴 이중화 갭을 없애기 위해 EAGER 모드로 이중화를 수행하는 단계.

- 8: FAILBACK FLUSH

송신 쓰레드가 FAILBACK 과정의 마지막을 처리하는 단계.

- 9: IDLE

송신 쓰레드가 FAILBACK을 마치고 SLEEP하는 단계.

##### SENDER_IP

Expand Down