oracle-12c를 docker를 이용하여 구동하기



오라클은 설치가 매우 복잡하여 ubuntu 에서 설치하기가 힘들었다. 
하지만 docker를 이용하면 손 쉽게 설치를 할 수 있다. 

docker 을 이용했을 때, 망설였던 문제는 바로 '데이터 손실' 이다. 
docker 를 이용하다가 컨테이너가 정지되면 데이터도 손실된다고 한다. 

이러한 일을 방지하기 위해서 volume 이 필요한데, 해당 지식을 익히면서 docker oracle-12c 환경을 구축해보기로 한다. 
volume이란 컨테이너와 분리된 docker을 실행하는 컴퓨터의 로컬 디렉토리에 데이터를 저장하는 것이다. 
컨테이너가 없어진다고 하더라도 데이터는 남아있는다. 

다른 블로그(클릭시 이동)에서 포스팅을 굉장히 잘 해 주셔서 참고를 하면서 포스팅한다. 



먼저, 아래의 명령어를 입력하여 oracle-12c 이미지를 받아온다. 

docker pull sath89/oracle-12c


명령어를 입력하면 다운로드를 열심히 진행한다....




다운로드가 완료되면 아래와 같은 명령어를 수행한다. 

docker run --name oracle12c -d -p 8080:8080 -p 1521:1521 -v (원하는 데이터 경로):/u01/app/oracle sath89/oracle-12c
~/programming/oracle/data 에는 원하는 데이터 경로를 넣어주면 된다. 

경로 예시 : 원하는 데이터 폴더가 ~/test/oracle라고 하면 ??
docker run --name oracle12c -d -p 8080:8080 -p 1521:1521 -v ~/test/oracle:/u01/app/oracle sath89/oracle-12c



이렇게 설정하고 나면 아무런 표시도 나오지 않는다. 
설치는 시간 소요가 꽤 걸린다. 

docker logs -f oracle12c




설치가 완료되면 ;) 이모티콘이 뜨게 되고 control+z 를 눌러서 탈출한다.


설치 후 설치한 디렉토리를 보면 설치된 파일들을 확인 할 수 있다. 




sqlplus 로 접근하려면 아래와 같은 명령어를 입력한다. 

docker exec -it oracle12c sqlplus 




Oracle이 제공하는 GUI 관리 도구는 SQL Developer 이다. 

설치 방법은 http://melonicedlatte.com/2018/03/27/015152.html 에 에서 참조하면 된다.  


DB 접속 도구를 이용하면 SID 칸이 있다.
SID 를 xe로 설정해주고 user 는 system, password 는 oracle 로 지정해준다. 





웹 콘솔로 접속하는 방법은 아래와 같다. 

로그인을 해서 비밀번호를 변경해준다. 처음 설정은 아래와 같다. 
비밀번호를 설정할 때에는 특수문자와 대문자를 최소한 하나 이상 포함해야 한다. 

workspace: INTERNAL

Username: ADMIN

Password: 0Racle$








향후 테이블 생성 및 프로시저 생성 방법 등을 포스팅 해야겠다. 


- 출처 - 

https://darkrasid.github.io/docker/container/volume/2017/05/10/docker-volumes.html