7
18

More than 5 years have passed since last update.

DockerでOracle11gを構築する

Posted at

はじめに

とある事情にてOracle11gの環境が必要になりました。
手持ちのMacBook1台で開発環境をFIXさせたいため、Dockerにて構築することにしました。

前準備

構築作業

GitHubからOracleのDockerイメージをダウンロードする

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

Oracle本体をダウンロードする

Oracleのダウンロードサイトから、Oracle本体をダウンロードする必要があります。
今回は11gの「Linux x86-64」からダウンロードしてきます。

Oracle本体をDockerイメージに配置する

Dockerで動かすOracleはシングル構成とRac構成が選択できます。
今回構築する環境はシングル構成とします。

ダウンロードしたOracle本体をzipファイルのまま、Dockerイメージにコピーします。
docker-images/OracleDatabase/SingleInstance/dockerfiles/に各バージョンごとにディレクトリがありますので、Oracle本体と対応したディレクトリに配置する必要があります。
11g以降のバージョンがDockerで利用できることがわかりますね。

$ ll docker-images/OracleDatabase/SingleInstance/dockerfiles/
total 16
drwxr-xr-x   8 oracle  staff   256  2 10 19:22 ./
drwxr-xr-x  10 oracle  staff   320  2 10 15:53 ../
drwxr-xr-x   9 oracle  staff   288  2 10 16:09 11.2.0.2/
drwxr-xr-x  18 oracle  staff   576  2 10 15:53 12.1.0.2/
drwxr-xr-x  16 oracle  staff   512  2 10 15:53 12.2.0.1/
drwxr-xr-x  16 oracle  staff   512  2 10 15:53 18.3.0/
drwxr-xr-x   8 oracle  staff   256  2 10 15:53 18.4.0/
-rwxr-xr-x   1 oracle  staff  5088  2 10 15:53 buildDockerImage.sh*

イメージをビルドする

buildDockerImage.shを叩いてイメージをビルドします。
コンソールに「Successfully tagged oracle/database:11.2.0.2-xe」と出ればOKです。

$ docker-images/OracleDatabase/SingleInstance/dockerfiles/buildDockerImage.sh -v 11.2.0.2 -x -i

(中略)

Successfully built 763f697f8cfb
Successfully tagged oracle/database:11.2.0.2-xe


  Oracle Database Docker Image for 'xe' version 11.2.0.2 is ready to be extended: 

    --> oracle/database:11.2.0.2-xe

  Build completed in 120 seconds.


コンテナを起動する

コンテナの起動直後にOracleのSYSユーザとSYSTEMユーザのパスワードがコンソールに表示されます。
コンソールログがガンガン流れるため、見失わないようにしましょう。

$ sudo docker run -p 1521:1521 --shm-size=1g --name oracle11 oracle/database:11.2.0.2-xe
ORACLE PASSWORD FOR SYS AND SYSTEM: XXXXXXXXXXXXXX

以下のメッセージがコンソールに表示されたら、Oracleが利用できる状態となります。

#########################
DATABASE IS READY TO USE!
#########################

この後も処理が続き、私の環境では結構エラーが出ていましたが、無視しても問題ありませんでした。

起動確認

SQLPlusを使用して、作成したOracleDatabaseに接続してみます。

$ sqlplus system@localhost:1521

SQL*Plus: Release 12.2.0.1.0 Production on Mon Feb 11 13:13:27 2019

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

Enter password: 

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> 

できました!!!

7
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
18