Apple Silicon MacでOracle Databaseを動かす選択肢はいくつかありますが、よく知られている方法は私の環境ではうまく生きませんでした。
ここでは私の環境で成功した方法を共有します。
この方法は、
で紹介されている方法になります。
手順を実行するためには、
- Homebrew
- Docker
が必要となります。
Colimaをインストールする
まずはColimaをインストールします。Dockerの--platform linux/x86_64
ではうまくいきませんでしたので、ご注意ください。
$ brew install colima
Homebrewでインストールしますので、インストールしていない場合は先にインストールしてください。
次にColimaを起動します。起動するとDockerのコンテキストが変更されます。
$ colima start --arch x86_64 --memory 4
ここでは参考にした記事と同じく4(GB)
のメモリを割り当てていますが、必要に応じて増やしてください。
$ docker context ls
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
colima * moby colima unix:///Users/user1/.colima/default/docker.sock
default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock swarm
desktop-linux moby unix:///Users/user1/.docker/run/docker.sock
現在のコンテキストがcolima
になっていることを確認してください。変更されていない場合は、
$ docker context use colima
で変更してください。
Oracle Databaseを起動する
Oracle DatabaseをDockerで起動します。
$ docker run -d -p 1521:1521 -e ORACLE_PASSWORD=<パスワード> -v oracle-volume:/opt/oracle/oradata gvenzl/oracle-xe
<パスワード>
部分は任意のパスワードを設定してください。このパスワードはSYS
ユーザーとSYSTEM
ユーザーのパスワードになります。
例えば、パスワードをpassword
にした場合は以下のようになります。
$ docker run -d -p 1521:1521 -e ORACLE_PASSWORD=password -v oracle-volume:/opt/oracle/oradata gvenzl/oracle-xe
すぐに制御が返ってきますので、少し経ったら接続してみましょう。ローカルにSQL*Plusはインストールされていないと思いますので、何かしらのデータベース接続ツールを使用してください。
私はDataGripを使って接続しています。ユーザーはsystem
、パスワードは先ほど起動時に設定したパスワードを入力してください。
まとめ
恐らくこれが現状では最も簡単にApple Silicon MacでOracle Databaseを動作させる方法だと思います。将来的にはVirtualBoxなどでもっと簡単にOracle Databaseを動作させることができるようになる可能性がありますので、暫定的な対応とお考えください。