DDL 오류 발생 시 계속 게시
기본적으로 Post는 DDL 오류가 발생하면 중지됩니다. 오류는 일반적으로 소스 시스템에서 DDL이 실행된 데이터베이스 구성 요소가 타겟 데이터베이스에 존재하지 않음을 나타냅니다. SP_OPO_STOP_ON_DDL_ERR 매개변수의 기본 설정은 Post on DDL 오류를 중지하므로 해당 객체에 대한 후속 DML이 실패하지 않습니다. 이를 통해 문제를 해결하고 데이터베이스를 동기화된 상태로 유지할 수 있습니다. 이 매개변수에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.
Post는 다른 시도로 성공할 가능성이 있는 경우 실패한 특정 작업을 다시 시도합니다. Post가 다시 시도하는 주요 작업은 Post가 TRUNCATE를 적용해야 할 때 TNS 쓰기 실패, 연결 실패 또는 테이블 잠금입니다.
실패한 작업이 성공할 가능성을 높이려면 Post가 작업을 더 많이 시도하도록 SP_OPO_RETRIES_MAX 매개변수를 늘리면 됩니다. 동시에 SP_OPO_RETRY_DELAY_TIME 매개변수를 늘려서 시도 간 시간 간격을 늘립니다. 이는 잠금 또는 기타 차단 작업을 시도할 때 해결할 충분한 시간을 확보할 수 있습니다.
Post 프로세스가 오류(SP_SYS_SUSPEND_ON_ERROR=0) 발생 시 계속되도록 설정되거나 오류 메시지가 oramsglist 파일에 나열된 경우 Post는 큐의 다음 트랜잭션으로 이동합니다. 그 외 모든 경우에는 허용된 최대 시도 횟수에 도달한 후 Post가 중지됩니다.
중요: 이 매개변수를 줄이면 데이터가 큐에 누적되어 사용 가능한 디스크 공간을 초과할 수 있습니다.
자세한 내용은 SharePlex참조 안내서의 SP_OPO_RETRIES_MAX를 참조하십시오.
동기화 중단 상태를 처리하도록 Post를 구성할 수 있습니다. 다음은 기본 동작과 대체 동작을 설명합니다.
동기화 중단 오류의 기본 Post 처리
트랜잭션에 동기화 중단 작업이 포함된 경우 기본 게시 동작은 트랜잭션의 다른 유효한 작업을 계속 처리하여 지연 시간을 최소화하고 타겟을 가능한 한 최신 상태로 유지하는 것입니다. 지연 시간은 소스 트랜잭션이 발생하는 시점과 타겟에 적용되는 시점 사이의 시간입니다. 비정상적으로 높은 트랜잭션 볼륨이나 네트워크 트래픽 중단 등 다양한 요인이 복제 지연 시간에 영향을 미칩니다.
Post는 동기화 중단 작업에 대한 SQL 문과 데이터를 ID_errlog.sql 로그 파일에 기록합니다. 여기서, ID는 데이터베이스 식별자입니다. 이 파일은 타겟 시스템에 있는 variable-data 디렉토리의 log 하위 디렉토리에 있습니다.
동기화 중단 오류 발생 시 중지
다음 매개변수를 1로 설정하여 동기화 중단 상태가 발생하면 Post가 중지되도록 구성할 수 있습니다.
- Oracle 타겟: SP_OPO_OUT_OF_SYNC_SUSPEND
- Open Target 타겟: SP_OPX_OUT_OF_SYNC_SUSPEND
이 기능을 사용하는 경우 복제를 자주 모니터링해야 합니다. Post가 중지되면 지연 시간이 증가하고 큐에 데이터가 누적됩니다. 자세한 내용은 SharePlex 참조 안내서의 매개변수 문서를 참조하십시오.
동기화 중단 오류가 발생하면 트랜잭션을 롤백합니다.
해당 트랜잭션의 작업으로 인해 동기화 중단 오류가 발생하는 경우 트랜잭션을 롤백하고 삭제하도록 Post를 구성할 수 있습니다. 전체 트랜잭션은 SQL 파일에 기록되지만 타겟에는 적용되지 않습니다. SQL 파일을 편집하여 유효하지 않은 DML을 수정한 후 SQL 파일을 실행하여 트랜잭션을 적용할 수 있습니다. 이 기능은 SP_OPO_SAVE_OOS_TRANSACTION을 1로 설정하여 활성화됩니다.
자세한 내용은 SharePlex 참조 안내서의 매개변수 문서를 참조하십시오.
이 항목에는 SharePlex의 변환 기능을 사용하는 방법에 대한 지침이 포함되어 있습니다. 변환을 사용하면 SharePlex가 데이터를 타겟에 게시하기 전이나 게시하는 대신 데이터를 조작할 수 있습니다.
내용