결론부터 말하면, Docker로 오라클을 띄우는 게 거의 유일한 방법이었고, 그 이유를 아래처럼 정리해봤다.

Oracle 공식 다운로드 페이지를 보면 Windows, Linux용 설치 파일은 있지만 macOS용은 없다.
이는 단순한 누락이 아니라, Oracle이 macOS를 공식 지원 플랫폼으로 보지 않기 때문이다.
Oracle DB는 내부적으로 다음과 같은 리소스를 필요로 한다:
shmmax, shmall 등)이런 리소스는 리눅스 환경에서는 자연스럽게 제공되지만, macOS는 구조적으로 이걸 지원하지 않는다.
결국 오라클이 돌 수 있는 환경을 강제로 흉내내야 한다.
macOS에서 Docker를 사용하면, 내부적으로 리눅스 VM이 하나 실행된다.
우리는 그 안에서 Oracle DB를 설치하고 실행하는 셈이다.
즉, "맥에서 Oracle을 Docker로 띄운다"는 건 결국
"리눅스에서 오라클을 돌리는 것"과 똑같다.
Windows는 Oracle이 공식적으로 설치파일을 제공하는 플랫폼이고,
내부 시스템 구조도 이를 지원하도록 설계돼 있다.
mac과 달리 별도의 리눅스 VM 없이도 바로 설치가 가능하다.
| 항목 | Windows/Linux | macOS |
|---|---|---|
| Oracle DB 공식 설치 지원 | ✅ | ❌ |
| 커널 리소스 지원 (Shared Memory 등) | ✅ | ❌ |
| Docker 없이 직접 설치 | 가능 | 불가능 |
| Docker/VM 필수 여부 | 선택 사항 | 필수 |
아래는 macOS에서 Oracle XE 컨테이너를 띄우고 계정까지 생성하는 전체 흐름이다.
1. Colima와 Docker 설치
brew install colima docker
2. Colima 시작
colima start --cpu 2 --memory 4 --disk 20
3. Oracle XE 컨테이너 실행
docker run -d --name oracle \
-p 1521:1521 -p 8080:8080 \
-e ORACLE_PASSWORD=oracle \
gvenzl/oracle-xe
ORACLE_PASSWORD=oracle → system 계정 비밀번호
4. DB가 뜰 때까지 로그 확인
docker logs -f oracle
DATABASE IS READY TO USE! 메시지가 나와야 DB 접속 가능
5. SQL*Plus로 접속 (컨테이너 내부)
docker exec -it oracle sqlplus system/oracle@//localhost:1521/XEPDB1
6. 사용자 계정 생성
CREATE USER myuser IDENTIFIED BY mypassword;
GRANT CONNECT, RESOURCE TO myuser;
7. DBeaver에서 연결 시 설정
Host: localhost
Port: 1521
SID 또는 Service Name: XEPDB1
사용자: myuser
비밀번호: mypassword
✅ 마무리
macOS에선 오라클을 직접 깔 수는 없지만,
Colima + Docker 조합으로 충분히 개발 환경을 구성할 수 있다.
Oracle은 처음 접근하면 좀 무겁게 느껴질 수 있지만,
도커 이미지로 가볍게 써보면 훨씬 부담이 줄어든다.
테스트용으로든, 연동 개발용으로든 이 방식은 꽤 쓸 만하다.