ablog

不器用で落着きのない技術者のメモ

Linux に Oracle Database をインストールする場合のカーネルパラメータの設定

かなりてけと〜なまとめ。ツッコミ頂けるとありがたいっす。。。

共有メモリ

  • shmmax
    • 1つの共有メモリセグメントの最大サイズをバイト単位で指定する。
    • SGA が連続した共有メモリセグメントに収まるように「shmmax >= SGA の最大サイズ」となるよう設定する。
  • shmmni
    • 共有メモリセグメントの最大個数を指定する。
    • shmmax >= SGA であれば、1インスタンス当たり1セグメントしか使用しないので、Oracle のマニュアルの推奨値4096個もあれば十分。
  • shmall
    • システム全体の共有メモリの最大サイズをページ単位(4096バイト)で指定する。
    • つまり「(shmmax * インスタンス数) + Oracle 以外で使用する共有メモリの最大サイズ」を指定する。

セマフォ

  • semmsl
    • セマフォ集合体内のセマフォの最大数。
    • 「semmsl >= PROCESSES(初期化パラメータ)」となるよう設定する。
    • 複数インスタンスを利用する場合、「semmsl >= 各インスタンス中で最大のPROCESSES(初期化パラメータ)」となるよう設定する。
  • semmni
    • セマフォ集合体の個数。
    • 「semmni >= (OSとその他のソフトウェア用 + インスタンス数)」となるよう設定する。
    • Oracle のマニュアルの推奨値128個もあれば十分。
  • semmns
    • システム全体のセマフォの最大数。
    • 「semmns >= semmsl * semmni」となるよう設定すればよい?
    • Oracle のマニュアルの推奨値32000個もあれば十分。
  • semopm
    • semop(セマフォ集合の変更関数)呼び出しごとの最大命令数を設定する。なんかよくわかってないw
    • Oracle のマニュアルの推奨値100でおk?

関連


追記(2010.11.29):
KROWN にスバラシイ情報がありますね。内容はブログには書けませんので、興味がある方は以下の KROWN を参照してください。

  • KROWN#71159
  • KROWN#18225