📖 参考
・macOSにDockerでOracle Database 19c(Linux x86-64)をインストール
・macでOracleDBを使うために整えた時の記録(OraceDB, DBearver, Docker,Sql*Plus, Mac)
・Oracle Database 19c 環境をDockerで作成してSQL Developerで接続する
Docker Desktop for Macのインストール
Docker の入手からDocker.dmg
をダウンロード・インストール
Oracle Database 21cのダウンロード
Oracle公式からOracle Database 21c
(.zip)をダウンロード
Oracle DatabaseのDockerコンテナをビルド
① 保存先ディレクトリでDockerイメージ(docker-images
フォルダ)をダウンロード
# Dockerイメージのダウンロード先ディレクトリ(任意の場所)に移動してから実行
% git clone https://github.com/oracle/docker-images.git
Cloning into 'docker-images'...
remote: Enumerating objects: 15474, done.
..(中略)..
Resolving deltas: 100% (9090/9090), done.
② Oracle Database 21c
(.zip)をdockerfiles/21.3.0
フォルダに移動
③ buildContainerImage.sh
を実行
# dockerfilesディレクトリに移動
% cd docker-images/OracleDatabase/SingleInstance/dockerfiles
# buildContainerImage.shの実行
dockerfiles % ./buildContainerImage.sh -v 21.3.0 -e -i
Checking Docker version.
Ignored MD5 checksum.
..(中略)..
Oracle Database container image for 'ee' version 21.3.0 is ready to be extended:
--> oracle/database:21.3.0-ee
Build completed in 225 seconds.
④ Oracle Database 21c
のDockerコンテナがビルドされていることを確認
# Dockerイメージの確認
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
oracle/database 21.3.0-ee d44e943b0d0d 39 seconds ago 7.93GB
⑤ Dockerコンテナ(Oracle Database 21c)のセットアップ
参考: 公式リポジトリ(Oracle/docker-images)
参考: Introduction to Multitenant Administration
# Dockerコンテナの作成・起動
# パラメータ:
# --name: Dockerコンテナ名
# -p: Oracle Listenerのホスト側ポート(1521), OEM Expressのホスト側ポート(5500)
# -e ORACLE_PWD: SYS/SYSTEM/PDB_ADMINのパスワード
# パラメータを指定しない場合、SIDは"ORCLCDB", PDBは"ORCLPDB1"が割り当てられる
% docker run --name docker_oracle \
-p 1521:1521 -p 5500:5500 \
-e ORACLE_PWD=oracle21c \
oracle/database:21.3.0-ee
ORACLE EDITION: ENTERPRISE
LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 11-APR-2022 15:41:14
..(中略)..
ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE
Completed: ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE
⑥ Dockerコンテナの確認
Docker Desktop for Mac
で、作成したDockerコンテナのステータスがRUNNING
になっていることを確認し、一旦STOPして再度STARTする。
参考(クリックで画像を表示)
1 - ステータスがRUNNING
であることを確認
2 - Docker Desktop for Mac
上でSTOP
3 - Docker Desktop for Mac
上でSTART
# Dockerコンテナの確認
% docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4ec97d965fd0 oracle/database:21.3.0-ee "/bin/sh -c 'exec $O…" 14 minutes ago Up About a minute (healthy) 0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp docker_oracle
CLIによるOracle Databaseへの接続
DockerコンテナがRUNNING
になっている状態で、CLIボタンをクリックする。
表示されたターミナルで、SQL*Plus
を用いてDBにアクセスする。
# SQL*PLUSの起動・ログイン
# sqlplus "ユーザ名"/"パスワード"@"SID"
sh-4.2$ sqlplus SYSTEM/oracle21c@ORCLCDB
SQL*Plus: Release 21.0.0.0.0 - Production on Mon Apr 11 16:04:32 2022
Version 21.3.0.0.0
..(中略)..
SQL>
(DBeaverを用いた)GUIによるOracle Databaseへの接続
① DBeaver公式サイトからDBeaver(Community Edition)
をダウンロード・インストール
② DBeaver
を起動し、左上の接続ボタンからOracle
を選択
③ Oracle接続設定
の一般
タブで接続情報を以下のように入力
# SQL*PLUSの起動・ログイン
# sqlplus "ユーザ名"/"パスワード"@"SID"
sh-4.2$ sqlplus SYSTEM/oracle21c@ORCLCDB
項目 | 概要 | 値(例) |
---|---|---|
Database | SID | ORCLCDB |
ユーザ名 | ユーザ名 | SYSTEM |
パスワード | パスワード | oracle21c |
④ Oracle公式からOracle DatabaseのJDBCドライバ(ojdbc11-full.tar.gz)をダウンロード
⑤ Oracle接続設定
の一般
タブでドライバの設定を編集
をクリックし、ライブラリ
タブから現在の依存ライブラリを全て削除
⑥ フォルダーを追加(D)
から、④でダウンロードした解凍済フォルダを指定
⑦ テスト接続(T)...
をクリックし、データベースに正常に接続できることを確認
⑧ 終了(F)
をクリックし、DBに接続できていることを確認
Oracle Database 21c
対応のmacOS版SQL*Plus
はまだリリースされていないため、Oracle Database 21cに対してGUIでPL/SQLを使う際はOracle公式のSQL Developer
を使いましょう。
(2022/4/18 現在)