必要なユーザの作成
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
カーネルパラメータの調整
RHEL7.0をインストールした直後と、Oracle推奨値の比較は以下のとおり。
カーネル・パラメータ | RHELの初期値 | Oracleの推奨最小値 |
---|---|---|
semmsl | 250 | 250 |
semmns | 32000 | 32000 |
semopm | 32 | 100 |
semmni | 128 | 128 |
shmall | 18446744073692774399 | 物理メモリー・サイズ(ページ数)の40% |
shmmax | 18446744073692774399 | 物理メモリー・サイズ(ページ数)の50% |
shmmni | 4096 | 4096 |
panic_on_oops | 1 | 1 |
file-max | 382715 | 6815744 |
ip_local_port_range | 32768 60999 | 9000 65500 |
rmem_default | 212992 | 262144 |
rmem_max | 212992 | 4194304 |
wmem_default | 212992 | 262144 |
wmem_max | 212992 | 1048576 |
aio-max-nr | 1048576 | 1048576 |
よって、Oracleの推奨最小値を満たしていない値はRHELの設定を上書きすることで満たすようにする。
/etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
反映。
[root@localhost archinwater]# sysctl -p
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
リソース制限の確認
Oracle
ユーザでログインして以下を確認する。
項目 | 確認方法 | リソース | RHELの初期値(KB) | Oracleの推奨値(KB) |
---|---|---|---|---|
オープン・ファイル記述子数(ソフト制限) | $ ulimit -Sn | nofile | 1024 | 1024 |
オープン・ファイル記述子数(ハード制限) | $ ulimit -Hn | nofile | 4096 | 65536 |
単一ユーザが使用可能なプロセス数(ソフト制限) | $ ulimit -Su | nproc | 4096 | 2047 |
単一ユーザが使用可能なプロセス数(ハード制限) | $ ulimit -Hu | nproc | 15048 | 16384 |
プロセスのスタック・セグメントのサイズ(ソフト制限) | $ ulimit -Ss | stack | 8192 | 10240 |
プロセスのスタック・セグメントのサイズ(ハード制限) | $ ulimit -Hs | stack | unlimited | 10240以上、32768以下 |
これも設定ファイルを書き直し。
/etc/security/limits.conf
<domain> <type> <item> <value>
oracle hard nofile 65536
oracle hard nproc 16384
oracle soft stack 10240
Oracleベース・ディレクトリの作成
mkdir -p /home/oracle_base_dir
chown -R oracle:oinstall /home/oracle_base_dir
chmod -R 775 /home/oracle_base_dir
必要なパッケージのインストール
Oracle DBで必要なパッケージをインストールしておく。
subscription-manager repos --enable rhel-7-server-optional-rpms
yum install ksh compat-libstdc++-33 libaio-devel compat-libcap1
インストール
- カーネルパラメータ系でwarningが発生するが、無視してOK
- インストールの途中で、2本ほどroot権限でShell Scriptを実行しろと出るので、指示に従う
- インストーラが文字化けしたので、
$ ./runInstaller -jreloc /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.91-1.b14.el7_2.x86_64/jre/
みたいなことをして回避
Enterprise Managerの設定
インストール直後に https://localhost:5500/em/ にアクセスすると、証明書関連のエラーが出て接続出来ない。デフォルトでHTTP用にポートが割り当てられていないので、SQL*Plus経由でポートを設定してやり、HTTPで接続するようにすればよい。
oracle$ sqlplus / as sysdba;
SQL> exec DBMS_XDB_CONFIG.SETHTTPPORT(5503);
PL/SQLプロシージャが正常に完了しました。