DDLSUBST
유효 기간
추출 및 복제
설명
DDLSUBST 매개변수를 사용하여 DDL 작업의 문자열을 대체합니다. 예를 들어, 한 테이블 이름을 다른 테이블 이름으로 대체하거나 주석 내의 문자열로 대체할 수 있습니다. 검색은 대소문자를 구분하지 않습니다. 문자열에서 따옴표를 나타내려면 큰 따옴표를 사용합니다.
DDLSUBST 사용 지침
-
DDLSUBST를 사용하여 열 이름과 데이터 유형을 대상에서 다른 이름으로 변환하지 마십시오. 이러한 방식으로 대상 객체의 구조를 변경하면 데이터가 복제될 때 오류가 발생합니다. 마찬가지로DDLSUBST를 사용하여 대상DDL문에서 소유자 및 테이블 이름을 변경하지 마십시오. 항상MAP문을 사용하여 복제된DDL작업을 다른 대상 객체에 매핑합니다. -
DDLSUBST는 매개변수 파일의 상대 순서에 관계없이 항상DDL매개변수 뒤에 실행됩니다. 필터링이 먼저 실행되기 때문에 문자열 대체에 사용 중인 조건과 호환되는 필터링 조건을 사용합니다. 예를 들어, 다음 파라미터 문을 살펴 보십시오.
DDL INCLUDE OBJNAME fin.*
DDLSUBST 'cust' WITH 'customers' INCLUDE OBJNAME sales.*
이 예에서는 INCLUDE 및 DDLSUBST 문의 객체가 다르기 때문에 대체가 발생하지 않습니다. fin 소유 객체는 Oracle GoldenGate DDL 구성에 포함되지만 sales 소유 객체는 포함되지 않습니다.
-
여러
DDLSUBST매개변수를 사용할 수 있습니다. 이러한 명령은 파라미터 파일에 나열된 순서대로 실행됩니다. -
주석이 포함된 Oracle
DDL의 경우 해당 주석에서 문자열 대체를 수행할 경우REMOVECOMMENTS BEFORE옵션과 함께DDLOPTIONS매개변수를 사용하지 마십시오.REMOVECOMMENTS BEFORE는 문자열 대체가 발생하기 전에 주석을 제거합니다. 주석을 제거하지만 문자열 대체를 허용하려면REMOVECOMMENTS AFTER옵션을 사용합니다. -
데이터베이스에서 지정한 제한 외에는 대체할 최대 문자열 크기가 없습니다. 문자열 크기가 데이터베이스 제한을 초과하면 작업을 실행하는 Extract 또는 Replicat 프로세스가 비정상 종료됩니다.
기본값
대체 없음
구문
DDLSUBST '<search_string>' WITH '<replace_string>'
[INCLUDE <inclusion_clause> | EXCLUDE <exclusion_clause>]
<'search_string'>
바꿀 소스 DDL 문의 문자열입니다. 문자열을 작은 따옴표로 묶습니다. 문자열에서 따옴표를 나타내려면 큰 따옴표를 사용합니다.
WITH
필요한 키워드.
<'replace_string'>
대상 DDL에서 대체로 사용할 문자열입니다. 문자열을 작은 따옴표로 묶습니다. 문자열에서 따옴표를 나타내려면 큰 따옴표를 사용합니다.
INCLUDE <inclusion_clause> | EXCLUDE <exclusion_clause>
문자열 대체 규칙이 적용되는 DDL 작업을 필터링할 INCLUDE 및 EXCLUDE 문을 하나 이상 지정합니다. 구문 및 사용법은 "DDL Filtering Options"를 참조하십시오.
예제
예 1
다음은 cust 문자열을 fin 스키마의 테이블에 대한 customers 문자열로 바꿉니다.
DDLSUBST 'cust' WITH 'customers'
INCLUDE ALL OBJTYPE 'table' OBJNAME fin.*
예 2
다음은 DDL 명령에 단어 logfile가 포함된 경우에만 새 디렉토리를 대체합니다. 검색 문자열이 여러 번 발견되면 대체 문자열이 여러 번 삽입됩니다.
DDLSUBST '/file1/location1' WITH '/file2/location2' INCLUDE INSTR 'logfile'
예 3
다음은 표시된 순서대로 실행되는 여러 DDLSUBST 문을 사용합니다.
DDLSUBST 'a' WITH 'b' INCLUDE ALL
DDLSUBST 'b' WITH 'c' INCLUDE ALL
앞의 순 효과는 모든 a 및 b 문자열을 c로 대체합니다.