วันอังคารที่ 31 ตุลาคม พ.ศ. 2560

Install Oracle Database on Docker Container

Software ที่ใช้คือ Oracle Database 12cR2 (12.2.0.1) บน Oracle Linux 7 และ Docker Image ที่มี default database ใน multi-tenant configuration with a single pluggable database
ตรวจเช็ค OS kernel และ ติดตั้ง Docker



Disable SELinux

Enable the ol7_addons และ ol7_UEKR4 เพื่อโหลด docker จาก yum repository นี้
#vi /etc/yum.repos.d/public-yum-ol7.repo
ติดตั้ง docker-engine และตรวจสอบ version
# yum install docker-engine
# docker --version

Prepare for install Oracle Database

ติดตั้ง oracle-database-server-12cR2-preinstall package เพื่อเซ็ตอัพ environment ที่จำเป็นและ required package ต่างๆ

เพิ่มพื้นที่ storage ให้กับ docker container เป็น 30GB (จากเดิม 25GB)
#vi /etc/sysconfig/docker-storage



อนุญาตให้ oracle user สามารถใช้ sudo และรัน docker commands ต้องเพิ่ม oracle user ไปที่ /etc/sudoers file.
หรือรัน visudo
#visudo

Switch user ไปเป็น oracle (su – oracle) และ download Oracle image files และ database zip file

[oracle@kitti-srs ~]$ wget https://github.com/oracle/docker-images/archive/master.zip
[oracle@kitti-srs ~]$ unzip master.zip
[oracle@kitti-srs ~]$ cd docker-images-master/OracleDatabase/dockerfiles/12.2.0.1/
Copy oracle 12cR2 database software ไปที่พาธ docker-images-master/OracleDatabase/dockerfiles/12.2.0.1/
สร้าง Docker image
ไปที่พาธ docker-images-master/OracleDatabase/dockerfiles
$sudo ./buildDockerImage.sh -v 12.2.0.1 -e


ตอนนี้พร้อมที่จะสร้าง Oracle Database ใน Docker Container แล้ว
สร้าง container ด้วยคำสั่ง
$ sudo docker run -p 1521:1521 –name kitti-container oracle/database:12.2.0.1-ee
ทดลอง Start , Stop , and List Docker Container
$ sudo docker stop kitti-container
$ sudo docker start kitti-container
$ sudo docker ps



Starting an Active Terminal and connect to SQL * Plus
$ sudo docker exec -it <container_name> bash


ทดลองสร้าง database เพิ่มอีก 1 ตัว ด้วย DBCA silent mode