Oracle 11g는 MacOS용 소프트웨어를 지원하지 않아
구형 맥북 Pro밖에 없는 저는 국비지원교육 당시 Windows로 부트캠프 후 사용해야만 했습니다.
교육 수료 후 해결방법을 찾던 중 Virtual Box와 Docker에 대해 알고나서
MacOS에서 docker를 활용해 원하는 개발 환경을 구축할 수 있을거란 기대를 갖고
서칭한 결과 어렵지 않게 Oracle database를 설치하고 이용할 수 있게 되었습니다.
게다가 SQLdeveloper말고 다양한 DB와 연동이 가능하도록 도와주는
DB Management Software인 DBeaver를 알게되어 편리하게 사용중이므로
Mac유저분들 중 Oracle Database를 사용하고 싶으신 분
또는 여러가지 DB를 함께 사용해야 하는 분께서 참조하시면 좋을 듯 합니다^^
순서
1. Docker 설치
2. Docker image 다운로드
3. Docker container 만들기
4. Database 계정 세팅
5. Database 실행
5-1. (sqldeveloper 실행)
5-2. DBeaver 설치 및 실행
1. Docker 설치 (회원가입 및 소프트웨어 다운로드)
도커는 깃허브와 유사한 부분이 다소 있습니다.
"도커허브" 라 불리우는 오픈소스 hub가 존재해
이 페이지에서 도커에 관한 다양한 reference와 image를 찾아볼 수 있습니다.
2. Docker image 다운로드
도커는 Linux기반의 소프트웨어인것을 이미 아시리라 생각됩니다.
docker가 설치된 후 여기서부터는 터미널로 진행됩니다.
보통 터미널에서 "docker search oracle11g"로 검색하면 다양한 이미지들이 나오는데
제가 사용할 image는 범용으로 사용되고있는 installer가 설치된 11.2.0.2 버전입니다.
이미지의 이름은 "jaspeen/oracle-xe-11g" 입니다.
하단 이미지 우측 검은색 박스에 적힌 docker pull jaspeen/oracle-xe-11g가 바로 터미널에서 pull 할때 사용하는 명령어 입니다.
-도커허브 홈페이지에서 검색해본 결과-
3. Docker container 만들기
2번 과정을 진행한 뒤 터미널에서 "docker images" 명령어를 쳐보면
REPOSITORY에 jaspeen/oracle-xe-11g 가 나타난 것을 볼 수 있을겁니다.
이제 다운받은 이미지로 컨테이너를 구축하는데, 그 명령어는 아래와 같습니다.
"docker run --name 붙이고싶은이름 -d -p 1521:1521 jaspeen/oracle-xe-11g"
저는 docker run --name oracle -d -p 1521:1521 jaspeen/oracle-xe-11g 로 간단히 설정해주었습니다.
위 명령어를 실행하고 도커를 실행해 컨테이너를 보면 컨테이너가 정상적으로 작동하는 것을 볼 수 있습니다.
4. Database 계정 세팅
다시 터미널로 돌아와 명령어를 입력해 sqlplus 콘솔창에 진입합니다.
"docker exec -it oracle sqlplus"
초기 계정 세팅은
system / oracle 로 세팅되어있습니다.
이후로도 system 계정으로 접속하거나 다른 계정을 만들어 권한을 부여해 사용할 수 있습니다.
참고로 scott계정, emp, dept 테이블 등 기존에 학습용으로 알고 있는 계정과 테이블은 없습니다.(필요하다면 구글에서 "scott script")
작업 완료후 exit 명령어를 입력해 터미널에서 빠져 나오면 됩니다.
5. Database 실행
5-1. 오라클 홈페이지에서 MacOS용 SQLDeveloper를 다운받아 실행합니다.
- port번호 디폴트값인 1521포트로 사용해야 docker와 연동됩니다.(3번과정 명령어 참조)
- SID는 xe
- 사용자 이름은 시스템 계정(system / oracle)을 사용하거나 본인이 생성한 계정을 이용
https://www.oracle.com/tools/downloads/sqldev-downloads.html
5-2. DBeaver 설치 및 실행
- 도커는 관리 툴이기 때문에 DBMS 프로그램이 깔려 있어야합니다.
- 첫 실행 후 DB 선택시 "Oracle"선택
- Connection 세팅 Main 탭에서 아래 이미지와 같이
- 사용자 이름은 시스템 계정(system / oracle)을 사용하거나 본인이 생성한 계정을 이용
- 이후 Oracle properties 탭에 Language를 KOREAN으로 바꾸면 더 편리하게 이용이 가능.
'Database' 카테고리의 다른 글
[DBeaver] 5초 만에 Auto-Commit 해제 방법 (0) | 2023.08.03 |
---|---|
[Oracle] LEFT JOIN과 LEFT OUTER JOIN은 뭐가 다를까? (0) | 2023.08.02 |
[Oracle] JOIN과 INNER JOIN은 뭐가 다를까? (0) | 2023.08.02 |
[Oracle] 여러 개의 테이블에서 데이터 조회, JOIN 유무의 차이 (0) | 2023.08.02 |
[Oracle] Mybatis #{ } 와 ${ } 어떻게 쓸까? (0) | 2023.03.16 |
댓글