always freeにOracle Database 18c XEを入れてみる(失敗)

Oracle Cloud always free Advent Calendar 2019の13日目です。

今日はOracle Database XE 18cをインストールしてみようと思います。
インストール対象は昨日GUI化したOracle Linux7環境です。

 

#Database Preinstallation RPMのインストール
sudo yum -y install oracle-database-preinstall-18c

 

#Oracle Database XE 18cのダウンロード
Always Free ComputeインスタンスへRDPログインして、firefoxを起動してOracle Database XE 18cのダウンロードをします。
https://www.oracle.com/database/technologies/xe-downloads.html

f:id:KNOPP:20191116232604p:plain

XEダウンロード

#Oracle Database XE 18cのインストール

sudo yum -y localinstall /home/opc/ダウンロード/oracle-database-xe
-18c-1.0-1.x86_64.rpm
読み込んだプラグイン:langpacks, ulninfo
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ oracle-database-xe-18c.x86_64 0:1.0-1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
Package アーキテクチャ
バージョン
リポジトリー 容量
================================================================================
インストール中:
oracle-database-xe-18c x86_64 1.0-1 /oracle-database-xe-18c-1.0-1.x86_64 5.2 G

トランザクションの要約
================================================================================
インストール 1 パッケージ

合計容量: 5.2 G
インストール容量: 5.2 G
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
[SEVERE] Oracle Database 18c Express Edition requires a minimum of 1GB of physical
memory (RAM). This system has 971 MB of RAM and does not meet minimum
requirements.

エラー: %pre(oracle-database-xe-18c-1.0-1.x86_64) スクリプトの実行に失敗しました。終了ステータス 1
Error in PREIN scriptlet in rpm package oracle-database-xe-18c-1.0-1.x86_64
検証中 : oracle-database-xe-18c-1.0-1.x86_64 1/1

失敗:
oracle-database-xe-18c.x86_64 0:1.0-1

完了しました!

 

なんと! メモリ不足でチェック失敗してしまいました。

 

悔しいので以下を見ながら頑張ってみることにします。

community.oracle.com

 

#scriptの抜き出し

rpm -qp --scripts /home/opc/ダウンロード/oracle-database-xe-18c-1.0-1.x86_64.rpm > xe-scripts.sh

 

#preinstall scriptの抜き出し

sed -n '2,327p' xe-scripts.sh > xe-pre.sh

vi xe-pre.sh


#1行目のコメントアウト
#preinstall scriptlet (using /bin/sh):

#メモリチェックの部分を変更
#if [ $PhyMem -lt 1024 ]
if [ $PhyMem -lt 900 ]

 

#preinstall scriptの実行

sudo bash xe-pre.sh 1

 

#rpmのみのインストール

sudo rpm -i --noscripts /home/opc/ダウンロード/oracle-database-xe-18c-1.0-1.x86_64.rpm

 #postinstall scriptの抜き出し、実行

sed -n '329,392p' xe-scripts.sh > xe-post.sh

sudo bash xe-post.sh

 

あとは、通常インストールと同じです。

sudo /etc/init.d/oracle-xe-18c configure
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database XE.
[WARNING] [DBT-11209] 現在の使用可能メモリーは、データベースの作成に必要な使用可能メモリー(388MB)を下回っています。
原因: 次のノードには必要な使用可能メモリーがありません:
ノード:ol77 使用可能なメモリー:264.2656MB (270608.0KB)

[WARNING] [DBT-11205] 指定した共有プール・サイズが推奨の最小サイズ要件を満たしていません。これにより、データベースの作成が失敗します。
アクション: 共有プール・サイズに少なくとも(383 MB)を指定してください。
SYSユーザー・パスワードを入力してください:
*************
SYSTEMユーザー・パスワードを入力してください:
**************
PDBADMINユーザー・パスワードを入力してください:
**************
DB操作の準備
7%完了
データベース・ファイルのコピー中
8%完了
[WARNING] ORA-00821: Specified value of sga_target 292M is too small, needs to be at least 400M
ORA-01078: failure in processing system parameters

9%完了
[FATAL] ORA-01034: ORACLE not available

29%完了
100%完了
[FATAL] ORA-01034: ORACLE not available

7%完了
0%完了
詳細はログ・ファイル"/opt/oracle/cfgtoollogs/dbca/XE/XE.log"を参照してください。

Database configuration failed. Check logs under '/opt/oracle/cfgtoollogs/dbca'.

 

やはりメモリが足りなかったようです。

メモリ関連の初期パラメータをいじって無理やり構成することも考えましたが、経験上ケチりすぎるとまともに動かないので止めておきます。

 

アンインストール

sudo /etc/init.d/oracle-xe-18c delete

sudo rpm -e oracle-database-xe-18c-1.0-1.x86_64

 

というわけで不本意ながら本日はここまで。