
해당 글을 작성하기 위해 사용된 기술 스펙은 이러하다.
참고한 자료 : M1, M2 Mac OS에서 Oracle DataBase 사용하기
M1 및 M2 칩이 탑재된 Mac에서 Oracle Database를 실행하려면, MacOS에서 직접 지원되지 않으므로 추가적인 설정이 필요합니다.
이 글에서는 Docker와 Colima를 활용하여 이러한 환경을 구축하는 방법을 소개합니다.
Colima는 가벼운 CLI 환경에서 Docker 컨테이너를 실행할 수 있는 오픈 소스 소프트웨어입니다. Homebrew를 사용하여 설치할 수 있습니다
brew install colima
Docker 공식 웹사이트에서 'Mac with Apple Chip' 버전을 다운로드하여 설치합니다. 또는, Docker Engine만 설치하려면 다음 명령어를 사용합니다
brew install docker
이미 Docker Desktop 앱을 설치했다면 이 단계는 생략해도 됩니다.
Colima를 x86_64 아키텍처로 실행하여, ARM 기반 Mac에서 x86 기반의 Oracle 이미지를 사용할 수 있도록 합니다
colima start --memory 4 --arch x86_64
이제 Oracle Database를 실행하는 Docker 컨테이너를 생성합니다
docker run \
--restart unless-stopped \
--name oracle \
-e ORACLE_PASSWORD=your_password \
-p 1521:1521 \
-d \
gvenzl/oracle-xe
--restart unless-stopped: 재부팅 시 자동으로 컨테이너를 시작합니다.
--name oracle: 컨테이너 이름을 'oracle'로 지정합니다.
-e ORACLE_PASSWORD=your_password: Oracle 데이터베이스의 비밀번호를 설정합니다.
-p 1521:1521: 호스트와 컨테이너의 포트를 매핑합니다.
-d: 컨테이너를 백그라운드에서 실행합니다.
gvenzl/oracle-xe: 사용하려는 Oracle Database 이미지입니다.
명령에 성공하면 해쉬 문자열을 반환하며 다음 명령을 입력할 수 있습니다.
docker ps
위 명령을 실행해 현재 실행중인 컨테이너를 조회했을 때 행이 추가된 것을 확인한 뒤,
docker logs -f (컨테이너명)
docker logs 로 로그를 확인했을 때 조금 기다린 뒤 “DATABASE IS READY TO USE!”가 뜨면 성공입니다.
컨테이너 내부의 Oracle Database에 접속하기 위해 SQL*Plus를 실행합니다
docker exec -it oracle sqlplus
그럼 다음과 같이 유저이름과 패스워드를 입력하라고 나오는데,
user-name은 system, password는 컨테이너 실행 시 설정한 비밀번호를 입력하면 됩니다.
docker start 컨테이너이름
(컨테이너 생성 시 --restart unless-stopped옵션을 추가했을 경우 필요없을 수도 있습니다.)
“oracle” 이라고 뜨며 다음 명령을 입력할 수 있게 되면 실행된 것입니다.(시간이 좀 걸립니다)
docker exec -it 컨테이너이름 sqlplus
Enter user-name: system
Enter password: 패스워드
유저네임과 패스워드를 입력하면 sql plus를 실행할 수 있습니다.