なか日記

一度きりの人生、楽しく生きよう。

Oracle DatabaseのDockerコンテナを使ってみる

ちょっとした評価のためにOracleデータベースの環境が欲しくなりました。

ただ、自分のPCにOracleをインストールしたくないなぁ。そうだ。Docker使えばいいじゃない!

というわけで、ちょこっとコンテナ起動するところまでまとめておこうと思います。

参考情報

事前準備

Oracleアカウントの作成

イメージをダウンロードするのにOracleのアカウントが必要です。 Oracleのトップページから、アカウントを作成しておきましょう。

規約への同意

Oracle Container Registry にて、Oracleアカウントでログインし、欲しいイメージを選択して規約に同意しておきます。

f:id:nakaji999:20180704011302p:plain:w400

同意しておかないとイメージをダウンロードするときに怒られます。

イメージ取得

Oracleのリポジトリにログインして、イメージを取得します。

> docker login container-registry.oracle.com
> docker pull container-registry.oracle.com/database/standard

このイメージがくそでかいです。4.7GBくらいありますので、まったり取得しましょう。

f:id:nakaji999:20180704013031p:plain

コンテナ作成&起動

起動時のパラメータ等は Oracle Database Standard Edition 2 に書いてありますのでそっちを見てください。

> docker run -d --name ora12c -p 1521:1521 --shm-size="4g" container-registry.oracle.com/database/standard

コンソールに接続してユーザ作成など

> docker exec -it ora12c bash

# su - oracle

$ export ORACLE_SID=ORCL
$ sqlplus / as sysdba

SQL> SHOW CON_NAME;
CON_NAME
------------------------------
CDB$ROOT
SQL> select name, open_mode from v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
PDB1                           READ WRITE

SQL> ALTER SESSION SET CONTAINER=PDB1;

Session altered.

SQL> SHOW CON_NAME;

CON_NAME
------------------------------
PDB1
SQL> CREATE USER scott IDENTIFIED BY tiger;

User created.

SQL> GRANT CONNECT , RESOURCE TO scott;

Grant succeeded.

コンテナを作成した際、oracleユーザーへのsuや、Oracleへの接続ができるようになるまで結構時間がかかります。エラーになっても焦らず、しばらく経ってからリトライしましょう。

ここまで来たらあとは使うだけですね。

まとめ

イメージの取得やコンテナの作成にはそれなりに時間がかかりますが、それでもローカルPCに環境作るのに比べるとだいぶ楽になったなぁと思いますが、最近環境作ってないので正直何とも(笑

でも、作って捨ててが気軽にできるのはいいですね(月並

おしまい