はじめに
以前構築したローカル環境のDockerにOracle Databaseを動かします。
準備物
まずOracle社が提供しているDockerイメージとファイル一式をダウンロードします。
複数バージョンが存在しますが、今回は19cを立てようと思います。
以下から19.3.0フォルダとbuildContainerImage.shをダウンロードします。
OracleDatabase19cのLinux x86-64のzipをダウンロードします。
ダウンロード後は任意の場所に最初にダウンロードした19.3.0フォルダとbuildContainerImage.shを配置し、フォルダ内にOracleDatabase19cのLinux x86-64のzipを配置します。
配置構成
-任意フォルダ
--19.3.0
---LINUX.X64_193000_db_home.zip
---その他ファイル
--buildContainerImage.sh
Docker ビルド
Dockerを起動していない場合は起動させます。
service docker start
任意フォルダに移動してシェルファイルからbuildします。
sudo bash ./buildContainerImage.sh -v 19.3.0 -e
Docker 実行
下記コマンドでコンテナを実行します。
ORACLE_PWDは随時変更してください。
docker run -d --name 19c -p 1521:1521 -p 5500:5500 -e ORACLE_PWD=uJ8Vhd2S oracle/database:19.3.0-ee
Docker ログ確認
docker ps -a
docker logs CONTAINER ID
「DATABASE IS READY TO USE!」が確認できると接続できます。
Oracle SQL Developerで接続確認します。
接続を確認。
sqlplusによる接続確認
下記コードを順に実行することでsqlplusがインストールできます。
# instantclient-basic取得
wget https://download.oracle.com/otn_software/linux/instantclient/214000/instantclient-basic-linux.x64-21.4.0.0.0dbru.zip
# instantclient-sqlplus取得
wget https://download.oracle.com/otn_software/linux/instantclient/214000/instantclient-sqlplus-linux.x64-21.4.0.0.0dbru.zip
# sqlplus用ディレクトリ作成
sudo mkdir -p /opt/oracle
# 上記ディレクトリに解凍
sudo unzip -d /opt/oracle instantclient-basic-linux.x64-21.4.0.0.0dbru.zip
# 上記ディレクトリに解凍
sudo unzip -d /opt/oracle instantclient-sqlplus-linux.x64-21.4.0.0.0dbru.zip
# 解凍ファイル確認
cd /opt/oracle/instantclient_21_4 && find . -type f | sort
# 環境変数設定
export LD_LIBRARY_PATH=/opt/oracle/instantclient_21_4:$LD_LIBRARY_PATH
# 環境変数設定
export PATH=$LD_LIBRARY_PATH:$PATH
# 環境変数読み込み
source ~/.bashrc
# インストールバージョン確認
sqlplus -V
インストール完了後dockerのIPを調べてsqlplusで接続します。
ip -4 a show docker0
sqlplus sys/uJ8Vhd2S@//172.17.0.1:1521/ORCLPDB1 as sysdba
参考にさせて頂いたサイト
https://itedge.stars.ne.jp/docker_image_oracle_database_19c/
https://itedge.stars.ne.jp/docker_image_oracle_database_19c_error/
https://www.geeksforgeeks.org/how-to-install-sqlplus-on-linux/
これで以上となります。
見て下さってありがとうございます。