ORACLE/이중화(HA)

[OGG] 트레일파일 오류

argoLee 2019. 5. 16. 17:35

데이터 복제시 사용되는 트레일 파일이 제거혹은 유실 되었을 경우
Configuration을 다시 하더라도 원래 사용되는 파일에 Add를 하려고 하면서
Abendon이 발생한다. 이때 alter 구문을 이용하여 수행하더라도 동일한 에러가
발생되는데
GGSCI (dis) >alter EXT01 begin now
GGSCI (dis) >alter pmp01 begin now
=> 동일한 trail 파일에 쓰기러 하려고 함.
이때는 ETROLLOVER 옵션을 이용해야 됨

GGSCI (dis) >alter EXTRACT EXT01 ETROLLOVER
GGSCI (dis) >alter REPLICAT REP01, extseqno 0

replicat 초기화시 아래와 같은 abendon 발생함.
GGSCI (dis) >start replicat rep01 FILTERDUPTRANSACTIONS
GGSCI (dis) >start replicat rep02 FILTERDUPTRANSACTIONS
Input checkpoint position 15796931 for input trail file './dirdat/ei000008' is greater than the size of the file (1171).

logdump를 이용하여 skip할 checkpoint를 찾아야 함
15796931 - 1171 +  1111 = 15796991 (StartRBA)

-> 15796931 : Replicat가 시작할 Checkpoint 위치
-> 1171 : Checkpoint와 시작할 위치 갭이 1171 차이가 발생함
-> 1111 : 스킵할 트랜젝션 개수(logdump를 이용하여 값을 찾아냄)

GGSCI (dis) >alter REPLICAT REP02, extseqno 8, extrba 15796991

[TARGET]ogg@EAST:/u01/app/ogg_target_12.1.2> ./logdump
LOGDUMP> open dirdat/ex000000
LOGDUMP>
ghdr on
--usertoken detail
--ggstoken detail
--headertoken detail
--detail data
--detail on
--sfh
--fileheader detail
--
--LOGDUMP>
--LOGDUMP> help
--LOGDUMP> count
--LOGDUMP> n
--LOGDUMP> pos 0
--LOGDUMP> filter include filename APP.TCUSTORD;
--LOGDUMP> filter match all
--LOGDUMP> filter clear
--
--
--또한 Logdump 을 이용할 경우 일반적으로 사용되는 명령어는 다음과 같다.
--1) filter rectype INSERT
--2) filter string /017443/;
--3) filter include GGSTOKEN ORAROWID = AAGJpjAF9AAM5ADAAl
--4) pos reverse
--5) pos forward
--6) nexttrail

[출처] [OGG] 트레일파일 오류|작성자 채니아빠