2023年6月30日金曜日

Apple M1 MacにOracle Database 19cをインストールする

オラクルよりOracle Database 19cのARM版がリリースされました。オラクル社のアナウンスは以下より参照できます。

Oracle Announces Oracle Database for Arm Architectures in the Cloud & On-Premises
https://blogs.oracle.com/database/post/announcing-oracle-database-19c-support-for-arm

仕事に使っているマシンをApple M1のMacbook Proに変えてから、手元の仮想マシンでAPEXを動かすことができず、困っていました。早速、環境を作ってみました。

データベースがインストールできれば、APEXおよびORDSはアーキテクチャに依存しない(ORDSはARM上のOracle Linuxへのインストール実績あり)しません。そのため、ARM版のOracle Linuxの仮想マシンの作成と、Oracle Database 19cのインストールまでを行います。

仮想マシンの作成と実行にUTMを使用します。VirtualBoxも試してみたのですが、ISOイメージからインストーラーが起動しませんでした

以下より実施した作業を紹介します。


Oracle Linuxのインストール・メディアのダウンロード



Oracle Linux Installation Mediaのサイトにアクセスします。


Oracle Linux Arm (aarch64) ISOs以下の、Oracle Linux 8系列の最新版のFull ISOをダウンロードします。インストレーション・ガイドには以下の記載があります。Oracle Linux 9には未対応のようです。

Oracle Linux 8.6 with Unbreakable Enterprise Kernel 7: 5.15.0-6.80.3.1.el8uek.aarch64 or later
Note: Oracle recommends that you update Oracle Linux 8 to the latest available release level.

2023年6月30日時点では、Oracle Linux 8.8のOracleLinux-R8-U8-Server-aarch64-dvd.isoがダウンロードする対象でした。



仮想マシンの作成



UTMで仮想マシンを作成し、ダウンロードしたメディアよりOracle Linuxをインストールします。

MacでUTMを起動します。

新規仮想マシンを作成をクリックします。


仮想化を選択します。


Linuxを選択します。


Apple仮想化を使用オフカーネルイメージから起動オフです。

起動ISOイメージ選択をクリックし、ダウンロードしたISOイメージを選択します。今回の例ではOracleLinux-R8-U8-aarch64-dvd.isoを選択します。

ISOイメージを選択した後、続けるをクリックします。


ハードウェアのスペックを指定します。今回の作業ではメモリを16384MBとしていますが、使用しているマシンのスペックに合わせて仮想マシンのメモリを決めます。

UTMがデフォルト値として提示している値は4096MBで、これ以下にはしないほうが無難でしょう。

続けるをクリックします。


ストレージのサイズを指定します。今回の作業では64GBとしています。UTMがデフォルト値として提示している値なので、これ以下にはしないほうが無難でしょう。


共有ディレクトリは設定しません。続けるをクリックします。


仮想マシンの名前APEXとしました。

保存をクリックします。


仮想マシンを起動します。再生アイコンをクリックします。




Oracle Linuxのインストール



仮想マシンが起動するとインストーラーが開始します。

デフォルトではTest this media & install Oracle Linux 8.8.0が選択されています。メディアのテストをスキップする場合は、上矢印Install Oracle Linux 8.8.0を選択し、Enterを入力します。


Oracle Linuxのインストーラーが起動します。

データベースのインストールにユニバーサル・インストーラ(GUIのツール)を使います。ユニバーサル・インストーラーを日本語で扱えるように、言語に日本語を選択します。

続行をクリックします。


インストール概要のうち、時刻と日付rootパスワードインストール先ネットワークとホスト名をデフォルトから変更します。


時刻と日付を開きます。

日本の上をクリックし、地域アジア都市東京になることを確認します。

完了をクリックし、変更を確定します。


rootパスワードを開きます。

rootパスワードと確認に、パスワードとなる文字列を入力します。

弱いパスワードの場合、変更を確定するには完了2回クリックする必要があります。


インストール先を開きます。

インストール先のディスクやストレージの設定はデフォルトの設定を適用します。

変更せずに完了をクリックします。


ネットワークとホスト名を開きます。

Ethernetオンに変更し、設定を開きます。


開いたダイアログから、全般を選択します。

優先的に自動接続するチェックを入れ、保存をクリックします。


ネットワークとホスト名の設定を完了します。


以上で、最低限必要な設定が完了しました。

インストールの開始をクリックします。


Oracle Linuxのインストールが開始します。


しばらくすると(10分弱)インストールが完了します。

システムの再起動をクリックします。


仮想マシンが再起動すると(インストール・メディアが外れていないため)、再度、インストーラーの起動画面が表示されます。

仮想マシンを停止します。


ポップアップが開いて確認を求められます。OKをクリックします。


仮想マシンが停止します。

仮想マシンの編集を実行し、インストール・メディアをドライブから除きます。


USBドライブを選択し、イメージの種類なしに変更します。

保存をクリックします。


再度、仮想マシンを実行します。

初期セットアップの画面が表示されます。

最初にライセンス情報をクリックします。


画面上では読みにくいですが、ORACLE LINUX LICENSE AGREEMENTが記載されています。
https://www.oracle.com/downloads/licenses/oracle-linux-license.html

ライセンスを確認し、ライセンス契約に同意しますチェックを入れます。

完了をクリックします。


設定の完了をクリックします。


ようこそ画面が表示されます。次へ進みます。


位置情報サービスオフにします。次へ進みます。


オンラインアカウントの設定はスキップします。


ユーザー情報フルネームとしてOracle DBAユーザー名としてoracleを入力します。ユーザーoracleは、Oracle Databaseの所有者とするため、ここでは必ずoracleを指定します。フルネームは任意なのでOracle DBA以外でもかまいません。

次へ進みます。


ユーザーoracleのパスワードを指定します。次へ進みます。


使用する準備が完了します。

Oracle Linux Serverを使い始めるをクリックします。


GNOMEデスクトップの使い方の案内が表示されます。画面を閉じます


ナビゲーション・バー右端にあるメニューを開くと、すでにユーザーOracle DBAでサインイン済みであることが確認できます。


Oracle Linuxのインストールは以上で完了です。


Oracle Databaseをインストールする準備



Oracle Database 19cのインストールを準備します。

最初にオペレーティング・システムを最新までアップデートします。

アクティビティからターミナルを実行します。


開いたターミナルでsudo -sを実行し、rootユーザーに切り替えます。

sudo -s


オペレーティング・システムを最新までアップデートします。

dnf -y update


Oracle Database 19cのプリインストール・パッケージをインストールします。

今回のインストール対象であるプリインストール・パッケージは以下です。
oracle-database-preinstall-19c-1.0-3.el8.aarch64.rpm

dnf -y install oracle-database-preinstall-19c


オペレーティング・システムの準備は完了です。

shutdownコマンドを実行し、一旦、再起動します。

shutdown -r now


仮想マシンが再起動したら、ユーザーOracle DBAでログインします。


アクティビティからFirefoxを起動します。


Oracle Database 19cのARM版のメディアをダウンロードするため、以下のサイトを開きます。

Oracle Database Software Download
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html


画面をスクロールし、Oracle Database 19c for LINUX ARM (aarch64)を見つけます。

ZIPをクリックします。


ライセンスの同意が求められます。こちらは以下のライセンスになります。

Oracle Technology Network License Agreement
https://www.oracle.com/downloads/licenses/standard-license.html

I reviewed and accept the Oracle License Agreementにチェックを入れて、Download LINUX.ARM64_1919000_db_home.zipをクリックすると、オラクル・プロファイルによるサインイン画面が表示されます。オラクル・プロファイルについては、こちらに説明があります。


オラクル・プロファイルによるサインインを行なうと、ファイルのダウンロードが開始します。


ファイルは/home/oracle/ダウンロード以下に保存されます。

ls ダウンロード

入力モードを日本語(かな漢字)に切り替えると、日本語を入力できます。


Oracle Databaseをインストールするディレクトリを作成します。rootに切り替えます。

sudo -s


ディレクトリ/opt/oraInventoryおよび/opt/oracle/product/19c/dbhomeを作成します。所有者はoracleです。

mkdir /opt/oraInventory
chown oracle:wheel /opt/oraInventory
mkdir -p /opt/oracle/product/19c/dbhome
chown -R oracle:wheel /opt/oracle


ユーザーoracleに戻り、LINUX.ARM64_1919000_db_home.zip/opt/oracle/product/19c/dbhome以下に展開します。

unzip -d /opt/oracle/product/19c/dbhome ダウンロード/LINUX.ARM64_1919000_db_home.zip


展開が完了したら/opt/oracle/product/19c/dbhomeに移動し、ユニバーサル・インストーラーを起動します。

cd /opt/oracle/product/19c/dbhome
./runInstaller


ユニバーサル・インストーラーが起動します。


Oracle Databaseのインストールと構成



これからPDBをひとつ含むデータベースを作成します。

インストール・オプションとして、単一インスタンス・データベースを作成および構成します。を選択します。

次へ進みます。


システム・クラスとしてデスクトップを選択します。

次へ進みます。


インストール構成を設定します。

それぞれの要件に合わせて設定する内容です。今回は以下の設定でデータベースを構成しています。

Oracleベース: /opt/oracle
データベース・ファイルの位置: /opt/oracle/oradata
データベースのエディション: Enterprise Edition
キャラクタ・セット: Unicode (AL32UTF8)
OSDBAグループ: wheel
グローバル・データベース名: ORCL
パスワード: 任意の文字列
コンテナ・データベースとして作成チェックする
プラガブル・データベース名: ORCLPDB1

次へ進みます。


インベントリ・ディレクトリとして/opt/oraInventoryoraInventoryグループ名としてwheelを指定します。


構成スクリプトを自動的に実行チェックを入れ、sudoの使用を選択します。

パスワードに、ユーザーoracleパスワードを入力します。

次へ進みます。


前提条件チェックが実行されます。

今回の構成では、スワップ・サイズが足りないと警告されました。スワップ・サイズは後でも拡張できるので、すべて無視チェックを入れます。

次へ進みます。


サマリーが表示されます。

インストールをクリックし、データベースのインストールを開始します。


イントーラーが開始すると、特権ユーザーで構成スクリプトを実行してよいか確認を求められます。

はいをクリックし、インストールを継続します。


しばらくすると(10分弱)データベースの構成が完了します。

閉じるをクリックし、ユニバーサル・インストーラーを終了します。


データベースの接続を確認します。

export NLS_LANG=American_America.AL32UTF8
. oraenv
ORACLE_SID = [oracle] ORCL
sqlplus sys@localhost/orclpdb1 as sysdba
select banner_full from v$version;
exit


以上でApple M1 MacにLinuxの仮想マシンを作成し、その仮想マシンでOracle Database 19cを稼働させることができました。

Oracle APEXおよびOracle REST Data Servicesのインストールは、Intelと同じ手順で実施できます。

追記

レスポンス・ファイルを指定することにより、GUIを使わずにデータベースを構成できます。

上記の手順で作成されたレスポンス・ファイルを元に、一部を変更しました。こちらのレスポンス・ファイルになります。

GUIを使わないインストール手順では、ユーザーoracleはパッケージoracle-database-preinstall-19cのインストール時に作成されます。所属するグループはoinstallになるため、ディレクトリ/opt/oraInventoryおよび/opt/oracleの作成手順を以下に変えます。

mkdir /opt/oraInventory
chown oracle:oinstall /opt/oraInventory
mkdir -p /opt/oracle/product/19c/dbhome
chown -R oracle:oinstall /opt/oracle


root.shの実行はsudoではなく、rootに変更しています。

SYS、SYSTEM、PDBADMINのパスワードが未指定なので、指定する必要があります。

oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.PDBADMIN=

memoryLimit5970MBとなっています。環境に合わせて変更します。

oracle.install.db.config.starterdb.memoryLimit=5970

レスポンス・ファイルを/home/oracle/install.rspとして作成した場合、以下のコマンドでデータベースの構成を行います。

/opt/oracle/product/19c/dbhome/runInstaller -silent -responseFile /home/oracle/install.rsp
/opt/oracle/product/19c/dbhome/runInstaller -silent -executeConfigTools -responseFile /home/oracle/install.rsp


最初のコマンドの実行で、rootのパスワードが要求されます。また、スワップが足りないため警告が表示されています。

[oracle@localhost ~]$ /opt/oracle/product/19c/dbhome/runInstaller -silent -responseFile /home/oracle/install.rsp 

Launching Oracle Database Setup Wizard...



 Enter password for 'root' user: ********

[WARNING] [INS-13014] Target environment does not meet some optional requirements.

   CAUSE: Some of the optional prerequisites are not met. See logs for details. /opt/oraInventory/logs/InstallActions2023-07-03_10-49-59AM/installActions2023-07-03_10-49-59AM.log

   ACTION: Identify the list of failed prerequisite checks from the log: /opt/oraInventory/logs/InstallActions2023-07-03_10-49-59AM/installActions2023-07-03_10-49-59AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.

The response file for this session can be found at:

 /opt/oracle/product/19c/dbhome/install/response/db_2023-07-03_10-49-59AM.rsp


You can find the log of this install session at:

 /opt/oraInventory/logs/InstallActions2023-07-03_10-49-59AM/installActions2023-07-03_10-49-59AM.log

Successfully Setup Software with warning(s).

As install user, execute the following command to complete the configuration.

/opt/oracle/product/19c/dbhome/runInstaller -executeConfigTools -responseFile /home/oracle/install.rsp [-silent]



[oracle@localhost ~]$ /opt/oracle/product/19c/dbhome/runInstaller -silent -executeConfigTools -responseFile /home/oracle/install.rsp

Launching Oracle Database Setup Wizard...


You can find the logs of this session at:

/opt/oraInventory/logs/InstallActions2023-07-03_10-58-36AM


Successfully Configured Software.

[oracle@localhost ~]$ 


コマンドの実行が完了すると、GUIでの作業と同じ状態になります。