経緯と参考にしたサイト
職業訓練校で習っているjavaではoracleデータベースの18.4.0を使用しています。
Windowsでやれば問題なくできることはわかっていますが、Macで環境を作ろうとしている人向けに忘備録として設定方法を記載しておこうと思います。
↓基本的に参考にしたサイトはこちら
【Oracle】MacにOracleをインストール(実行)する方法の目次
Docker環境を構築
1. Docker のインストーラーを取得する
2. Docker をインストールする
3. Docker を起動する
Oracleの実行方法
1. 作業フォルダの作成
2. Gitからビルドスクリプトなどを取得
3. Oracleバイナリファイルの取得・・・←結果的にやらなくて良いことがわかりました
4. ビルドスクリプトを実行
5. Oracleの起動
6. SQLPlusからOracleに接続
参考サイトをそのまま実行した手順と今回の異なる手順
「Docker環境を構築」と「Oracleの実行方法」の「2. Gitからビルドスクリプトなどを取得」まではそのまま記載通りに実施しました。
違いがあるのは「Oracleの実行方法」の「3. Oracleバイナリファイルの取得」からです。
Oracleバイナリファイルの取得
Oracle Database XEのダウンロード←ここからOracle Database Express Edition (XE) Release 18.4.0.0.0 (18c)のLinux版のインストールパッケージをダウンロードします。
Oracleバイナリファイルを移動
ダウンロードしたrpmファイルを下記のフォルダに移動させます。
oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/18.4.0
イメージファイルビルドでエラー「No such file or directory」発生、その対処法
次に、「4. ビルドスクリプトを実行」では、記載通りのコマンドをバージョンを読み替えて実行しても、エラーとなり、イメージファイルの作成が完了しませんでした。
sed: can't read /etc/security/limits.d/oracle-database-preinstall-18c.conf: No such file or directory
色々ネット上を探しているとIssueとして認識されていて解決できるコマンドオプションが記載されていました。-oオプションを指定するのだとか。
下記のコマンドを実行します。
./buildContainerImage.sh -x -v 18.4.0 -o '--platform=linux/amd64'
イメージファイルビルドでさらにエラー「Cannot open:…rpm. Skipping」発生、その対処法
それでもエラーが発生してイメージファイルが生成できません…
Cannot open: https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-18c-1.0-1.x86_64.rpm. Skipping.
このURLにアクセスしてみると、きちんとダウンロード可能な状態であることは確認しました。
さらにこのエラーメッセージをググってみるとこのissueがヒットしました。
メッセージを読んでみると、なんとExpress Editionに限っては、Oracleのインストールパッケージを用意しなくても良いのだとか。
なので、せっかく用意した「oracle-database-xe-18c-1.0-1.x86_64.rpm」を削除します。
↓インストールパッケージを削除した後の「oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/18.4.0」フォルダ内のスクリーンショット
生成するイメージファイル名を指定して再々度実行して成功
これで3度目の正直!ということで、せっかくなら-tオプションでイメージファイル名を指定してみて、再チャレンジしてみることに。下記のコマンドをぶちこんでみた。
./buildContainerImage.sh -x -v 18.4.0 -t oracle_1840 -o '--platform=linux/amd64'
すると、キタ━━(゚∀゚)━━!!!!イメージファイルが出来ました!
今回はここまで。その2では生成したOracleのDockerイメージを動かしてみようと思います。
でも、このMacBook Airはストレージが256GBしかなく、残り4GBしかない…Dockerだけでだいぶ容量喰ったな…Oracleが動いても、Eclipseは入れられないかも…