고급 실행 옵션
표준 실행, 중지 및 재개 옵션 외에도 작업 실행을 위한 몇 가지 다른 옵션을 사용할 수 있습니다. 다음 중 하나를 수행하여 고급 실행 옵션 대화 상자를 열 수 있습니다.
- 파이프라인 보기 또는 타일 보기에서 복제 작업의 메뉴에서 고급 실행 옵션을 선택합니다.
- 복제 작업을 열고 오른쪽 위의 메뉴에서 고급 실행 옵션을 선택합니다.
변경 내용 처리
고급 실행 옵션 대화 상자에서 변경 내용 처리를 선택합니다. 다음 옵션을 사용할 수 있습니다.
-
테이블이 이미 로드되었습니다. 다음에서 변경 내용 처리 시작:
정보 메모작업이 중지된 동안 소스 테이블에서 수행된 메타데이터 변경 내용(예: DROP COLUMN)은 작업이 이전 시간 또는 위치(SCN/LSN)에서 재개될 때 캡처되지 않습니다. 이러한 경우 작업이 재개될 때 존재하는 메타데이터가 캡처됩니다.-
날짜 및 시간: 변경 내용 캡처를 시작하려는 날짜와 시간을 설정합니다.
정보 메모- 예를 들어, 제거 정책으로 인해 데이터베이스에서 로그가 삭제되면 지정된 날짜 및 시간과 일치하는 로그가 존재하지 않을 수 있습니다. 이 경우 데이터 작업은 지정된 날짜 및 시간 이후 가능한 가장 빠른 시점부터 작업을 재개합니다.
- IBM DB2 for LUW 소스 종료 지점에서는 이 옵션을 사용하여 변경 내용 적용 작업의 원래 시작 시간 이전 시점부터 변경 내용 적용 작업을 시작할 수 없습니다. 다르게 말하면, 변경 내용 적용 작업의 원본 시작 시간 이후에는 언제든지 작업을 시작하는 데만 사용할 수 있습니다.
- 타임스탬프는 브라우저 컴퓨터의 로컬 시간을 사용합니다.
-
소스 변경 위치(SCN 또는 LSN): 변경 처리를 재개할 로그의 위치를 지정합니다. 소스 변경 위치 형식은 데이터 소스에 따라 다릅니다. 자세한 내용은 소스 변경 위치를 찾는 방법을 참조하십시오.
정보 메모소스 변경 위치 옵션은 다음 소스 종료 지점에서만 지원됩니다.
- Oracle
- Microsoft SQL Server
- MySQL
- PostgreSQL
- IBM DB2 for z/OS
- IBM DB2 for LUW
-
작업 복구
고급 실행 옵션 대화 상자에서 복구를 선택합니다. 다음 옵션을 사용할 수 있습니다.
-
로컬에 저장된 체크포인트를 사용하여 복구: 이미 로드된 테이블을 사용하여 복구할 수 없는 경우 이 옵션을 사용합니다. 옵션에서 변경 내용 처리를 시작합니다(예: 손상된 스왑 파일로 인해). 이 옵션을 선택하면 복제 작업은 <Data_Folder_Path>/data/tasks/<task_name>/StateManager에 저장된 체크포인트 데이터를 사용하여 작업을 복구합니다.
정보 메모이 옵션을 사용할 때는 다음 제한 사항과 고려 사항에 유의해야 합니다.
- 트랜잭션 변경 내용 적용 모드에서 트랜잭션을 지원하는 데이터 대상으로만 지원됩니다.
- 다음 데이터 소스만 지원됩니다.
- Oracle
- Microsoft SQL Server
MySQL
PostgreSQL
IBM DB2 for z/OS
SAP HANA
- 작업은 CDC 중(즉, 전체 로드가 완료된 후)에만 복구할 수 있습니다.
-
대상에 저장된 체크포인트를 사용하여 복구: attrep_txn_state 테이블(대상 데이터베이스에서 만들어짐)의 CHECKPOINT 값을 사용하여 작업을 복구합니다.
체크포인트 값 예:
checkpoint:V1#15#0000038b:000033f1:0004#0#261#0000038b:0000348b:0009#0#273
데이터 폴더의 파일이 손상되었거나 데이터 폴더를 포함하는 저장 장치가 실패한 경우 이 옵션(로컬에 저장된 체크포인트를 사용하여 복구 옵션과 반대)을 선택합니다.
attrep_txn_state 테이블을 사용하여 복구를 설정하고 구현하는 방법에 대한 자세한 설명은 데이터 폴더 손실 또는 손상 복구를 참조하십시오.
소스 변경 위치를 찾는 방법
다음 섹션에서는 지원되는 각 데이터베이스에 대한 소스 변경 위치를 찾는 방법을 설명합니다.
MySQL
옵션 1:
-
실행:
SHOW BINARY LOGS;
- binlog 파일(예: log.000123)을 선택합니다.
-
실행:
SHOW BINLOG EVENTS IN 'binlog_filename';
예:
SHOW BINLOG EVENTS IN 'log.000123';
-
BEGIN 또는 DDL 문의 위치를 찾습니다(예: 1777888).
정보 메모MySQL은 트랜잭션 중간에 위치한 "시작 위치"를 지원하지 않으므로 BEGIN 또는 DDL을 선택해야 합니다.
-
내부 매개 변수를 설정합니다.
StartFromPosition = binlog_filename:begin_or_ddl_position
예:
StartFromPosition = log.000123:1777888
옵션 2:
-
실행:
SHOW MASTER STATUS;
-
"시작 위치"를 다음과 같이 설정합니다.
firstColumnValue:secondColumnValue
예:
mysql.007472:775
Microsoft SQL Server
실행:
SELECT MAX([Current LSN]) FROM fn_dblog(null,null);
예: 00002717:00000e08:0003
Oracle
실행:
SELECT current_scn FROM V$DATABASE;
예: 1471212002
PostgreSQL
PostgreSQL 버전에 따라 명령이 다릅니다.
PostgreSQL 10 이상
실행:
SELECT * FROM pg_current_wal_lsn();
IBM DB2 for z/OS
데이터 공유 환경이 아닌 경우에는 RBA인 LSN을 지정하고, 데이터 공유 환경에서는 LRSN을 지정합니다.
IBM DB2 for LUW
- 올바른 로그 이름을 찾으려면 db2pd를 실행합니다.
-
반환된 로그 이름으로 db2flsn 을 실행하고 현재 LRI 값을 사용합니다.
관련 항목: pureScale 환경의 LRI에서 작업 재개 또는 시작
자세한 내용은 Replicate 도움말의 "pureScale 환경에서 LRI에서 작업 재개 또는 시작"을 참조하십시오.
데이터 폴더 손실 또는 손상 복구
정상 작업 중에 이동 상태는 다음 위치에 저장됩니다.
<Data_Folder_Path>/data/tasks/<task_name>/StateManager
이를 통해 위에서 설명한 로컬에 저장된 체크포인트를 사용하여 복구 옵션을 사용하여 정상적으로 재개할 수 없는 작업(예: 손상된 스왑 파일로 인해)을 복구할 수 있습니다. 그러나 데이터 폴더의 파일이 손상되거나 데이터 폴더가 포함된 저장 장치에 오류가 발생하는 경우 대신 대상에 저장된 체크포인트를 통해 복구 옵션을 사용하여 작업을 복구해야 합니다.
고려 사항 및 제한 사항
이 옵션을 사용할 때는 다음 고려 사항 및 제한 사항에 유의해야 합니다.
-
이 옵션은 CDC가 완료되기 전에 작업 설정의 변경 처리 튜닝 탭에서 대상 데이터베이스에 작업 복구 데이터 저장 옵션이 활성화된 경우에만 사용할 수 있습니다.
-
변경 내용 적용 모드는 트랜잭션으로 설정되어야 합니다.
- 다음 데이터 소스 유형만 지원됩니다.
- Amazon RDS for MySQL
- Amazon RDS for PostgreSQL
- Amazon RDS for SQL
- AWS Aurora Cloud for PostgreSQL
- Google Cloud SQL for MySQL
- Google Cloud SQL for PostgreSQL
- IBM DB2 for z/OS
- Microsoft Azure Database for MySQL
- Microsoft Azure SQL 관리형 인스턴스
- Microsoft SQL Server
- MySQL
- Oracle
- PostrgreSQL
- SAP HANA
- Microsoft SQL Server 대상 유형만 지원됩니다.
- CDC 중에만 작업을 복구할 수 있습니다(전체 로드가 완료된 후).
작업 복구 설정 및 시작
복구가 성공하려면 작업이 실패한 시점부터 소스 데이터베이스 트랜잭션 로그를 사용할 수 있어야 합니다.
복구 작업을 설정하려면
- 작업 설정의 변경 처리 튜닝 탭에서 대상 데이터베이스에 작업 복구 데이터 저장 옵션을 활성화해야 합니다. 이 옵션은 CDC 도중 언제든지 활성화할 수 있지만 CDC가 완료되기 전에 활성화해야 합니다.
-
작업을 실행합니다.
선택된 소스 테이블 외에도 작업은 대상 데이터베이스의 attrep_txn_state 테이블에 체크포인트 데이터를 기록합니다(다른 작업에서 테이블을 아직 만들지 않은 경우 자동으로 만듦).
복구를 시작하려면
- 대상 데이터베이스의 attrep_txn_state 테이블에 액세스하고 TASK_NAME 열에서 실패한 작업을 찾습니다. 여러 Qlik Talend Data Integration 서버에서 실행 중인 동일한 이름의 작업이 있는 경우 SERVER_NAME 열에서 적절한 서버도 찾아야 합니다. 관련 작업을 찾은 후 해당 CHECKPOINT 열의 값을 복사합니다.
- 대상에 저장된 체크포인트를 사용하여 복구 옵션을 선택한 다음 위에서 설명한 대로 CHECKPOINT 값(가급적 붙여넣기 방식 사용)을 입력합니다.
- 복구를 시작하려면 확인을 클릭합니다.
복구 중에 복제 작업은 CHECKPOINT 값에 해당하는 커밋 이벤트를 식별할 때까지 대상 데이터베이스에 아무것도 쓰지 않습니다. CHECKPOINT 커밋 이벤트가 식별되면 복구가 수행되고 작업이 표준 작업으로 되돌아갑니다.