๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/Linux & macOS

[macOS] mac m1์— oracle ์„ค์น˜ํ•˜๊ธฐ ์˜ค๋ฅ˜๋“ค๊ณผ ๊ฒฐ๋ก 

by HanaV 2023. 6. 6.
728x90

์ •๋ฆฌ๋Š” ๋งจ ์•„๋ž˜ ์žˆ์Šต๋‹ˆ๋‹ค

 


์‹œ๋„ํ•œ ๊ฒƒ๋“ค ..

1. ์ดˆ์‹ฌ์œผ๋กœ ๋Œ์•„๊ฐ€์ž ๋Š๋‚Œ์œผ๋กœ docker ์‚ญ์ œ ์ง„ํ–‰ (๋ฐ‘ ๋ธ”๋กœ๊ทธ ์ฐธ๊ณ )

https://velog.io/@chayezo/Mac%EC%97%90%EC%84%9C-Docker-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0

 

Mac์—์„œ Docker ์‚ญ์ œํ•˜๊ธฐ

Docker Desktop for Mac user manual๋„์ปค ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์‚ฝ์งˆํ•œ ๊ธฐ๋ก์ด๋‹ค

velog.io

 

2. ๊ทผ๋ฐ docker๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ์‚ญ์ œ๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™์ง€ ์•Š์•„์„œ 

find ./Library -name "*docker*" 2> /dev/null

๋กœ docker ๊ด€๋ จ ํŒŒ์ผ์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค ์ˆ˜๋™์œผ๋กœ ์‚ญ์ œ ..

 => appcleaner ๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์–ดํ”Œ ์‚ญ์ œํ•  ๋•Œ ์ข‹๋‹ค๊ณ  ํ•จ

 

3. colima ๋ถ€ํ„ฐ ํ˜น์‹œ ๋ชฐ๋ผ์„œ reinstall..

brew reinstall colima

 

4.  docker brew๋กœ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋ญ”๊ฐ€ ์ž๊พธ ์•ˆ ๋ผ์„œ ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ใ…œ ๊ทธ๋ƒฅ ์‚ฌ์ดํŠธ์—์„œ docker.dmg ๋ฐ›์•„์„œ ์„ค์น˜..

 

5. docker container ์ƒ์„ฑ

1) oracle 18c ์ด๋ฏธ์ง€์ธ vitorfec/oracle-xe-18c๋กœ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ

docker run --restart unless-stopped --name oracle -e ORACLE_PASSWORD=pass -p 1521:1521 vitorfec/oracle-xe-18c

ํ•˜์ง€๋งŒ  ์ž๊พธ DATABASE SETUP WAS NOT SUCCESSFUL ์ด๋ผ๊ณ  ๋– ์„œ .. ํ•œ ๋ฒˆ ๋” ํ•ด๋ด๋„ ์—ฌ์ „ํžˆ ๋™์ผํ•œ ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๊ฐ€ ๋œธ

๋กœ๊ทธ ํ™•์ธ ๋ช…๋ น์–ด

docker logs -f ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„

2) oracle 19c ์ด๋ฏธ์ง€์ธ doctorkirk/oracle-19c๋กœ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ

โ˜  ~  docker run --restart unless-stopped --name oracle-19c -p 1521:1521 -e ORACLE_PASSWORD=pass -e TZ=Asia/Seoul -d doctorkirk/oracle-19c

์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ์™„๋ฃŒ => f3480cd2d647ab94d6a80b00748d2bf95dcff9fd5be6cdb51df78ff5c64fea00

์ง„์งœ ํ•œ์ฐธ ์žˆ๋‹ค๊ฐ€ ๋กœ๊ทธํŒŒ์ผ ์—ด์–ด๋ณด๋‹ˆ๊นŒ DATABASE is ready to use!๊ฐ€ ๋œจ๋Š” ๊ฒƒ์„ ํ™•์ธํ•จ

log ํŒŒ์ผ 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                02-JUN-2023 15:07:24
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/f3480cd2d647/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully
Prepare for db operation
10% complete
Copying database files
40% complete
Creating and starting Oracle instance
42% complete
46% complete
50% complete
54% complete
60% complete
Completing Database Creation
66% complete
69% complete
70% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /opt/oracle/cfgtoollogs/dbca/ORCLCDB.
Database Information:
Global Database Name:ORCLCDB
System Identifier(SID):ORCLCDB
Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jun 2 15:24:20 2023
Version 19.9.1.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.9.1.0.0

SQL> 
System altered.

SQL> 
System altered.

SQL> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.9.1.0.0
The Oracle base remains unchanged with value /opt/oracle
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
AQPC started with pid=43, OS id=1845 
2023-06-02T15:24:18.715032+09:00
Starting background process CJQ0
Completed: ALTER DATABASE OPEN

 

๊ทธ๋ž˜์„œ sqlplus๋กœ ๋กœ๊ทธ์ธ ์‹œ๋„๋ฅผ ํ•ด๋ณด์•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ง‰ํžˆ๋Š” ์ƒํƒœ

โ˜  ~  docker exec -it --user=oracle oracle-19c sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 5 12:01:19 2023
Version 19.9.1.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Enter user-name: system
Enter password: 
ERROR:
ORA-12162: TNS:net service name is incorrectly specified

sysdba ๊ถŒํ•œ์œผ๋กœ ์ ‘์†ํ•˜๋ฉด ์›๋ž˜ ๋ฐ”๋กœ ์ ‘์†์ด ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ net service name is incorrect ์—๋Ÿฌ๊ฐ€ ๋œจ๋ฉด์„œ ๋ฐ”๋กœ ์ ‘์†์ด ์•ˆ๋จ

โ˜  ~  docker exec -it -u oracle oracle-19c sqlplus / as sysdba 

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 5 12:26:51 2023
Version 19.9.1.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

ERROR:
ORA-12162: TNS:net service name is incorrectly specified


Enter user-name:

๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ bash profile ํŒŒ์ผ์„ ๊ณ ์ณ์•ผ ํ•˜๋‚˜ ๋ดค๋Š”๋ฐ.. ์ด๊ฑด ์•„๋งˆ ๋ฆฌ๋ˆ…์Šค ํ•ด๊ฒฐ๋ฒ•์ธ ๊ฒƒ ๊ฐ™์•˜๋‹ค

โ˜  ~  docker exec -it oracle-19c /bin/bash
[oracle@f3480cd2d647 ~]$ ls 
core  hs_err_pid29.log  setPassword.sh
[oracle@f3480cd2d647 ~]$ ls -al
total 137680
drwx------ 1 oracle oinstall      4096 Jun  2 15:07 .
drwxr-xr-x 1 root   root          4096 Mar 25  2021 ..
-rw-r--r-- 1 oracle oinstall        18 Jun 14  2019 .bash_logout
-rw-r--r-- 1 oracle oinstall       193 Jun 14  2019 .bash_profile
-rw-r--r-- 1 oracle oinstall       231 Jun 14  2019 .bashrc
-rw-r--r-- 1 oracle oinstall       172 Apr  1  2020 .kshrc
-rw------- 1 oracle oinstall      1024 Jun  2 15:07 .rnd
-rw------- 1 oracle oinstall 320499712 Jun  2 15:07 core
-rw-r----- 1 oracle oinstall     66934 Jun  2 14:56 hs_err_pid29.log
lrwxrwxrwx 1 root   root            26 Mar 25  2021 setPassword.sh -> /opt/oracle/setPassword.sh
[oracle@f3480cd2d647 ~]$ sudo cat .bash_profile 
bash: sudo: command not found
[oracle@f3480cd2d647 ~]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

 

3) oracle 18c ์ด๋ฏธ์ง€์ธ vitorfec/oracle-xe-18c๋กœ ์ปจํ…Œ์ด๋„ˆ ๋‹ค์‹œ ์ƒ์„ฑ

์ง„์งœ ๋งˆ์ง€๋ง‰ ์ƒ๊ฐ์œผ๋กœ 18c๋กœ ๋‹ค์‹œ ๋งŒ๋“ค์ž ํ•˜๊ณ  colima docker ๋ชจ๋‘ ๋‹ค ์žฌ์‹œ์ž‘์„ ํ•˜๊ณ  ์ƒ์„ฑํ•ด ๋ณด์•˜๋‹ค.

colima restart

colima ์žฌ์‹œ์ž‘์„ ํ•ด์ฃผ๊ณ 

docker context ls
docker context use colima

docker context๋ฅผ colima๋ฅผ ์“ฐ๋„๋ก ์„ค์ •ํ•ด ์ค€๋‹ค.

์˜ค๋ฅ˜๋ฅผ ๋ฐ˜๋ณตํ•˜๋‹ค ๋ณด๋‹ˆ๊นŒ ๋‚œ colima๋ฅผ ์žฌ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค desktop context๋ฅผ ์“ฐ๋˜๋ฐ, (๊ทธ๋ž˜์„œ ๋งค๋ฒˆ colima๋ฅผ ์“ฐ๋„๋ก ๋ฐ”๊ฟ”์ค˜์•ผ ํ•œ๋‹ค) ์•„๋งˆ ์ฒซ ๋ฒˆ์งธ container ๋•Œ๋Š” ์ด ๋ถ€๋ถ„์„ ์ œ๋Œ€๋กœ ํ™•์ธํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค.

โ˜  oradata  docker run --restart unless-stopped --name oracle-18 -e ORACLE_PASSWORD=pass -p 1521:1521 -e TZ=Asia/Seoul vitorfec/oracle-xe-18c
docker: Error response from daemon: Conflict. The container name "/oracle-18" is already in use by container "cd0e6bee0135d1254c7cf8a6c16f87468fcccb7dda0ef539b378b1fd8adb2cf4". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
โ˜  oradata  docker ps -al
CONTAINER ID   IMAGE                    COMMAND                   CREATED              STATUS    PORTS     NAMES
cd0e6bee0135   vitorfec/oracle-xe-18c   "/bin/sh -c 'exec $O…"   About a minute ago   Created             oracle-18
โ˜  oradata  docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
โ˜  oradata  docker start oracle-18                                                                                                           
oracle-18
โ˜  oradata  docker logs -f oracle-18
ORACLE PASSWORD FOR SYS AND SYSTEM: d4217805da8e9e44
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database XE.
Enter SYS user password: 
****
Enter SYSTEM user password: 
*****
Enter PDBADMIN User Password: 
****
Prepare for db operation
7% complete
Copying database files
29% complete
Creating and starting Oracle instance
30% complete
31% complete
34% complete
38% complete
41% complete
43% complete
Completing Database Creation
47% complete
50% complete
Creating Pluggable Databases
54% complete
71% complete
Executing Post Configuration Actions
93% complete
Running Custom Scripts
100% complete
Database creation complete. For details check the logfiles at:
 /opt/oracle/cfgtoollogs/dbca/XE.
Database Information:
Global Database Name:XE
System Identifier(SID):XE
Look at the log file "/opt/oracle/cfgtoollogs/dbca/XE/XE.log" for further details.

Connect to Oracle Database using one of the connect strings:
     Pluggable database: cd0e6bee0135/XEPDB1
     Multitenant container database: cd0e6bee0135
Use https://localhost:5500/em to access Oracle Enterprise Manager for Oracle Database XE
The Oracle base remains unchanged with value /opt/oracle
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
Pluggable database XEPDB1 opened read write
Completed: alter pluggable database XEPDB1 open
2023-06-05T14:17:43.279696+09:00
XEPDB1(3):CREATE SMALLFILE TABLESPACE "USERS" LOGGING  DATAFILE  '/opt/oracle/oradata/XE/XEPDB1/users01.dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED  EXTENT MANAGEMENT LOCAL  SEGMENT SPACE MANAGEMENT  AUTO
XEPDB1(3):Completed: CREATE SMALLFILE TABLESPACE "USERS" LOGGING  DATAFILE  '/opt/oracle/oradata/XE/XEPDB1/users01.dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED  EXTENT MANAGEMENT LOCAL  SEGMENT SPACE MANAGEMENT  AUTO
XEPDB1(3):ALTER DATABASE DEFAULT TABLESPACE "USERS"
XEPDB1(3):Completed: ALTER DATABASE DEFAULT TABLESPACE "USERS"
2023-06-05T14:17:52.812946+09:00
ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE
Completed: ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE
2023-06-05T14:26:17.207530+09:00
XEPDB1(3):Resize operation completed for file# 10, old size 368640K, new size 389120K

(oradata๋Š” ๊ทธ๋ƒฅ ํด๋”)

๊ทผ๋ฐ ์•„๊นŒ๋ž‘ ๋‹ค๋ฅด๊ฒŒ ๊ฐ‘์ž๊ธฐ DATABASE IS READY TO USE! ๊ฐ€ ๋– ๋ฒ„๋ ธ๋‹ค !!

 

6. sqlplus ์‹œ๋„ํ•˜๊ธฐ ์ „์— ๋จผ์ € sql developer์—์„œ ์ ‘์†์ด ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

sql developer ์— system / pass / oracle_sid = xe๋กœ ์ ‘์†์„ ํ–ˆ๋”๋‹ˆ ์ ‘์†์ด ๋๋‹ค !!

 

7. ํ„ฐ๋ฏธ๋„์—์„œ๋„ ์ ‘์†์ด ๋˜๋Š”์ง€ ์‹œ๋„

1) sys ๊ถŒํ•œ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ์‹œ๋„

โ˜  ~  docker exec -it -u oracle oracle-18 sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on Mon Jun 5 22:16:11 2023
Version 18.4.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.


Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

SQL> show user
USER is "SYS"
SQL>

๋ฐ”๋กœ ์ ‘์† ์™„๋ฃŒ

2) ๊ทธ๋ƒฅ ์ผ๋ฐ˜ ๊ถŒํ•œ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ์‹œ๋„

โ˜  ~  docker exec -it -u oracle oracle-18 sqlplus

SQL*Plus: Release 18.0.0.0.0 - Production on Mon Jun 5 22:38:59 2023
Version 18.4.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

Enter user-name: system
Enter password: 
Last Successful login time: Mon Jun 05 2023 20:53:15 +09:00

Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

SQL>

๋ฉฐ์น  ๋™์•ˆ ๊ทธ๋ ‡๊ฒŒ ์•ˆ๋˜๋˜ ๋กœ๊ทธ์ธ์ด ๋œ๋‹ค ๋Œ€๋ฐ• ...


 

์ •๋ฆฌํ•˜์ž๋ฉด..

Mac M1 Oracle ์„ค์น˜ (2023 06 06 ๊ธฐ์ค€)

1. colima ์„ค์น˜ (Homebrew๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•จ)

brew install colima

2. docker ์„ค์น˜

https://www.docker.com/products/docker-desktop/

 

Download Docker Desktop | Docker

Docker Desktop is available to download for free on Mac, Windows, or Linux operating systems. Get started with Docker today!

www.docker.com

์—ฌ๊ธฐ์„œ Apple Chip์œผ๋กœ ๋‹ค์šด๋กœ๋“œ (.dmg ํŒŒ์ผ)

3. colima ์‹คํ–‰

colima start --memory 4 --arch x86_64

4. docker context ๋ณ€๊ฒฝ

docker context ls
//๋ชฉ๋ก์ด ์ญ‰ ๋œจ๊ณ  ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ context๋Š” ์•ž์— *์ด ๋ถ™์–ด์žˆ์Œ
//colima๊ฐ€ ์‚ฌ์šฉ์ค‘์ด ์•„๋‹ˆ๋ผ๋ฉด
docker context use colima

5. docker container ์ƒ์„ฑ

docker run --restart unless-stopped --name oracle-18 -e ORACLE_PASSWORD=pass -p 1521:1521 -e TZ=Asia/Seoul vitorfec/oracle-xe-18c

6. log ํŒŒ์ผ ์—ด์–ด๋‘๊ณ  ์ข€ ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ ค์•ผ ํ•จ. ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์…‹์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์‹œ๊ฐ„์ด ์ข€ ์†Œ์š”๋จ

docker logs -f ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„

7.  ์•„๋ž˜์˜ ๋ฉ”์„ธ์ง€๊ฐ€ logํŒŒ์ผ์— ๋ณด์ด๋ฉด sql developer ์—์„œ ์ ‘์† ์‹œ๋„

#########################
DATABASE IS READY TO USE!
#########################

sql developer์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„=system, ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑํ•  ๋•Œ ๋งŒ๋“  ๋น„๋ฐ€๋ฒˆํ˜ธ, ํฌํŠธ 1521, SID๋Š” xe(๊ธฐ๋ณธ๊ฐ’)

ํ…Œ์ŠคํŠธํ•ด์„œ ์„ฑ๊ณต ๋œจ๋ฉด ์ ‘์†

8. ํ„ฐ๋ฏธ๋„์—์„œ๋„ sqlplus๋กœ ์ ‘์†ํ•˜๊ธฐ

โ˜  ~  docker exec -it -u oracle oracle-18 sqlplus

SQL*Plus: Release 18.0.0.0.0 - Production on Mon Jun 5 22:38:59 2023
Version 18.4.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

Enter user-name: system
Enter password: 
Last Successful login time: Mon Jun 05 2023 20:53:15 +09:00

Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

SQL>

9. ํด๋ž˜์‹ ๋ชจ๋“œ๋กœ ์ „ํ™˜ (์ด๊ฑฐ ์•ˆ ํ•˜๋ฉด user ์ƒ์„ฑํ•  ๋•Œ ์ด๋ฆ„ ์•ž์— ๊ณ„์† ๋ญ ๋ถ™์—ฌ์•ผ ํ•จ)

//sql๋ฌธ
alter session set "_ORACLE_SCRIPT"=true;

10. ํ•„์š”ํ•œ ์œ ์ € ์ƒ์„ฑํ•ด์„œ sql developer ์ ‘์†

//sql๋ฌธ
//์œ ์ € ์ƒ์„ฑ
create user ์œ ์ €์ด๋ฆ„ identified by "๋น„๋ฐ€๋ฒˆํ˜ธ";

//์œ ์ €์—๊ฒŒ ๊ถŒํ•œ ๋ถ€์—ฌ
grant resource, connect, dba to ์œ ์ €์ด๋ฆ„;

 

728x90

"); wcs_do();