본문 바로가기

SQL

[SQL] MacOS에서 Oracle 11g 실습환경 구축하기

반응형

과거에 Windows 환경에서 Oracle 11g 실습을 했었는데, Mac을 사용하면서 똑같이 실습환경을 구축하고 공유해보려 한다.
 

1. Docker 설치하기

나는 Docker 가 설치되어 있어서 이 과정은 스킵하도록 한다.
docker docs 를 참고하면 된다.

https://docs.docker.com/desktop/install/mac-install/

 

2. Oracle Docker Image 내려받기

docker search oracle-xe-11g

stars 가 가장 많은 이미지는 oraceinanutshell/oracle-xe-11g 이다. 보통 stars가 가장 많은 이미지를 사용하면 된다.
wnameless/oracle-xe-11g-r2 를 다운받아주려 한다.
 

docker pull wnameless/oracle-xe-11g-r2

 
 
 

3. 도커 컨테이너 생성 및 실행하기

도커 이미지를 내려받았으므로, 이미지를 기반으로한 컨테이너를 생성하려 한다.

docker run -d --name oracle-xe-11g -p 1521:1521 wnameless/oracle-xe-11g-r2

방금 생성된 컨테이너를 확인해보자.

docker ps -a

 

-a 옵션을 추가해 준 이유는 모든 컨테이너를 보기 위해서다. -a 옵션이 없으면 실행중인 컨테이너만 보여준다.
 
이제 컨테이너를 실행해준다

docker start oracle-xe-11g

이제 실행해줬으므로 아래 명령어로도 확인되는 것을 볼 수 있다.

docker ps

 
4. 클라이언트로 오라클 DB 접속하기
나는 무료 DB 클라이언트인 DBeaver Community Edition을 이용하려 한다.
https://dbeaver.io/download/

Download | DBeaver Community

Download DBeaver Community 23.2.0 Released on September 4st 2023 (Milestones). It is free and open source (license). Also you can get it from the GitHub mirror. DBeaver PRO 23.1 Released on June 12th, 2023 PRO version website: dbeaver.com Trial version is

dbeaver.io

 
위 링크에서 Community Edition을 설치한다.

 
 
설치가 완료되고 실행되면, 연결할 DB 클라이언트를 선택할 수 있다.

오라클을 선택했다면, 아래의 이미지처럼 폼을 채우고 OK 버튼을 클릭하면 도커 컨테이너의 오라클과 DBeaver 클라이언트가 연결 된다.
 
Database는 XE로, Username은 system, Password 는 oracle로 입력하면 접속 할 수 있다.

(여기서 localhost가 아닌 docker 설치 ip 를 입력해주면 된다)
 
필요한 드라이버를 설치할 수 있다.

 
 
연결이 되었다면, SQL편집기를 추가해서 여기서 쿼리를 작성할 수 있다.

 
쿼리를 실행해보니 잘 조회가 된다. 

 
 

4. SCOTT 계정 생성하기

CREATE USER scott IDENTIFIED BY tiger;
GRANT CONNECT, resource, dba TO scott;

 
 

6. SQL 파일 생성하여 테이블 및 데이터 쿼리 작성하기

실습환경을 구축하는데 필요한 DDL, DML 쿼리가 담긴 파일을 구글 드라이브에 저장해두었다. 이 파일을 도커 컨테이너에서 wget 을 이용해서 가져오려 한다.
 
먼저 패키지 매니저인 apt-get 을 업데이트하고, wget을 설치해준다.

apt-get update
apt-get install wget

이제 wget을 이용해서 구글 드라이브의 공유링크를 이용해서 파일을 다운받을 것이다.
 
구글 드라이브 공유링크는 아래와 같다.

https://drive.google.com/uc?export=download&id=17PkqEUz1omSSsJ_cUYu9jMn45kFNQlhA

위의 링크에서 필요한 부분은 파일의 id 만 ㅍ 필요하다. id는 d//view 사이의 문자열이 파일의 id에 해당한다.
 
위 id를

https://drive.google.com/uc?export=download&id=

에 조합하면 된다.
 
 

wget --no-check-certificate -O create_scott.sql 'https://drive.google.com/uc?export=download&id=17PkqEUz1omSSsJ_cUYu9jMn45kFNQlhA'

그럼 이제 잘 다운로드 되었는지 파일을 확인해보자.
 

 
 
7. SQL 파일로 한번에 insert하고, Commit 하기
위에서 작성한 SQL 파일 (create_scott.sql) 을 한 번에 커밋까지 쿼리를 실행하려한다.
도커 컨테이너에 bash 모드로 진입하고, SQL플러스를 실행한다.

docker exec -it oracle-xe-11g bash
sqlplus

로그인해서 오라클에 연결하면 된다. user-name : system, password : oracle 이다.

이제 전체 테이블을 조회해보면 실습에 필요한 테이블이 조회된다. 

 
 
실습환경 구축 완료!