All pages
1 of 3

Loading...

Loading...

Loading...

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๋ฅผ ์šฐ์„ ์‹œํ•œ๋‹ค.

๋‹ค์Œ์€ Source DB์— ๋”ฐ๋ผ ์„ค์ • ๊ฐ€๋Šฅํ•œ [DDL OPERATION]๊ณผ [DDL OBJECT]์˜ ์กฐํ•ฉ์ด๋‹ค.

DDL OPERATION
DDL OBJECT

DDL OPERATION
DDL OBJECT

๋‹ค์Œ์€ ๋ชจ๋“  ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•ด์„œ ๋ชจ๋“  ์ข…๋ฅ˜์˜ DDL ๋™๊ธฐํ™”๋ฅผ ํ•˜์ง€๋งŒ, ์Šคํ‚ค๋งˆ EXCLUDED_USR์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ DDL ๋™๊ธฐํ™”๋Š” ๋ฐฐ์ œํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค.

๋‹ค์Œ์€ ๋™๊ธฐํ™” ๋Œ€์ƒ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด TABLE์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” DDL์„ ๋™๊ธฐํ™”ํ•˜๊ณ , INCLUDED_USR์˜ ๋ชจ๋“  ์˜ค๋ธŒ์ ํŠธ ์ด๋ฆ„์— ๋Œ€ํ•ด INDEX๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” DDL์„ ๋™๊ธฐํ™”ํ•œ๋‹ค. ๋ฐ˜๋ฉด, ์˜ค๋ธŒ์ ํŠธ ์ด๋ฆ„์ด EXCLUDED_USR.IDX1์ผ ๊ฒฝ์šฐ INDEX๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” DDL์„ ๋™๊ธฐํ™”ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋‹ค์Œ์€ SRCUSR์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด TYPE์— ํ•ด๋‹น๋˜๋Š” DDL์„ ๋™๊ธฐํ™”ํ•˜์ง€๋งŒ, SRCUSR.T1์— ๋Œ€ํ•ด์„œ๋Š” DROP TABLE๊ณผ CREATE TABLE์— ํ•ด๋‹น๋˜๋Š” DDL์„ ๋™๊ธฐํ™”ํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • DDL ๋ฌธ์žฅ ํฌ๊ธฐ ๋™๊ธฐํ™” ํ•  DDL ๋ฌธ์žฅ์˜ ๊ฐ ์š”์†Œ๋Š” 128๊ธ€์ž๋ฅผ ๋„˜์„ ์ˆ˜ ์—†๋‹ค.

  • ์„ค์ • ์ „ ํ™•์ธ DDL ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๋Œ€์ƒ๊ณผ, ๋™๊ธฐํ™” ํ•  DDL ์ข…๋ฅ˜๊ฐ€ ์ •ํ™•ํ•œ์ง€ Wildcard๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ํ™•์ธํ•˜๊ณ  ์„ค์ •ํ•œ๋‹ค. ๋‹ค๋ฅธ DB๋‚˜ ๋Œ€์ƒ์—๊ฒŒ ๋จผ์ € ์ ์šฉํ•ด๋ณด๊ณ  ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.

  • CREATE TABLE ์ดํ›„ ๋™๊ธฐํ™” CREATE TABLE์— ๋Œ€ํ•œ DDL ๋™๊ธฐํ™” ํ›„ ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ”์„ DML ๋™๊ธฐํ™” ํ•˜๋ ค๋ฉด ์ˆ˜๋™์œผ๋กœ ๋™๊ธฐํ™” ๋Œ€์ƒ ์ถ”๊ฐ€๋ฅผ ํ•ด์•ผํ•œ๋‹ค. ๋ฐ˜๋ฉด DDL์€ Rule์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์งํ›„๋ถ€ํ„ฐ ๋™๊ธฐํ™” ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•œ๋‹ค.

  • implicit DDL CREATE TABLE์— ๋Œ€ํ•œ DDL ๋™๊ธฐํ™” ์‹คํ–‰ ์ค‘ ์ปฌ๋Ÿผ์˜ PRIMARY KEY๋กœ ์ธํ•ด INDEX ์ƒ์„ฑ์ด ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ช…์‹œ๋˜์ง€ ์•Š์€ DDL์„ implicit DDL์ด๋ผ ํ•˜๋ฉฐ, ๋™๊ธฐํ™” ์„ค์ •ํ•  ๋•Œ ์ด๋ฅผ ์ฃผ์˜ํ•œ๋‹ค.

COMMENT ON

-

TRUNCATE

TABLE

RENAME ์ง€์› DDL ์ค‘ RENAME์€ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ALTER ... RENAME์„ ์ด์šฉํ•œ DDL ๊ตฌ๋ฌธ์€ ALTER๋ฅผ ๋™๊ธฐํ™” ์„ค์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ORACLE LOGMNR Source DB๊ฐ€ Oracle, logmnr ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋™๊ธฐํ™” ๋Œ€์ƒ์— ๋Œ€ํ•œ DDL ๋™๊ธฐํ™”๋งŒ ์ง€์›ํ•œ๋‹ค.

  • INDEX / CONSTRAINTS ๊ด€๋ จ ์ฃผ์˜์‚ฌํ•ญ INDEX / CONSTRAINTS์˜ ๊ฒฝ์šฐ SRC/TAR DB์—์„œ ์ด๋ฆ„์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ ๋™๊ธฐํ™”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

  • DDL ์„ค์ • ์กฐํ•ฉ ๋ณต์ˆ˜ ๊ฐœ์˜ DDL ๋ฃฐ์— ๋Œ€ํ•œ ์„ค์ • ์‹œ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ช…์‹œํ•œ๋‹ค.

    DDL=([SET] [RANGE], TYPE=('[DDL OPERATION] [DDL OBJECT]', ...)
                    [SET] [RANGE], TYPE=('[DDL OPERATION] [DDL OBJECT]', ...) ....)
  • OBJECT ๋™๊ธฐํ™” DDL ๋™๊ธฐํ™”์˜ ๊ฒฝ์šฐ INCLUDE DEFAULT ์‚ฌ์šฉ ์‹œ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ DDL ๋™๊ธฐํ™”๋Š” ์ˆ˜ํ–‰๋˜์ง€ ์•Š์œผ๋ฉฐ, ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ DDL ๋™๊ธฐํ™” ์ˆ˜ํ–‰์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ง์ ‘ ๋ช…์‹œํ•ด์•ผํ•œ๋‹ค

  • ์Šคํ‚ค๋งˆ ๋ฏธ๋ช…์‹œ DDL ๊ตฌ๋ฌธ์˜ ๋™๊ธฐํ™” ์ œํ•œ DDL ๊ตฌ๋ฌธ์—์„œ ๋Œ€์ƒ ๊ฐ์ฒด์˜ ์Šคํ‚ค๋งˆ(Schema) ๊ฐ€ ๋ช…์‹œ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ํ•ด๋‹น ๊ตฌ๋ฌธ์€ ๋™๊ธฐํ™”๊ฐ€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ์Šคํ‚ค๋งˆ๋ฅผ ๋ช…์‹œํ•œ ํ˜•ํƒœ์˜ DDL ๊ตฌ๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•ด์•ผ๋งŒ ๋™๊ธฐํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

    ์˜ˆ์‹œ

    CREATE TABLE TEST_TABLE2 (
        c1 NUMBER,
        CONSTRAINT fk_test FOREIGN KEY (c1) REFERENCES [์Šคํ‚ค๋งˆ๋ช…].TEST_TABLE1 (c1)
    );
  • SYS ์Šคํ‚ค๋งˆ DDL ๋™๊ธฐํ™” ์ œ์•ฝ์‚ฌํ•ญ ์Šคํ‚ค๋งˆ๊ฐ€ SYS์ธ ๊ฒฝ์šฐ, ํ•ด๋‹น ์Šคํ‚ค๋งˆ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ๋ชจ๋“  DDL์€ ๋™๊ธฐํ™” ์‹œ Skip ์ฒ˜๋ฆฌ๋œ๋‹ค.

  • ์Šคํ‚ค๋งˆ ๋น„์ข…์† ๊ฐ์ฒด(Non-Schema Object) ๋™๊ธฐํ™” ์ œ์•ฝ์‚ฌํ•ญ

    TABLESPACE, DIRECTORY, DATABASE LINK, ROLE, LIBRARY ๊ฐ์ฒด๋Š” ํŠน์ • ์Šคํ‚ค๋งˆ์— ์ข…์†๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋กœ, DDL ๋™๊ธฐํ™” ์‹œ INCLUDE ALL ์˜ต์…˜์ด ์„ค์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•œ๋‹ค. INCLUDE DEFAULT์ธ ๊ฒฝ์šฐ ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • Password ํฌํ•จ DDL ๋™๊ธฐํ™” ์ œ์•ฝ์‚ฌํ•ญ

    CREATE ROLE, ALTER ROLE, CREATE PUBLIC DATABASE LINK ๋“ฑ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ •๋ณด๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” DDL ๋ฌธ์žฅ์€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋งŒ DDL ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•œ๋‹ค.

  • [RANGE]

    ALL ๋˜๋Š” DEFAULT ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ช…์‹œํ•˜๊ฑฐ๋‚˜, DB์˜ ์˜ค๋ธŒ์ ํŠธ ์ด๋ฆ„์„ ์ง์ ‘ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ALL: ๋ชจ๋“  ์Šคํ‚ค๋งˆ, ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ์ ์šฉ๋œ๋‹ค.

    • DEFAULT: ๋ชจ๋“  ๋™๊ธฐํ™” ๋Œ€์ƒ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ์ ์šฉ๋œ๋‹ค.

    • ์˜ค๋ธŒ์ ํŠธ ์ด๋ฆ„์„ ์ง์ ‘ ๋ช…์‹œ: ๋Œ€์ƒ์— ๋Œ€ํ•ด ์ ์šฉ๋œ๋‹ค.

    TYPE

    TYPE์€ ํ•˜๋‚˜ ์ด์ƒ์˜ DDL OPERATION๊ณผ DDL OBJECT ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ง€์ •๋˜์–ด ์žˆ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, Wildcard๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.

    [DDL OPERATION]

    Rule์— ์ ์šฉํ•  DDL ์ข…๋ฅ˜๋ฅผ ๋ช…์‹œํ•œ๋‹ค.

    [DDL OBJECT]

    Rule์— ์ ์šฉํ•  DDL ์ข…๋ฅ˜์— ๋Œ€ํ•œ ๋Œ€์ƒ์„ ๋ช…์‹œํ•œ๋‹ค.

    CREATE

    ALTER

    DROP

    COMMENT ON

    TABLE

    INDEX

    TRIGGER

    SEQUENCE

    VIEW

    FUNCTION

    PACKAGE

    PACKAGE BODY

    PROCEDURE

    SYNONYM

    PUBLIC SYNONYM

    TRUNCATE

    TABLE

    CREATE

    TABLE

    INDEX

    TRIGGER

    SEQUENCE

    VIEW

    MVIEW

    FUNCTION

    PACKAGE

    PACKAGE BODY

    PROCEDURE SYNONYM

    PUBLIC SYNONYM TABLESPACE DIRECTORY MLOG

    ROLE (โš  Password ํฌํ•จ DDL ๋™๊ธฐํ™” ์ œ์•ฝ์‚ฌํ•ญ ์ฐธ์กฐ)

    PUBLIC DATABASE LINK (โš  Password ํฌํ•จ DDL ๋™๊ธฐํ™” ์ œ์•ฝ์‚ฌํ•ญ ์ฐธ์กฐ)

    LIBRARY TYPE TYPEBODY

    ALTER

    TABLE

    INDEX

    TRIGGER

    SEQUENCE

    VIEW

    MVIEW

    FUNCTION

    PACKAGE

    PACKAGE BODY

    PROCEDURE SYNONYM

    PUBLIC SYNONYM TABLESPACE DIRECTORY MLOG

    ROLE (โš  Password ํฌํ•จ DDL ๋™๊ธฐํ™” ์ œ์•ฝ์‚ฌํ•ญ ์ฐธ์กฐ) TYPE TYPEBODY

    DROP

    DDL=(
        INCLUDE ALL, TYPE=('%')
        EXCLUDE EXCLUDED_USR.%, TYPE=('%')
    )
    DDL=(
        INCLUDE DEFAULT, TYPE=('% TABLE')
        INCLUDE INCLUDED_USR.%, TYPE=('% INDEX')
        EXCLUDE EXCLUDED_USR.IDX1, TYPE=('% INDEX')
    )
    DDL=(
        INCLUDE SRCUSR.%, TYPE=('DROP TABLE', 'ALTER TABLE', 'TRUNCATE TABLE')
        EXCLUDE SRCUSR.T1, TYPE=('DROP TABLE', 'CREATE TABLE')
    )

    ์ฐธ๊ณ 

    [RANGE]์˜ ์˜ค๋ธŒ์ ํŠธ ์ด๋ฆ„์ด๋‚˜ [DDL OPERATION], [DDL OBJECT]์— %๋ฅผ ๋ช…์‹œ์— ํฌํ•จ์‹œ์ผœ wildcard๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

    Source DB๊ฐ€ Oracle์ธ ๊ฒฝ์šฐ [DDL OPERATION]๊ณผ [DDL OBJECT]์— '%'๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

    Source DB๊ฐ€ Tibero์ธ ๊ฒฝ์šฐ

    Source DB๊ฐ€ Oracle์ธ ๊ฒฝ์šฐ

    ์˜ˆ์ œ

    DDL ๋™๊ธฐํ™” ์„ค์ • ์‹œ ์œ ์˜์‚ฌํ•ญ

    ์ฃผ์˜ DDL=(INCLUDE ALL, TYPE=('%'))์„ค์ • ์‹œ, Source DB์˜ ๋ชจ๋“  ์Šคํ‚ค๋งˆ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋ชจ๋“  ํƒ€์ž…์˜ DDL์ด ๋™๊ธฐํ™”๋œ๋‹ค. ๋™๊ธฐํ™” ๋Œ€์ƒ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ๋ชจ๋“  DDL์ด ์ ์šฉ๋˜๋ฏ€๋กœ ์‚ฌ์šฉ ์‹œ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ INCLUDE ALL๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์„ค์น˜๋  Instance ๋Š” ๋‹จ์ผ Instance ๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•œ๋‹ค.

    TABLE

    INDEX

    TRIGGER

    SEQUENCE

    VIEW

    MVIEW

    FUNCTION

    PACKAGE

    PACKAGE BODY

    PROCEDURE

    SYNONYM

    PUBLIC SYNONYM TABLESPACE DIRECTORY MLOG

    ROLE

    DATABASE LINK

    PUBLIC DATABASE LINK LIBRARY TYPE TYPEBODY

    MAP Rule

    ํ…Œ์ด๋ธ”, ์ปฌ๋Ÿผ ๋งคํ•‘ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ

    ํ…Œ์ด๋ธ”, ์ปฌ๋Ÿผ ๋งคํ•‘ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” $PRS_HOME/config ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ Apply config file์ธ '[INST_ID]_apply1.cfg'๋ฅผ ์„ค์ •ํ•œ๋‹ค.

    ๋‹ค์Œ์€ ์„ค์ •ํ•ด์•ผ ํ•  ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•œ ์„ค๋ช…์ด๋‹ค.

    ๊ธฐ๋ณธ MAP ํŒŒ๋ผ๋ฏธํ„ฐ์— Source DB์˜ ํŠน์ • ํ…Œ์ด๋ธ”์„ Target DB์˜ ํŠน์ • ํ…Œ์ด๋ธ”๋กœ ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์น™์„ ์„ค์ •ํ•œ๋‹ค.

    MAP=([SYNC OPTION] SOURCE_USER.SOURCE_TABLE [SOURCE_COLUMNS]
         [COLUMN FILTERING OPTION],
         [TARGET_DATABASE.]TARGET_USER.TARGET_TABLE [TARGET_COLUMNS]
         [RESOLVE OPTION] [SKIP OPTION]))
    ์ธ์ž
    ์„ค๋ช…

    ๋‹ค์Œ์€ MAP ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ด์šฉํ•ด์„œ ๋™๊ธฐํ™” ๋Œ€์ƒ ๋ฐ˜์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ˆ์ œ์ด๋‹ค.

    ๋‹ค์Œ์€ Source DB์˜ PROSYNC1 ์‚ฌ์šฉ์ž์˜ T1 ํ…Œ์ด๋ธ”์„ Target DB์˜ PROSYNC2 ์‚ฌ์šฉ์ž์˜ T2 ํ…Œ์ด๋ธ”๋กœ ๋™๊ธฐํ™”ํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค.

    ๋‹ค์Œ์€ Source DB์˜ PROSYNC1 ์‚ฌ์šฉ์ž์˜ T1 ํ…Œ์ด๋ธ”์— ์ปฌ๋Ÿผ C1, C2, C3๊ฐ€ ์žˆ๊ณ , ์ด์ค‘ C1์™€ C2 ์ปฌ๋Ÿผ๋งŒ Target DB์˜ PROSYNC2 ์‚ฌ์šฉ์ž์˜ T2 ํ…Œ์ด๋ธ”์˜ C1, C2 ์ปฌ๋Ÿผ๊ณผ ๋™๊ธฐํ™”ํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค.

    ๋‹ค์Œ์€ Source DB์˜ PROSYNC1 ์‚ฌ์šฉ์ž์˜ T1 ํ…Œ์ด๋ธ”์— ์ปฌ๋Ÿผ C1, C2, C3๊ฐ€ ์žˆ๊ณ , ์ด์ค‘ C1์™€ C2 ์ปฌ๋Ÿผ๋งŒ Target DB์˜ PROSYNC2 ์‚ฌ์šฉ์ž์˜ T2 ํ…Œ์ด๋ธ”์˜ D1, D2 ์ปฌ๋Ÿผ๊ณผ ๋™๊ธฐํ™”ํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค.


    ๋™๊ธฐํ™” ํ…Œ์ด๋ธ” ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ ์„ค์ •ํ•œ๋‹ค.

    ๋™๊ธฐํ™” ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ SYNC OPTION์— TABLE์„ ์„ค์ •ํ•œ๋‹ค.

    ๋™๊ธฐํ™” ๋Œ€์ƒ์ด ์•„๋‹Œ ์˜ค๋ธŒ์ ํŠธ์˜ DDL ๋งคํ•‘์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ SYNC OPTION์— OBJECT๋ฅผ ์„ค์ •ํ•œ๋‹ค.

    ๋™๊ธฐํ™” ๋Œ€์ƒ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด์„œ๋Š” ์•ž์„œ ์„ค๋ช…ํ•œ TABLE ๊ทœ์น™์„ ๋”ฐ๋ผ DDL ๋งคํ•‘์ด ์ง€์›๋˜๋ฉฐ, TABLE ๊ทœ์น™์ด ๋ช…์‹œ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋งคํ•‘ ์—†์ด ๋™๊ธฐํ™”๋œ๋‹ค. ๋™๊ธฐํ™” ๋Œ€์ƒ์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์—†๋Š” INDEX ๋“ฑ์˜ OBJECT๋‚˜ ๋™๊ธฐํ™” ๋Œ€์ƒ์ด ์•„๋‹Œ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด์„œ๋งŒ ํ•ด๋‹น ๊ทœ์น™์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. OBJECT ๊ทœ์น™์— ๋Œ€ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์œ„์˜ ํ˜•ํƒœ๋กœ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. OBJECT_NAME์— ์™€์ผ๋“œ ์นด๋“œ๋กœ '%'๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ [SOURCE_USER]์˜ ์ž„์˜์˜ OBJECT [SOURCE_USER].[OBJECT_NAME]์„ [TARGET_USER].[OBJECT_NAME]์— DDL ๋งคํ•‘ํ•˜์—ฌ DDL์„ ๋™๊ธฐํ™”ํ•œ๋‹ค.

    ๋™๊ธฐํ™”๋ฅผ ์ œ์™ธํ•  ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ SYNC OPTION์— EXCLUDE๋ฅผ ์„ค์ •ํ•œ๋‹ค.

    Source DB์˜ PROSYNC ์‚ฌ์šฉ์ž์˜ SKIP ํ…Œ์ด๋ธ”์„ ์ œ์™ธํ•˜๊ณ  ๋™๊ธฐํ™” ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด '[INST_ID]_apply1.cfg'์˜ MAP ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•œ๋‹ค.


    COLUMN FILTERING OPTION์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ถ€ ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ๋™๊ธฐํ™”๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋งŒ Constraint๊ฐ€ ๊ฑธ๋ ค์žˆ๋Š” ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด์„œ๋Š” ํ•ด๋‹น ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

    ๋‹ค์Œ๊ณผ ๊ฐ™์ด COLUMN FILTERING OPTION์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    Source DB์˜ PROSYNC1 ์‚ฌ์šฉ์ž์˜ T1 ํ…Œ์ด๋ธ”์— ์ปฌ๋Ÿผ C1, C2, C3๊ฐ€ ์žˆ๊ณ , ์ด์ค‘ C1 ์ปฌ๋Ÿผ๋งŒ ์ œ์™ธํ•˜๊ณ  Target DB์˜ PROSYNC2 ์‚ฌ์šฉ์ž์˜ T2 ํ…Œ์ด๋ธ”์˜ C2, C3 ์ปฌ๋Ÿผ๊ณผ ๋™๊ธฐํ™”ํ•  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด '[INST_ID]_apply1.cfg'์˜ MAP ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•œ๋‹ค.


    ๋™๊ธฐํ™” ์‹œ ์ถฉ๋Œ ์ƒํ™ฉ์—์„œ Source DB์— ์ •ํ•ฉ์„ฑ ๊ธฐ์ค€์„ ๋งž์ถœ ์ง€, Target DB์— ์ •ํ•ฉ์„ฑ ๊ธฐ์ค€์„ ๋งž์ถœ ์ง€, ์•„๋‹ˆ๋ฉด ํŠน์ • ์ปฌ๋Ÿผ์˜ Min ํ˜น์€ Max ๊ฐ’ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ๋งž์ถœ ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์˜ต์…˜์ด๋‹ค. ํ•„์ˆ˜ ์˜ต์…˜์€ ์•„๋‹ˆ๋ฉฐ ์ฃผ๋กœ ์–‘๋ฐฉํ–ฅ ๋™๊ธฐํ™”์— ์‚ฌ์šฉ๋œ๋‹ค.

    ์ •ํ•ด์ง„ Rule์— ๋”ฐ๋ผ DML ๋“ค์ด ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์ƒ๋žต ๋œ๋‹ค.

    ๋‹ค์Œ์€ RESOLVE OPTION์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” RESOLVE_RULE์˜ ์ข…๋ฅ˜์ด๋‹ค.

    RESOLVE_RULE
    ์„ค๋ช…

    MAX์™€ MIN RESOLVE_RULE์˜ ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜๋“œ์‹œ DEFAULT OPTION์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค. ์ปฌ๋Ÿผ ๊ฐ’์ด null์ธ ๊ฒฝ์šฐ์— ์„ค์ •ํ•œ DEFAULT ๊ฐ’์œผ๋กœ ๋น„๊ตํ•œ๋‹ค. ๋‹จ, ๋™๊ธฐํ™”๋Š” ์„ค์ •ํ•œ DEFAULT ๊ฐ’์ด ์•„๋‹ˆ๋ผ ์‹ค์ œ ์ปฌ๋Ÿผ ๊ฐ’์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.

    UPDATE์„ ๋™๊ธฐํ™”ํ•˜๋Š” ๊ฒฝ์šฐ MIN, MAX Rule์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋น„๊ต ๋Œ€์ƒ ์ปฌ๋Ÿผ์˜ ๋ณ€๊ฒฝ ์œ ๋ฌด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ๋น„๊ต๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋น„๊ต ๋Œ€์ƒ ์ปฌ๋Ÿผ์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค๋ฉด ๋ณ€๊ฒฝ๋œ ๊ฐ’, ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๊ธฐ์กด ๊ฐ’์œผ๋กœ Target DB์˜ row์™€ ๋น„๊ต๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ๋น„๊ต ๋Œ€์ƒ ์ปฌ๋Ÿผ์ด NULL์ธ ์ƒํƒœ์—์„œ UPDATE๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๋น„๊ต๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ต ์—†์ด Source DB ๊ฐ’์„ ์šฐ์„ ์œผ๋กœ DML์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด DB1๊ณผ DB2๊ฐ„์˜ ์–‘๋ฐฉํ–ฅ ๋™๊ธฐํ™”ํ•˜๋Š” ๊ฒฝ์šฐ DB1์˜ PROSYNC ์‚ฌ์šฉ์ž์˜ T1 ํ…Œ์ด๋ธ”์„ DB2์˜ PROSYNC ์‚ฌ์šฉ์ž์˜ T1 ํ…Œ์ด๋ธ”๋กœ ๋™๊ธฐํ™”ํ•˜๊ณ , column c3์˜ ๊ฐ’์ด ๋” ํฐ ๊ฐ’์„ ์šฐ์„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰์œผ๋กœ INSERTํ•  ๋•Œ DCR ์ปฌ๋Ÿผ์ธ c3์— null์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ 10์œผ๋กœ ๋น„๊ตํ•  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•œ๋‹ค.


    SKIP OPTION์—๋Š” ๋™๊ธฐํ™”ํ•˜์ง€ ์•Š๊ธธ ์›ํ•˜๋Š” row๋“ค์„ ํŠน์ •ํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด์„ ์„ค์ •ํ•œ๋‹ค.

    Database
    Supported Column Types

    SKIP OPTION์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•œ๋‹ค. SKIP_CONDITION์ด True์ธ Row๋“ค์€ ๋™๊ธฐํ™”ํ•˜์ง€ ์•Š๋Š”๋‹ค.

    Source DB์˜ PROSYNC ์‚ฌ์šฉ์ž์˜ T1 ํ…Œ์ด๋ธ”์„ Target DB์˜ PROSYNC ์‚ฌ์šฉ์ž์˜ T1 ํ…Œ์ด๋ธ”๋กœ ๋™๊ธฐํ™”ํ•˜๊ณ , column c1์˜ ๊ฐ’์ด 'example'์ด ์•„๋‹ˆ๋ฉด DML์„ skipํ•  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด MAP ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•œ๋‹ค.

    ์œ„์˜ ์กฐ๊ฑด์— ์ถ”๊ฐ€๋กœ Source DB์˜ PROSYNC ์‚ฌ์šฉ์ž์˜ T2 ํ…Œ์ด๋ธ”์„ Target DB์˜ PROSYNC ์‚ฌ์šฉ์ž์˜ T2 ํ…Œ์ด๋ธ”๋กœ ๋™๊ธฐํ™”ํ•˜๊ณ , column c2์˜ ๊ฐ’์ด 'example2'์ด๋ฉด DML์„ skipํ•  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด MAP ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•œ๋‹ค.

    SYNC OPTION

    TABLE : ๋™๊ธฐํ™” ํ•  ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์„ค์ •ํ•œ๋‹ค. OBJECT : ๋™๊ธฐํ™” ๋Œ€์ƒ์ด ์•„๋‹Œ ์˜ค๋ธŒ์ ํŠธ์˜ DDL ๋งคํ•‘์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์„ค์ •ํ•œ๋‹ค. EXCLUDE : ๋™๊ธฐํ™”๋ฅผ ์ œ์™ธํ•  ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์„ค์ •ํ•œ๋‹ค.

    SOURCE_USER

    ๋™๊ธฐํ™” ํ•  Source DB ํ…Œ์ด๋ธ”์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค.

    SOURCE_TABLE

    ๋™๊ธฐํ™” ํ•  Source DB ํ…Œ์ด๋ธ”์˜ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค.

    SOURCE_COLUMNS

    ๋™๊ธฐํ™” ํ•  Source DB ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ๋“ค์„ ์„ค์ •ํ•œ๋‹ค. (Column1, Column2, Column3)๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.

    COLUMN FILTERING OPTION

    MAP=(TABLE PROSYNC1.T1, PROSYNC2.T2)
    MAP=(TABLE PROSYNC1.T1(C1, C2), PROSYNC2.T2)
    MAP=(TABLE PROSYNC1.T1(C1, C2), PROSYNC2.T2(D1, D2))
    MAP=(TABLE [SOURCE_USER].[SOURCE_TABLE]... )
    MAP=(OBJECT [SOURCE_USER].[OBJECT_NAME], [TARGET_USER].[OBJECT_NAME])
    MAP=(EXCLUDE [SOURCE_USER].[SOURCE_TABLE]...)
    MAP=(TABLE DEFAULT EXCLUDE PROSYNC.SKIP TABLE TIBERO.T1)
    MAP=(... EXCEPT FOR ([COLUMN_NAME], ..., [COLUMN_NAME])...)
    MAP=(TABLE PROSYNC1.T1 EXCEPT FOR (C1), PROSYNC2.T2)
    MAP=(... RESOLVE BY [RESOLVE_RULE] ...)

    SOURCE

    Source ํ…Œ์ด๋ธ”์˜ Row๋ฅผ ์šฐ์„ ์œผ๋กœ ํ•œ๋‹ค.

    TARGET

    Target ํ…Œ์ด๋ธ”์˜ Row๋ฅผ ์šฐ์„ ์œผ๋กœ ํ•œ๋‹ค.

    MAX(COLUMN_NAME)

    MAP=(... RESOLVE BY MAX(COLUMN_NAME) DEFAULT (COLUMN_VALUE) ...)
    MAP=(TABLE PROSYNC.T1, PROSYNC.T1 RESOLVE BY MAX(c3) DEFAULT (10))

    TIBERO

    CHAR, VARCHAR, NUMBER, TIME, DATE, TIMESTAMP

    ORACLE

    CHAR, VARCHAR, NUMBER

    POSTGRESQL

    CHAR, VARCHAR

    EQUAL (=), NOT_EQUAL (!=)

    NUMBER, TIME, DATE, TIMESTAMP

    EQUAL (=), NOT_EQUAL (!=), INEQUALITY (<, <=, >, >=)

    MAP=(... SKIP=(SKIP_CONDITION))
    MAP=(TABLE PROSYNC.T1, PROSYNC.T1 SKIP=(c1!="example"))
    MAP=(TABLE PROSYNC.T1, PROSYNC.T1 SKIP=(c1!="example")
        TABLE PROSYNC.T2, PROSYNC.T2 SKIP=(c2="example2"))

    ์ฃผ์˜

    ๋‹ค์Œ ํ‚ค์›Œ๋“œ๋Š” MAP Rule ์˜ ์˜ˆ์•ฝ์–ด์ด๋ฏ€๋กœ table ๋“ฑ ๋Œ€์ƒ์„ ๋ช…์‹œํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ํ•˜๋‹ค.

    "ALL" "BY" "DEFAULT" "EXCEPT FOR" "EXCLUDE" "FILTER" "INCLUDE" "MAX" "MIN" "RESOLVE" "SOURCE" "SKIP" "SYNC" "TABLE" "TARGET" "TYPE" "OBJECT" "INSERT" "DELETE" "UPDATE"

    ๋™๊ธฐํ™” ๋Œ€์ƒ ๋ฐ˜์˜ ๊ธฐ๋Šฅ ์‚ฌ์šฉ

    ์„œ๋กœ ๋‹ค๋ฅธ ์˜ค๋„ˆ / ๋‹ค๋ฅธ ์ด๋ฆ„์„ ๊ฐ€์ง„ ํ…Œ์ด๋ธ” ๋™๊ธฐํ™”

    ํ…Œ์ด๋ธ”์˜ ํŠน์ • ์ปฌ๋Ÿผ๋“ค๋งŒ ๋™๊ธฐํ™”

    ํ…Œ์ด๋ธ”๊ฐ„ ์ปฌ๋Ÿผ ์ด๋ฆ„์„ ๋‹ค๋ฅด๊ฒŒ ๋™๊ธฐํ™”

    SYNC OPTION

    TABLE

    OBJECT

    ์ฃผ์˜

    DB ๋ฒ„์ „, ๋น„ํ‘œ์ค€ ์ฟผ๋ฆฌ ๋“ฑ์œผ๋กœ ์ธํ•ด DDL์˜ OBJECT์˜ ์ธ์‹์ด ๋ถˆ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ MAP ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ DDL ๋งคํ•‘์„ ํ•  ๋•Œ TABLE๊ณผ OBJECT์— schema๋ฅผ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.

    ๋˜ํ•œ, ๋™๊ธฐํ™” ํ…Œ์ด๋ธ” T1์— ๋Œ€ํ•ด DROP TABLE T1 ์‹คํ–‰ ํ›„ CREATE TABLE T1๋ฅผ ์‹คํ–‰ํ•  ๋•Œ T1์€ OBJECT๋กœ์จ ๋งคํ•‘๋  ๊ฒƒ์ด๊ณ , ์ƒ์„ฑ๋  ์ปฌ๋Ÿผ์€ ๋™๊ธฐํ™” ํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ MAP ํŒŒ๋ผ๋ฏธํ„ฐ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

    EXCLUDE

    ์˜ˆ์ œ

    COLUMN FILTERING OPTION

    ์˜ˆ์ œ

    RESOLVE OPTION (Data Conflict Rule, DCR)

    ์ฐธ๊ณ 

    ๋ณด๋‹ค ์ƒ์„ธํ•œ ์‚ฌํ•ญ์€ ์„ ์ฐธ๊ณ ํ•œ๋‹ค.

    RESOLVE_RULE

    ์˜ˆ์ œ

    ์ฐธ๊ณ 

    RESOLVE OPTION์ด ์ •์ƒ ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„ค์ •ํ•  Source์™€ Target ํ…Œ์ด๋ธ”์— primary key๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

    MIN, MAX ๋ฃฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋น„๊ต ๋Œ€์ƒ ์ปฌ๋Ÿผ์— NULL์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ์— ๋Œ€๋น„ ์‚ฌ์šฉ๋  DEFAULT OPTION์„ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

    SKIP OPTION

    ์ง€์› ์ปฌ๋Ÿผ ํƒ€์ž…

    ์ง€์› ๋น„๊ต ์กฐ๊ฑด

    ์˜ˆ์ œ

    ์ฐธ๊ณ 

    SKIP RULE๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ UPDATE์˜ ๊ฒฝ์šฐ์—์„œ๋Š” SET ์ ˆ์— ์žˆ๋Š” ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ skip์„ ํ•  ๊ฒƒ์ธ์ง€, ์•„๋‹ˆ๋ฉด WHERE ์ ˆ์˜ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ skip์„ ํ•  ๊ฒƒ์ธ์ง€ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

    Apply Process Parameter ์ค‘์—์„œ MAP_SKIP_UPD_WHERE์˜ ๊ฐ’์ด N ์ผ ๋•Œ ๋จผ์ € SET ์ ˆ์— ๊ธฐ์ค€ ์ปฌ๋Ÿผ์ด ์žˆ๋Š”์ง€ ํ™•์ธ ํ›„ ์žˆ์œผ๋ฉด SET ์ ˆ์˜ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ, ์—†์œผ๋ฉด WHERE ์ ˆ์— ์žˆ๋Š” ๊ธฐ์ค€ ์ปฌ๋Ÿผ์˜ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ skipํ•œ๋‹ค. ํ•ด๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ Y์ธ ๊ฒฝ์šฐ์—๋Š” ๋ฌด์กฐ๊ฑด WHERE์— ์žˆ๋Š” ๊ธฐ์ค€ ์ปฌ๋Ÿผ์˜ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ Skipํ•œ๋‹ค.

    SKIP OPTION์€ ๋‹จ๋ฐฉํ–ฅ ๋™๊ธฐํ™”์—์„œ๋งŒ ์ง€์›ํ•œ๋‹ค. ์–‘๋ฐฉํ–ฅ์˜ ๊ฒฝ์šฐ ์ •ํ•ฉ์„ฑ ๋ฌธ์ œ๋กœ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.

    ๋™๊ธฐํ™”ํ•˜์ง€ ์•Š์„ Source DB ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ๋“ค์„ ์„ค์ •ํ•œ๋‹ค.

    TARGET_DATABASE

    ๋™๊ธฐํ™”์‹œํ‚ฌ Target DB์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค.

    TARGET_USER

    ๋™๊ธฐํ™”์‹œํ‚ฌ Target DB ํ…Œ์ด๋ธ”์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค.

    TARGET_TABLE

    ๋™๊ธฐํ™”์‹œํ‚ฌ Target DB ํ…Œ์ด๋ธ”์˜ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค. ์ธ์ž์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ ์ ˆ์˜ ์„ค๋ช…์„ ์ฐธ๊ณ ํ•œ๋‹ค.

    RESOLVE OPTION

    ๋™๊ธฐํ™”์‹œํ‚ฌ Target DB ํ…Œ์ด๋ธ”์˜ ํ…Œ์ด๋ธ” ์ค‘ DCR Rule๋ฅผ ์ ์šฉํ•  ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค. ์ธ์ž์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ ์ ˆ์˜ ์„ค๋ช…์„ ์ฐธ๊ณ ํ•œ๋‹ค.

    SKIP OPTION

    ๋™๊ธฐํ™” ํ•  ๋•Œ ๋™๊ธฐํ™”๋ฅผ ํ•˜์ง€ ์•Š์„ row์˜ ์กฐ๊ฑด์„ ์„ค์ •ํ•œ๋‹ค.

    TARGET_COLUMNS

    ๋™๊ธฐํ™”์‹œํ‚ฌ Target DB ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ๋“ค์„ ์„ค์ •ํ•œ๋‹ค. SOURCE_COLUMNS์™€ ์ˆœ์„œ๋Œ€๋กœ ๋งคํ•‘๋˜๊ณ  ์ปฌ๋Ÿผ ๊ฐœ์ˆ˜๋Š” ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค. (Column1, Column2, Column3)๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.

    ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ๋” ํฐ Row๋ฅผ ์šฐ์„ ์œผ๋กœ ํ•œ๋‹ค.

    ๋ฐ˜๋“œ์‹œ DEFAULT OPTION์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

    MIN(COLUMN_NAME)

    ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ๋” ์ž‘์€ Row๋ฅผ ์šฐ์„ ์œผ๋กœ ํ•œ๋‹ค.

    ๋ฐ˜๋“œ์‹œ DEFAULT OPTION์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

    CHAR, VARCHAR, NUMBER

    Flow Control

    Mapping

    ๋ณธ ์žฅ์—์„œ๋Š” Map ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” Resolution Rule (DCR)๊ณผ Schema Mapping์„ ์œ„ํ•œ DDL ์„ค์ •์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค. Mapping์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ…Œ์ด๋ธ”๋ช…, ์ปฌ๋Ÿผ๋ช…์— ๋Œ€ํ•œ Mapping์„ ์ง€์›ํ•œ๋‹ค.