일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Java
- Linux
- 객체지향프로그래밍
- 책너두
- 깨끗한코드
- 직장인점심
- 오브젝트
- 성수
- 성수직장인
- 상속
- 디자인패턴
- 성수볼거리
- 개발자
- 코딩
- 독서일지
- 직장인
- 객체지향
- 헤드퍼스트
- JavaScript
- 성수맛집
- docker
- 독서
- 클린코드
- 헤드퍼스트디자인패턴
- 주니어개발자
- JAVA개발자
- DesignPattern
- 성수핫플
- IntelliJ
- 책읽기
- Today
- Total
닭발개발
우분투에 docker 이용하여 oracle 19c 설치하기 본문
참고 : 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이 떠있는 셈이다.
'DB' 카테고리의 다른 글
[TIBERO] docker tibero (0) | 2024.04.09 |
---|---|
[DB] Direct database rename is not yet implemented in MySQL. You should use export/import functions for that. | db name rename 하기 (0) | 2023.10.16 |
[MariaDB] IF, IFNULL, NULLIF (2) | 2023.04.18 |
[mariaDB/Mysql] date format 날짜 시간 형식 표현 (0) | 2023.03.23 |
ER 다이어그램, ERD 기호 및 표기법 (2) | 2023.02.27 |