Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์šฐ๋ฆฌ ์€ํ–‰์€ 1999๋…„๋ถ€ํ„ฐ ๋ฐฑ์˜คํ”ผ์Šค ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด ๊ธˆ์œต๊ถŒ์„ ๋น„๋กฏํ•œ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” Progress OpenEdge ํ”Œ๋žซํผ์— ํ†ตํ•ฉ ๋ฑ…ํ‚น ์‹œ์Šคํ…œ BISKVIT์„ ์‚ฌ์šฉํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์ด DBMS์˜ ์„ฑ๋Šฅ์œผ๋กœ ์ธํ•ด ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(DB)์—์„œ ์ดˆ๋‹น ์ตœ๋Œ€ 1,5๋งŒ ๊ฐœ ์ด์ƒ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‚ฌ์˜ Progress OpenEdge๋Š” ์•ฝ 22,2๋งŒ ๊ฑด์˜ ๊ฐœ์ธ ์˜ˆ๊ธˆ๊ณผ ์•ฝ XNUMX๋งŒ ๊ฑด์˜ ํ™œ์„ฑ ์ƒํ’ˆ(์ž๋™์ฐจ ๋Œ€์ถœ ๋ฐ ๋ชจ๊ธฐ์ง€) ๊ณ„์•ฝ์„ ์„œ๋น„์Šคํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ทœ์ œ ๊ธฐ๊ด€(์ค‘์•™ ์€ํ–‰) ๋ฐ SWIFT์™€์˜ ๋ชจ๋“  ๊ฒฐ์ œ๋„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

Progress OpenEdge๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์šฐ๋ฆฌ๋Š” Oracle DBMS์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค๋Š” ํ•„์š”์„ฑ์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ด ๋ฒˆ๋“ค์ด ์šฐ๋ฆฌ ์ธํ”„๋ผ์˜ ๋ณ‘๋ชฉ ํ˜„์ƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Pro2 CDC๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ตฌ์„ฑํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” Progress DBMS์—์„œ Oracle DBMS๋กœ ์ง์ ‘ ์˜จ๋ผ์ธ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” Progress ์ œํ’ˆ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” ๋ชจ๋“  ํ•จ์ •๊ณผ ํ•จ๊ป˜ OpenEdge์™€ Oracle์„ ํšจ๊ณผ์ ์œผ๋กœ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฒฝ์œ„: ํŒŒ์ผ ๊ณต์œ ๋ฅผ ํ†ตํ•ด QCD์— ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ

์ฒซ์งธ, ์šฐ๋ฆฌ ์ธํ”„๋ผ์— ๊ด€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ™œ์„ฑ ์‚ฌ์šฉ์ž ์ˆ˜๋Š” ์•ฝ 15๋ช…์ž…๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ๊ณผ ๋Œ€๊ธฐ โ€‹โ€‹๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์ƒ์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ณผ๋ฅจ์€ 600TB์ด๊ณ , ๊ฐ€์žฅ ํฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” 16,5TB์ž…๋‹ˆ๋‹ค. ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ง€์†์ ์œผ๋กœ ๋ณด์ถฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋…„์—๋งŒ ์•ฝ 120TB์˜ ์ƒ์‚ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ x150 ํ”Œ๋žซํผ์˜ ์ „๋ฉด ์„œ๋ฒ„ 86๊ฐœ๋กœ ๊ตฌ๋™๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” 21๊ฐœ์˜ IBM ํ”Œ๋žซํผ ์„œ๋ฒ„์—์„œ ํ˜ธ์ŠคํŒ…๋ฉ๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•
ํ”„๋ŸฐํŠธ ์—”๋“œ ์‹œ์Šคํ…œ, ๋‹ค์–‘ํ•œ ์ฝ”์–ด ๋ฑ…ํ‚น ์‹œ์Šคํ…œ ๋ฐ ๋ฑ…ํ‚น ์„œ๋น„์Šค๋Š” Sonic ESB ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด OpenEdge Progress(BISCUIT IBS)์™€ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. QCD๋กœ์˜ ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ๋Š” ํŒŒ์ผ ๊ตํ™˜์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ผ์ • ์‹œ์ ๊นŒ์ง€ ์ด ์†”๋ฃจ์…˜์—๋Š” ๊ธฐ์—… ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค(CDW)์— ์ •๋ณด๋ฅผ ์—…๋กœ๋“œํ•˜๋Š” ์„ฑ๋Šฅ์ด ๋‚ฎ๊ณ , ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ์˜ ๋ฐ์ดํ„ฐ ์กฐ์ •(์กฐ์ •)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‘ ๊ฐ€์ง€ ํฐ ๋ฌธ์ œ๊ฐ€ ๋™์‹œ์— ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•
๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ฐพ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์€ ์ƒˆ๋กœ์šด Progress OpenEdge ์ œํ’ˆ์ธ Pro2 CDC(Change Data Capture)์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฐ Pro2Oracle ์„ค์น˜

๊ด€๋ฆฌ์ž์˜ Windows ์ปดํ“จํ„ฐ์—์„œ Pro2 Oracle์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด Progress OpenEdge Developer Kit Classroom Edition์„ ์„ค์น˜ํ•˜๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ ๋ฌด๋ฃŒ๋กœ. ๊ธฐ๋ณธ OpenEdge ์„ค์น˜ ๋””๋ ‰ํ„ฐ๋ฆฌ:

DLC: C:ProgressOpenEdge
WRK: C:OpenEdgeWRK

ETL ํ”„๋กœ์„ธ์Šค์—๋Š” Progress OpenEdge ๋ผ์ด์„ผ์Šค ๋ฒ„์ „ 11.7+, ์ฆ‰ Oracle์šฉ OE DataServer ๋ฐ 4GL ๊ฐœ๋ฐœ ์‹œ์Šคํ…œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ผ์ด์„ผ์Šค๋Š” Pro2์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์›๊ฒฉ Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ•จ๊ป˜ DataServer for Oracle์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋ ค๋ฉด ์ „์ฒด Oracle ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

Oracle ์„œ๋ฒ„์— Oracle Database 12+๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋นˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฅผ ํ˜ธ์ถœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค). cdc).

Pro2Oracle์„ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋‹ค์šด๋กœ๋“œ ์„ผํ„ฐ์—์„œ ์ตœ์‹  ๋ฐฐํฌํŒ์„ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”. ์ง„ํ–‰ ์†Œํ”„ํŠธ์›จ์–ด. ์•„์นด์ด๋ธŒ๋ฅผ ๋””๋ ‰ํ† ๋ฆฌ์— ์••์ถ• ํ•ด์ œ C:ํ”„๋กœ2 (Unix์—์„œ Pro2๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋™์ผํ•œ ๋ฐฐํฌํŒ์ด ์‚ฌ์šฉ๋˜๋ฉฐ ๋™์ผํ•œ ๊ตฌ์„ฑ ์›์น™์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.)

CDC ๋ณต์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ

๋ณต์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค CDC(๋Œ€์ฒด) Pro2๋Š” ๋ณต์ œ ๋งต, ๋ณต์ œ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„ ๋ฐ ํ•ด๋‹น ํ…Œ์ด๋ธ”์„ ํฌํ•จํ•œ ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ” ํ–‰์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋กœ ๊ตฌ์„ฑ๋œ ๋ณต์ œ ํ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ ํ์˜ ๋ฐ์ดํ„ฐ๋Š” ETL ํ”„๋กœ์„ธ์Šค์—์„œ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ Oracle๋กœ ๋ณต์‚ฌํ•ด์•ผ ํ•˜๋Š” ํ–‰์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ณ„๋„์˜ CDC ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ์ ˆ์ฐจ

  1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์—์„œ ์šฐ๋ฆฌ๋Š” cdc ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์šฉ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„œ๋ฒ„์— /๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/cdc/.
  2. cdc ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋”๋ฏธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ”„๋กœ์นดํ”ผ $DLC/๋นˆ CDC
  3. ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ง€์› ํ™œ์„ฑํ™”: proutil cdc -C EnableLargeFiles
  4. cdc ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ณต์ œ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์‹œ์ž‘ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์œ ์‚ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  5. CDC ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  6. cdc ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ณ  ํŒŒ์ผ์—์„œ Pro2 ์Šคํ‚ค๋งˆ๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. CDC.df, Pro2์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  7. cdc ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋‹ค์Œ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

pro2adm โ€“ Pro2 ๊ด€๋ฆฌ ํŒจ๋„์—์„œ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
pro2etl โ€“ ETL ํ”„๋กœ์„ธ์Šค ์—ฐ๊ฒฐ์šฉ(ReplBatch)
pro2cdc โ€“ CDC ํ”„๋กœ์„ธ์Šค ์—ฐ๊ฒฐ์šฉ(CDCBatch)

OpenEdge ๋ณ€๊ฒฝ ๋ฐ์ดํ„ฐ ์บก์ฒ˜ ํ™œ์„ฑํ™”

์ด์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€ ๊ธฐ์ˆ  ์˜์—ญ์— ๋ณต์ œ๋˜๋Š” ๋ฐ ๋„์›€์„ ๋ฐ›์•„ CDC ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ž์ฒด๋ฅผ ํ™œ์„ฑํ™”ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ Progress OpenEdge ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์†Œ์Šค ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต์ œ๋  ๋ณ„๋„์˜ ์ €์žฅ ์˜์—ญ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ž์ฒด๋ฅผ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœํ‹ธ.

Bisquit ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์˜ˆ์ œ ์ ˆ์ฐจ

  1. ์นดํƒˆ๋กœ๊ทธ์—์„œ ๋ณต์‚ฌ C:Pro2db ั„ะฐะนะป cdcadd.st ๋น„์Šคํ‚ท ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  2. ์šฐ๋ฆฌ๋Š” cdcadd.st ์ง€์—ญ์˜ ๊ณ ์ • ํฌ๊ธฐ ๋ฒ”์œ„ "ReplCDC ์˜์—ญ" ะธ "ReplCDCArea_IDX". ์˜จ๋ผ์ธ์œผ๋กœ ์ƒˆ ์ €์žฅ ์˜์—ญ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. prostrct addonline ๋น„์Šคํ‚ท cdcadd.st
  3. OpenEdge CDC ํ™œ์„ฑํ™”:
    proutil bisquit -C ํ™œ์„ฑํ™”cdc ์˜์—ญ "ReplCDCArea" indexarea "ReplCDCArea_IDX"
  4. ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๋ ค๋ฉด ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋‹ค์Œ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    ใ…. pro2adm โ€“ Pro2 ๊ด€๋ฆฌ ํŒจ๋„์—์„œ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    ๋น„. pro2etl โ€“ ETL ํ”„๋กœ์„ธ์Šค ์—ฐ๊ฒฐ์šฉ(ReplBatch)
    ์”จ. pro2cdc โ€“ CDC ํ”„๋กœ์„ธ์Šค ์—ฐ๊ฒฐ์šฉ(CDCBatch).

Oracle์šฉ DataServer์— ๋Œ€ํ•œ ์Šคํ‚ค๋งˆ ํ™€๋” ์ƒ์„ฑ

๋‹ค์Œ์œผ๋กœ Progress DBMS์˜ ๋ฐ์ดํ„ฐ๊ฐ€ Oracle DBMS์— ๋ณต์ œ๋  ์„œ๋ฒ„์— ์Šคํ‚ค๋งˆ ํ™€๋” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. DataServer ์Šคํ‚ค๋งˆ ํ™€๋”๋Š” ์†Œ์Šค ํ…Œ์ด๋ธ”๊ณผ ์™ธ๋ถ€ Oracle ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๋Œ€์‘ ๋งต์„ ํฌํ•จํ•˜๋Š” ์‚ฌ์šฉ์ž ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ๋นˆ Progress OpenEdge ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค.

Pro2์šฉ Oracle์šฉ Progress OpenEdge DataServer์˜ ์Šคํ‚ค๋งˆ ํ™€๋” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ETL ํ”„๋กœ์„ธ์Šค ์„œ๋ฒ„์— ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ๊ฐ ์ง€์ ๋งˆ๋‹ค ๋ณ„๋„๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ ํ™€๋”๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

  1. Pro2 ๋ฐฐํฌํŒ์„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์••์ถ• ํ•ด์ œ /ํ”„๋กœ2
  2. ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ์ด๋™ /pro2/dbsh
  3. ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ‚ค๋งˆ ํ™€๋” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. $DLC/๋นˆ ๋น„์Šคํ‚ท์‹œ ๋ณต์‚ฌ
  4. ๋ณ€ํ™˜ ์ˆ˜ํ–‰ ๋น„์Šคํ‚ท์‹œ ํ•„์š”ํ•œ ์ธ์ฝ”๋”ฉ์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— UTF-8 ์ธ์ฝ”๋”ฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ UTF-8๋กœ: proutil bisquitsh -C convchar ๋ณ€ํ™˜ UTF-8
  5. ๋นˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ๋น„์Šคํ‚ท์‹œ ๋‹จ์ผ ์‚ฌ์šฉ์ž ๋ชจ๋“œ๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค: ํ”„๋กœ ๋น„์Šคํ‚ท์‹œ
  6. ๋ฐ์ดํ„ฐ ์‚ฌ์ „์œผ๋กœ ์ด๋™ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„๊ตฌ -> ๋ฐ์ดํ„ฐ ์‚ฌ์ „ -> DataServer -> ORACLE ์œ ํ‹ธ๋ฆฌํ‹ฐ -> DataServer ์Šคํ‚ค๋งˆ ์ƒ์„ฑ
  7. ์Šคํ‚ค๋งˆ ํ™€๋” ์‹คํ–‰
  8. Oracle DataServer ๋ธŒ๋กœ์ปค ์„ค์ •:
    ใ…. AdminServer๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
    proadsv -์‹œ์ž‘
    ๋น„. Oracle DataServer ๋ธŒ๋กœ์ปค ์‹œ์ž‘
    oraman -์ด๋ฆ„ orabroker1 -start

๊ด€๋ฆฌ ํŒจ๋„ ๋ฐ ๋ณต์ œ ๊ตฌ์„ฑํ‘œ ์„ค์ •

Pro2 ๊ด€๋ฆฌ ํŒจ๋„์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์ œ ์ฒด๊ณ„ ์„ค์ •, ETL ํ”„๋กœ์„ธ์Šค(ํ”„๋กœ์„ธ์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ), ๊ธฐ๋ณธ ๋™๊ธฐํ™” ํ”„๋กœ๊ทธ๋žจ(๋Œ€๋Ÿ‰ ๋ณต์‚ฌ ํ”„๋กœ์„ธ์„œ), ๋ณต์ œ ํŠธ๋ฆฌ๊ฑฐ ๋ฐ OpenEdge CDC ์ •์ฑ… ์ƒ์„ฑ์„ ํฌํ•จํ•˜์—ฌ Pro2 ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ETL ๋ฐ CDC ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ๋„๊ตฌ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ๋งค๊ฐœ๋ณ€์ˆ˜ ํŒŒ์ผ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜ ํŒŒ์ผ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. ์นดํƒˆ๋กœ๊ทธ๋กœ ์ด๋™ C:Pro2bprepl์Šคํฌ๋ฆฝํŠธ
  2. ํŽธ์ง‘ํ•  ํŒŒ์ผ์„ ์—ฝ๋‹ˆ๋‹ค. replProc.pf
  3. cdc ๋ณต์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    # ๋ณต์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    -db cdc -ld repl -H <๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ˜ธ์ŠคํŠธ ์ด๋ฆ„> -S <๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ธŒ๋กœ์ปค ํฌํŠธ cdc>
    -U pro2admin -P <๋น„๋ฐ€๋ฒˆํ˜ธ>
  4. ๋‹ค์Œ์— ์ถ”๊ฐ€ replProc.pf ๋งค๊ฐœ๋ณ€์ˆ˜ ํŒŒ์ผ ํ˜•์‹์˜ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ์Šคํ‚ค๋งˆ ํ™€๋”์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ๋งค๊ฐœ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜ ํŒŒ์ผ์˜ ์ด๋ฆ„์€ ์—ฐ๊ฒฐ๋˜๋Š” ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    # ๋ณต์ œ๋œ ๋ชจ๋“  ์†Œ์Šค์— ์—ฐ๊ฒฐ BISQUIT
    -pf bpreplscriptsbisquit.pf
  5. ๋‹ค์Œ์— ์ถ”๊ฐ€ replProc.pf ์Šคํ‚ค๋งˆ ํ™€๋”์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.
    #Target Pro DB ์Šคํ‚ค๋งˆ ํ™€๋”
    -db ๋น„์Šคํ‚ท์‹œ -ld ๋น„์Šคํ‚ท์‹œ
    -H <ETL ํ”„๋กœ์„ธ์Šค ํ˜ธ์ŠคํŠธ ์ด๋ฆ„>
    -S <biskuitsh ๋ธŒ๋กœ์ปค ํฌํŠธ>
    -db ๋น„์Šคํ‚ทSQL
    -ld ๋น„์Šคํ‚ทSQL
    -dt ์˜ค๋ผํด
    -S 5162 -H <Oracle ๋ธŒ๋กœ์ปค ํ˜ธ์ŠคํŠธ ์ด๋ฆ„>
    -DataService orabroker1
  6. ๋งค๊ฐœ๋ณ€์ˆ˜ ํŒŒ์ผ ์ €์žฅ replProc.pf
  7. ๋‹ค์Œ์œผ๋กœ ๋””๋ ‰ํ† ๋ฆฌ์— ์—ฐ๊ฒฐ๋œ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ๊ฐ์— ๋Œ€ํ•œ ํŽธ์ง‘์šฉ ๋งค๊ฐœ๋ณ€์ˆ˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์—ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. C:Pro2bprepl์Šคํฌ๋ฆฝํŠธ: bisquit.pf. ๊ฐ pf ํŒŒ์ผ์—๋Š” ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ:
    -db bisquit -ld bisquit -H <ํ˜ธ์ŠคํŠธ ์ด๋ฆ„> -S <๋ธŒ๋กœ์ปค ํฌํŠธ>
    -U pro2admin -P <๋น„๋ฐ€๋ฒˆํ˜ธ>

Windows ๋ฐ”๋กœ๊ฐ€๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. C:Pro2bprepl์Šคํฌ๋ฆฝํŠธ "Pro2 โ€“ ๊ด€๋ฆฌ" ๋ฐ”๋กœ๊ฐ€๊ธฐ๋ฅผ ํŽธ์ง‘ํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋ฐ”๋กœ๊ฐ€๊ธฐ์˜ ์†์„ฑ์„ ์—ด๊ณ  ํ•ด๋‹น ์ค„์—์„œ ์—์„œ ์‹œ์ž‘ Pro2 ์„ค์น˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. "Pro2 โ€“ Editor" ๋ฐ "RunBulkLoader" ๋‹จ์ถ•ํ‚ค์— ๋Œ€ํ•ด์„œ๋„ ์œ ์‚ฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Pro2 ๊ด€๋ฆฌ ์„ค์ •: ์ดˆ๊ธฐ ๊ตฌ์„ฑ ๋กœ๋“œ

์ฝ˜์†”์„ ์‹คํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

"DB ๋งต"์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

Pro2 โ€“ ๊ด€๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ํƒญ์œผ๋กœ ์ด๋™ํ•˜์„ธ์š”. DB ๋งต. ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งคํ•‘ ์ถ”๊ฐ€ - ์Šคํ‚ค๋งˆ ํ™€๋” - Oracle.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

ํƒญ์œผ๋กœ ์ด๋™ ๋งคํ•‘. ์ƒ์žฅ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฒ˜์Œ ์—ฐ๊ฒฐ๋œ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก ์˜ค๋ฅธ์ชฝ์— ๋น„๋ฌธ์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์—ฐ๊ฒฐ๋จ โ€” ์„ ํƒํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์—ฐ๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์™ผ์ชฝ ์•„๋ž˜์—๋Š” ๋น„์Šคํ‚ท์˜ ์ง„ํ–‰ ์ƒํ™ฉ ํ…Œ์ด๋ธ” ๋ชฉ๋ก์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ์—๋Š” Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ” ๋ชฉ๋ก์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Oracle์—์„œ SQL ์Šคํ‚ค๋งˆ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ

๋ณต์ œ ๋งต์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋จผ์ € ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. SQL ์Šคํ‚ค๋งˆ ์˜ค๋ผํด์—์„œ. Pro2 ๊ด€๋ฆฌ์—์„œ๋Š” ๋ฉ”๋‰ด ํ•ญ๋ชฉ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋„๊ตฌ -> ์ฝ”๋“œ ์ƒ์„ฑ -> ๋Œ€์ƒ ์Šคํ‚ค๋งˆ, ๋Œ€ํ™” ์ƒ์ž์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ ํƒ ํ•˜๋‚˜ ์ด์ƒ์˜ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

ํ™•์ธ์„ ํด๋ฆญํ•˜๊ณ  SQL ์Šคํ‚ค๋งˆ๋ฅผ ์ €์žฅํ•  ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ์„ ํ†ตํ•ด ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Oracle SQL ๊ฐœ๋ฐœ์ž. ์ด๋ฅผ ์œ„ํ•ด Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ณ  ํ…Œ์ด๋ธ” ์ถ”๊ฐ€๋ฅผ ์œ„ํ•œ ์Šคํ‚ค๋งˆ๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. Oracle ํ…Œ์ด๋ธ”์˜ ๊ตฌ์„ฑ์„ ๋ณ€๊ฒฝํ•œ ํ›„์—๋Š” ์Šคํ‚ค๋งˆ ํ™€๋”์—์„œ SQL ์Šคํ‚ค๋งˆ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

๋‹ค์šด๋กœ๋“œ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋œ ํ›„ bisquitsh ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  Pro2 ๊ด€๋ฆฌ ํŒจ๋„์„ ์—ฝ๋‹ˆ๋‹ค. Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”์ด ์˜ค๋ฅธ์ชฝ์˜ ๋งคํ•‘ ํƒญ์— ๋‚˜ํƒ€๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ๋งคํ•‘

๋ณต์ œ ๋งต์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด Pro2 ๊ด€๋ฆฌ ํŒจ๋„์—์„œ ๋งคํ•‘ ํƒญ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. Map Tables๋ฅผ ํด๋ฆญํ•˜๊ณ  Oracle์—์„œ ๋ณต์ œํ•ด์•ผ ํ•˜๋Š” ํ…Œ์ด๋ธ” ์™ผ์ชฝ์—์„œ Select Changes๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๊ณ  ์„ ํƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ๋งต์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋ณต์ œ ๋งต์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—…์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

Pro2 ๋ณต์ œ ํ”„๋กœ์„ธ์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๋Œ€๋Ÿ‰ ๋ณต์‚ฌ ํ”„๋กœ์„ธ์„œ ํ”„๋กœ๊ทธ๋žจ ์ƒ์„ฑ

๋ณต์ œ ํ”„๋กœ์„ธ์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Pro2 ๋ณต์ œ ๋Œ€๊ธฐ์—ด์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ํ‘ธ์‹œํ•˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ณต์ œ ํ”„๋กœ์„ธ์Šค(ETL)์šฉ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ ํ”„๋กœ์„ธ์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์€ ์ƒ์„ฑ ํ›„ ์ž๋™์œผ๋กœ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. bprepl/repl_proc(PROC_DIRECTORY ๋งค๊ฐœ๋ณ€์ˆ˜). ๋ณต์ œ ํ”„๋กœ์„ธ์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ์œผ๋กœ ์ด๋™ํ•˜์„ธ์š”. ๋„๊ตฌ -> ์ฝ”๋“œ ์ƒ์„ฑ -> ํ”„๋กœ์„ธ์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋””๋ ‰ํ† ๋ฆฌ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. bprepl/repl_proc.

๋Œ€๋Ÿ‰ ๋กœ๋“œ ํ”„๋กœ์„ธ์„œ ํ”„๋กœ๊ทธ๋žจ์€ Progress ABL(4GL) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์†Œ์Šค Progress ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋Œ€์ƒ Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋ฉ”๋‰ด ํ•ญ๋ชฉ์œผ๋กœ ์ด๋™ํ•˜์„ธ์š”. ๋„๊ตฌ -> ์ฝ”๋“œ ์ƒ์„ฑ -> ๋Œ€๋Ÿ‰ ๋ณต์‚ฌ ํ”„๋กœ์„ธ์„œ. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ ํƒ ๋Œ€ํ™” ์ƒ์ž์—์„œ ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ์ฐฝ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•œ ํ›„ OK. ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋””๋ ‰ํ† ๋ฆฌ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. bpreplrepl_mproc.

Pro2์—์„œ ๋ณต์ œ ํ”„๋กœ์„ธ์Šค ์„ค์ •

ํ…Œ์ด๋ธ”์„ ๋ณ„๋„์˜ ๋ณต์ œ ์Šค๋ ˆ๋“œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์„ธํŠธ๋กœ ๋ถ„ํ• ํ•˜๋ฉด Pro2 Oracle์˜ ์„ฑ๋Šฅ๊ณผ ํšจ์œจ์„ฑ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒˆ ๋ณต์ œ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋ณต์ œ ๋งต์—์„œ ์ƒ์„ฑ๋œ ๋ชจ๋“  ์—ฐ๊ฒฐ์€ ์Šค๋ ˆ๋“œ ๋ฒˆํ˜ธ 1๊ณผ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์„ ์„œ๋กœ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ณต์ œ ์Šค๋ ˆ๋“œ ์ƒํƒœ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” Pro2 ๊ด€๋ฆฌ ํ™”๋ฉด์˜ ๋ณต์ œ ์ƒํƒœ ์„น์…˜์— ์žˆ๋Š” ๋ชจ๋‹ˆํ„ฐ ํƒญ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ Pro2 ๋ฌธ์„œ(๋””๋ ‰ํ† ๋ฆฌ C:Pro2Docs)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CDC ์ •์ฑ… ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™”

์ •์ฑ…์€ OpenEdge CDC ์—”์ง„์ด ํ…Œ์ด๋ธ” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์น™ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์„ ์“ฐ๋Š” ์‹œ์ ์—์„œ Pro2๋Š” ๋ ˆ๋ฒจ 0์˜ CDC ์ •์ฑ…๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์‚ฌ์‹ค๋งŒ ๋ชจ๋‹ˆํ„ฐ๋ง๋ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋‹ค.

CDC ์ •์ฑ…์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๊ด€๋ฆฌ ํŒจ๋„์—์„œ ๋งคํ•‘ ํƒญ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•œ ํ›„ ์ •์ฑ… ์ถ”๊ฐ€/์ œ๊ฑฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”. ์—ด๋ฆฌ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์„ ํƒ ์ฐฝ์—์„œ ์™ผ์ชฝ์—์„œ CDC ์ •์ฑ…์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•ด์•ผ ํ•˜๋Š” ํ…Œ์ด๋ธ”์„ ์„ ํƒํ•˜๊ณ  ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๋งคํ•‘ ํƒญ์„ ๋‹ค์‹œ ์—ด๊ณ  ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•œ ํ›„ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”. (์—์„œ)์ •์ฑ… ํ™œ์„ฑํ™”. ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•˜๋Š” ์ •์ฑ…์„ ์„ ํƒํ•˜์—ฌ ํ…Œ์ด๋ธ” ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•œ ํ›„ ํ™•์ธ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„์—๋Š” ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜์—ฌ (์—์„œ)์ •์ฑ… ํ™œ์„ฑํ™” CDC ์ •์ฑ…์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฑฐ๋ž˜๋Š” ์˜จ๋ผ์ธ์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

CDC ์ •์ฑ…์ด ํ™œ์„ฑํ™”๋˜๋ฉด ์ˆ˜์ •๋œ ๊ธฐ๋ก์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๊ฐ€ ์ €์žฅ ์˜์—ญ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. "ReplCDC ์˜์—ญ" ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋”ฐ๋ฅด๋ฉด. ์ด ๋ฉ”๋ชจ๋Š” ํŠน๋ณ„ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. CDCBatch์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ Pro2 ๋ณต์ œ ๋Œ€๊ธฐ์—ด์— ๋ฉ”๋ชจ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. CDC(๋Œ€์ฒด).

๋”ฐ๋ผ์„œ ๋ณต์ œ๋ฅผ ์œ„ํ•œ ๋‘ ๊ฐœ์˜ ๋Œ€๊ธฐ์—ด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” CDCBatch์ž…๋‹ˆ๋‹ค. ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋Š” ๋จผ์ € ์ค‘๊ฐ„ CDC ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ CDC ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ Oracle๋กœ ์ „์†ก๋˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ˜„์žฌ ์•„ํ‚คํ…์ฒ˜์™€ ์ œํ’ˆ ์ž์ฒด์˜ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๊ฐœ๋ฐœ์ž๋Š” ์ง์ ‘ ๋ณต์ œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋™๊ธฐํ™”

CDC ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ™œ์„ฑํ™”ํ•˜๊ณ  Pro2 ๋ณต์ œ ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•œ ํ›„ ์ดˆ๊ธฐ ๋™๊ธฐํ™”๋ฅผ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๋™๊ธฐํ™” ๋ช…๋ น:

/pro2/bprepl/Script/replLoad.sh ๋น„์Šคํ‚ท ํ…Œ์ด๋ธ” ์ด๋ฆ„

์ดˆ๊ธฐ ๋™๊ธฐํ™”๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ๋ณต์ œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณต์ œ ํ”„๋กœ์„ธ์Šค ์‹œ์ž‘

๋ณต์ œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. replbatch.sh. ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋ชจ๋“  ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•œ relbatch ์Šคํฌ๋ฆฝํŠธ(relbatch1, relbatch2 ๋“ฑ)๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๋ชจ๋“  ๊ฒƒ์ด ์ œ์ž๋ฆฌ์— ์žˆ์œผ๋ฉด ๋ช…๋ น์ค„์„ ์—ฝ๋‹ˆ๋‹ค(์˜ˆ: ํ”„๋กœ์—”๋ธŒ), ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ /bprepl/์Šคํฌ๋ฆฝํŠธ ๊ทธ๋ฆฌ๊ณ  ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”. ๊ด€๋ฆฌ ํŒจ๋„์—์„œ๋Š” ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ RUNNING ์ƒํƒœ๋ฅผ ๋ฐ›์•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์กฐ์‚ฌ ๊ฒฐ๊ณผ

Progress OpenEdge ๋ฑ…ํ‚น ์‹œ์Šคํ…œ๊ณผ Oracle DBMS๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•
๊ตฌํ˜„ ํ›„ ๊ธฐ์—… ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์— ์ •๋ณด๋ฅผ ์—…๋กœ๋“œํ•˜๋Š” ์†๋„๊ฐ€ ํฌ๊ฒŒ ๋นจ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ์ž๋™์œผ๋กœ Oracle ์˜จ๋ผ์ธ์œผ๋กœ ๋“ค์–ด์˜ต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ์žฅ๊ธฐ ์‹คํ–‰ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ์†”๋ฃจ์…˜์—์„œ๋Š” ๋ณต์ œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์••์ถ•ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Š” ์†๋„์—๋„ ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์ด์ œ BISKVIT ์‹œ์Šคํ…œ๊ณผ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์˜ ์ผ์ผ ์กฐ์ •์ด 15~20์‹œ๊ฐ„์ด ์•„๋‹Œ 2~2,5๋ถ„์ด ๊ฑธ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ , ์™„์ „ํ•œ ์กฐ์ •์—๋Š” ์ดํ‹€์ด ์•„๋‹Œ ๋ช‡ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€