スポンサーリンク

【Docker】Oracle Database19cを構築する

【Docker】Oracle Database19cを構築するDocker
【Docker】Oracle Database19cを構築する
スポンサーリンク

この記事ではDocker環境でOracle Database19cを構築する手順をまとめています。

動作環境

ProductNamemacOS
ProductVersion11.3
BuildVersion20E232
動作環境

前提条件

  • Docker Hubが使用できること
Docker Desktop
Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

ディレクトリ構成

oracle_db
├── docker-compose.yaml
├── docker-images
├── oradata
└── startup ── create_user.sql

構築手順

1.Dockerのimageを作成する。

2.docker-compose作成する。

3. Dockerコンテナの作成と接続を行う。

Dockerのimageを作成する

公式repositoryからclone

git clone https://github.com/oracle/docker-images.git

フォルダ移動

cd docker-images/OracleDatabase/SingleInstance/dockerfiles/

使用できるOracle DatabaseのVersionを調べる。

ls

11.2.0.2 12.2.0.1 18.4.0 21.3.0
12.1.0.2 18.3.0 19.3.0 buildContainerImage.sh

cd 19.3.0

公式サイトからOracle Database19.c(Linux x86-64)をダウンロード

オラクル・データベース・ソフトウェアのダウンロード | オラクル | Oracle 日本
Windows、LinuxのOracle Solaris、IBM AIX、HP-UXおよび多くのための最新のデータベース・ソフトウェアである19c、またはすべての以前のバージョン18c、12cおよび11gをダウンロードしてください。

ダウンロードしたzipファイルを移動する。

mv downloads/LINUX.X64_193000_db_home.zip repos/oracle_db/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0

DockerDesktopのデフォルト設定だとOracle Database19cを起動するとメモリ不足が発生します。なのでメモリを追加します。

2GBから4GBに変更

imageを作成する

./buildContainerImage.sh -v 19.3.0 -e -i

docker-compose作成する

docker-compose.yaml
version: '3.8'
services:
  database:
    image: oracle/database:19.3.0-ee
    container_name: oracle19c
    environment:
      TZ: Asia/Tokyo
      #- ORACLE_PDB=
      #- ORACLE_PWD=
    ports:
      - 1521:1521
      - 5500:5500
    volumes:
      - ./oradata:/opt/oracle/oradata
      - ./startup:/opt/oracle/scripts/startup

environment

TZ: Asis/Tokyo コンテナ内のタイムゾーンを指定

ORACLP_DB 管理者ユーザ

ORACL_PWD 管理者パスワード

volumes

データ永続化用フォルダ作成する。

mkdir oradata
chmod 777 oradata

初期設定用SQLフォルダ作成する。

mkdir startup

起動時に読み込むSQLを記述する。

create_user.sql
-- session
ALTER SESSION SET CONTAINER=ORCLPDB1;
-- create new user
CREATE USER TOKUTY IDENTIFIED BY tokuty;
-- grant priviledes
GRANT CONNECT, RESOURCE, DBA TO TOKUTY;

ORCLPDB1(PDB)に変更してからユーザー作成と権限付与を行う。

Dockerコンテナの作成と接続を行う

docker -compose up -d

Docker Desktopからログを確認すると約20分程で作成完了していました。

Dockerコンテナ内に入る。

docker exec -it oracle19c bash

作成したユーザーでログイン

sqlplus tokuty/tokuty@ORCLPDB1

接続時のログを確認する。

tokuty@tokutyMac-mini oracle_db % docker exec -it oracle19c bash
bash-4.2$ date
Sat Oct 1 12:10:06 JST 2022
bash-4.2$ sqlplus tokuty/tokuty@ORCLPDB1

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Oct 1 12:10:34 2022
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

無事に接続できました!

最後に

Dockerでおすすめの書籍を紹介します。

Dockerとは何か?動く仕組みのところからイラストや図を使ってわかりやすく説明してくれます。

ハンズオンも豊富で、WordPressやMySqlのコンテナを作成していきます。

基本的なDockerの知識、コマンドはこちらの書籍で学ぶことができるため、これからDockerを学びたい初心者におすすめです。

タイトルとURLをコピーしました