[TIL] Docker로 oracle-19c 세팅하기

Aryumka·2024년 7월 2일


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 $PATH

oracle 계정이 도커에 접근할 수 있도록 root 계정으로 전환 후

su -

sudo 권한 부여

# root 권한으로 /etc/sudoers 파일 편집
$ visudo

아래 내용 추가

oracle   ALL=(ALL)   ALL

부여된 sudo 권한 확인

sudo -l

성공적으로 실행되면 아래와 같이 메시지가 출력됨.

profile
아륨까라고 읽습니다.

0개의 댓글