インストールに必要なカーネル・パラメーター
Red Hat Enterprise Linux/Oracle Linux に Oracle Database のインストールする際にはカーネル・パラメーターの変更が必要です。Oracle Database Installation Guide (23c) には、インストールに必要なカーネル・パラメーターが記載されています。しかしインストレーション・ガイドにはインストールに「必要」なパラメーターしか記載されていません。下記はインストレーション・ガイドに記載されたカーネル・パラメーターです。
カーネル・パラメーター | 必要な値 |
---|---|
semmsl | 250 |
semmns | 32000 |
semopm | 100 |
semmni | 128 |
shmmax | 4398046511104 |
shmmni | 4096 |
shmall | 1073741824 |
file-max | 6815744 |
aio-max-nr | 1048576 |
ip_local_port_range | 9000–65500 |
panic_on_oops | 1 |
rmem_default | 262144 |
rmem_max | 4194304 |
wmem_default | 262144 |
wmem_max | 1048576 |
推奨されるカーネル・パラメーター
最小限変更が必要なパラメーター以外にいくつかのパラメーター変更が推奨されています。推奨値として参考になる情報は以下の3つです。
-
Tuned Profile for Oracle
Oracle Database 用の Tuned Profile は Red Hat Enterprise Linux に同梱されている tuned-profiles-oracle-2.19.0-1.el8.noarch.rpm になります。このプロファイルを適用することでカーネル・パラメーターの設定を変更します。/usr/lib/tuned/oracle/tuned.conf ファイルが実体です。 -
Oracle Preinstallation RPM
Oracle Preinstallation RPM は Oracle が提供する RPM パッケージです。
検証では oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm を使っています。カーネル・パラメーターの設定以外に、ユーザーの作成やその他の OS 設定も自動的に行ってくれます。 -
ORAchk ユーティリティ
ORAchk ユーティリティは Oracle が提供するツールで、稼働中の Oracle Database や OS 設定をチェックしてベストプラクティスと比較しレポートを出力するツールです。カーネル・パラメーターだけでなく、Oracle Database の初期化パラメーター、NIC のボンディング設定有無まで非常に広い範囲のチェックを行うことができます。
ただし ORAchk ユーティリティは設定変更までは行いません。今回は最新の ORAchk 23.3 を使ってチェックしました。
Red Hat Enterprise Linux 8 Update 7 に対してこれら3つのツールを導入し、チェックを行った結果、以下のような値になりました。
カーネル・パラメーター | Tuned 設定値 | PreInstall 設定値 | ORAchk推奨値 | 備考 |
---|---|---|---|---|
vm.swappiness | 10 | |||
vm.dirty_background_ratio | 3 | |||
vm.dirty_ratio | 40 | |||
vm.dirty_expire_centisecs | 500 | |||
vm.dirty_writeback_centisecs | 100 | |||
kernel.shmmax | 4398046511104 | 4398046511104 | 計算値 | |
kernel.shmall | 1073741824 | 1073741824 | 1073741824 | |
kernel.shmmni | 4096 | 4096 | 4096 | |
kernel.sem | 250 32000 100 128 | 250 32000 100 128 | 250 32000 100 128 | |
fs.file-max | 6815744 | 6815744 | 計算値 | |
fs.aio-max-nr | 1048576 | 1048576 | 1048576 | |
net.ipv4.ip_local_port_range | 9000 65499 | 9000 65500 | 9000 65499 | |
net.core.rmem_default | 262144 | 262144 | 262144 | |
net.core.rmem_max | 4194304 | 4194304 | 4194304 | |
net.core.wmem_default | 262144 | 262144 | 262144 | |
net.core.wmem_max | 1048576 | 1048576 | 1048576 | |
kernel.panic_on_oops | 1 | 1 | 1 | |
kernel.numa_balancing | 0 | 0 | ||
net.ipv4.conf.all.rp_filter | 2 | |||
net.ipv4.conf.default.rp_filter | 2 | |||
vm.min_free_kbytes | 計算値 | |||
net.ipv4.tcp_dsack | 1 | |||
net.ipv4.tcp_sack | 1 |
インストレーション・ガイドに掲載されたパラメーターはほぼ差が出ませんでしたが、それ以外では差が見られます。PreInstall RPM は比較的デフォルトのままが多く、Tunedプロファイルはメモリー管理系のパラメーターを積極的に変更していることがわかります。
Author: Noriyoshi Shinoda / Date: April 14, 2023