소스와 대상 간의 테이블 속성 조정
데이터베이스에 대해 Oracle GoldenGate DDL 기능이 지원되지 않는 경우 이 절차에 따라 소스 테이블의 속성을 변경합니다. 속성 변경에는 열 또는 분할 영역 추가 또는 변경이 포함됩니다. 복제 대기 시간을 발생시키지 않고도 대상 테이블을 동일하게 변경하는 방법을 알려줍니다.
주: Oracle 및 MySQL 데이터베이스의 경우 이 프로시저를 사용하는 대신 Oracle GoldenGate의 DDL 지원 기능을 사용으로 설정하여 DDL 변경 사항을 대상에 전달할 수 있습니다.
- 소스 및 대상 시스템에서 표시기 테이블이라고 하는 테이블을 생성합니다. 이 테이블은 트랜잭션 로그의 정지 지점을 나타내는 표시기를 생성하는 데 사용할 수 있습니다. 두 개의 간단한 열(primary key)과 다른 하나는 일반 열로 생성합니다. 예:
CREATE TABLE marker
(
id int NOT NULL,
column varchar(25) NOT NULL,
PRIMARY KEY (id)
);
- 소스 시스템과 대상 시스템 모두의 표시자 테이블에 행을 삽입합니다.
INSERT INTO marker VALUES (1, 1);
COMMIT;
-
소스 시스템에서 Admin Client를 실행합니다.
-
편집할 추출 매개변수 파일을 엽니다.
주의:
VIEW PARAMS또는EDIT PARAMS명령을 사용하여 로컬 운영 체제의 문자 집합이 아닌 다른 문자 집합에 있는 기존의 매개변수 파일을 보거나 편집할 수 없습니다(예:CHARSET옵션이 다른 문자 집합 지정에 사용된 경우). 이 경우 명령행 인터페이스 외부에서 파라미터 파일을 확인합니다. 그렇지 않으면 내용이 손상될 수 있습니다. -
TABLE문의 Extract 매개변수 파일에 표시자 테이블을 추가합니다.
TABLE marker;
-
매개변수 파일을 저장한 후 닫습니다.
-
데이터 펌프가 사용되는 경우 데이터 펌프의
TABLE문에 표시자 테이블을 추가합니다. -
Extract 및 데이터 펌프 프로세스를 정지한 후 즉시 재시작하여 캡처 지연을 방지합니다.
STOP EXTRACT *group*
START EXTRACT *group*
-
대상 시스템에서 관리 클라이언트를 실행합니다.
-
편집할 Replicat 매개변수 파일을 엽니다.
주의:
VIEW PARAMS또는EDIT PARAMS명령을 사용하여 로컬 운영 체제의 문자 집합이 아닌 다른 문자 집합에 있는 기존의 매개변수 파일을 보거나 편집할 수 없습니다(예:CHARSET옵션이 다른 문자 집합 지정에 사용된 경우). 이 경우 외부 관리 클라이언트에서 매개변수 파일을 봅니다. 그렇지 않으면 내용이 손상될 수 있습니다. -
MAP문에서 Replicat 매개변수 파일에 표시자 테이블을 추가하고 표시된 대로EVENTACTIONS매개변수를 사용하여 Replicat를 중지하고 표시자 테이블에 대한 작업을 무시합니다.
MAP marker, TARGET marker, EVENTACTIONS (STOP, IGNORE);
-
매개변수 파일을 저장한 후 닫습니다.
-
Replicat 프로세스를 중지한 후 즉시 다시 시작합니다.
STOP REPLICAT *group*
START REPLICAT *group*
-
소스 테이블과 대상 테이블의 테이블 속성을 변경할 준비가 되면 해당 테이블에 대한 모든 유저 작업을 정지합니다.
-
소스 시스템에서 마커 테이블에 대한
UPDATE작업을 트랜잭션의 유일한 작업으로 수행합니다.
UPDATE marker
SET column=2,
WHERE id=1;
COMMIT;
- 대상 시스템에서
EVENTACTIONS규칙의 결과로 Replicat가 중지되었음을 표시할 때까지 다음 명령을 실행합니다.
STATUS REPLICAT *group*
-
소스 및 대상 테이블에서 DDL을 수행하되 아직 사용자 작업은 허용하지 마십시오.
-
복제 시작.
START REPLICAT *group*
- 소스 및 대상 테이블에 대한 사용자 작업을 허용합니다.