일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- oracle error
- PostgreSQL 테이블스페이스 관리
- Linux
- oracle
- ogg 구성
- ogg 설치 방법
- PostgreSQL Backup and Recovery
- 19c tde
- PostgreSQL 아키텍처
- PostgreSQL Parameter
- PostgreSQL Install
- 다른계정에서 dblink 삭제방법
- sql문 짤릴 때
- db upgrade
- PostgreSQL 테이블스페이스 생성 삭제
- table lock 조치 방법
- Goldengate
- PostgreSQL Admin
- pg_dumpall
- ogg-01028
- multitenant
- sql문 전체 출력 방법
- PostgreSQL Parameter 설정 방법
- pg_basebackup
- PostgreSQL 스키마 관리
- psql 복구
- 아카이브로그 삭제
- pgcrypto
- dblink 삭제
- OGG
- Today
- Total
인성장
[OGG] [ERROR] [OGG-01028] 동기화 중 Trail 파일 누락 시 Replicat 신규 생성 및 동기화 재개 절차 방법 본문
[OGG] [ERROR] [OGG-01028] 동기화 중 Trail 파일 누락 시 Replicat 신규 생성 및 동기화 재개 절차 방법
인성장 2025. 7. 24. 15:35
Oracle GoldenGate 동기화 중 Trail 파일 누락 시 Replicat 신규 생성 및 동기화 재개 절차 방법
Oracle GoldenGate(OGG) 환경에서 데이터 동기화를 수행하는 중, 다음과 같은 상황이 발생할 수 있습니다:
- Extract 프로세스는 정상 기동 중으로, 소스 DB에서 발생하는 트랜잭션을 계속 추출하여 Trail 파일로 적재하고 있는 상태.
- 이와 별개로 특정 테이블에 대해 재동기화 작업을 수행하거나, 혹은 새로 생성된 테이블에 대해 특정 SCN 시점 기준으로 신규 동기화를 구성해야 하는 요구가 발생함.
- 그러나 Target 서버에서 GoldenGate mgr 프로세스의 Trail 파일 삭제 정책(PURGEOLDEXTRACTS 등)에 의해 특정 시점 이전의 Trail 파일이 삭제됨.
- 이 상태에서 별도의 테이블에 대한 신규 동기화를 위해 Replicat 프로세스를 새로 생성하고 start를 수행하면, Trail 파일이 처음(0번)부터 없기 때문에 아래와 같은 오류가 발생.
ERROR OGG-01028 Extract file dirdat/ea000000 is not available.
해결 방법
이미 Target에서 삭제된 Trail 파일부터 읽으려고 하니 문제가 되는 것이므로, Replicat 프로세스가 읽어야 할 Trail 파일 위치를 실제 남아있는 파일부터 읽도록 수정하면 됩니다.
1. Replicat 프로세스 생성
예를 들어, 별도의 테이블을 동기화하기 위하여 ETCTABR 이란 신규 Replicat 프로세스를 만든다고 하면:
GGSCI> ADD REPLICAT ETCTABR, EXTTRAIL ./dirdat/ea
2. Trail 파일 현황 확인
현재 남아 있는 Trail 파일의 Sequence 번호를 확인합니다.
예: 가장 오래된 파일이 ea000100부터 남아 있다면 Sequence 번호는 100입니다.
3. Replicat 시작 위치 재설정
아래 명령으로 ETCTABR Replicat 프로세스가 읽기 시작할 Trail 파일을 명시합니다.
GGSCI> ALTER REPLICAT ETCTABR, EXTSEQNO 100, EXTRBA 0
- EXTSEQNO: Trail 파일 Sequence 번호 (여기서는 ea000100 → 100)
- EXTRBA: Trail 파일 내 바이트 오프셋 (0으로 설정 시 파일 시작부터)
4. Replicat 프로세스 기동
GGSCI> START REPLICAT ETCTABR, aftercsn 77777
위와 같은 절차대로 진행 시, 해당 Replicat 프로세스는 100번 Trail File부터 읽기 시작하며, 위 OGG-01028 에러는 발생하지 않을 겁니다.
★ 핵심정리
1. aftercsn 옵션의 오해
AFTERCSN 옵션을 사용하면, Replicat 프로세스가 지정된 SCN 이후의 데이터를 처리합니다. 하지만, Replicat이 Trail 파일을 읽는 방식은 SCN 기준으로 Trail 파일을 "자동 검색"해서 찾아가는 구조가 아닙니다. Trail 파일의 시작점(EXTSEQNO, EXTRBA)을 사용자가 명시하지 않으면 기본값으로 Trail 0번부터 읽도록 설정되어 있습니다. 즉, AFTERCSN만 지정했다고 해서 자동으로 해당 SCN이 포함된 Trail 파일부터 시작하는 게 아니라, 처음(0번)부터 순차적으로 읽으며 SCN 필터링을 적용하게 됩니다.
2. 꼭 위 오류상황이 아니더라도 Trail 파일 번호를 지정하는 것이 유리한가?
Trail 파일이 매우 많거나, 보관 주기가 짧아 오래된 Trail 파일이 이미 삭제된 상태라면 읽기 시작 지점이 존재하지 않아 바로 오류(OGG-01028 등)가 발생할 수 있습니다. Trail 파일이 모두 남아 있다 하더라도, 불필요하게 과거 데이터를 전부 스캔해야 하므로 Replicat 초기 구동 시간이 불필요하게 길어질 수 있습니다. 특히 대규모 데이터 환경에서는 I/O 부하와 checkpoint table 기록이 불필요하게 증가하여 실제 필요한 시점의 데이터 처리까지 지연될 수 있으니 참고하시면 좋을 것 같습니다.
'Oracle > Goldengate' 카테고리의 다른 글
[OGG] OGG 설치 및 구성 방법 (2) (1) | 2025.06.19 |
---|---|
[OGG] OGG 설치 및 구성 방법 (1) (0) | 2025.06.19 |
[OGG] Classic Mode vs Integrated Mode 비교 설명 (2) | 2025.04.30 |