4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Oracle Preinstall RPMは何をしているのか?

Last updated at Posted at 2017-05-13

Oracle PreInstall RPMとは?

Oracle Databaseのインストールを成功させるには多くの前提条件をクリアする必要があります。主なものだけでも以下のような設定が必要です。

  • インストール要件に合うハードウェア/OSを準備する
  • パッケージのインストール
  • カーネル・パラメーターの設定
  • OSリソース制限の設定
  • 管理ユーザーの作成
  • ユーザー制限の設定

 上記を手作業で行うことも当然できますが、かなり大変な作業です。Linux環境で、できるだけ簡単にかつ確実に実施できるようにするため、Oracleは事前設定(=Preinstall)ツールとしてrpmパッケージを提供しています。
 このPRMパッケージはOracle DatabaseのバージョンとLinuxのバージョンの組み合わせで異なるファイルが提供されいます。インストール・メディアはOracle Public Yumから最新版を入手すると良いでしょう。このページではOracle Linux 7 Update 3 / Oracle Database 12c Release 2を前提に記述しています。

インストール

使用している環境がOracle Linuxの場合、インストール作業は簡単です。単純にrpmコマンドを実行するだけです(またはインターネット接続環境であればyum install oracle-rdbms-server-12cR2-preinstallコマンド)。依存パッケージとして事前にcompat-libstdc++-33とkernel-uakのインストールが必要です。

# rpm -ivh oracle-database-server-12cR2-preinstall-1.0-2.el7.x86_64.rpm

実行ログは/var/log/oracle-database-server-12cR2-preinstall/results/orakernel.logファイルに出力されます。

実際には何をしているのか?

ではこのパッケージをインストールすることで実際にどのような処理が行われているかを調べてみます。

カーネル・パラメーターの変更

下記のような複数のカーネルパラメーターを変更しています。/etc/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/security/limits.confの変更

ユーザーの制限を指定しています。rpmインストール時点ではOracle Database管理ユーザーは指定されていないので、domainは指定されていません。

domain type item value
* soft nofile 1024
* hard nofile 1024
* soft nproc 16384
* hard nproc 16384
* soft stack 10240
* hard stack 32768
* soft memlock 134217728
* hard memlock 134217728

Network設定

/etc/sysconfig/networkファイルに以下を追加します。

# oracle-database-server-12cR2-preinstall : Add NOZEROCONF=yes
NOZEROCONF=yes

Kernel設定

Kernelのブート・パラメーター(grubまたはefiの環境に応じて)に以下の指定が行われます。

  • numaを使用しない指定(numa=off)
  • Transparent Huge Pages を使用しない設定(transparent_hugepage=never)

ユーザー/グループの作成

oinstallグループ(GID=54321)、dbaグループが存在しなければ作成します。
oracleユーザー(UID=54321、プライマリ・グループ=oinstall、セカンダリ・グループ=dba)が存在していなければ作成します。

何をしてくれないのか?

逆にこのパッケージをインストールしただけでは以下の項目についてはチェックしてくれないことがわかります。データベースのインストール前なので仕方ないといえば仕方ないですが。

  • SE-Linuxの設定
  • Firewalの設定
  • SGAに応じたHuge Pages設定
  • ファイル・システムやASMに関する推奨設定
  • ネットワークやストレージの冗長化設定
  • Oracle管理ユーザーやOracle Grid Infrastructure管理ユーザーの環境変数設定

#終わりに
PreInstall RPMが実際に行っている処理について簡単に記述しました。インストール作業を楽にするためにOracle Linuxを使っている環境ではインストールをお勧めします。またRed Hat Enterprise Linuxを使っている環境でも上記設定を行うことでOracleが推奨する値を使った環境を構築することができます。

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?