지금 지원 담당자와 채팅
지원 담당자와 채팅

SharePlex 11.4 - 관리 안내서

이 안내서 정보 이 안내서에 사용된 규칙 SharePlex 개요 SharePlex 실행 SharePlex의 여러 인스턴스 실행 sp_ctrl에서 명령 실행 SharePlex 매개변수 설정 데이터 복제 구성 컨테이너 데이터베이스와의 복제 구성 명명된 큐 구성 파티셔닝된 복제 구성 변경 내역 타겟에 대한 복제 구성 복제 전략 구성 DDL 복제 구성 오류 처리 구성 데이터 변환 구성 보안 기능 구성 SharePlex 사용자를 보안 그룹에 할당 프로덕션 시스템에서 복제 시작 SharePlex 모니터링 복제 문제 방지 및 해결 동기화 중단 데이터 복원 Capture 프로세스 조정 Post 프로세스 조정 Oracle 장애 조치 후 복제 복구 활성 복제 환경 변경 Oracle 애플리케이션 패치 또는 업그레이드 적용 소스 또는 타겟에서 Oracle 데이터 백업 문제 해결 팁 부록 A: 피어-투-피어 다이어그램 부록 B: SharePlex 환경 변수

Compare와 Repair를 사용하기 전에

Oracle-Oracle 복제 중 compare 또는 repair 명령을 실행하기 전에 다음 가이드라인을 살펴보십시오.

  • comparison 또는 repair 명령을 실행하는 경우 모든 SharePlex 프로세스(Capture, Read, Export, Import, Post)가 실행 중이어야 합니다.
  • 비교하거나 복원할 테이블은 활성 구성 파일의 일부여야 합니다.
  • 소스 테이블에서 커밋되지 않은 트랜잭션은 compare와 repair 프로세스가 읽기 일관성을 얻는 데 필요한 간단한 잠금을 얻지 못하도록 합니다. compare 또는 repair를 실행하기 전에 모든 트랜잭션이 커밋되었는지 확인하십시오.
  • 테이블이 큰 경우 TEMP 테이블스페이스에서 정렬해야 할 수도 있습니다. compare 또는 repair 명령을 실행하기 전에 TEMP 테이블스페이스를 더 크게 만들어야 할 수 있습니다. 크기는 SP_DEQ_THREADS 매개변수 또는 명령 구문 내의 스레드 옵션 설정에 따라 달라집니다. 두 옵션 모두 타겟에서 SharePlex가 사용하는 처리 스레드 수를 제어합니다. 각 스레드는 테이블을 처리합니다. 기본적으로 2개의 스레드가 있으며 테이블스페이스의 크기는 가장 큰 두 테이블의 크기를 합한 것보다 커야 합니다. 스레드 수를 더 높게 설정하는 경우 테이블스페이스의 크기를 늘려 가장 큰 테이블의 비례적인 수를 수용할 수 있도록 합니다. 그러나
  • UNDO 테이블스페이스도 늘려야 할 수 있습니다. 가장 큰 테이블을 비교하는 데 걸리는 시간과 트랜잭션 볼륨을 기준으로 UNDO 테이블스페이스의 크기와 undo_retention 데이터베이스 매개변수를 늘려 ORA-1555 Snapshot too old 오류를 방지합니다. LOB가 있는 테이블은 LOB가 없는 테이블보다 비교하거나 복원하는 데 훨씬 더 오랜 시간이 걸립니다.

PostgreSQL-PostgreSQL 복제 중 compare 또는 repair 명령을 실행하기 전에 다음 가이드라인을 살펴보십시오.

  • comparison 또는 repair 명령을 실행하는 경우 모든 SharePlex 프로세스(Capture, Read, Export, Import, Post)가 실행 중이어야 합니다.
  • 비교하거나 복원할 테이블은 활성 구성 파일의 일부여야 합니다.
  • 소스 테이블에서 커밋되지 않은 트랜잭션은 compare와 repair 프로세스가 읽기 일관성을 얻는 데 필요한 간단한 잠금을 얻지 못하도록 합니다. compare 또는 repair를 실행하기 전에 모든 트랜잭션이 커밋되었는지 확인하십시오.
  • 테이블 행의 크기(각 컬럼의 데이터 합계)가 큰 경우 PostgreSQL 데이터베이스가 SELECT 쿼리를 호출하는 호출 프로세스에 테이블 데이터를 게시하므로 더 많은 메모리가 필요할 수 있습니다. compare 또는 repair 명령을 실행하기 전에 사용 가능한 메모리가 충분한지 확인하십시오. 해당 크기는 명령 구문 내의 스레드 옵션 또는 SP_DEQ_THREADS 매개변수의 설정과 한 번에 처리되는 테이블 수와 각 스레드에 할당되는 메모리를 결정하는 SP_DEQ_MALLOC 값에 따라 달라집니다. SP_DEQ_MALLOC 매개변수에 할당된 값은 실행 중인 스레드 수로 나뉩니다.

compare 및 repair 매개변수:

다음은 일반적으로 수정된 compare와 repair 매개변수입니다. 필요한 경우가 아니면 값을 늘리지 마십시오. 이러한 매개변수에 대한 자세한 내용은 SharePlex 참조 안내서의 해당 문서를 참조하십시오.

매개변수 설명
SP_DEQ_MALLOC

이 매개변수는 임포트 배치 크기를 제어합니다. 배치 크기는 SharePlex가 비교를 위해 한 번에 선택하는 행 수를 제어합니다. 배치 크기가 크면 처리 속도가 빨라지지만 더 많은 메모리가 필요합니다. 사용할 비교 스레드 수로 값을 균등하게 나눈 다음, 합산된 모든 컬럼의 크기를 기준으로 배치 크기를 다시 계산합니다.

SP_DEQ_PARRALLISM

이 매개변수는 select 문 DOP(Degree of Parallelism) 힌트를 관리합니다. 명령의 병렬 처리 옵션이 이 설정을 재정의합니다.

SP_DEQ_PART_TABLE_UPDATE 이 매개변수는 행 이동이 가능한지 여부에 따라 Oracle 파티셔닝된 테이블에서 repair 명령이 작동하는 방식을 제어합니다.
SP_DEQ_PG_DECLARE_FETCH_SIZE

이 매개변수는 드라이버가 결과 집합 반환을 단일 가져오기로 시도하는지 여러 가져오기에 걸쳐 시도하는지를 결정합니다.

이 매개변수는 PostgreSQL 데이터베이스에만 적용 가능합니다.

SP_DEQ_READ_BUFFER_SIZE 이 매개변수는 가져온 LONG 및 LOB 데이터를 보관하는 버퍼의 크기를 제어하며 사용 가능한 시스템 메모리에 따라 조정될 수 있습니다.
SP_DEQ_ROW_LOCK_THRESHOLD 이 매개변수는 WHERE 옵션이 사용될 때 SharePlex가 행 수준 잠금을 사용할지 또는 테이블 수준 잠금을 사용할지를 제어하는 임계값을 설정합니다.
SP_DEQ_SKIP_LOB

이 매개변수는 compare/repair 처리에 LOB가 포함되는지 여부를 결정합니다.

  • 매개변수가 기본값인 0으로 설정되면 Compare 프로세스의 처리에 LOB가 포함됩니다.
  • 매개변수를 1로 설정하면 LOB가 아닌 컬럼만 비교 및 복원됩니다. LOB가 삽입된 후 수정되지 않으면 이 매개변수를 1로 설정하여 처리 속도를 높일 수 있습니다.

소스 시스템에서 이 매개변수를 설정합니다.

SP_DEQ_TIMEOUT 이 매개변수는 큐 백로그 임계값을 설정합니다. 백로그가 높으면 소스와 타겟 compare/repair 프로세스 간의 연결 설정이 지연됩니다. 백로그가 이 값을 충족하거나 초과하면 소스에서 실행되는 compare 또는 repair 명령이 종료되고 오류가 반환됩니다. 이 문제가 발생하면 시스템 사용량이 적을 때 compare 또는 repair를 실행하는 것이 좋습니다.

repair 및 compare 명령을 사용하는 방법

comparison 및 repair 명령을 통해 동기화된 데이터를 유지하기 위해 권장되는 절차는 compare 또는 compare using 명령을 먼저 실행한 후 repair status 명령으로 결과를 보는 것입니다. 이 명령은 동기화 중단 행과 가능한 원인을 보여줍니다. 동기화 중단 상태의 원인을 해결하지 않으면 이번에 행을 복원하더라도 복제는 다시 동기화되지 않게 됩니다. 문제가 해결되면 repair 또는 repair using 명령을 실행합니다.

예비 비교를 수행하지 않고도 repair 또는 repair using 명령을 실행할 수 있습니다. 이 명령은 먼저 비교를 수행하여 동기화 중단 행을 식별한 후 해당 행을 복원합니다. 그러나 향후 동기화 중단 상태를 방지하려면 동기화 중단 상태의 근본 원인을 해결해야 합니다.

동기화 중단 상태의 원인과 해결 방법은 를 참조하십시오.

비교의 상태 또는 결과를 보려면 sp_ctrl에서 compare status 명령을 사용합니다.

복원의 상태 또는 결과를 보려면 sp_ctrl에서 repair status 명령을 사용합니다.

repair를 실행해야 하는 경우

타겟 테이블을 복원하는 가장 좋은 시기는 크기, 문제의 원인, 동기화 중단 행의 범위 및 사용자를 잠금 설정하려는 기간에 따라 다릅니다. repair를 시작하려면 먼저 다음 사항을 고려하십시오.

  • 테이블 사용자는 일반적으로 테이블을 비교할 때 적용되는 간단한 잠금의 영향을 받지 않지만 Repair 프로세스 중에는 타겟 테이블에서 잠깁니다. 작은 테이블의 경우에는 이 작업이 중단되지 않을 수 있지만 광범위한 복원이 필요한 큰 테이블의 경우 대기 시간이 상당히 길어질 수 있습니다.
  • Post가 해당 테이블에 변경 사항을 적용하고 다른 테이블로 이동하기 전에 복원이 완료될 때까지 기다려야 하는 경우, 타겟 테이블에 대한 잠금으로 인해 게시 성능이 저하될 수 있습니다. 이로 인해 타겟 데이터의 지연 시간이 늘어나고 작업이 Post 큐에 누적됩니다. Post가 변경해야 하는 객체가 복원 중인 객체와는 다른 경우 두 프로세스가 동시에 실행됩니다.
  • 테이블을 즉시 복원해야 하지만 잠금이나 복제 지연 시간을 허용할 수 없는 경우 where 옵션을 사용하여 복원을 특정 행으로 제한할 수 있습니다. 대안은 key 옵션을 사용하는 것이지만 이 옵션을 사용하면 복원 시 일부 동기화 중단 행이 누락될 수 있습니다.

  • 복원이 지연될 수 있는 경우, 즉시 문제 원인을 해결한 후 피크 시간이 아닌 때에 복원을 수행합니다.
  • 복제 지연 시간은 compare와 repair 처리 속도를 늦출 수 있습니다. 타겟에 명령 프로세스를 생성하기 위해 소스에서 전송된 메시지는 일반 복제 데이터와 함께 큐를 통해 전송됩니다. 데이터 백로그로 인한 지연으로 인해 생성 메시지가 지연되고 소스 프로세스의 읽기 일관성이 손실되어 오류가 발생합니다. 가능한 경우 사용량이 적은 시간에 compare와 repair를 수행합니다.

compare와 repair 명령을 실행하는 방법

compare와 repair 명령에 대한 추가 정보와 구문을 확인하려면 SharePlex 참조 안내서의 명령 문서를 참조하십시오.

Capture 프로세스 조정

이 장에는 Oracle 소스 데이터베이스가 생성하는 리두 볼륨에 따라 Capture 속도가 느려지는 것을 방지하기 위해 Capture 프로세스의 성능을 향상시키는 지침이 포함되어 있습니다.

내용

LOB 매핑 비활성화

소스 데이터베이스에서 PK/UK 로깅을 활성화한 경우(더 많은 SharePlex 기능과 더 빠른 처리를 지원하기 위해 권장) SP_OCT_ENABLE_LOBMAP 매개변수의 설정을 확인합니다. 이 매개변수는 행 외부 LOB 컬럼이 포함된 테이블을 복제할 때 SharePlex가 LOB 맵을 사용할지 여부를 제어합니다. LOB 맵은 PK/UK 로깅이 활성화되지 않은 경우 LOBID 및 행을 매핑하기 위해 Capture 프로세스에서 사용됩니다. LOB 매핑은 기본적으로 활성화되어 있습니다. SHAREPLEX_LOBMAP 테이블은 이러한 매핑을 저장합니다. LOB 작업이 많은 트랜잭션에서는 매핑을 유지하고 참조해야 하므로 Capture 속도가 느려질 수 있습니다. 데이터베이스에서 PK/UK 로깅이 활성화된 경우 이 매개변수를 0으로 설정하여 LOB 매핑을 비활성화할 수 있습니다.

활성 복제 중에 LOB 매핑을 비활성화하려면 다음을 수행합니다.

  1. 소스 시스템에서 sp_ctrl을 실행합니다.
  2. SP_OCT_ENABLE_LOBMAP을 0으로 설정합니다.

    sp_ctrl> set param SP_OCT_ENABLE_LOBMAP 0

  3. Capture를 중지합니다.

    sp_ctrl> stop capture

  4. SHAREPLEX_LOBMAP 테이블을 자릅니다.
  5. Capture를 재시작합니다.

    sp_ctrl> start capture

The document was helpful.

평가 결과 선택

I easily found the information I needed.

평가 결과 선택