Oracle GoldenGate 문제 해결
이 섹션에서는 Amazon RDS for Oracle과 함께 Oracle GoldenGate를 사용할 때 가장 자주 발생하는 문제를 설명합니다.
주제
온라인 다시 실행 로그를 여는 중 발생하는 오류
보관된 다시 실행 로그를 유지하도록 소스 데이터베이스를 구성했는지 확인합니다. 다음 지침을 참고하세요.
-
로그 보존 기간을 시간 단위로 지정합니다. 최소값은 1시간입니다.
-
소스 DB 인스턴스의 잠재적 가동 중지 시간, 잠재적 통신 시간, 소스 DB 인스턴스의 네트워킹 문제가 발생할 잠재적 기간보다 긴 기간을 설정합니다. 이러한 기간을 통해 Oracle GoldenGate는 필요에 따라 소스 DB 인스턴스에서 로그를 복구할 수 있습니다.
-
인스턴스에 파일을 저장할 스토리지가 충분한지 확인합니다.
로그 보존을 활성화하지 않거나 보존 값이 너무 작으면 다음과 비슷한 오류 메시지가 표시됩니다.
2022-03-06 06:17:27 ERROR OGG-00446 error 2 (No such file or directory) opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 Not able to establish initial position for begin time 2022-03-06 06:16:55.
Oracle GoldenGate는 제대로 구성된 것으로 보이나 복제가 작동하지 않음
기존 테이블의 경우 Oracle GoldenGate이 작동할 SCN을 지정해야 합니다.
이 문제를 해결하려면
-
소스 데이터베이스에 로그인하고 Oracle GoldenGate 명령줄 인터페이스(
ggsci
)를 시작합니다. 다음 예제에서는 로그인 형식을 보여 줍니다.dblogin userid oggadm1@OGGSOURCE
-
ggsci
명령줄을 사용하여EXTRACT
프로세스에 대한 시작 SCN을 설정합니다. 다음 예제에서는EXTRACT
을 위한 SCN을 223274로 설정합니다.ALTER EXTRACT EABC SCN 223274 start EABC
-
대상 데이터베이스에 로그인합니다. 다음 예제에서는 로그인 형식을 보여 줍니다.
dblogin userid oggadm1@OGGTARGET
-
ggsci
명령줄을 사용하여REPLICAT
프로세스에 대한 시작 SCN을 설정합니다. 다음 예제에서는REPLICAT
을 위한 SCN을 223274로 설정합니다.start RABC atcsn 223274
SYS."_DBA_APPLY_CDR_INFO"에 대한 쿼리 때문에 통합 REPLICAT가 느려집니다.
Oracle GoldenGate 충돌 감지 및 해결(CDR) 기능은 기본적인 충돌 해결 루틴을 제공합니다. 예를 들어 CDR은 INSERT
문의 고유한 충돌 문제를 해결할 수 있습니다.
CDR이 충돌을 해결할 때, 일시적으로 예외 테이블 _DBA_APPLY_CDR_INFO
에 레코드를 삽입할 수 있습니다. 통합 REPLICAT
는 나중에 이러한 레코드를 삭제합니다. 드문 경우에, 통합 REPLICAT
는 많은 수의 충돌을 처리할 수 있지만 새로운 통합 REPLICAT
는 이를 대체하지 않습니다. _DBA_APPLY_CDR_INFO
의 기존 행은 제거되지 않고 분리됩니다. 새로운 통합 REPLICAT
프로세스는 _DBA_APPLY_CDR_INFO
에서 분리된 행을 쿼리하기 때문에 속도가 느려집니다.
_DBA_APPLY_CDR_INFO
에서 모든 행을 제거하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.truncate_apply$_cdr_info
를 사용합니다. 이 프로시저는 2020년 10월 릴리스 및 패치 업데이트의 일부로 릴리스되었습니다. 이 프로시저는 다음 데이터베이스 버전에서 사용할 수 있습니다.
다음 예제에서는 _DBA_APPLY_CDR_INFO
테이블을 자릅니다.
SET SERVEROUTPUT ON SIZE 2000 EXEC rdsadmin.rdsadmin_util.truncate_apply$_cdr_info;