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