目次
とある日
Oracleの環境がほしい。
なので、Dockerで作れないかと探したらあったので作った話。
構築手順
結論を言うと下記の記事通りにやるとできます。
DockerでOracle動かしたついでに、公式サンプルデータを突っ込んでから、ER図を自動生成してみようぜ
簡潔にまとめると以下の手順でできます。
ちなみに元記事のOracle19.3でしたが自分は21.3でやりましたが特に手順の差はなかったです。
- Oracle DockerImageダウンロード
- OracleDBダウンロード
- イメージの作成
- 初期データ配置
- docker-composeで起動
全体を通してダウンロード時間をとか考慮すると1時間ぐらいでできました。
注意事項としてはストレージを30GBぐらい消費したのである程度容量を確保したほうが良いです。
あと、OSがOracle Linuxでできることがかなり制限されてます。
具体的に言うとviとかyumが実行できない。
前提条件
途中スクリプトファイルを実行する時があるのですが、その際Windowsだと実行するのに別ツールがいるのでWSL2のUbuntuの環境で実行しました。
躓いたところ
OracleDBダウンロードZipは解凍しない
癖で解凍しましたが、どうやらzipのまま使うらしいです。
解凍して配置するとzipがないと怒られました。
他のコンテナンは停止
元記事でも記載があるのですが、docker-composeで起動するとCPUやメモリをかなり食います。
自分の環境は他のコンテナも起動していたのでフルでリソースを使えない状態だったので起動の際に時間がかかりました。
なので、あらかじめ他のコンテナを停止をおすすめします。
Sqlplusログイン
久しぶりすぎて色々と手間取りました。
docker-compose exec db sqlplus sys/oracle123@ORCLPDB1 as sysdba
Docker-composeから直接ログインするなら上記のコマンドでOKです。
接続手順
docker-composeディレクトリ移動しないとできないのが不便。
スクリプトでまとめてます。
cd %homepath%\Documents\GitHub\Docker\Docker-compose\Oracle\ docker-compose up -d docker-compose exec db sqlplus sys/oracle123@ORCLPDB1 as sysdba
↓実行
C:xxx>cmd /c "c:xxx\Docker\Docker-compose\Oracle\dockerexec.bat" C:xxx>cd xxx\Docker\Docker-compose\Oracle\ C:xxx\Docker\Docker-compose\Oracle>docker-compose up -d [+] Running 1/0 - Container oracle Running 0.0s C:xxx\Docker\Docker-compose\Oracle>docker-compose exec db sqlplus sys/oracle123@ORCLPDB1 as sysdba SQL*Plus: Release 21.0.0.0.0 - Production on Mon Jan 3 06:48:13 2022 Version 21.3.0.0.0 Copyright (c) 1982, 2021, Oracle. All rights reserved. Connected to: Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 SQL>
Enterprise Manager Database Express
https://localhost:5500/em/
上記にログインすればEnterprise Manager Database Expressに接続できます。
〆
今後この環境使って試験勉強を考えてます。
昔VirtualBoxでやったときは地獄だったけどDockerだとすごく楽にできる。