Open6
[Oracle DB]DockerでOracleDataBaseの起動(for MAC)
⚪️コマンド
cd /Users/genki/Documents/oracl
① Docker上にOracleDataBaseを用意する
・Dockerのインストールと起動
・オラクル・データベース・ソフトウェアのダウンロード

※ ダウンロードしたファイルは解凍しない。
ダウンロードが完了したら、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

Dockerでコンテナ作成、SQL Connect
docker run --name oracle_1930 \
-p 1521:1521 -p 5500:5500 \
-v /Users/{ユーザー名}/Docker/oradata:/opt/oracle/oradata \
oracle_1930:latest

この後のDB接続時にパスワードで弾かれる...
自動生成されてコンテナ作成時に出力されているらしいが
、どこに書かれているか不明。。
コンテナ作成時に下記のオプション追加で任意のパスワードを指定できるみたいだが、
それでもうまくいかず。
-e ORACLE_PWD= { 任意のdatabase passwords} \
⇩コンテナ作成後に、下記の方法でパスワードを再設定
・コンテナが作成されているディレクトリへ移動
cd /Users/{ユーザー名}/Documents/Oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0
・パスワード再設定コマンドの入力
docker exec {コンテナ名} ./setPassword.sh {任意のパスワード}
OracleDeveloperでDB接続
・SQLDeveloperをダウンロード
※こちらは、MAC版が用意されています。

・DB接続(+ボタンを押して設定)


EM Express起動
・下記のURLへGoogle Chrome からアクセス
ユーザー名とパスワード入力

※コンテナ名は入力不要
