문서유형ㅣ장애해결
분야ㅣ관리/환경설정
적용제품버전ㅣ6FS06, 6FS07
오류코드ㅣ15104
문서번호ㅣPADTS003
현상
프로싱크 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]
원인
프로싱크 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.2. rename 한 테이블(PART.PART_BAK)을 동기화 대상에 추가합니다.
$ prs_adm Admin> alter XX_TO_US add table PART.PART_BAK group=1; Table 'PART.PART_BAK' added.
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.
4. rename 한 테이블(PART.PART_BAK)이 정상 동기화 된 것을 확인합니다.