DELETE TRANDATA
DELETE TRANDATA를 사용하여 다음 중 하나를 수행합니다.
-
Db2 LUW 및 Db2 z/OS: 테이블을
DATA CAPTURE NONE.로 변경합니다. -
Oracle: 보완 로깅을 사용 안함으로 설정합니다.
-
SQL Server: 테이블에 대한 확장된 로깅을 정지합니다.
-
PostgreSQL: 테이블의
REPLICA IDENTITY를NOTHING으로 변경합니다.
기본적으로 이 명령은 Oracle GoldenGate에 사용된 키 열(기본키, 고유 키, KEYCOLS 열 또는 모든 열 수 있음)과 일정 잡기 열의 보완 로깅을 제거하려고 시도합니다. 일정 잡기 열은 기본 키, 모든 고유 키 및 모든 외래 키입니다. Oracle GoldenGate 키 열의 로깅을 삭제하되 일정 잡기 열은 삭제되지 않으려면 DELETE TRANDATA와 함께 NOSCHEDULINGCOLS 옵션을 포함합니다. ADD TRANDATA가 ALLCOLS 옵션과 함께 실행된 경우 DELETE TRANDATA 옵션과 함께 ALLCOLS를 사용하여 Oracle GoldenGate 키 열을 비롯한 모든 열의 보완 로깅을 제거합니다. DELETE TRANDATA는 모든 테이블 레벨 보완 로깅이 사용 안함으로 설정되거나 제거된 후 테이블에 대한 논리적 복제를 사용 안함으로 설정됩니다. 이 동작은 Oracle 19c 및 이후 버전에서 지원됩니다. 또한 DELETE TRANDATA 작업이 테이블의 마지막 보완 로그 그룹을 제거하는 경우 ALTER TABLE owner.table DISABLE LOGICAL REPLICATION도 수행합니다.
DELETE TRANDATA를 실행한 후 논리적 복제를 사용으로 설정하려면 ADD TRANDATA table_name 명령을 실행하는 것이 필수입니다.
주: ADD SCHEMATRANDATA를 사용하여 논리적 복제를 사용으로 설정할 수 없습니다. {: .infoboxnote}
이 명령을 사용하기 전에 DBLOGIN 명령으로 데이터베이스 접속을 설정합니다. 이 명령으로 지정된 사용자에게는 ADD TRANDATA에 필요한 동일한 권한이 있어야 합니다.
구문
DELETE TRANDATA [container.]owner.table [NOSCHEDULINGCOLS | ALLCOLS]
[container.]owner.table
플러그인할 수 있는 데이터베이스(Oracle 다중 테넌트 컨테이너 데이터베이스인 경우), 테이블 또는 파일의 소유자와 이름입니다. 이름 구성요소에 와일드 카드 문자를 사용할 수 있습니다.
NOSCHEDULINGCOLS
명령이 지정된 테이블 내 일정 잡기 열의 보완 로깅을 제거하지 않도록 합니다. 일정 잡기 열은 테이블의 기본 키, 모든 고유 키 및 모든 외래 키입니다.
ALLCOLS
지정된 테이블 내 모든 열의 보완 로깅을 제거합니다.
예제
DELETE TRANDATA hr.employees
DELETE TRANDATA hr.reg*
DELETE TRANDATA hr.jobs ALLCOLS