본문 바로가기
IT/Middleware

Docker로 Oracle 11g xe 설치하기

by TechTonic 2023. 7. 28.
반응형

Docker로 Oracle 11g xe 설치 및 실행하는 방법에 대해 안내 합니다.

Docker 대표 이미지

 

 

docker oracle 이미지 다운로드

 

우선 공개된 oracle 이미지들을 확인해 봅시다. 

docker search oracle-xe-11g

oracle images

이 중 추천 수가 가장 높은 이미지를 선택해서 다운로드 받습니다.

여기선 "oracleinanutshell/oracle-xe-11g" 를 사용할 것입니다.

 

docker pull oracleinanutshell/oracle-xe-11g

oracle image download

위 화면과 같이 뜨면 다운로드가 완료된 상태 입니다.

 

 

Oracle 이미지 실행

 

다운로드 받은 이미지를 실행 시켜 봅시다.

docker run -d -p 1521:1521 oracleinanutshell/oracle-xe-11g

Oracle image 실행

 

 

Oracle 이미지 실행 여부 확인

 

oracle 이미지가 정상적으로 실행되었는지 확인 합니다.

docker ps

docker 실행 서비스 확인

위와 같이 Oracle 이미지가 정상적으로 실행되어 서비스가 살아있음이 확인됩니다.

 

 

Oracle shell(SQL) 접속

서비스가 실행되었다면 이제 oracle에 접속해 봅시다.

접속 후 Databases 및 계정을 생성하여 다른 프로그램에서 접속시켜볼 예정입니다.

 

우선 실행중인 oracle shell로 진입합니다.

recursing_wu 값은 위 ps 로 프로세스 실행했을때 컨테이너 NAME 값 입니다.

docker exec -it recursing_wu bash

oracle shell 진입

사진의 왼쪽 호스트명을 보면 oracle shell로 진입하여 기존 testServer 에서 3d52e49dea25 로 변경된걸 확인할 수 있습니다.

이후 sqlplus 로 SQL을 접속합니다.

sqlplus

SQL 진입

초기 관리자 정보는 system / oracle 입니다.

 

보안을 위해 초기 비밀번호를 변경해 줍시다.

커맨드 창에 password 를 입력합니다.

비밀번호 변경

변경하고자 하는 정보로 변경합니다.

 

 

Oracle 외부 접속

 

기본적인 설정이 끝났으니 외부 DB 툴을 통해 접속해 봅시다.

여기선 sqldeveloper tool을 사용하여 접속할 것입니다.

https://www.oracle.com/kr/database/sqldeveloper/

 

 

 

sqldeveloper 정보에 만들어둔 oracle 정보를 입력합니다.

저의 경우 다른 서버(OS)에 설치해둔거라 호스트 이름이 "192.168.10.154" 이지만

같은 PC에 설치하셨을 경우 localhost 로 입력하시면 됩니다.

DB접속 툴

 

접속 시 아래와 같이 정상 접속됨을 확인할 수 있습니다.

db 접속 완료

 

마치며

이렇게 docker 를 활용하여 oracle 생성 및 실행하는 방법에 대해 알아보았습니다.

docker에는 db외에도 많은 종류의 이미지가 있습니다. 잘 활용하시기 바랍니다.

끝으로, 초기 oracle에서 Databases 및 계정생성하는 방법을 알려드립니다.

 

 

Oracle 계정 생성 및 권한 추가 방법

계정생성

CREATE USER 계정 IDENTIFIED BY 비밀번호 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;

CREATE USER test IDENTIFIED BY passwd DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;

 

권한부여

* 일반적으로 connect, resource 권한을 부여합니다.

* GRANT CONNECT, RESOURCE TO 계정;

GRANT CONNECT, RESOURCE TO test;

 

설정저장

* 작업 후 꼭 commit; 을 실행합시다.

commit;

 

반응형

댓글