닭발개발

우분투에 docker 이용하여 oracle 19c 설치하기 본문

DB

우분투에 docker 이용하여 oracle 19c 설치하기

D269 2024. 5. 13. 10:53
728x90

 

 

참고 : https://www.youtube.com/watch?v=kxiZTZZY0A8

 

 

 

 

 

먼저 apt install docker.io 실행. docker가 온전하지 않아 에러가 날 수도 있기 때문

dream@dream:~$ sudo apt install docker.io
[sudo] password for dream:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 docker.io : Depends: containerd (>= 1.2.6-0ubuntu1~)
E: Unable to correct problems, you have held broken packages.

하지만 나는 에러가 나는 상황... 일단 스킵하고 해보기로 함..

 

 

 

 

클론으로 오라클 도커 이미지 사이트 복제

$ git clone https://github.com/oracle/docker-images.git

 

dream@dream:~$ ls
docker-images

 

docker-images 폴더가 생성된다.

 

dream@dream:~$ cd docker-images/
dream@dream:~/docker-images$ ls
Archive             GraalVM                 OracleBI                   OracleFMWInfrastructure   OracleJava              OracleSOASuite            OracleWebCenterContent  scripts
CODE_OF_CONDUCT.md  LICENSE.txt             OracleCloudInfrastructure  OracleGoldenGate          OracleLinuxDevelopers   OracleTuxedo              OracleWebCenterPortal   SECURITY.md
CODEOWNERS          NoSQL                   OracleCoherence            OracleHTTPServer          OracleManagementAgent   OracleUnifiedDirectory    OracleWebCenterSites
Contrib             OracleAccessManagement  OracleDatabase             OracleIdentityGovernance  OracleOpenJDK           OracleUnifiedDirectorySM  OracleWebLogic
CONTRIBUTING.md     OracleAnalytics         OracleEssbase              OracleInstantClient       OracleRestDataServices  OracleVeridata            README.md
dream@dream:~/docker-images$ cd OracleDatabase
dream@dream:~/docker-images/OracleDatabase$ ls
RAC  README.md  SingleInstance
dream@dream:~/docker-images/OracleDatabase$ cd SingleInstance
dream@dream:~/docker-images/OracleDatabase/SingleInstance$ ls
COPYRIGHT  dockerfiles  extensions  FAQ.md  helm-charts  README.md  samples  tests
dream@dream:~/docker-images/OracleDatabase/SingleInstance$ cd dockerfiles/
dream@dream:~/docker-images/OracleDatabase/SingleInstance/dockerfiles$ ls
11.2.0.2  12.1.0.2  12.2.0.1  18.3.0  18.4.0  19.3.0  21.3.0  23.4.0  buildContainerImage.sh

위 명령어들을 따라서 dockerfile 폴더까지 와주면 된다.

 

오라클 사이트에서 받은 설치 이미지를 알맞은 version에 넣어주고 sh을 실행하면 된다.

ex) 19ver을 받았다. 그러면 19.3.0에 설치 이미지를 넣어주고 buildContainerImage.sh 실행하면 됨

그러면 docker image를 빌드해준다.

 

설치 이미지 받는 오라클 사이트 : https://www.oracle.com/technical-resources/

 

Get the latest product technical information from Oracle

Oracle Technical Resources provides services and resources to help developers, DBAs, and architects build, deploy, manage, and optimize applications

www.oracle.com

위 사이트로 가서

 

 

 

다운로드 시작...

용량 커서 올래걸림 주의...

 

 

 

 

 

 

파일명은 바꾸면 안됨.

 

다운로드 받은 zip파일을 filezilla를 이용하여 옮긴다.

 

19.0.3. 아래로!

 

dream@dream:~/docker-images/OracleDatabase/SingleInstance/dockerfiles$ cd 19.3.0/
dream@dream:~/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0$ ls
checkDBStatus.sh  Checksum.ee        Checksum.se2   createDB.sh        dbca.rsp.tmpl  Dockerfile            LINUX.X64_193000_db_home.zip  runOracle.sh       setPassword.sh    startDB.sh
checkSpace.sh     Checksum.ee.arm64  configTcps.sh  createObserver.sh  db_inst.rsp    installDBBinaries.sh  relinkOracleBinary.sh         runUserScripts.sh  setupLinuxEnv.sh

잘 업로드 되었는지 확인.

 

 

$ ./buildContainerImage.sh -e -v 19.3.0 -o '--build-arg SLIMMING=false'

 

위 명령어를 이용해 빌드!

 

꽤 올래걸리니 잠들지 않기로 해..

 

 

다 되었으면 docekr images 해서 확인해보도록 한다.

dream@dream:~/docker-images/OracleDatabase/SingleInstance/dockerfiles$ docker images
REPOSITORY                               TAG               IMAGE ID       CREATED         SIZE
oracle/database                          19.3.0-ee         1fdd77620b28   3 minutes ago   7.76GB
oraclelinux                              7-slim            970e50328c70   2 months ago    138MB

 

이제 도커를 실행시켜야 하는데 난 이렇게 옵션을 달아줬다.

docker run --name ORA19 --network host -p 1521:1521 -p 5500:5500 \
-e ORACLE_SID=ORA19 \
-e ORACLE_PDB=PDB1 \
-e ORACLE_PWD=[자기가 설정한 비번] \
-e ORACLE_EDITION=enterprise \
-v /opt/oracle/oradata \
 oracle/database:19.3.0-ee

 

이 때 다른 오라클 버전이 컨테이너 실행되던게 있으면 안됨.

나는 11g가 깔려있어서 안되었다..

컨테이너 스탑하고 다시 했더니 잘됨.

이 또한 오래걸림..

 

 

 

dream@dream:~$ docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS                    PORTS                                         NAMES
20628739a862   oracle/database:19.3.0-ee      "/bin/bash -c 'exec …"   21 minutes ago   Up 21 minutes (healthy)                                                 ORA19
5d1d9222d904   mariadb                        "docker-entrypoint.s…"   5 months ago     Up 5 months               0.0.0.0:13306->3306/tcp, :::13306->3306/tcp   mariadb
f428a3fc323c   s-wallet-webapp                "nginx -g 'daemon of…"   9 months ago     Up 5 months               0.0.0.0:80->80/tcp, :::80->80/tcp             webapp_container
5c293e1fd441   gitlab/gitlab-runner:v13.7.0   "/usr/bin/dumb-init …"   16 months ago    Up 5 months                                                             gitlab-runner
dream@dream:~$ docker exec -it ORA19 bash
bash-4.2$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon May 13 01:52:49 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

 

이런식으로 하면

ubuntu 위에 linux 위에 oracle이 떠있는 셈이다.

 

 

 

 

 

 

728x90
반응형