기술 정보
home
채널 소개
home

프로싱크 4.0_동기화 대상 테이블 rename 시 동기화 중단 현상

문서 유형
장애 해결
분야
관리/환경설정
키워드
prosync
적용 제품 버전
6FS06
6FS07
오류코드
15104

현상

프로싱크 4.0에서 동기화 대상 테이블 rename시 추출 로그(ext)에 15104 에러가 발생하며 동기화가 중단됩니다.
[02-10T13:15:36.336460] [REA-04] [E] trigger execution failed (seq#:29, error:ALTER TABLE PART.PART (TBR-15104: No matching data found. )) [prs_ext_dd.c:835]
SQL
복사

원인

프로싱크 4.0은 rename이 지원되지 않는 사양으로, 동기화 대상 테이블을 rename할 경우 추출로그에 에러가 발생하며 동기화가 중단됩니다.

해결

프로싱크 4.0은 rename 지원되지 않는 사양이므로, 동기화 대상에서 먼저 제거하고 테이블 rename 후 재 추가 하는 절차가 필요합니다.
[예시] 기존 동기화 대상 테이블인 PART.PART 테이블을 PART.PART_BAK으로 rename 한 후 조치 방안
1.
소스 서버에서 프로싱크 유저로 접속하여 PRS_DDL_HIST에 status가 100인 컬럼을 1로 수정합니다.
PRS_DDL_HIST 테이블의 status 컬럼 값이 0/1/2가 아닌 다른 값(사이트의 경우 100) 이 들어가 실패한 DDL에 대해 load가 불가능합니다.
0 : DDL 시작 전, 1 : DDL 정상완료, 2 : DDL 실패 시, SQLCODE : 에러번호
SQL> select * from prosync_xx_to_us.prs_ddl_hist; DD_SEQ# TSN STATUS MESSAGE ---------- ---------- ---------- --------------------------------------------------------------------------------------------------------- 29 10775520 100 ALTER TABLE PART.PART (TBR-15104: No matching data found. ) SQL> update prosync_xx_to_us.prs_ddl_hist set status=1 where dd_seq#=29; 1 row updated. SQL> commit; Commit completed.
SQL
복사
2.
rename 한 테이블(PART.PART_BAK)을 동기화 대상에 추가합니다.
$ prs_adm Admin> alter XX_TO_US add table PART.PART_BAK group=1; Table 'PART.PART_BAK' added.
SQL
복사
3.
rename 전 원본 테이블(PART.PART)을 동기화 대상에서 삭제합니다.
$ prs_adm Admin> alter XX_TO_US del table PART.PART group=1; Table 'PART.PART' deleted. You should drop supplemental log.
SQL
복사
4.
rename 한 테이블(PART.PART_BAK)이 정상 동기화 된 것을 확인합니다