๐Ÿ’พ SQL_

[SQLD] Docker, Oracle DB ์„ค์น˜

CodeLoge 2025. 2. 7. 21:20

Macbook Pro - M4 Pro ์นฉ์—์„œ Dokcer, SQL Developer ์„ค์น˜ํ•˜๋Š” ๋ฒ• (๋‚ด๊ฐ€ ๋‹ค์‹œ ์„ค์น˜ํ•ด์•ผํ• ๊นŒ๋ด ์ •๋ฆฌํ•œ ๊ธ€...)

 

#1. Docker ์„ค์น˜ํ•˜๊ธฐ

https://www.docker.com

 

Docker: Accelerated Container Application Development

Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.

www.docker.com

 

1. Docker ํ™ˆํŽ˜์ด์ง€์—์„œ Download Docker Desktop์„ ๋ˆ„๋ฅธ ํ›„ Download for Mac - Apple Silicon ๋ฒ„์ „์„ ๋‹ค์šด ๋ฐ›์•„์„œ ์‹คํ–‰ํ•˜๊ธฐ

 

2. Docker ํšŒ์›๊ฐ€์ž…์ด ๋˜์–ด ์žˆ๋‹ค๋ฉด, ๋กœ๊ทธ์ธ์„ ํ•œ ์ƒํƒœ์—์„œ ์ง„ํ–‰. ํšŒ์›๊ฐ€์ž…์ด ์•ˆ๋˜์–ด ์žˆ๋‹ค๋ฉด, ํšŒ์›๊ฐ€์ž…์„ ๋จผ์ € ์ง„ํ–‰ ํ•œ ํ›„ ํ•˜๋Š”๊ฒŒ ํŽธํ•จ.


#2. SQL Developer ์„ค์น˜ํ•˜๊ธฐ

https://www.oracle.com/kr/database/sqldeveloper/technologies/download/

 

Oracle SQL Developer Downloads | Oracle ๋Œ€ํ•œ๋ฏผ๊ตญ

This archive. will work on a 32 or 64 bit Windows OS. The bit level of the JDK you install will determine if it runs as a 32 or 64 bit application. This download does not include the required Oracle Java JDK. You will need to install it if it's not already

www.oracle.com

 

1. ์œ„ ํ™ˆํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ€์„œ [ Mac ARM64 with JDK 17 included ] ๋ฒ„์ „ ๋‹ค์šด๋ฐ›์•„์„œ ์‹คํ–‰.

M1 ์ด์ƒ์„ ์‚ฌ์šฉ ์ค‘์ธ ๋งฅ๋ถ์ด๋ผ๋ฉด ๋ฌด์กฐ๊ฑด ARM64 ๋ฒ„์ „์„ ๋‹ค์šดํ•ด์•ผํ•œ๋‹ค.

 

2. Oracle ํšŒ์›๊ฐ€์ž…์ด ๋˜์–ด ์žˆ๋‹ค๋ฉด, ๋กœ๊ทธ์ธ์„ ํ•œ ์ƒํƒœ์—์„œ ์ง„ํ–‰. ํšŒ์›๊ฐ€์ž…์ด ์•ˆ๋˜์–ด ์žˆ๋‹ค๋ฉด, ํšŒ์›๊ฐ€์ž…์„ ๋จผ์ € ์ง„ํ–‰ ํ•œ ํ›„ ํ•˜๋Š”๊ฒŒ ํŽธํ•จ.


์œ„ #1, #2 ๋ฒˆ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. Oracle DB๋Š” Terminal์„ ํ†ตํ•ด ์ง„ํ–‰ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค!


#3. Oracle DB ์„ค์น˜ํ•˜๊ธฐ

- Oracle์€ ๊ธฐ๋ณธ์ ์œผ๋กœ Mac์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค... ํŠนํžˆ M1 ์ด์ƒ์—์„œ ํ•„์š”ํ•œ ARM ๋ฒ„์ „์„ ํŠนํžˆ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™๋‹ค...

- MacBook์— Homebrew๋Š” ์„ค์น˜๊ฐ€ ๋˜์–ด์žˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ๊ธ€์„ ์ž‘์„ฑํ•˜์˜€๊ณ , ์„ค์น˜๋ฅผ ํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋“ค์—์„œ ๋ดค๋˜ Colima๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค.

 

#1 Docker๋ฅผ ์„ค์น˜ํ•œ ์ด์œ 

→ ๋งฅ์—์„œ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ Oracle DB๋ฅผ Docker์—์„œ Images ํŒŒ์ผ์„ ๋‹ค์šด ๋ฐ›๊ณ , ํ•ด๋‹น Images๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ Container ์ƒ์„ฑ์„ ๋„์™€์คŒ!

 

์ด์ œ Oracle DB๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์„ค์น˜ํ•ด๋ณด์ž! Docker๋Š” ์‹คํ–‰์ค‘์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

 

1. Image ํŒŒ์ผ ๊ฒ€์ƒ‰

ํ„ฐ๋ฏธ๋„(Terminal)์„ ์‹คํ–‰์‹œํ‚จ ํ›„ ๋ช…๋ น์–ด๋ฅผ ์ž‘์„ฑํ•˜์—ฌ, image ํŒŒ์ผ์„ ๋จผ์ € ๊ฒ€์ƒ‰ํ•œ๋‹ค

๋ช…๋ น์–ด : docker search gvenzl

ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค๋ฅธ ์•ฑ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์š”๊ตฌํ•˜๋Š”๋ฐ ์ˆ˜๋ฝํ•˜๋ฉด ๋œ๋‹ค.

 

2. ์ด๋ฏธ์ง€ ๋ชฉ๋ก ํ™•์ธ

๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด gvenzl์ด ํฌํ•จ๋œ ์ด๋ฏธ์ง€ ๋ชฉ๋ก์ด ์•„๋ž˜์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

3. Image๋ฅผ Docker๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

๋ชฉ๋ก์ด ์ถœ๋ ฅ๋˜๊ณ  ๋‚˜๋ฉด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ํ•ด๋‹น ํŒŒ์ผ์˜ image๋ฅผ Docker๋กœ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

๋ช…๋ น์–ด : docker pull gvenzl/oracle-free

 

4. Images ๋‹ค์šด ํ™•์ธ

์„ฑ๊ณต์ ์œผ๋กœ image๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์„ฑ๊ณตํ–ˆ๋‹ค๋ฉด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ๋‹ค์šด์ด ์ž˜ ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธ ํ•ด์ค€๋‹ค.

๋ช…๋ น์–ด : docker images

์•„๋ž˜์™€ ๊ฐ™์ด REPOSITORY, TAG ์•„๋ž˜ ์ค„์— gvenzl/oracle-free๊ฐ€ ์žˆ๋‹ค๋ฉด ์„ฑ๊ณต์ ์œผ๋กœ ๋‹ค์šด์ด ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

5. Container ์ƒ์„ฑ ๋ถ€๋ถ„, 4๋ฒˆ๊นŒ์ง€๋Š” ๋ฌด๋‚œํ–ˆ์ง€๋งŒ... ๊ฐ€์žฅ ์• ๋ฅผ ๋จน์—ˆ๋˜ 

๋ช…๋ น์–ด :docker run -- name [donghyun] -d -p 8080:8080 -p 1521:1521 -e ORACLE_PASSWORD=1234 gvenzl/oracle-free 

์œ„ ๋ช…๋ น์–ด ์ž…๋ ฅ

docker run : ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด

-- name [donghyun] : ์ปจํ…Œ์ด๋„ˆ์˜ ์ด๋ฆ„์„ donghyun์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ, [donghyun]์—์„œ [] ์—†์ด, ์›ํ•˜๋Š” ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

-d : ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•œ๋‹ค. ํ„ฐ๋ฏธ๋„์„ ์ฐจ์ง€ํ•˜์ง€ ์•Š์Œ.

-p 8080:8080 : ํฌํŠธ ํฌ์›Œ๋”ฉ ์„ค์ • : ํ˜ธ์ŠคํŠธ ๋จธ์‹  8080 ํฌํŠธ → ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ 8080 ํฌํŠธ๋กœ ์—ฐ๊ฒฐ (์ด๋ถ€๋ถ„์€ ์•„์ง ์ดํ•ด๊ฐ€ ์•ˆ๋˜์„œ ๊ณต๋ถ€ ํ•„์š”...)

-p 1521:1521 : ํฌํŠธ ํฌ์›Œ๋”ฉ ์„ค์ • : ํ˜ธ์ŠคํŠธ ๋จธ์‹  1521 ํฌํŠธ → ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ 1521 ํฌํŠธ๋กœ ์—ฐ๊ฒฐ

-e ORACLE_PASSWORD : Oracle DB์˜ ๊ธฐ๋ณธ system ๊ณ„์ •์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ 1234๋กœ ์ง€์ •ํ•œ๋‹ค. → ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ด์šฉํ•ด SQL Developoer์—์„œ ์ ‘์†ํ•  ์˜ˆ์ •.

gvenzl/oracle-free : ์‹คํ–‰ํ•  Docker ์ด๋ฏธ์ง€์˜ ์ด๋ฆ„

 

6. ์ปจํ…Œ์ด๋„ˆ ์ •์ƒ ์„ค์น˜ ํ™•์ธ

๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด CONTAINER ID / IMAGE / COMMAND ๋“ฑ์ด ๋œจ๋ฉด์„œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ œ๋Œ€๋กœ ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ์ถœ๋ ฅ๋œ๋‹ค.

๋ช…๋ น์–ด : docker ps

 

7. Terminal์—์„œ SQL Plus ์‹คํ–‰

๋ช…๋ น์–ด : docker exec -it donghyun sqlplus

๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ SQL Plus ์‹คํ–‰ํ•ด์ฃผ๊ณ , donghyun ๋ถ€๋ถ„์—๋Š” ์ž์‹ ์ด ์ง€์ •ํ•œ Container์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค!

์ž…๋ ฅ์„ ํ•˜๊ณ  ๋‚˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด Enter user-name : ์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

8. ๊ด€๋ฆฌ์ž ๊ณ„์ •์œผ๋กœ ์ ‘์†

Enter user-name : system ์ž…๋ ฅ

Etner password : ์ฒ˜์Œ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ์‹œ ์ž…๋ ฅํ•œ -e ORACLE_PASSWORD=1234 ์—์„œ 1234๋ฅผ ์ž…๋ ฅ

๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ๋Š” ๋‚ด๊ฐ€ ์ž…๋ ฅ์„ ํ•˜๋”๋ผ๋„ ํ‘œ๊ธฐ๊ฐ€ ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ฒœ์ฒœํžˆ ์‹ ์ค‘ํ•˜๊ฒŒ ์ ๊ธฐ!

์„ฑ๊ณต์ ์œผ๋กœ ๋กœ๊ทธ์ธ์ด ๋ฌ๋‹ค๋ฉด ํ•˜๋‹จ์— SQL> ์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

9. ์‹คํ–‰ ํ™•์ธ

์ œ๋Œ€๋กœ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด

SQL> ๋‹ค์Œ์— ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค

๋ช…๋ น์–ด : select*from tab;

์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰์ค‘์ด๋ผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ”์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

10. ์ข…๋ฃŒํ•˜๊ธฐ

๋‹ค์‹œ ๋งˆ์ง€๋ง‰ SQL> ๋ถ€๋ถ„์— exit๋ฅผ ์ณ์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ข…๋ฃŒ๋œ๋‹ค๋ฉด Docker ์„ค์น˜์— ์„ฑ๊ณตํ•œ ๊ฒƒ์ด๋‹ค!