DDL Rule

ProSync 사용자는 적용 프로세스의 설정 파일에서 DDL 파라미터를 설정할 수 있다. DDL 파라미터는 동기화 할 DDL에 대한 설정이다.

DDL 파라미터는 하나 이상의 DDL Rule 문장으로 구성된다. DDL Rule에는 DDL 동기화를 포함/배제할 대상과 DDL 종류를 명시할 수 있다.

사용법

DDL=([SET] [RANGE], TYPE=('[DDL OPERATION] [DDL OBJECT]', ...))
항목
설명

[SET]

INCLUDE 또는 EXCLUDE를 명시할 수 있다.

  • INCLUDE: 기술된 규칙에 대해 동기화한다.

  • EXCLUDE: 기술된 규칙에 대해 동기화하지 않는다. 어떠한 INCLUDE보다 EXCLUDE를 우선시한다.

[RANGE]

ALL 또는 DEFAULT 중 하나를 명시하거나, DB의 오브젝트 이름을 직접 명시할 수 있다.

  • ALL: 사용자의 모든 스키마, 테이블에 대해 적용된다.

  • DEFAULT: 모든 동기화 대상 테이블에 대해 적용된다.

  • 오브젝트 이름을 직접 명시: 대상에 대해 적용된다.

TYPE

TYPE은 하나 이상의 DDL OPERATION과 DDL OBJECT 쌍으로 구성된다. 지정되어 있지 않는 경우, Wildcard로 처리한다.

[DDL OPERATION]

Rule에 적용할 DDL 종류를 명시한다.

[DDL OBJECT]

Rule에 적용할 DDL 종류에 대한 대상을 명시한다.

참고

[RANGE]의 오브젝트 이름이나 [DDL OPERATION], [DDL OBJECT]에 '%'를 명시에 포함시켜 wildcard로 처리할 수 있다.

Source DB가 Oracle인 경우 [DDL OPERATION]과 [DDL OBJECT]에 '%'를 사용할 수 없다.

다음은 Source DB에 따라 설정 가능한 [DDL OPERATION]과 [DDL OBJECT]의 조합이다.

Source DB가 Tibero인 경우

DDL OPERATION
DDL OBJECT

CREATE

ALTER

DROP

COMMENT ON

TABLE

INDEX

TRIGGER

SEQUENCE

VIEW

FUNCTION

PACKAGE

PACKAGE BODY

PROCEDURE

SYNONYM

PUBLIC SYNONYM

TRUNCATE

TABLE

Source DB가 Oracle인 경우

DDL OPERATION
DDL OBJECT

CREATE

ALTER

DROP

TABLE

INDEX

VIEW

TRUNCATE

TABLE

예제

다음은 모든 스키마에 대해서 모든 종류의 DDL 동기화를 하지만, 스키마 EXCLUDED_USR의 모든 테이블에 대한 DDL 동기화는 배제하는 예제이다.

DDL=(
    INCLUDE ALL, TYPE=('%')
    EXCLUDE EXCLUDED_USR.%, TYPE=('%')
)

다음은 동기화 대상 테이블에 대해 TABLE을 대상으로 하는 DDL을 동기화하고, INCLUDED_USR의 모든 오브젝트 이름에 대해 INDEX를 대상으로 하는 DDL을 동기화한다. 반면, 오브젝트 이름이 EXCLUDED_USR.IDX1일 경우 INDEX를 대상으로 하는 DDL을 동기화하지 않는다.

DDL=(
    INCLUDE DEFAULT, TYPE=('% TABLE')
    INCLUDE INCLUDED_USR.%, TYPE=('% INDEX')
    EXCLUDE EXCLUDED_USR.IDX1, TYPE=('% INDEX')
)

다음은 SRCUSR의 모든 테이블에 대해 TYPE에 해당되는 DDL을 동기화하지만, SRCUSR.T1에 대해서는 DROP TABLE과 CREATE TABLE에 해당되는 DDL을 동기화하지 않는다.

DDL=(
    INCLUDE SRCUSR.%, TYPE=('DROP TABLE', 'ALTER TABLE', 'TRUNCATE TABLE')
    EXCLUDE SRCUSR.T1, TYPE=('DROP TABLE', 'CREATE TABLE')
)

Last updated