Programming > Docker

[docker] 개발용 Oracle 12 설치하기

docker에 Oracle 설치하기

1) 공식리포지토리에서 git clone

# windows pc 로컬기준
cd D:/down/WebDown
D:\down\WebDown>git clone https://github.com/oracle/docker-images.git

 

2) 공식홈에서 Oracle Database 본체 다운로드

https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
    Oracle Database 12c Release 2 Linux x86-64 다운로드

 

3) 다운로드한 오라클본체를 1번에 폴더아래 배치한다(버전확인)

D:\down\WebDown\docker-images\OracleDatabase\SingleInstance\dockerfiles\12.2.0.1  아래에 복사(이동)

 

4) 빌드한다.

 옵션참조는 : https://github.com/oracle/docker-images/blob/master/OracleDatabase/SingleInstance/README.md
 
 빌드는 아래 폴더에서
 docker@default:/D_DRIVE/down/WebDown/docker-images/OracleDatabase/SingleInstance/dockerfiles$ ./buildDockerImage.sh -v 12.2.0.1 -e -i


※ 빌드결과가 다음과 같이 나오는데, 끝난게 아님....좀 기다리면 다시 빌드 시작
Successfully Setup Software.

※ 다음과 같이 메세지가 나오면 완료
Build completed in 999 seconds.

 

5) Data Container를 생성하고 저장소 만들고 권한을 변경

docker create -it -v /opt/oracle/oradata --name dvc.ora busybox      

docker@default:~$ docker start dvc.ora
docker@default:~$ docker exec -it dvc.ora /bin/sh
# chmod 777 /opt/oracle/oradata
docker stop dvc.ora

 

6) 오라클본체 가동      

docker run --name emc.ora -p 1521:1521 -p 5500:5500 --volumes-from dvc.ora \
-e ORACLE_SID=orcl \
-e ORACLE_PDB=pdb1 \
-e ORACLE_PWD=9999 \
oracle/database:12.2.0.1-ee      

******* absolutapps/oracle-12c-ee    <<  docker search oracle

docker logs -f emc.ora
#########################
DATABASE IS READY TO USE!
#########################

 

7) 접속확인

docker@default:~$ docker exec -it emc.ora bash
[oracle@775d07ed7625 ~]$ sqlplus SYSTEM/9999@orcl

sys/9999
접속유형(기본), 롤(SYSDBA)
192.168.99.100:1521,  SID(orcl)

 



https://192.168.99.100:5500/em

※ 위에서 환경변수로 설정한 PDB명을 컨테이너 이름에 넣어준다. (CDB->PDB로 접속을 변경) 
CDB - Container DataBase
PDB - Pluggable DataBase


    sys/9999 - sysdba  접속
 



    1) 사용자 생성 (MYDB)   <<< C## 이 아님


※ ORA-01950 : 테이블스페이스 'USERS'에 대한 권한이 없습니다
  >> 해당 사용자에 대해 users의 할당량을 "UNLIMITED" 설정한다.



   2) SQL Developer로 접속해 보기
 ※ SID가 아니고 서비스이름(pdb1)으로 접속한다.





XX) oracle export 해서 재사용
docker export --output="oracle12.2.0.1-ee" ecm.ora