๐ก text ํ์ผ ํ์์ ๋ฐ์ดํฐ๋ฅผ Oracle DB์ import ํด๋ณด๊ธฐ (SQL LOADER ํ์ฉ)
โค๏ธ OS : Rocky Linux
โ ๊ฑด๋ฌผ DB ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ฐ๊ธฐ & CREATE TABLE
↑↑↑ ์ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ฌ ํ์ผ ๋ค์ด๋ก๋ ํ๊ธฐ ↑↑↑
โ import ํ ๋ฐ์ดํฐ์ ํ์
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|60|23|261103006001|์ด๋์๋ก|0|1|4|||2611010100100600023003612|01|2611059000|์์ฃผ์ 1๋|48910|||||||0|48910|0||
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|60|48|261103006001|์ด๋์๋ก|0|5|0|||2611010100100600048001276|01|2611059000|์์ฃผ์ 1๋|48910|||||||0|48910|0||
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|52|1|261103006001|์ด๋์๋ก|0|6|0|||2611010100100520001005565|01|2611059000|์์ฃผ์ 1๋|48911|||||||0|48911|0||
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|8|2|261103006001|์ด๋์๋ก|0|9|0|||2611010100100080002008406|01|2611059000|์์ฃผ์ 1๋|48906|||||||0|48906|0||
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|8|20|261103006001|์ด๋์๋ก|0|9|2|||2611010100100080020004814|01|2611059000|์์ฃผ์ 1๋|48906|||||||0|48906|0||
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|18|16|261103006001|์ด๋์๋ก|0|9|6|||2611010100100180016004996|01|2611059000|์์ฃผ์ 1๋|48906|||||||0|48906|0||
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|18|19|261103006001|์ด๋์๋ก|0|9|7|||2611010100100180018006639|01|2611059000|์์ฃผ์ 1๋|48906|||||||0|48906|0||
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|18|17|261103006001|์ด๋์๋ก|0|9|8|||2611010100100180017006764|01|2611059000|์์ฃผ์ 1๋|48906|||||||0|48906|0||
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|7|4|261103006001|์ด๋์๋ก|0|9|10|||2611010100100070004002860|01|2611059000|์์ฃผ์ 1๋|48906|||||||0|48906|0||
2611010100|๋ถ์ฐ๊ด์ญ์|์ค๊ตฌ|์์ฃผ๋||0|18|5|261103006001|์ด๋์๋ก|0|10|0|||2611010100100180005006899|01|2611059000|์์ฃผ์ 1๋|48911|||||||0|48911|0||
๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋์ด ์๋ .txt ํ์์ ํ์ผ์ ์ฌ์ฉํ ๊ฒ์ด๋ค.
(build_busan.txt์ ์์ ๋ฐ์ดํฐ 10๊ฐ)
โ ์ปจํธ๋กค ํ์ผ ์์ฑ
LOAD DATA
INFILE '..\dat\build_busan.txt' # ํ์ผ ๊ฒฝ๋ก์ ๋ฐ์ดํฐ ํ์ผ๋ช
BADFILE '..\err\build_busan.bad'
DISCARDFILE '..\dsc\build_busan.dsc'
DISCARDMAX 50
INSERT # ์ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ ๋๋ insert, ๊ทธ ๋ค๋ก๋ APPEND ์ฌ์ฉ(๊ธฐ์กด ๋ฐ์ดํฐ ๋ค์ ๋ฐ์ดํฐ ์ถ๊ฐ)
INTO TABLE "BUILDING" # ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ ํ
์ด๋ธ ๋ช
FIELDS TERMINATED BY '|' # '' ์์ ๋ฐ์ดํฐ๊ฐ ๋๋ ์ ธ ์๋ ๊ตฌ๋ถ์๋ฅผ ์จ์ฃผ๊ธฐ
TRAILING NULLCOLS
( # ๊ดํธ ์์ ์์์ ๋ง๊ฒ ์ปฌ๋ผ๋ช
์ ์จ์ฃผ๊ธฐ
DCD ,
SIDO ,
GUGUN ,
DONG ,
RI ,
SAN ,
GBM ,
GBS ,
RCD ,
ROAD ,
SUB ,
BNM ,
BNS ,
BLD ,
BDF ,
BNO ,
DNO ,
HDCD ,
HDONG ,
ZIP ,
ZNO ,
BULK ,
MOVED ,
EDATE ,
OROAD ,
SGBLD ,
APT ,
GICHO ,
DETAIL ,
NOTE1 ,
NOTE2
)
=> import ํ๊ณ ์ถ์ ํ์ผ(์์ .txt file๊ณผ ๊ฐ์ ํ์์ ํ์ผ)์ ๋ํด ctl ํ์ผ ์์ฑํ๊ธฐ
โ sqlldr ๋ช ๋ น์ด ์คํ
sqlldr DB์ด๋ฆ/๋น๋ฐ๋ฒํธ@{sid} control=..\ctl\build_busan.ctl log=..\log\build_busan.log errors=50
=> ์ ๋ช ๋ น์ด๋ฅผ ์คํํ๊ธฐ ์ ctl ํ์ผ์ด ์ ์ฅ๋์ด ์๋ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ ํ ์ํํด์ผ ํ๋ค! ๋น์ฐํ SQL ์ฐฝ์์ ํ๋ ๊ฒ์ด ์๋๋ผ os ๋ช ๋ น์ฐฝ์ผ๋ก ๋์์ ์จ์ผํ๋ค!!!
OR
โ Windows ๋ฐฐ์น ํ์ผ๋ก ์คํ
=> ์์ ๋ช ๋ น์ด๋ฅผ ์ฌ๋ฌ๊ฐ ์ ๋ ฅํ์ฌ '.bat' ํ์ฅ์๋ฅผ ๊ฐ์ง ํ์ผ์ ์์ฑํ์ฌ ํ ๋ฒ์ ๋ก๋ํ๊ธฐ!
ex) D:\Projects\2022 ์ฃผ์ ๊ฑด๋ฌผ DB\bin ๋ผ๋ ๊ฒฝ๋ก์ ๋ฐฐ์น ํ์ผ์ด ๋ค์ด์๋ค๋ฉด 'load' ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ํ ๋ฒ์ ๋ฐ์ดํฐ๋ฅผ import ํ ์ ์๋ค.