코이팅

M1 맥북에서 Docker로 oracle DB 실행하는 방법 본문

Server

M1 맥북에서 Docker로 oracle DB 실행하는 방법

코이팅 2023. 3. 3. 08:48
728x90
반응형

1. 기존 설치 방법으로는 오류 뜸 (colima 사용 ❌)

Apple Silicon에서는 아키텍처가 바뀌어서 oracle 데이터베이스를 띄울 수 없었습니다.

 

관련 정보를 찾아가며 시도 해봤지만 sqlplus 접속 시 사용자 이름과 password를 입력하는 단계에서 계속 ORA-12547: TNS:lost contact라는 오류를 만났습니다.

기존 설치 방법으로 진행 시 sqlplus 접속 안됨

 

하지만 방법이 있습니다!

 

오픈 소스 컨테이너 런타임인 Colima를 사용해 oci-oracle-xe 이미지를 x86/64 환경으로 띄운다면 M1 맥북에서도 오라클 데이터베이스를 띄울 수 있습니다.

2. 맥북에서 Docker로 oracle DB 설치 (colima 사용)

✅ 개발환경

  • macOS Ventura 13.1
  • oracle SQL Developer 22.2.1.234
  • Docker 20.10.23

1) colima를 설치합니다.

$ brew install colima

2) docker 를 설치합니다. 

  • docker가 아직 설치되어 있지 않았다면 본 항목을 확인하며 설치 진행
  • 기존에 이미 설치되어있다면 실행중인 Docker desktop을 종료만 하고 아래의 Colima 실행 단계 진행.

1️⃣ 도커 설치 방법 1 (docker desktop)

  • 아래 링크에 접해서 docker desktop을 설치합니다.

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

2️⃣ 도커 설치 방법 2 (docker desktop)

  • 터미널에서 docker desktop을 설치할 수 있습니다.
$ brew install --cask docker

3️⃣  도커 설치 방법 3 (docker 엔진만 설치)

  • docker 엔진만 설치하는 방법입니다.
  • docker desktop 설치 했으면 이 과정은 필요 없습니다.
$ brew install docker

3) Docker Context 목록을 확인합니다. (필수❌)

$ docker context ls

4) Docker Context 를 변경합니다. (필수❌)

$ docker context use desktop-linux
$ docker context use colima

5) colima를 실행합니다.

$ colima start --memory 4 --arch x86_64

6) 컨테이너 리스트를 확인합니다.

  •  docker ps : 컨테이너의 리스트를 반환해주는 명령어입니다.
$ docker ps

7) oracle 컨테이너를 띄웁니다.

  • 비밀번호는 pass로 설정하였습니다.
$ docker run -e ORACLE_PASSWORD=pass -p 1521:1521 -d gvenzl/oracle-xe
$ docker ps

oracle 컨테이너 띄우기

8) 로그를 확인합니다.

$ docker logs -f fervent_williamson // => 이름 확인 필수!!!!

실행중
성공화면

docker ps -a 명령어로 확인해보면 아래와 같이 컨테이너가 잘 띄워진 것을 확인할 수 있습니다.

$ docker ps -a

컨테이너 확인

💊 docker ps 와 docker ps -a의 차이

- docker ps : 가동중인 컨테이너의 리스트를 반환해주는 명령어

- docker ps -a : 가동중, 멈춘 컨테이너를 모두 다 표현해주는 명령어 입니다.

9) container 이름 변경 (필수❌)

$ docker rename {현재컨테이너이름} {변경할이름}

변경된 이름 확인

10) sqlplus 터미널 연결 테스트

  • 아이디는 system을 입력해주세요.
  • 비밀번호는 pass를 입력해주세요.
$ docker exec -it oracle sqlplus

접속 성공

11) user를 생성해줍니다.

  • 한 줄씩 실행해 줍니다.
  • 원하는 이름을 입력하여주세요.
  • 사용할 비밀번호를 입력해주세요.
SQL> CREATE USER {사용할이름} IDENTIFIED BY {사용할비밀번호};
SQL> GRANT RESOURCE, CONNECT TO {사용할이름};
SQL> grant create session, create table, create procedure to {사용할이름};
SQL> ALTER USER {사용할이름} quota unlimited on USERS;

user 생성화면

sql을 종료하고싶다면 exit을 입력합니다.

sql 나가기

11) SQL Developer 연결 테스트

  • Name에는 원하는 이름을 입력해주시면 됩니다.
  • 데이터베이스 유형은 Oracle입니다.
  • 사용자 초기 이름은 system, 비밀번호는 pass로 설정하였습니다.
  • 호스트 이름은 localhost입니다.
  • 포트는 1521입니다.
  • SID는 xe 입니다.
  • 테스트를 누르면 상태에 성공이라고 뜨는 것을 확인할 수 있습니다.

성공 화면1

  • 아까 생성해줬던 사용자 이름과 비밀번호를 입력해줍니다.
  • 위의 과정과 일치합니다.
  • 테스트 성공 화면을 확인할 수 있습니다.

성공 화면 2

  • 접속을 눌러주세요!
  • 잘 접속되는 것을 확인할 수 있습니다.

접속 성공 화면

 

👉🏻 참고자료

https://shanepark.tistory.com/400

 

[MacOS] M1 맥북 도커로 ORACLE DB 실행하기

Intro M1 맥북을 처음 구입 한 이후로 약 1년 반동안, 오라클 데이터베이스를 띄우기 위해 참 많은 노력을 했었습니다. 원래부터 Oracle이 MacOS를 정식 지원을 하지는 않았지만, 그나마 이전의 맥북에

shanepark.tistory.com

 

728x90
반응형
Comments