環境
Oracle Enterprise Linux 5Oracle Database 11g R2
ハードウェア VMware Server 2.0.2 VM, メモリ1GB, ディスク20GB
パッケージのインストール
# yum -y install binutils実際はこれで可能
# yum -y install compat-libstdc++-33
# yum -y install elfutils-libelf
# yum -y install elfutils-libelf-devel
# yum -y install glibc
# yum -y install glibc-common
# yum -y install glibc-devel
# yum -y install glibc-headers
# yum -y install gcc
# yum -y install gcc-c++
# yum -y install libaio
# yum -y install libaio-devel
# yum -y install libgcc
# yum -y install libstdc++
# yum -y install libstdc++-devel
# yum -y install make
# yum -y install sysstat
# yum -y install unixODBC-2.2.11
# yum -y install unixODBC-devel-2.2.11
yum -y install elfutils-libelf-devel
yum -y install glibc-devel
yum -y install glibc-headers
yum -y install gcc
yum -y install gcc-c++
yum -y install libaio
yum -y install libaio-devel
yum -y install sysstat
yum -y install unixODBC-2.2.11
yum -y install unixODBC-devel-2.2.11
グループとユーザーの作成
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
カーネル・パラメータ
/etc/sysctl.confファイルを編集をします。注意:現在の値いずれかが最小値より大きい場合は、大きい値を指定します。
fs.aio-max-nr = 1048576実際にはこんな感じ
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
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
# Kernel sysctl configuration file for Oracle Enterprise Linuxカーネル・パラメータの現行の値を変更するには、次のコマンドを入力します。
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456
### for Oracle Database 11gR2
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
kernel.shmmni = 4096
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
# /sbin/sysctl -p
ディレクトリの作成
# mkdir -p /opt/oracle/product/11.2/db_1
# chown -R oracle:oinstall /opt/oracle
# chmod -R 755 /opt/oracle
oracleユーザーのシェル制限の設定
ソフトウェアのパフォーマンスを向上させるには、oracleユーザーの次のシェル制限を増やす必要があります。シェル制限 / limits.confにある項目 / 強い制限
最大オープン・ファイル記述子数 / nofile / 65536
単一ユーザーが使用可能な最大プロセス数 / nproc / 16384
シェル制限を増やすには、次の手順を実行します。
次の行を/etc/security/limits.confファイルに追加します。
oracle soft nproc 2047次の行が存在しない場合、/etc/pam.d/loginファイルに追加します。
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
session required pam_limits.sooracleユーザーのデフォルト・シェルに応じて、デフォルトのシェル起動ファイルに次の変更をします。
次の行を/etc/profileファイルに追加します。
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
oracleユーザーの環境の構成
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
alias ls="ls -FA"
ORACLE_SID=ol5h02; export ORACLE_SID
ORACLE_UNQNAME=ol5h02; export ORACLE_UNQNAME
JAVA_HOME=/usr/java/jdk1.6.0_18; export JAVA_HOME
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1; export ORACLE_HOME
NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
NLS_LANG=Japanese_Japan.AL32UTF8; export NLS_LANG
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
インストール
./runInstallerセキュリティ・アップデート
「セキュリティ・アップデートをMy Oracle Support経由で受け取ります」←チェックを外す
インストール・オプション
「データベース・ソフトウェアのみインストール」←選択
Gridオプション
「単一インスタンス・データベースのインストール」←選択
製品の言語
「日本語」「英語」←選択
データベースのエディション
「Standard Edition」←選択
インストール場所
「Oracleベース」← /opt/oracle
「ソフトウェアの場所」← /opt/oracle/product/11.2/db_1
インベントリの作成
「インベントリ・ディレクトリ」← /opt/oracle/oraInventory
rootでシェルを実行
$ su -:
Password: [rootのパスワードを入力]
# /opt/oracle/oraInventory/orainstRoot.sh
# /opt/oracle/product/11.2/db_1/root.sh
Enter the full pathname of the local bin directory: [/usr/local/bin]: [Enter]を入力
:
: