DockerでOracle Databaseを立てる
以前、Oracle 12cのDockerコンテナを立ち上げたことがあったけど、やり方をメモっていなかったので、再度 Oracle 19cでコンテナを立ち上げることにした。
ちょっとしたOracle DBの挙動確認に便利。
参考したサイトと環境
以下のサイトを参考にした。
- docker-images/OracleDatabase at master · oracle/docker-images
- Oracle Database 12c を macOS 上の Docker で構築する - Qiita
- DockerでOracle Databaseを使う - Qiita
環境は以下のとおり。
$ docker -v
Docker version 19.03.8, build afacb8b
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G4032
インストールするOracleのバージョンは以下のもの。
- Oracle Database 19c (19.3.0) Enterprise Edition and Standard Edition 2
Dockerイメージの作成
ビルド準備
Gitリポジトリをクローン
git clone git@github.com:oracle/docker-images.git
Oracle Technology Networkから「19.3 - Enterprise Edition Linux x86-64」のzipをダウンロード。
ビルド
cd oracle_docker-images/OracleDatabase/SingleInstance
mv ~/Downloads/LINUX.X64_193000_db_home.zip dockerfiles/19.3.0
cd dockerfiles
./buildDockerImage.sh -v 19.3.0 -e -i
途中で容量が足りなくなって止まってしまったので、Dockerの設定画面からリソースを割り当て。再ビルドしてイメージができた。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
oracle/database 19.3.0-ee a45c3943066a 4 minutes ago 6.65GB
Oracle起動
Sample/Docker/Oracle at master · eiKatou/Sampleからdocker-compose.yamlを取得。そのディレクトリで作業する。
# Oracleのデータ出力用のディレクトリ作成
mkdir ./oradata
chmod 777 ./oradata
# Oracle起動
docker-compose up -d
# 起動できたかログで確認
# DATABASE IS READY TO USE! が確認できたら起動完了(15分ぐらいかかる)
docker logs -f oracle-19-ee
Oracleに接続
docker-images/README.md at master · oracle/docker-imagesにデフォルト値が書いてある。
- SID : ORCLCDB
- PDB : ORCLPDB1
- パスワード : password01(docker-compose.yamlに記載)
無事に接続できた!
SQLの発行
select * from dba_users;
Oracleが動いているDockerコンテナに接続
アラートログの確認もできる。
docker exec -it oracle-19-ee /bin/bash
# アラートログの確認
more /opt/oracle/diag/rdbms/orclcdb/ORCLCDB/trace/alert_ORCLCDB.log
Dockerコンテナの終了
docker-compose down
投稿日 2020年11月21日