Oracle DB 인스턴스용 Amazon Relational Database Service(Amazon RDS)에 읽기 전용 복제본을 사용할 때 복제 지연을 모니터링하고 문제를 해결하려고 합니다.
간략한 설명
Oracle Active Oracle Data Guard 라이선스를 사용하여 RDS for Oracle 인스턴스에 대한 읽기 전용 복제본을 구성할 수 있습니다. 인스턴스에 대한 읽기 전용 복제본을 생성하면 기본 및 읽기 전용 복제본 인스턴스가 Data Guard 최대 성능 모드에서 작동합니다. 자세한 내용은 Oracle Data Guard 보호 모드에 대한 Oracle 설명서를 참조하세요.
읽기 전용 복제본을 사용하여 기본 인스턴스에서 읽기 작업을 오프로드할 수 있습니다. 재해 복구 시 읽기 전용 복제본을 독립형 DB 인스턴스로 승격할 수도 있습니다. 자세한 내용은 읽기 전용 복제본을 독립형 DB 인스턴스로 승격 단원을 참조하세요.
인스턴스에 대한 읽기 전용 복제본을 구성하기 전에 버전 및 라이선스와 관련된 제한 사항을 확인해야 합니다. 또한 Oracle 복제본에 대한 기타 요구 사항 및 제한 사항을 검토합니다.
해결 방법
RDS for Oracle 인스턴스에 읽기 전용 복제본을 사용할 때는 다음 사항에 유의하십시오.
- Amazon RDS는 관리형 서비스입니다 따라서 복제 프로세스는 내부 RDS_DATAGUARD 사용자가 관리합니다. 이 사용자는 읽기 전용 복제본 인스턴스를 생성할 때 구성됩니다.
- 관리자 사용자 계정에서는 관리형 복구 프로세스를 중지할 수 없습니다.
- RDS 읽기 전용 복제본에 대해 Oracle Data Guard 브로커를 구성하거나 수정할 수 없습니다.
- 기본 인스턴스에서 읽기 전용 복제본 인스턴스로의 데이터 복제는 지연할 수 없습니다.
- 옵션 그룹에 대한 수정 사항은 읽기 전용 복제본 인스턴스로 전파됩니다. 읽기 전용 복제본이 동일한 리전에 구성된 경우 동일한 옵션 그룹에 연결됩니다. 자세한 내용은 Oracle 복제본에 대한 옵션 요구 사항 및 제한 사항 단원을 참조하십시오.
복제 지연 모니터링
복제본이 기본 인스턴스를 따라갈 수 없는 경우 복제 지연이 발생할 수 있습니다. Amazon CloudWatch에서 복제 지연을 모니터링하려면 Amazon RDS 지표 ReplicaLag을 확인합니다. 이 지표는 복제 지연을 밀리초 단위로 표시합니다. 자세한 내용은 읽기 전용 복제본 모니터링 및 Amazon RDS 지표 및 차원 보기 단원을 참조하십시오.
Active Data Guard에서 복제 지연을 모니터링하고 문제를 해결하려면 다음을 수행하십시오.
다음 쿼리를 실행하여 Data Guard 지연 지표를 확인합니다.
sql > SELECT name,value,datum_time,time_computed FROM v$dataguard_stats;
다음 쿼리를 실행하여 기본 인스턴스와 읽기 전용 복제본 인스턴스 간에 아카이브 로그 간격이 있는지 확인합니다.
sql > SELECT archived.thread# THREAD,max(archived.sequence#) PRIMARY,max(applied.sequence#) STANDBY,(max(archived.sequence#) - max(applied.sequence#)) GAP FROM v$archived_log archived,v$archived_log applied WHERE archived.thread#=applied.thread# AND applied.applied='YES' GROUP BY archived.thread#;
참고: RDS for Oracle은 복제 지연이 있을 때 사용자에게 알리지 않습니다. 읽기 전용 복제본이 기본 인스턴스를 따라가지 않을 때마다 알림을 보내려면 RDS 지표 ReplicaLag에 대해 CloudWatch 경보를 생성합니다.
복제 지연 문제 해결
- 기본 인스턴스를 사용할 수 없는 경우 Amazon RDS 콘솔을 사용하여 인스턴스의 현재 상태를 확인합니다. 또한 SQL 클라이언트에서 인스턴스에 액세스할 수 있는지 확인합니다. 기본 인스턴스를 사용할 수 없는 경우(예: 인스턴스가 파라미터가 호환되지 않음 상태인 경우) 읽기 전용 복제본은 기본 인스턴스를 따라갈 수 없으며 뒤처집니다. Amazon RDS 이벤트를 확인하여 기본 인스턴스를 사용할 수 없는 이유를 알아보십시오. 그런 다음 인스턴스를 수정하여 액세스가 가능한지 확인합니다.
- 기본 인스턴스의 CPU 또는 메모리 과부하가 높으면 전송 지연이 높아질 수 있습니다. 인스턴스에 대한 CloudWatch 지표를 모니터링합니다. 또한 향상된 모니터링을 사용하여 특정 프로세스로 인해 비정상적인 메모리 또는 CPU 사용량이 급증하는지 여부를 식별할 수 있습니다. 자세한 내용은 RDS 콘솔에서 OS 지표 보기를 참조하십시오. CPU/메모리 로드가 감소하면 복제본이 기본 인스턴스를 따라갈 수 있습니다. 인스턴스에서 예상대로 오버로드가 발생하면, 필요에 따라 인스턴스 클래스, IOPS 또는 처리량을 확장하도록 선택할 수 있습니다.
- 기본 인스턴스 및 읽기 전용 복제본의 alert.log 파일을 모니터링하여 전송 또는 적용 프로세스에 영향을 줄 수 있는 알림 또는 ORA 오류를 식별합니다. RDS 인스턴스의 알림 로그에 액세스하는 방법에 대한 자세한 내용은 Oracle 데이터베이스 로그 파일을 참조하십시오. 식별된 오류를 해결하여 지연을 줄입니다.
- 기본 인스턴스에서 다시 실행 로그의 크기를 조정하거나 변경하면 변경 사항은 대기 인스턴스에 복제되지 않습니다. 이러한 변경 사항을 복제하려면 대기 인스턴스를 다시 생성해야 합니다. 읽기 전용 복제본을 구성하기 전에 다시 실행 로그 파라미터를 업데이트하는 것이 모범 사례입니다. 자세한 내용은 로깅 구성 변경 단원을 참조하십시오.
- 기본 인스턴스에 비해 컴퓨팅 또는 IOPS 용량이 적은 읽기 전용 복제본 인스턴스를 구성하면, 읽기 전용 복제본의 변경 적용 속도가 느려져 복제 지연이 발생할 수 있습니다. CloudWatch를 사용하여 RDS 지표를 모니터링하여 두 인스턴스 모두에서 제한이 있는지 확인합니다. 기본 인스턴스에 제한이 없고 읽기 전용 복제본에 제한이 발생하는 경우에는 제한이 발생하는 리소스를 식별합니다. 그런 다음 필요에 따라 스토리지 또는 컴퓨팅 구성을 확장합니다.
관련 정보
읽기 전용 복제본 작업
Amazon RDS용 오라클 복제본 작업
Oracle Active Data Guard를 사용하여 Amazon RDS for Oracle을 사용하는 관리형 재해 복구 및 관리형 리더 팜