Oracle 데이터베이스 재실행 로그 파일 작업

Datastream은 Oracle 재실행 로그 파일에서 변경 데이터 캡처 (CDC) 이벤트를 추출하여 소스 데이터베이스의 변경사항을 대상으로 복제합니다. Oracle 데이터베이스는 온라인 재실행 로그 파일에 모든 트랜잭션을 기록하고 현재 로그 파일이 순환될 때 해당 파일을 보관처리합니다. Datastream이 재실행 로그 파일에 액세스하는 방법을 선택하고 로그 파일 크기 및 순환 빈도를 구성하여 복제 지연 시간을 줄일 수 있습니다.

재실행 로그 파일 액세스

Datastream은 Oracle LogMiner API 또는 바이너리 리더 메서드를 사용하여 재실행 로그 파일에 액세스할 수 있습니다.

  • Oracle LogMiner: Oracle 데이터베이스에 포함된 즉시 사용 가능한 유틸리티입니다. Oracle LogMiner API를 사용하도록 Datastream을 구성하는 경우 Datastream은 보관처리된 재실행 로그 파일만 사용할 수 있으며 온라인 재실행 로그 파일은 지원되지 않습니다. LogMiner API 메서드는 단일 스레드이며 대규모 트랜잭션 번호 소스 데이터베이스로 작업할 때 지연 시간이 길어지고 처리량이 낮아집니다. LogMiner는 대부분의 데이터 유형과 Oracle 데이터베이스 기능을 지원합니다.

  • 바이너리 리더(프리뷰): 온라인 및 보관처리된 재실행 로그 파일 모두에서 작동하는 특수 고성능 유틸리티입니다. 바이너리 리더는 자동 스토리지 관리 (ASM)를 사용하거나 데이터베이스 디렉터리 객체를 사용하여 파일을 직접 읽어 로그 파일에 액세스할 수 있습니다. 바이너리 리더는 멀티 스레드이며 지연 시간이 짧은 CDC를 지원합니다. 또한 재실행 로그가 데이터베이스 작업 외부에서 파싱되므로 소스 데이터베이스에 미치는 영향이 적습니다. 바이너리 리더 CDC 메서드는 특정 데이터 유형 또는 기능에 대한 지원이 제한적입니다. 자세한 내용은 알려진 제한사항을 참고하세요.

Oracle 재실행 로그 파일의 구성 매개변수 설정

LogMiner CDC 메서드를 사용할 때 이 설계는 Datastream의 잠재적 지연 시간에 큰 영향을 미칩니다. LogMiner는 보관처리된 로그에서만 읽으므로 Oracle의 재실행 로그 파일이 자주 전환되거나 더 작은 크기 (예: 256MB 미만)로 유지되면 Datastream에서 변경사항을 더 빠르게 복제할 수 있습니다. 이는 온라인 재실행 로그 파일에서 적극적으로 읽는 바이너리 리더 메서드에는 적용되지 않습니다.

로그 파일 순환 빈도를 제어하도록 설정할 수 있는 구성 매개변수가 있습니다.

  • 크기: 온라인 재실행 로그 파일의 최소 크기는 4MB이며 기본 크기는 운영체제에 따라 다릅니다. 새 온라인 로그 파일을 만들고 이전 로그 파일을 삭제하여 로그 파일의 크기를 수정할 수 있습니다.

    온라인 재실행 로그 파일의 크기를 찾으려면 다음 쿼리를 실행합니다.

    SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
  • 시간: ARCHIVE_LAG_TARGET 매개변수는 기본 데이터베이스의 현재 로그가 도달할 수 있는 시간의 상한(초)을 제공합니다.

    로그를 보관처리하는 데 걸리는 시간을 고려하기 때문에 정확한 로그 전환 시간은 아닙니다. 기본값은 0(상한값 없음)이며 1800(또는 30분) 이하의 합리적인 값이 권장됩니다.

    다음 명령어를 사용하여 초기화 중 또는 데이터베이스가 실행 중일 때 ARCHIVE_LAG_TARGET 매개변수를 설정할 수 있습니다.

    • SHOW PARAMETER ARCHIVE_LAG_TARGET;: 이 명령어는 현재 로그가 스팬되는 데 걸리는 시간(초)을 표시합니다.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; 이 명령어를 사용하여 상한을 변경합니다.

      예를 들어 상한을 10분(또는 600초)으로 설정하려면 ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;을 입력합니다.

다음 단계