본문 바로가기
가상화/docker

[Docker] Oracle 12c 서비스 가상화 (CentOS7)

by 미니몬 2024. 7. 11.

목차

    728x90
    반응형

    Summary

     

    이번 글에서는 리눅스 7.X 환경의 Docker를 활용하여 Oracle DB 를 가상화하는 방법을 알아보겠습니다. 

    Docker를 통해 Oracle 12c를 가상화하면 시스템 자원을 효율적으로 사용할 수 있으며,

    다양한 테스트 및 개발 환경을 쉽게 구성할 수 있습니다.

    Oracle 12c 컨테이너를 설정하는 과정을 통해 가상화의 장점을 극대화할 수 있습니다.

     

     

    1. 도커 설치

    • docker 패키지 설치 (저는 Kakao CentOS7 레포지터리를 사용했습니다)
    $ yum install -y docker

     

    • docker 서비스 활성화
    $ systmectl start docker

     

    • docker 서비스 확인
    $ docker --version

     

     

    2. Oracle 12c 이미지 다운로드

    • Docker Hub 에서 원하는 이미지를 다운 받습니다. (약 10분 소요 / 4.5GB 저장공간 필요)
    $ docker pull docker.io/truevoly/oracle-12c

     

    • 다운로드 받은 이미지 확인
    $ docker images

     

    3. Oracle 컨테이너 실행

    • Oracle 컨테이너 실행
      외부 접속 포트 : 8080
      TNS Listener 포트 : 1521
      컨테이너명 : oracle
    $ docker run \
    -d \
    -p 8080:8080 \
    -p 1521:1521 \
    --name=oracle \
    docker.io/truevoly/oracle-12c

     

    • 컨테이너 및 DB 기동 확인 (약 20분 소요)
    $ docker logs -f oracle

    Oracle 컨테이너 기동 완료 로그

     

     

    4. 컨테이너 접속

    • 컨테이너 ID 및 Name 확인
    $ docker ps
    CONTAINER ID        IMAGE                           COMMAND             CREATED             STATUS              PORTS                                            NAMES
    8477ffc4e964        docker.io/truevoly/oracle-12c   "/entrypoint.sh "   7 minutes ago       Up 7 minutes        0.0.0.0:1521->1521/tcp, 0.0.0.0:8080->8080/tcp   oracle

     

    • 컨테이너 접속 (컨테이너 이름 또는 ID)
    $ docker exec -it [NAMES] bash
    또는
    $ docker exec -it [CONTAINER ID] bash

     

     

    5. Oracle DB 접속

    • oracle 계정 접속
    $ su oracle

     

    • sys 계정으로 DB 접속
    $ $ORACLE_HOME/bin/sqlplus / as sysdba

     

    • 유저 생성 및 권한 부여
    SQL> create user mcc identified by password;
    
    SQL> grant dba to mcc with admin option;
    
    SQL> exit

     

    • 생성한 유저로 DB 접근

    생성한 유저로 ORACLE 접근

     

     

    리눅스 환경에서 Docker를 활용한 Oraclc 12c 서비스를 가상화하는 방법을 알아보았습니다.

    IT 인프라 운영에 많이들 사용하고 있는 기능으로 시스템 자원을 효율적으로 관리하고 유연한 개발 및 테스트 환경을 쉽고 빠르게 구축할 수 있습니다. 다음엔 Ubuntu, RHEL8 버전에서 컨테이너를 다루는 방법을 알아보겠습니다.

    728x90
    반응형