노트북을 바꾸면서 맥 환경도 경험해보고 싶어 맥북 에어 M3를 구매했습니다^^
하지만 오라클에서 맥을 지원하지 않는다는 점...
도커를 이용해서 오라클을 설치해야되는 데
아뿔사! image를 pull 땡겨와서 이름 지정해주고 실행을 해도 켜지긴 하는데 자꾸만 꺼지는 현상이 발생했다...
이 또한 애플 칩과 호환이 안되서 그런 것이였다.
(docker desktop에도 친절하게 설명이 적혀있었음)

Oracle XE on Apple M chips
Currently, there is no Oracle Database port for ARM chips, hence Oracle XE images cannot run on the new Apple M chips via Docker Desktop.
Fortunately, there are other technologies that can spin up x86_64 software on Apple M chips, such as colima. To run these Oracle XE images on Apple M hardware, follow these simple steps:
Install colima (instructions)
Run colima start --arch x86_64 --memory 4
Start container as usual
서론은 여기서 마무리하고
homebrew가 설치되어 있다는 전제 하에 docker 및 oracle을 설치하는 방법을 작성해 보겠습니다.
데스크탑 버전으로 깔아서 UI를 통해 직접 확인하고 싶다면?
docker desktop 설치
엔진만 설치하려면?
brew install docker
필자는 desktop도 깔았지만 homebrew를 통해 진행 했다.
colima를 사용하려면 설치를 먼저 해줘야 한다.
brew install colima
colima start --memory 4 --arch x86_64
docker run -d --name=컨테이너명 --restart=unless-stopped -p 1521:1521 -e ORACLE_PASSWORD=비밀번호 gvenzl/oracle-xe:21-full
아래는 명령어 옵션에 대한 설명이다.
docker run
: 새로운 Docker 컨테이너를 실행하는 명령어로 기본적으로 지정된 이미지가 로컬에 없으면 자동으로 이미지를 다운로드하여 실행한다.
-d
: 컨테이너를 백그라운드(데몬) 모드로 실행한다.
--name=컨테이너명
: 컨테이너의 이름을 지정한다. 컨테이너를 관리할 때 유용하게 사용된다.
--restart=unless-stopped
: 컨테이너가 중지되거나 Docker 데몬이 재시작되더라도 컨테이너를 다시 시작할 수 있게 해준다.(수동으로 중지된 경우는 제외)
-p 1521:1521
: 호스트의 포트 1521을 컨테이너의 포트 1521에 매핑한다. Oracle 데이터베이스의 기본 포트가 1521이므로, 이 설정을 통해 호스트 시스템에서 Oracle 데이터베이스에 접근할 수 있다.
-e ORACLE_PASSWORD=비밀번호: 환경 변수를 설정합니다. 여기서는 Oracle 데이터베이스의 관리자 비밀번호를 사용자가 입력한 비밀번호로 설정한다.
gvenzl/oracle-xe:21-full: 사용할 Docker 이미지를 지정한다. 여기서는 Oracle 21c Express Edition의 21-full 버전 이미지를 사용한다. ":21-full"을 기재하지 않고 "gvenzl/oracle-xe"만 입력한다면 가장 최신 버전이 설치된다.
Docker에 컨테이너가 잘 설치되어 실행되고 있는지 확인한다.
docker ps

잘 진행이 되었다면 필자처럼 확인할 수 있을 것입니다.
docker exec -it 컨테이너명 bash
먼저 sqlplus를 실행시킨다.
sqlplus
sqlplus를 입력하면 계정명과 비밀번호를 입력한다.
계정명 : system
비밀번호 : 설정한 비밀번호

exit
exit
docker stop 컨테이너명
colima stop
다시 docker를 켜서 oracle을 사용하고 싶은 경우 순서대로 아래의 명령어를 입력해주면 된다.
colima start --memory 4 --arch x86_64
docker start 컨테이너명
docker exec -it oracle21c bash
colima와 docker를 시작하고 종료하는 과정이 너무 복잡하고 번잡스럽다는 생각이 들어서 shell 스크립트를 작성해서 colima와 docker를 껏다 켰다하는 파일을 만들어서 사용 중 입니다.
이 부분은 시리즈로 추후 작성하도록 하겠습니다.