์ฐ๋ฆฌ ์ํ์ 1999๋ ๋ถํฐ ๋ฐฑ์คํผ์ค ์๋น์ค๋ฅผ ์ํด ๊ธ์ต๊ถ์ ๋น๋กฏํ ์ ์ธ๊ณ์ ์ผ๋ก ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ Progress OpenEdge ํ๋ซํผ์ ํตํฉ ๋ฑ ํน ์์คํ BISKVIT์ ์ฌ์ฉํด ์์ต๋๋ค. ์ด DBMS์ ์ฑ๋ฅ์ผ๋ก ์ธํด ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB)์์ ์ด๋น ์ต๋ 1,5๋ง ๊ฐ ์ด์์ ๋ ์ฝ๋๋ฅผ ์ฝ์ ์ ์์ต๋๋ค. ๋น์ฌ์ Progress OpenEdge๋ ์ฝ 22,2๋ง ๊ฑด์ ๊ฐ์ธ ์๊ธ๊ณผ ์ฝ XNUMX๋ง ๊ฑด์ ํ์ฑ ์ํ(์๋์ฐจ ๋์ถ ๋ฐ ๋ชจ๊ธฐ์ง) ๊ณ์ฝ์ ์๋น์คํ๊ณ ์์ผ๋ฉฐ, ๊ท์ ๊ธฐ๊ด(์ค์ ์ํ) ๋ฐ SWIFT์์ ๋ชจ๋ ๊ฒฐ์ ๋ ๋ด๋นํฉ๋๋ค.
Progress OpenEdge๋ฅผ ์ฌ์ฉํ๋ฉด์ ์ฐ๋ฆฌ๋ Oracle DBMS์ ํจ๊ป ์๋ํ๋๋ก ํด์ผ ํ๋ค๋ ํ์์ฑ์ ์ง๋ฉดํ์ต๋๋ค. ์ฒ์์๋ ์ด ๋ฒ๋ค์ด ์ฐ๋ฆฌ ์ธํ๋ผ์ ๋ณ๋ชฉ ํ์์ด์์ต๋๋ค. Pro2 CDC๋ฅผ ์ค์นํ๊ณ ๊ตฌ์ฑํ๊ธฐ ์ ๊น์ง๋ Progress DBMS์์ Oracle DBMS๋ก ์ง์ ์จ๋ผ์ธ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์๋ Progress ์ ํ์ด์์ต๋๋ค. ์ด ๊ฒ์๋ฌผ์์๋ ๋ชจ๋ ํจ์ ๊ณผ ํจ๊ป OpenEdge์ Oracle์ ํจ๊ณผ์ ์ผ๋ก ์น๊ตฌ๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์ธํ ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
๊ฒฝ์: ํ์ผ ๊ณต์ ๋ฅผ ํตํด QCD์ ๋ฐ์ดํฐ ์ ๋ก๋
์ฒซ์งธ, ์ฐ๋ฆฌ ์ธํ๋ผ์ ๊ดํ ๋ช ๊ฐ์ง ์ฌ์ค์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ฑ ์ฌ์ฉ์ ์๋ ์ฝ 15๋ช ์ ๋๋ค. ๋ณต์ ๋ณธ๊ณผ ๋๊ธฐ โโ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํฌํจํ ๋ชจ๋ ์์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณผ๋ฅจ์ 600TB์ด๊ณ , ๊ฐ์ฅ ํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ 16,5TB์ ๋๋ค. ๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ง์์ ์ผ๋ก ๋ณด์ถฉ๋๊ณ ์์ต๋๋ค. ์๋ ์๋ง ์ฝ 120TB์ ์์ฐ ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ์์คํ ์ x150 ํ๋ซํผ์ ์ ๋ฉด ์๋ฒ 86๊ฐ๋ก ๊ตฌ๋๋ฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ 21๊ฐ์ IBM ํ๋ซํผ ์๋ฒ์์ ํธ์คํ ๋ฉ๋๋ค.
ํ๋ฐํธ ์๋ ์์คํ
, ๋ค์ํ ์ฝ์ด ๋ฑ
ํน ์์คํ
๋ฐ ๋ฑ
ํน ์๋น์ค๋ Sonic ESB ๋ฒ์ค๋ฅผ ํตํด OpenEdge Progress(BISCUIT IBS)์ ํตํฉ๋ฉ๋๋ค. QCD๋ก์ ๋ฐ์ดํฐ ์
๋ก๋๋ ํ์ผ ๊ตํ์ ํตํด ์ด๋ฃจ์ด์ง๋๋ค. ์ผ์ ์์ ๊น์ง ์ด ์๋ฃจ์
์๋ ๊ธฐ์
๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค(CDW)์ ์ ๋ณด๋ฅผ ์
๋ก๋ํ๋ ์ฑ๋ฅ์ด ๋ฎ๊ณ , ๋ค๋ฅธ ์์คํ
๊ณผ์ ๋ฐ์ดํฐ ์กฐ์ (์กฐ์ )์ ์ํํ๋ ๋ฐ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค๋ ๋ ๊ฐ์ง ํฐ ๋ฌธ์ ๊ฐ ๋์์ ์์์ต๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ด๋ฌํ ํ๋ก์ธ์ค์ ์๋๋ฅผ ๋์ผ ์ ์๋ ๋๊ตฌ๋ฅผ ์ฐพ๊ธฐ ์์ํ์ต๋๋ค. ๋ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ
์ ์๋ก์ด Progress OpenEdge ์ ํ์ธ Pro2 CDC(Change Data Capture)์์ต๋๋ค. ๊ทธ๋ผ ์์ํด ๋ณด๊ฒ ์ต๋๋ค.
Progress OpenEdge ๋ฐ Pro2Oracle ์ค์น
๊ด๋ฆฌ์์ Windows ์ปดํจํฐ์์ Pro2 Oracle์ ์คํํ๋ ค๋ฉด Progress OpenEdge Developer Kit Classroom Edition์ ์ค์นํ๋ฉด ์ถฉ๋ถํฉ๋๋ค.
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์ ์ค์นํ๋ ค๋ฉด ๋ค์ด๋ก๋ ์ผํฐ์์ ์ต์ ๋ฐฐํฌํ์ ๋ค์ด๋ก๋ํ์ธ์.
CDC ๋ณต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ
๋ณต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค CDC(๋์ฒด) Pro2๋ ๋ณต์ ๋งต, ๋ณต์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ ๋ฐ ํด๋น ํ ์ด๋ธ์ ํฌํจํ ๊ตฌ์ฑ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ ํ์ด ๋ณ๊ฒฝ๋์๋ค๋ ์ฌ์ค์ ๋ํ ๋ฉ๋ชจ๋ก ๊ตฌ์ฑ๋ ๋ณต์ ํ๋ ํฌํจ๋์ด ์์ต๋๋ค. ๋ณต์ ํ์ ๋ฐ์ดํฐ๋ ETL ํ๋ก์ธ์ค์์ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ Oracle๋ก ๋ณต์ฌํด์ผ ํ๋ ํ์ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ณ๋์ CDC ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ณ ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ์ ์ฐจ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์์ ์ฐ๋ฆฌ๋ cdc ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฉ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์๋ฒ์ /๋ฐ์ดํฐ๋ฒ ์ด์ค/cdc/.
- cdc ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋๋ฏธ๋ฅผ ๋ง๋ญ๋๋ค. ํ๋ก์นดํผ $DLC/๋น CDC
- ๋์ฉ๋ ํ์ผ ์ง์ ํ์ฑํ: proutil cdc -C EnableLargeFiles
- cdc ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ํ๊ธฐ ์ํ ์คํฌ๋ฆฝํธ๋ฅผ ์ค๋นํฉ๋๋ค. ์์ ๋งค๊ฐ๋ณ์๋ ๋ณต์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ ๋งค๊ฐ๋ณ์์ ์ ์ฌํด์ผ ํฉ๋๋ค.
- CDC ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ํฉ๋๋ค.
- cdc ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๊ณ ํ์ผ์์ Pro2 ์คํค๋ง๋ฅผ ๋ก๋ํฉ๋๋ค. CDC.df, Pro2์ ํฌํจ๋์ด ์์ต๋๋ค.
- cdc ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค์ ์ฌ์ฉ์๋ฅผ ์์ฑํฉ๋๋ค.
pro2adm โ Pro2 ๊ด๋ฆฌ ํจ๋์์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ๊ฒ์
๋๋ค.
pro2etl โ ETL ํ๋ก์ธ์ค ์ฐ๊ฒฐ์ฉ(ReplBatch)
pro2cdc โ CDC ํ๋ก์ธ์ค ์ฐ๊ฒฐ์ฉ(CDCBatch)
OpenEdge ๋ณ๊ฒฝ ๋ฐ์ดํฐ ์บก์ฒ ํ์ฑํ
์ด์ ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ ๊ธฐ์ ์์ญ์ ๋ณต์ ๋๋ ๋ฐ ๋์์ ๋ฐ์ CDC ๋ฉ์ปค๋์ฆ ์์ฒด๋ฅผ ํ์ฑํํด ๋ณด๊ฒ ์ต๋๋ค. ๊ฐ Progress OpenEdge ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ค ๋ฐ์ดํฐ๊ฐ ๋ณต์ ๋ ๋ณ๋์ ์ ์ฅ ์์ญ์ ์ถ๊ฐํ๊ณ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ฉ์ปค๋์ฆ ์์ฒด๋ฅผ ํ์ฑํํด์ผ ํฉ๋๋ค. ํ๋กํธ.
Bisquit ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ ์ ์ฐจ
- ์นดํ๋ก๊ทธ์์ ๋ณต์ฌ C:Pro2db ัะฐะนะป cdcadd.st ๋น์คํท ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
- ์ฐ๋ฆฌ๋ cdcadd.st ์ง์ญ์ ๊ณ ์ ํฌ๊ธฐ ๋ฒ์ "ReplCDC ์์ญ" ะธ "ReplCDCArea_IDX". ์จ๋ผ์ธ์ผ๋ก ์ ์ ์ฅ ์์ญ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. prostrct addonline ๋น์คํท cdcadd.st
- OpenEdge CDC ํ์ฑํ:
proutil bisquit -C ํ์ฑํcdc ์์ญ "ReplCDCArea" indexarea "ReplCDCArea_IDX" - ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์๋ณํ๋ ค๋ฉด ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค์ ์ฌ์ฉ์๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
ใ . pro2adm โ Pro2 ๊ด๋ฆฌ ํจ๋์์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
๋น. pro2etl โ ETL ํ๋ก์ธ์ค ์ฐ๊ฒฐ์ฉ(ReplBatch)
์จ. pro2cdc โ CDC ํ๋ก์ธ์ค ์ฐ๊ฒฐ์ฉ(CDCBatch).
Oracle์ฉ DataServer์ ๋ํ ์คํค๋ง ํ๋ ์์ฑ
๋ค์์ผ๋ก Progress DBMS์ ๋ฐ์ดํฐ๊ฐ Oracle DBMS์ ๋ณต์ ๋ ์๋ฒ์ ์คํค๋ง ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. DataServer ์คํค๋ง ํ๋๋ ์์ค ํ ์ด๋ธ๊ณผ ์ธ๋ถ Oracle ํ ์ด๋ธ ๊ฐ์ ๋์ ๋งต์ ํฌํจํ๋ ์ฌ์ฉ์ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ๊ฐ ์๋ ๋น Progress OpenEdge ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
Pro2์ฉ Oracle์ฉ Progress OpenEdge DataServer์ ์คํค๋ง ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ETL ํ๋ก์ธ์ค ์๋ฒ์ ์์ด์ผ ํ๋ฉฐ ๊ฐ ์ง์ ๋ง๋ค ๋ณ๋๋ก ์์ฑ๋ฉ๋๋ค.
์คํค๋ง ํ๋๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ
- Pro2 ๋ฐฐํฌํ์ ๋๋ ํฐ๋ฆฌ์ ์์ถ ํด์ /ํ๋ก2
- ๋๋ ํ ๋ฆฌ ์์ฑ ๋ฐ ์ด๋ /pro2/dbsh
- ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์คํค๋ง ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํฉ๋๋ค. $DLC/๋น ๋น์คํท์ ๋ณต์ฌ
- ๋ณํ ์ํ ๋น์คํท์ ํ์ํ ์ธ์ฝ๋ฉ์ผ๋ก ๋ณํํฉ๋๋ค. ์๋ฅผ ๋ค์ด Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์ UTF-8 ์ธ์ฝ๋ฉ์ด ์๋ ๊ฒฝ์ฐ UTF-8๋ก: proutil bisquitsh -C convchar ๋ณํ UTF-8
- ๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ ํ ๋น์คํท์ ๋จ์ผ ์ฌ์ฉ์ ๋ชจ๋๋ก ์ฐ๊ฒฐํฉ๋๋ค: ํ๋ก ๋น์คํท์
- ๋ฐ์ดํฐ ์ฌ์ ์ผ๋ก ์ด๋ํด ๋ณด๊ฒ ์ต๋๋ค. ๋๊ตฌ -> ๋ฐ์ดํฐ ์ฌ์ -> DataServer -> ORACLE ์ ํธ๋ฆฌํฐ -> DataServer ์คํค๋ง ์์ฑ
- ์คํค๋ง ํ๋ ์คํ
- Oracle DataServer ๋ธ๋ก์ปค ์ค์ :
ใ . AdminServer๋ฅผ ์์ํฉ๋๋ค.
proadsv -์์
๋น. Oracle DataServer ๋ธ๋ก์ปค ์์
oraman -์ด๋ฆ orabroker1 -start
๊ด๋ฆฌ ํจ๋ ๋ฐ ๋ณต์ ๊ตฌ์ฑํ ์ค์
Pro2 ๊ด๋ฆฌ ํจ๋์ ์ฌ์ฉํ๋ฉด ๋ณต์ ์ฒด๊ณ ์ค์ , ETL ํ๋ก์ธ์ค(ํ๋ก์ธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ), ๊ธฐ๋ณธ ๋๊ธฐํ ํ๋ก๊ทธ๋จ(๋๋ ๋ณต์ฌ ํ๋ก์ธ์), ๋ณต์ ํธ๋ฆฌ๊ฑฐ ๋ฐ OpenEdge CDC ์ ์ฑ ์์ฑ์ ํฌํจํ์ฌ Pro2 ๋งค๊ฐ๋ณ์๊ฐ ๊ตฌ์ฑ๋ฉ๋๋ค. ETL ๋ฐ CDC ํ๋ก์ธ์ค๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ธฐ๋ณธ ๋๊ตฌ๋ ์์ต๋๋ค. ์ฐ์ ๋งค๊ฐ๋ณ์ ํ์ผ์ ์ค์ ํฉ๋๋ค.
๋งค๊ฐ๋ณ์ ํ์ผ์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ
- ์นดํ๋ก๊ทธ๋ก ์ด๋ C:Pro2bprepl์คํฌ๋ฆฝํธ
- ํธ์งํ ํ์ผ์ ์ฝ๋๋ค. replProc.pf
- cdc ๋ณต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
# ๋ณต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค
-db cdc -ld repl -H <๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ์คํธ ์ด๋ฆ> -S <๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ธ๋ก์ปค ํฌํธ cdc>
-U pro2admin -P <๋น๋ฐ๋ฒํธ> - ๋ค์์ ์ถ๊ฐ replProc.pf ๋งค๊ฐ๋ณ์ ํ์ผ ํ์์ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์คํค๋ง ํ๋์ ๋ํ ์ฐ๊ฒฐ ๋งค๊ฐ๋ณ์์
๋๋ค. ๋งค๊ฐ๋ณ์ ํ์ผ์ ์ด๋ฆ์ ์ฐ๊ฒฐ๋๋ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฆ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค.
# ๋ณต์ ๋ ๋ชจ๋ ์์ค์ ์ฐ๊ฒฐ BISQUIT
-pf bpreplscriptsbisquit.pf - ๋ค์์ ์ถ๊ฐ replProc.pf ์คํค๋ง ํ๋์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ๋งค๊ฐ๋ณ์์
๋๋ค.
#Target Pro DB ์คํค๋ง ํ๋
-db ๋น์คํท์ -ld ๋น์คํท์
-H <ETL ํ๋ก์ธ์ค ํธ์คํธ ์ด๋ฆ>
-S <biskuitsh ๋ธ๋ก์ปค ํฌํธ>
-db ๋น์คํทSQL
-ld ๋น์คํทSQL
-dt ์ค๋ผํด
-S 5162 -H <Oracle ๋ธ๋ก์ปค ํธ์คํธ ์ด๋ฆ>
-DataService orabroker1 - ๋งค๊ฐ๋ณ์ ํ์ผ ์ ์ฅ replProc.pf
- ๋ค์์ผ๋ก ๋๋ ํ ๋ฆฌ์ ์ฐ๊ฒฐ๋ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๊ฐ์ ๋ํ ํธ์ง์ฉ ๋งค๊ฐ๋ณ์ ํ์ผ์ ์์ฑํ๊ณ ์ด์ด์ผ ํฉ๋๋ค. C:Pro2bprepl์คํฌ๋ฆฝํธ: bisquit.pf. ๊ฐ pf ํ์ผ์๋ ํด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ๋งค๊ฐ๋ณ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์:
-db bisquit -ld bisquit -H <ํธ์คํธ ์ด๋ฆ> -S <๋ธ๋ก์ปค ํฌํธ>
-U pro2admin -P <๋น๋ฐ๋ฒํธ>
Windows ๋ฐ๋ก๊ฐ๊ธฐ๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด ํด๋น ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํด์ผ ํฉ๋๋ค. C:Pro2bprepl์คํฌ๋ฆฝํธ "Pro2 โ ๊ด๋ฆฌ" ๋ฐ๋ก๊ฐ๊ธฐ๋ฅผ ํธ์งํ์ธ์. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ฐ๋ก๊ฐ๊ธฐ์ ์์ฑ์ ์ด๊ณ ํด๋น ์ค์์ ์์ ์์ Pro2 ์ค์น ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ํ๋ ๋๋ค. "Pro2 โ Editor" ๋ฐ "RunBulkLoader" ๋จ์ถํค์ ๋ํด์๋ ์ ์ฌํ ์์ ์ ์ํํด์ผ ํฉ๋๋ค.
Pro2 ๊ด๋ฆฌ ์ค์ : ์ด๊ธฐ ๊ตฌ์ฑ ๋ก๋
์ฝ์์ ์คํํด ๋ณด๊ฒ ์ต๋๋ค.
"DB ๋งต"์ผ๋ก ์ด๋ํฉ๋๋ค.
Pro2 โ ๊ด๋ฆฌ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํ๋ ค๋ฉด ํญ์ผ๋ก ์ด๋ํ์ธ์. DB ๋งต. ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋งคํ ์ถ๊ฐ - ์คํค๋ง ํ๋ - Oracle.
ํญ์ผ๋ก ์ด๋ ๋งคํ. ์์ฅ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ณธ์ ์ผ๋ก ์ฒ์ ์ฐ๊ฒฐ๋ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ํ๋ฉ๋๋ค. ๋ชฉ๋ก ์ค๋ฅธ์ชฝ์ ๋น๋ฌธ์ด ์์ด์ผํฉ๋๋ค ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฐ๊ฒฐ๋จ โ ์ ํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฐ๊ฒฐ๋์์ต๋๋ค. ์ผ์ชฝ ์๋์๋ ๋น์คํท์ ์งํ ์ํฉ ํ
์ด๋ธ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค. ์ค๋ฅธ์ชฝ์๋ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ
์ด๋ธ ๋ชฉ๋ก์ด ์์ต๋๋ค.
Oracle์์ SQL ์คํค๋ง ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ
๋ณต์ ๋งต์ ์์ฑํ๋ ค๋ฉด ๋จผ์ ์์ฑํด์ผ ํฉ๋๋ค. SQL ์คํค๋ง ์ค๋ผํด์์. Pro2 ๊ด๋ฆฌ์์๋ ๋ฉ๋ด ํญ๋ชฉ์ ์คํํฉ๋๋ค. ๋๊ตฌ -> ์ฝ๋ ์์ฑ -> ๋์ ์คํค๋ง, ๋ํ ์์์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ ํ๋ ์ด์์ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ๊ณ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํฉ๋๋ค.
ํ์ธ์ ํด๋ฆญํ๊ณ SQL ์คํค๋ง๋ฅผ ์ ์ฅํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
๋ค์์ผ๋ก ๋ฒ ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์์ ํตํด ์ด ์์ ์ ์ํํ ์ ์์ต๋๋ค. Oracle SQL ๊ฐ๋ฐ์. ์ด๋ฅผ ์ํด Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๊ณ ํ ์ด๋ธ ์ถ๊ฐ๋ฅผ ์ํ ์คํค๋ง๋ฅผ ๋ก๋ํฉ๋๋ค. Oracle ํ ์ด๋ธ์ ๊ตฌ์ฑ์ ๋ณ๊ฒฝํ ํ์๋ ์คํค๋ง ํ๋์์ SQL ์คํค๋ง๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
๋ค์ด๋ก๋๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ํ bisquitsh ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ข
๋ฃํ๊ณ Pro2 ๊ด๋ฆฌ ํจ๋์ ์ฝ๋๋ค. Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ
์ด๋ธ์ด ์ค๋ฅธ์ชฝ์ ๋งคํ ํญ์ ๋ํ๋์ผ ํฉ๋๋ค.
ํ ์ด๋ธ ๋งคํ
๋ณต์ ๋งต์ ์์ฑํ๋ ค๋ฉด Pro2 ๊ด๋ฆฌ ํจ๋์์ ๋งคํ ํญ์ผ๋ก ์ด๋ํ์ฌ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํฉ๋๋ค. Map Tables๋ฅผ ํด๋ฆญํ๊ณ Oracle์์ ๋ณต์ ํด์ผ ํ๋ ํ ์ด๋ธ ์ผ์ชฝ์์ Select Changes๋ฅผ ์ ํํ ๋ค์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํ๊ณ ์ ํ์ ํ์ธํฉ๋๋ค. ์ ํํ ํ ์ด๋ธ์ ๋ํด ๋งต์ด ์๋์ผ๋ก ์์ฑ๋ฉ๋๋ค. ๋ค๋ฅธ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ณต์ ๋งต์ ์์ฑํ๊ธฐ ์ํด ์์ ์ ๋ฐ๋ณตํฉ๋๋ค.
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 ์ ์ฑ ์ ๋นํ์ฑํํ ์๋ ์์ต๋๋ค. ๋ชจ๋ ๊ฑฐ๋๋ ์จ๋ผ์ธ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
CDC ์ ์ฑ
์ด ํ์ฑํ๋๋ฉด ์์ ๋ ๊ธฐ๋ก์ ๋ํ ๋ฉ๋ชจ๊ฐ ์ ์ฅ ์์ญ์ ์ ์ฅ๋ฉ๋๋ค. "ReplCDC ์์ญ" ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ๋ฅด๋ฉด. ์ด ๋ฉ๋ชจ๋ ํน๋ณํ ํ๋ก์ธ์ค๋ฅผ ํตํด ์ฒ๋ฆฌ๋ฉ๋๋ค. CDCBatch์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ Pro2 ๋ณต์ ๋๊ธฐ์ด์ ๋ฉ๋ชจ๊ฐ ์์ฑ๋ฉ๋๋ค. CDC(๋์ฒด).
๋ฐ๋ผ์ ๋ณต์ ๋ฅผ ์ํ ๋ ๊ฐ์ ๋๊ธฐ์ด์ด ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ CDCBatch์ ๋๋ค. ์๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ ๋จผ์ ์ค๊ฐ CDC ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ด๋ํฉ๋๋ค. ๋ ๋ฒ์งธ ๋จ๊ณ๋ ๋ฐ์ดํฐ๊ฐ CDC ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ Oracle๋ก ์ ์ก๋๋ ๋จ๊ณ์ ๋๋ค. ์ด๋ ํ์ฌ ์ํคํ ์ฒ์ ์ ํ ์์ฒด์ ๊ธฐ๋ฅ์ ๋๋ค. ์ง๊ธ๊น์ง ๊ฐ๋ฐ์๋ ์ง์ ๋ณต์ ๋ฅผ ์ค์ ํ ์ ์์์ต๋๋ค.
๊ธฐ๋ณธ ๋๊ธฐํ
CDC ๋ฉ์ปค๋์ฆ์ ํ์ฑํํ๊ณ Pro2 ๋ณต์ ์๋ฒ๋ฅผ ์ค์ ํ ํ ์ด๊ธฐ ๋๊ธฐํ๋ฅผ ์์ํด์ผ ํฉ๋๋ค. ์ด๊ธฐ ๋๊ธฐํ ๋ช ๋ น:
/pro2/bprepl/Script/replLoad.sh ๋น์คํท ํ ์ด๋ธ ์ด๋ฆ
์ด๊ธฐ ๋๊ธฐํ๊ฐ ์๋ฃ๋ ํ ๋ณต์ ํ๋ก์ธ์ค๋ฅผ ์์ํ ์ ์์ต๋๋ค.
๋ณต์ ํ๋ก์ธ์ค ์์
๋ณต์ ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ ค๋ฉด ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด์ผ ํฉ๋๋ค. replbatch.sh. ์์ํ๊ธฐ ์ ์ ๋ชจ๋ ์ค๋ ๋์ ๋ํ relbatch ์คํฌ๋ฆฝํธ(relbatch1, relbatch2 ๋ฑ)๊ฐ ์๋์ง ํ์ธํ์ญ์์ค. ๋ชจ๋ ๊ฒ์ด ์ ์๋ฆฌ์ ์์ผ๋ฉด ๋ช ๋ น์ค์ ์ฝ๋๋ค(์: ํ๋ก์๋ธ), ๋๋ ํ ๋ฆฌ๋ก ์ด๋ /bprepl/์คํฌ๋ฆฝํธ ๊ทธ๋ฆฌ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ์์ํ์ธ์. ๊ด๋ฆฌ ํจ๋์์๋ ํด๋น ํ๋ก์ธ์ค๊ฐ RUNNING ์ํ๋ฅผ ๋ฐ์๋์ง ํ์ธํฉ๋๋ค.
์กฐ์ฌ ๊ฒฐ๊ณผ
๊ตฌํ ํ ๊ธฐ์
๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ์ ๋ณด๋ฅผ ์
๋ก๋ํ๋ ์๋๊ฐ ํฌ๊ฒ ๋นจ๋ผ์ก์ต๋๋ค. ๋ฐ์ดํฐ๋ ์๋์ผ๋ก Oracle ์จ๋ผ์ธ์ผ๋ก ๋ค์ด์ต๋๋ค. ๋ค๋ฅธ ์์คํ
์์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ธฐ ์ํด ์ฅ๊ธฐ ์คํ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๋ฐ ์๊ฐ์ ๋ญ๋นํ ํ์๊ฐ ์์ต๋๋ค. ๋ํ ์ด ์๋ฃจ์
์์๋ ๋ณต์ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ถํ ์ ์์ผ๋ฉฐ ์ด๋ ์๋์๋ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ด์ BISKVIT ์์คํ
๊ณผ ๋ค๋ฅธ ์์คํ
์ ์ผ์ผ ์กฐ์ ์ด 15~20์๊ฐ์ด ์๋ 2~2,5๋ถ์ด ๊ฑธ๋ฆฌ๊ธฐ ์์ํ๊ณ , ์์ ํ ์กฐ์ ์๋ ์ดํ์ด ์๋ ๋ช ์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค.
์ถ์ฒ : habr.com