기술 정보
home
채널 소개
home

Oracle to Tibero Prosync 동기화 시 prs_lct 테이블 미반영 현상

문서 유형
장애 해결
분야
관리/환경설정
키워드
oracle
prosync
적용 제품 버전
5SP1FS01
5SP1FS02
5SP1FS03
5SP1FS04
5SP1FS06
6FS01
6FS02
6FS03
6FS04
6FS05
6FS06
6FS07
6FS07PS
7FS01
7FS02
1 more property

현상

참고
해당 현상은 아래 환경에서 발생한 사례입니다.
제품 : Prosync
버전 : 4.4.0.
Oracle에서 Tibero로 ProSync를 통해 동기화하는 과정에서, PRS_LCT 테이블이 정상적으로 업데이트되지 않는 현상이 발생하였습니다.
insert 전 prs_lct 조회
SQL> alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss'; Session altered. SQL> select * from prs_lct; TSN TIME GROUP# ------- ------------------- ------ 8951525 2024/11/25 05:24:36 1 1 row selected
SQL
복사
insert 및 데이터 동기화 확인
왼쪽 session -> source(Oracle) , 오른쪽 session -> target(Tibero)입니다.
[그림1. 데이터 변경 후 반영 여부 확인]
insert 후 prs_lct 조회
time 및 tsn이 commit 이후 시점으로 업데이트 되어야 하지만 동기화 시점 전과 동일합니다.
SQL> alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss'; Session altered. SQL> select * from prs_lct; TSN TIME GROUP# ------- ------------------- ------ 8951525 2024/11/25 05:24:36 1 1 row selected
SQL
복사

원인

Oracle DB에서 추출한 48비트 SCN 값을 내부적으로 사용하기 위해 >> 16bit 시프트 연산이 필요합니다.
그러나 해당 연산이 ext 단계에서 dd 추출 시 1회, 그리고 apply 단계에서 PRS_LCT 테이블을 업데이트할 때 또 한 번 중복으로 수행되면서, TSN 값이 일치하지 않는 문제가 발생하였습니다.
그 결과 테이블 업데이트가 필요하지 않다고 잘못 판단하여, 실제로는 반영되어야 할 데이터가 업데이트 되지 않는 현상이 발생하였습니다.

해결

Prosync FS03_336052a 패치를 적용해 해결합니다.
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.