
Docker desktop에서 oracle-19c를 검색하여 가장 상단에 있는 것을 pull 받는다.
CLI를 사용할 수도 있다. docker pull doctorkirk/oracle-19c
다운받아진 image를 아래처럼 확인한다.

본인이 생성할 [경로]에 로컬 디렉토리를 생성하고 해당 경로의 권한을 재귀적으로 변경한다.
$ mkdir -p [경로]/oracle-19c/oradata
$ cd /[경로]
$ sudo chown -R 54321:54321 ./oracle-19c/
# sudo: 루트 권한으로 실행
# chown: 소유자 변경
# -R : 하위 디렉토리에 재귀적으로 적용
# [변경할 소유자 ID]:[변경할 그룹 ID]
다음의 명령어로 docker를 실행한다.
$ docker run --name oracle-19c -p 1521:1521 -e ORACLE_SID=ORCL -e ORACLE_PWD=1234 -e ORACLE_CHARACTERSET=KO16MSWIN949 -v /[경로]/oracle-19c/oradata/:/opt/oracle/oradata d
octorkirk/oracle-19c

실행이 시작된다.

DB 실행이 완료되면

docker desktop에 들어가서 아래와 같이 실행 탭에서 sqlplus를 실행.
(CLI에서도 실행 가능: docker exec -it oracle-19c bash)
sqlplus / as sysdba
를 입력 후

다음과 같이 sql을 실행한다. dbeaver로 접속할 수 있도록 user를 만들어주었다.

생성한 user로 접속하면 성공


CDB가 있는 이미지로 설치
banglamon/oracle193db를 pull 받는다.
docker pull banglamon/oracle193db:19.3.0-ee
oracle계정으로
$ sudo su - oracle
다음과 같이 docker 실행
$ sudo docker run -d --name oracle19db -p 1521:1521 -e ORACLE_SID=MONGO -e ORACLE_PDB=MONGOPDB -e ORACLE_PWD=Oracle123 -v /u01/app/oracle/oradata/:/opt/oracle/oradata banglamon/oracle193db:19.3.0-ee
1ba0cd6837658508fa5c1770411e5e4580d97c6e457f93de8643e13d58c92790
오라클 계정 만드는 방법은 아래와 같다.
dba그룹 및 기타 그룹 생성$ groupadd oinstall $ groupadd dba
oracle사용자 생성$ useradd -g oinstall -G dba oracle $ passwd oracle디렉토리 생성 및 권한 설정
$ mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1 $ chown -R oracle:oinstall /u01 $ chmod -R 775 /u01 # 소유자(Owner): 읽기(r), 쓰기(w), 실행(x) 권한을 가짐 (7) # 그룹(Group): 읽기(r), 실행(x) 권한을 가짐 (5) # 기타 사용자(Other): 읽기(r), 실행(x) 권한을 가짐 (5사용자 변경 후
$ su - oracle환경 변수 설정
oracle사용자의 홈 디렉토리에서.bash_profile파일을 열고 다음 내용을 추가# Oracle Settings export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin변경사항 적용
source ~/.bash_profile적용된 변경사항 확인
$ echo $ORACLE_BASE $ echo $ORACLE_HOME $ echo $ORACLE_SID $ echo $PATHoracle 계정이 도커에 접근할 수 있도록
root계정으로 전환 후su -
sudo권한 부여# root 권한으로 /etc/sudoers 파일 편집 $ visudo아래 내용 추가
oracle ALL=(ALL) ALL부여된
sudo권한 확인sudo -l
성공적으로 실행되면 아래와 같이 메시지가 출력됨.
