先日、Oracle社からoracle-database-preinstall-23cの無償版がリリースされたので、Oracle Database 23cと19cのpreinstall RPM実行結果を比較してみました。
なにか違いはあるのでしょうか。
※本記事の投稿時点ではOracle Database 23cは「Oracle Database 23c Free-Developer Release」ですので、正式リリース版とは実行結果が異なる可能性があります。
Oracle Preinstallation RPMとは
Oracle Databaseのインストールに必要なOS設定を自動的に行ってくれるRPMファイルです。
具体的な設定内容として以下のようにマニュアルに書かれています。(19cのインストレーション・ガイドより一部抜粋)
・Oracle Grid InfrastructureおよびOracle Databaseのインストールに必要な追加のRPMパッケージが自動的にダウンロードおよびインストールされ、依存性が解決されます。
・oracleユーザーが作成され、そのユーザーのoraInventory(oinstall)およびOSDBA(dba)グループが作成されます。
・必要に応じて、sysctl.confの設定、システム起動パラメータおよびドライバ・パラメータの値が、Oracle Database Preinstallation RPMプログラムの推奨値に基づいて設定されます。
RPMインストール
[環境情報]
23cと19cの結果を比較したいので検証環境を2つ用意しました。
OSはともにOracle Linux Server 8.8で、最小インストールです。
RPMファイルは勿論それぞれのバージョンのものを用意しました。
23c Preinstallation環境:oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm
19c Preinstallation環境:oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
[結果]
以下の結果になりました。
詳細な設定値は表の次に書きます。
〇=23c、19cで設定の差異はない
設定項目 | 内容 |
RPMパッケージ | 差異あり(詳細は後述) |
OSユーザ | 〇 |
OSグループ | 〇 |
ネットワーク設定 | 〇 |
リソース制限 | 〇 |
カーネル・パラメータ | 〇 |
GRUB設定 | 〇 |
結果についての詳細
・RPMパッケージ
※共通でインストールされたRPMパッケージは割愛します。
23c Preinstallation環境でのみインストールされたRPMパッケージ
checkpolicy-2.9-1.el8.x86_64
compat-openssl10-1.0.2o-4.el8_6.x86_64
policycoreutils-python-utils-2.9-24.0.1.el8.noarch
python3-audit-3.0.7-4.el8.x86_64
python3-libsemanage-2.9-9.el8.x86_64
python3-policycoreutils-2.9-24.0.1.el8.noarch
python3-setools-4.3.0-3.el8.x86_64
19c Preinstallation環境でのみインストールされたRPMパッケージ
libaio-devel-0.3.112-1.el8.x86_64
libstdc++-devel-8.5.0-18.0.2.el8.x86_64
19c Preinstallation環境でのみインストールされたパッケージには見覚えがありますね。
パッケージ名からの推測になりますが、開発環境関連のパッケージが23cでは一部不要になったということかもしれません。
・OSユーザ
# grep oracle /etc/passwd
oracle:x:54321:54321::/home/oracle:/bin/bash
・OSグループ
# id oracle
uid=54321(oracle) gid=54321(oinstall)groups=54321(oinstall),54322(dba),54323(oper),
54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
・ネットワーク設定
# cat /etc/sysconfig/network
NOZEROCONF=yes
・リソース制限
# cat /etc/security/limits.d/oracle-database-preinstall-<バージョン名>.conf
oracle soft nofile 1024
oracle hard nofile 65536oracle soft nproc 16384
oracle hard nproc 16384oracle soft stack 10240
oracle hard stack 32768oracle hard memlock 134217728
oracle soft memlock 134217728oracle soft data unlimited
oracle hard data unlimited
※見やすいようにコメント部分は省略しています。
・カーネル・パラメータ
# cat /etc/sysctl.d/99-sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
※/etc/sysctl.d/99-sysctl.confは/etc/sysctl.confのシンボリックリンクです。
※見やすいようにコメント部分は省略しています。
・GRUB設定
# grep GRUB_CMDLINE_LINUX /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet numa=off transparent_hugepage=never"
以上です。
差異はRPMパッケージのみという結果でした。
23cも19cもほぼ同じ設定でしたので、バージョンアップしてもRPM以外は気にせず使用することが分りました。
Oracle Preinstallation RPMはインストール前のほとんどのタスクを自動的に実行してくれるものなので、影響を把握した上で効果的に利用しましょう。