Open6

[Oracle DB]DockerでOracleDataBaseの起動(for MAC)

NeoTechNeoTech

⚪️コマンド

cd /Users/genki/Documents/oracl

① Docker上にOracleDataBaseを用意する

・Dockerのインストールと起動
https://docs.docker.com/desktop/install/mac-install/

・オラクル・データベース・ソフトウェアのダウンロード
https://www.oracle.com/jp/database/technologies/oracle-database-software-downloads.html#db_free

※ ダウンロードしたファイルは解凍しない。

ダウンロードが完了したら、LINUX.X64_193000_db_home.zip ファイルを、
作業フォルダの以下のパスに移動します。

oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0

・コマンド実行

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

ターミナルで、dockerfiles に移動

qiita.rb
cd /Users/{ユーザー名}/Documents/Oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles

ビルド用のスクリプト(buildContainerImage.sh)を実行

qiita.rb
./buildContainerImage.sh -v 19.3.0 -t oracle_1930 -e

-v:Oracleのバージョン
-t:docker image name
-e:Enterprise Edition

もし上記のビルドでパーミッションエラーが出たら
エラー分に従って、下記のようなコマンドを実行

qiita.rb
sudo chown -R {ユーザー名} ~/.docker/buildx/activity/desktop-linux
sudo chown -R {ユーザー名} /Users/genki/Documents/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/LINUX.X64_193000_db_home.zip

NeoTechNeoTech

Dockerでコンテナ作成、SQL Connect

docker run --name oracle_1930 \
-p 1521:1521 -p 5500:5500 \
-v /Users/{ユーザー名}/Docker/oradata:/opt/oracle/oradata \
oracle_1930:latest

NeoTechNeoTech

この後のDB接続時にパスワードで弾かれる...

自動生成されてコンテナ作成時に出力されているらしいが
、どこに書かれているか不明。。
コンテナ作成時に下記のオプション追加で任意のパスワードを指定できるみたいだが、
それでもうまくいかず。

-e ORACLE_PWD= { 任意のdatabase passwords} \

⇩コンテナ作成後に、下記の方法でパスワードを再設定

・コンテナが作成されているディレクトリへ移動

cd /Users/{ユーザー名}/Documents/Oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0

・パスワード再設定コマンドの入力

docker exec {コンテナ名}  ./setPassword.sh {任意のパスワード}