やりたいこと
Dockerコンテナ上にOracle Database(以降OracleDB)を構築し、とりあえずで使える状態としたい。
作成したOracleDBは、docker-composeを使用して起動したい。
何があったのか
docker-composeを使い、OracleDBコンテナを起動した。
後処理であるstartup pfile=(省略)/initorcl.oraでORA-00845が発生し、DBがうまく起動しない。
原因
initorcl.ora記載のMEMORY_TARGETに対し、/dev/shmの容量が足りていない。
解決策(今回やったこと)
docket-compose.ymlにshm_size: ‘(必要なメモリ)‘ を定義することで解決。
docker-compose.yml
version: ‘3.5’
services:
hoge:
shm_size: ‘256m’
(略)
※256mは適当な値
あとがき
私の場合、一時的な環境構築を目的にしているので、本番運用は考慮してません。
参考
https://github.com/oracle/docker-images/issues/458
上記docker-compose使わないdocker runパターンも書いていました。
追記
セットアップはこちらを参考にさせていただきました。
https://qiita.com/gorilla0513/items/f22e8cce4e08da031abe