최근 macOS(M1/M2) 환경에서 Docker를 사용하여 Oracle 19c를 설치하려는 분들이 많습니다. 그러나 M1/M2의 ARM 아키텍처와 Oracle 19c의 x86_64 아키텍처 호환성 문제로 어려움을 겪는 경우가 많습니다. 이 글에서는 Colima를 활용하여 macOS(M1/M2) 환경에서 Oracle 19c를 성공적으로 실행하는 방법을 자세히 소개하겠습니다.
먼저 Homebrew를 사용하여 Colima를 설치합니다.
brew install colima
Colima를 x86_64 아키텍처로 설정하여 Docker가 Oracle 19c 이미지를 실행할 수 있도록 합니다:
colima start --arch x86_64 --memory 8 --cpu 4
--arch x86_64: x86_64(amd64) 아키텍처로 실행.--memory 8: 메모리 8GB 할당.--cpu 4: CPU 코어 4개 할당.Colima가 정상적으로 실행 중인지 확인하려면 다음 명령어를 사용하세요:
colima status
Oracle Container Registry에서 Oracle 이미지를 다운로드하기 전에 반드시 로그인하고 라이선스 동의를 해야 합니다.
docker login container-registry.oracle.com
로그인 후 다음 명령어로 Oracle Database 이미지를 다운로드합니다:
docker pull container-registry.oracle.com/database/enterprise:19.3.0.0
Docker 컨테이너가 데이터를 영구적으로 저장할 수 있도록 호스트 디렉터리를 생성합니다:
mkdir -p /Users/minsungkim/oracle-19c/oradata
chmod -R 777 /Users/minsungkim/oracle-19c/oradata
아래 명령어로 Oracle 19c Docker 컨테이너를 실행합니다:
docker run --name oracle-19c \
-p 1521:1521 -p 1527:1527 \
-e ORACLE_SID=orcl \
-e ORACLE_PDB=pdb1 \
-e ORACLE_PWD=1234 \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-v /Users/minsungkim/oracle-19c/oradata:/opt/oracle/oradata \
container-registry.oracle.com/database/enterprise:19.3.0.0
--name oracle-19c: 컨테이너 이름을 oracle-19c로 설정.-p 1521:1521: 호스트의 1521번 포트를 컨테이너의 1521번 포트에 매핑.-p 1527:1527: 추가 포트 매핑(선택 사항).-e ORACLE_SID=orcl: SID를 orcl로 설정.-e ORACLE_PDB=pdb1: 플러그러블 데이터베이스(PDB) 이름을 pdb1로 설정.-e ORACLE_PWD=1234: SYS 및 SYSTEM 계정의 비밀번호를 1234로 설정.-e ORACLE_CHARACTERSET=AL32UTF8: 캐릭터셋을 AL32UTF8로 설정.-v /Users/minsungkim/oracle-19c/oradata:/opt/oracle/oradata: 데이터를 영구 저장할 로컬 디렉터리와 컨테이너의 데이터 디렉터리를 연결.컨테이너가 실행 중인지 확인하려면 다음 명령어를 사용하세요:
docker ps
Oracle 19c가 정상적으로 실행 중인지 확인하려면 로그를 확인합니다:
docker logs -f oracle-19c
로그에서 아래 메시지가 나타나면 데이터베이스가 준비된 상태입니다:
DATABASE IS READY TO USE!
docker exec -it oracle-19c /bin/bashsqlplus / as sysdbaSELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;결과:INSTANCE_NAME STATUS
-------------- ------
orcl OPENSQL Developer 또는 sqlplus 클라이언트를 사용해 연결:
localhost1521orclSYS 또는 SYSTEM1234SYSDBAdocker stop oracle-19c
docker start oracle-19c
docker restart oracle-19c
docker rm -f oracle-19c
포트 충돌:
1521이 이미 사용 중이라면 다른 포트를 사용하거나 충돌 프로세스를 종료해야 합니다.lsof -i :1521kill -9 <PID>로그 확인:
docker logs 명령어로 로그를 확인하세요:docker logs -f oracle-19c이 가이드를 통해 macOS(M1/M2) 환경에서 Colima와 Docker를 사용하여 Oracle 19c를 설치하고 실행할 수 있습니다. 추가적인 질문이 있다면 언제든 댓글로 남겨주세요! 😊