Post

๐Ÿš€ Ubuntu ์„œ๋ฒ„์— ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ

๐Ÿš€ Ubuntu ์„œ๋ฒ„์— ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ

ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ๊ณผ์ •

  1. JDK ์„ค์น˜
  2. Oracle DB ์„ค์น˜
  3. JAR ํŒŒ์ผ ์‹คํ–‰
  4. ํ…Œ์ŠคํŠธ

โœ… JDK ์„ค์น˜

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# ์šฐ๋ถ„ํˆฌ ์ €์žฅ์†Œ ๋‚ด ํŒจํ‚ค์ง€ ๋ชฉ๋ก ๊ฐฑ์‹ 
sudo apt update

# JDK ์„ค์น˜
sudo apt install openjdk-17-jdk

# JDK ํ™˜๊ฒฝ์„ค์ • ๋“ฑ๋ก
sudo vi /etc/environment
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"

# ์ˆ˜์ •๋œ ํ™˜๊ฒฝ์„ค์ • ๋ฐ˜์˜
source /etc/environment

# ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋๋Š”์ง€ ํ™•์ธ
java -version

  • ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋œ ๊ฒฝ์šฐ Java ๋ฒ„์ „์ด ์ถœ๋ ฅ ๋œ๋‹ค.

โœ… Oracle DB ์„ค์น˜

Oracle DB ์„ค์น˜ ๋งํฌ

  • ์šฐ์„  ์œ„ ๋งํฌ์— ์ ‘์†ํ•˜์—ฌ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๋‹ค.
  • ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํŒŒ์ผ์„ ์••์ถ• ํ•ด์ œํ•˜๋ฉด DISK1 ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์— rpm ํŒŒ์ผ์ด ์žˆ๋‹ค.

ํ•ด๋‹น ํŒŒ์ผ์„ FileZila๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์˜ home/ubuntu ํด๋”์— ์ „์†กํ•ด ์ค€๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# ์šฐ๋ถ„ํˆฌ ์ €์žฅ์†Œ ๋‚ด ํŒจํ‚ค์ง€ ๊ฐฑ์‹ 
sudo apt-get update

# deb ํŒŒ์ผ ๋ณ€ํ™˜ ๋ฐ ์„ค์น˜๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง€ ์„ค์น˜
sudo apt-get install alien

# deb ํŒŒ์ผ ๋ณ€ํ™˜
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

# ๋ณ€ํ™˜๋œ deb ํŒŒ์ผ ์„ค์น˜
sudo dpkg -i oracle-xe_11.2.0-1.0_amd64.deb

# ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™˜๊ฒฝ์„ค์ • ๋“ฑ๋ก
sudo /etc/init.d/oracle-xe configure
  • deb ํŒŒ์ผ ๋ณ€ํ™˜ ์‹œ ํ™”๋ฉด์— ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅ์ด ์•ˆ๋˜๋Š”๋ฐ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ๊ณ„์† ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค.
  • ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ ์‚ฌํ•ญ๋“ค์„ ์ ๊ฒ€ํ•ด์•ผ ํ•œ๋‹ค.
    1. Listener TNS์˜ Metadata ์„ค์ • ์ผ์น˜ ์—ฌ๋ถ€
    2. DB ์„ค์ •๊ณผ control_files ๊ฒฝ๋กœ ์ผ์น˜ ์—ฌ๋ถ€
1
select value from v$spparameter where name = 'control_files';
  • ์œ„ SQL๋ฌธ์„ ํ†ตํ•ด DB ์„ค์ •์— control_files ๊ฒฝ๋กœ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

    1. ํ™˜๊ฒฝ์„ค์ •
      • ~/.bashrc(๊ธฐ๋ณธ ํ™˜๊ฒฝ์„ค์ •), ~/.bash_profile(์‚ฌ์šฉ์ž๋ณ„ ํ™˜๊ฒฝ์„ค์ •)์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.
      • ์‚ฌ์šฉ์ž๋ณ„ ํ™˜๊ฒฝ์„ค์ •์€ ์„œ๋ฒ„๋ฅผ ์žฌ๋ถ€ํŒ… ํ•  ๋•Œ๋งˆ๋‹ค source ~/.bash_profile ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ™˜๊ฒฝ์„ค์ •์„ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค.
    2. DB ์ ‘์† ๊ฐ€๋Šฅ ์—ฌ๋ถ€
      • sqlplus / as sysdba ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด sysdba ๊ณ„์ •์œผ๋กœ DB์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.
    3. Listener ์‹คํ–‰ ์—ฌ๋ถ€
      • lsnrctl start๋ฅผ ํ†ตํ•ด Listener๋ฅผ ๊ฐ€๋™ํ•ด์•ผ ํ•œ๋‹ค.
      • Listener ๊ด€๋ จ ์กฐ์ž‘์„ ํ•  ๋•Œ ๋‹ค์Œ ๋ช…๋ น์–ด๋“ค์„ ํ™œ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.
1
2
3
4
5
6
7
8
9
10
11
#๋ฆฌ์Šค๋„ˆ ๊ฐ€๋™
rsnlctl start

#๋ฆฌ์Šค๋„ˆ ์ค‘์ง€
rsnlctl stop

#๋ฆฌ์Šค๋„ˆ ์ƒํƒœ ํ™•์ธ
rsnlctl status

#๋ฆฌ์Šค๋„ˆ ์„œ๋น„์Šค ํ™•์ธ
rsnlctl services
  • $ORACLE_HOME/network/admin ๊ฒฝ๋กœ์˜ Listener.ora ํŒŒ์ผ์ด๋‚˜ Tnsname.ora ํŒŒ์ผ์„ ์ˆ˜์ • ๋ฐ ์ ์šฉํ•˜๋ ค๋ฉด Listener๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ๊ฐ€๋™ํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.ย 

โœ… JAR ํŒŒ์ผ ์‹คํ–‰

1
2
# java -DENV='jdbc:oracle:thin:@localhost:1521:xe' -jar jar_ํŒŒ์ผ๋ช… --server.port=8081
java -Dํ™˜๊ฒฝ์„ค์ •_ํ‚ค_๊ฐ’='ํ™˜๊ฒฝ์„ค์ •_๊ฐ’' -jar jar_ํŒŒ์ผ๋ช… --server.port=ํฌํŠธ๋ฒˆํ˜ธ
  • Spring Boot๋ฅผ ๋นŒ๋“œํ•˜๋ฉด application.yml ํ™˜๊ฒฝ์„ค์ • ๊ฐ’์ด ์ ์šฉ๋˜๋Š”๋ฐ, DB URL์„ localhost๋กœ ์„ค์ •ํ•  ๊ฒฝ์šฐ ๋นŒ๋“œํ•œ PC์˜ IP ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ๋นŒ๋“œํ•œ PC์˜ IP๊ฐ€ ์•„๋‹ˆ๋ผ, JAR ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋Š” ์‹œ์ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์˜ IP๋ฅผ ์ฃผ์ž…ํ•ด์•ผ ํ•˜๋ฏ€๋กœ URL ๊ด€๋ จ ์„ค์ •์€ JAR ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋Š” ์‹œ์ ์— ์ฃผ์ž…ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

ํ…Œ์ŠคํŠธ

  • Postman์„ ํ†ตํ•ด ์š”์ฒญ ๋ฐ ์‘๋‹ต์ด ์ •์ƒ์ ์œผ๋กœ ์˜ค๊ณ  ๊ฐ€๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.

ํšŒ๊ณ 

  • ์ด์ „์— AWS EC2์— ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ๋ฅผ ํ•ด๋ณธ ์ ์ด ์žˆ์–ด์„œ ๊ธˆ๋ฐฉ ํ•  ์ค„ ์•Œ์•˜๋‹ค.ย 
  • Oracle DB๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์ด ์‹ ๊ฒฝ ์“ธ ๊ฒƒ๋„ ๋งŽ์•„์„œ ํž˜๋“ค์—ˆ๋‹ค.
  • ์ง€๊ธˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด Docker๋ฅผ ๋„์ž…ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ Resource ์„ค์น˜ ๊ณผ์ •์— ๊ฒช๋Š” ์–ด๋ ค์›€์€ ์‹ ๊ฒฝ ์“ธ ํ•„์š”๊ฐ€ ์—†๋‹ค.
  • ๊ทธ๋Ÿฐ๋ฐ ์ด๋Ÿฐ ๋ถˆํŽธํ•จ์„ ๊ฒช์–ด๋ณด์ง€ ์•Š๊ณ  Docker๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์ง„ํ–‰ํ•ด๋ฒ„๋ ธ๋‹ค๋ฉด, ์ด๋Ÿฐ ๋ฐฐ์›€๋„ ์—†์—ˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.
This post is licensed under CC BY 4.0 by the author.