본문 바로가기

Programing/OpenSource

[docker] oracle xe 11g on macOS

맥 운영체제에서는 오라클 설치를 지원하지 않는다.

그래서 보통 docker를 이용해서 로컬에서 개발을 하는 경우를 보았다.

 

Docker Hub: https://hub.docker.com/r/jaspeen/oracle-xe-11g

명령 모음

$ docker pull jaspeen/oracle-xe-11g
$ docker run -d --name=oracle-xe-11g -p 1521:1521 -p 18080:8080 jaspeen/oracle-xe-11g
$ docker stop oracle-xe-11g
$ docker rm oracle-xe-11g

위에서 부터,

  1. 이미지를 받아오는 것
  2. 컨테이너를 실행(포트 연결 포함)
  3. 컨테이너 정지
  4. 컨테이너 삭제

접속

DataGrip을 이용했다. JDBC드라이버가 지원되는 클라이언트라면 어느거라도 상관없다.
연결방식이 기본적으로 SID인데, URL only로 바꾸어준다.

URL only

기본적으로 User / Password는 system / oracle 를 입력하면 된다.

JDBC 연결문자열은 jdbc:oracle:thin:@localhost:1521:XE 가 된다.

 

Test Connection

여기서 Test Connection을 하면 

[9999][17176] 로케일을 인식할 수 없습니다.

에러가 나온다.

많은 여타의 블로그가 두 가지 방법을 제시하고 있는데

1. VM 옵션에 아래를 추가

-Duser.language=ko
-Duser.country=KR

2. 주 언어 변경 (대한민국(기본) -> 미국 -> 대한민국)

2의 절차를 하면 연결 반응이 바뀐다.

이제 접속이 성공한다.

관리자 화면

oracle xe의 경우 1521 포트 이외에 웹 포트를 열어두고 있는데, 관리자 접속 화면이다.

처음에는 아래와 같이 id / password를 입력 받는 창이 떴는데 매번 인증이 실패했다.

컨테이너를 멈추었다 다시 띄워주니 아래와 같이 인증 없이도 화면이 뜬다.

$ docker stop oracle-xe-11g
$ docker start oracle-xe-11g