Oracle Databaseクイック・インストレーション・ガイド 11gリリース1(11.1) for Linux x86-64
を見ながらインストールしていきます。
CentOS 5.2 は 64bit 版を使ってみました。 Oracle も 64bit 版であることを確認してから始めましょう。
#pre{{ [root@ora1 ~]# cat /etc/redhat-release CentOS release 5.2 (Final) [root@ora1 ~]# uname -srmp Linux 2.6.18-92.1.6.el5 x86_64 x86_64 }}
次のパッケージが必要です。
#pre{{ binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.1 gcc-c++-4.1.1 glibc-2.5-12 glibc-2.5-12 (32 bit) glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5-12 (32 bit) libaio-0.3.106 libaio-0.3.106 (32 bit) libaio-devel-0.3.106 libgcc-4.1.1 libgcc-4.1.1 (32 bit) libstdc++-4.1.1 libstdc++-4.1.1 (32 bit) libstdc++-devel 4.1.1 make-3.81 sysstat-7.0.0 unixODBC-2.2.11(32 bit) unixODBC-devel-2.2.11(32 bit) }}
数が多いのでファイルに書いて確認してみました。
#pre{{ [root@ora1 ~]# cat pkgs binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel }}
32bit と 64bit の区別が出てこないため、 2個表示されないものは 32bit が入っていないと判断します。
#pre{{ [root@ora1 ~]# cat pkgs | xargs rpm -q binutils-2.17.50.0.6-6.el5 パッケージ compat-libstdc++-33 はインストールされていません。 elfutils-libelf-0.125-3.el5 パッケージ elfutils-libelf-devel はインストールされていません。 gcc-4.1.2-42.el5 パッケージ gcc-c++ はインストールされていません。 glibc-2.5-24 glibc-2.5-24 glibc-common-2.5-24 glibc-devel-2.5-24 libaio-0.3.106-3.2 libaio-0.3.106-3.2 パッケージ libaio-devel はインストールされていません。 libgcc-4.1.2-42.el5 libgcc-4.1.2-42.el5 libstdc++-4.1.2-42.el5 libstdc++-4.1.2-42.el5 パッケージ libstdc++-devel はインストールされていません。 make-3.81-3.el5 パッケージ sysstat はインストールされていません。 パッケージ unixODBC はインストールされていません。 パッケージ unixODBC-devel はインストールされていません。 }}
yum でインストールしました。
#pre{{ [root@ora1 ~]# yum install compat-libstdc++-33 \ elfutils-libelf-devel gcc-c++ glibc-devel libaio-devel libstdc++-devel \ sysstat unixODBC unixODBC-devel Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile ... Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
============================================================================= Installing:
compat-libstdc++-33 x86_64 3.2.3-61 base 227 k compat-libstdc++-33 i386 3.2.3-61 base 232 k
... Is this ok [y/N]: y ... Complete! }}
#pre{{ [root@ora1 ~]# groupadd oinstall [root@ora1 ~]# groupadd dba [root@ora1 ~]# useradd -g oinstall -G dba oracle [root@ora1 ~]# passwd oracle Changing password for user oracle. New UNIX password: ... }}
/etc/sysctl.conf に下記の行を追加。 デフォルトで大きな値になっていたパラメータについてはコメントアウトします。
#pre{{
# for Oracle11g
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128
#fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 262144 }}
/etc/security/limits.conf に追加。
#pre{{ oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 }}
/etc/pam.d/login に追加。
#pre{{ session required pam_limits.so }}
/etc/profile に追加。
#pre{{
# for Oracle 11g if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi
fi }}
#pre{{ [root@ora1 ~]# mkdir -p /u01/app [root@ora1 ~]# chown -R oracle:oinstall /u01/app [root@ora1 ~]# chmod -R 775 /u01/app }}
oracle ユーザの ~/.bash_profile に umask 022 を追加。
#pre{{
# .bash_profile
# Get the aliases and functions if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
umask 022 }}
oracle ユーザでログインしなおすのが簡単です。
いよいよ Oracle 11g のインストール。oracle ユーザで進めます。
#pre{{ [oracle@ora1 ~]$ unzip linux.x64_11gR1_database.zip [oracle@ora1 ~]$ cd database/ [oracle@ora1 database]$ ./runInstaller }}
Enterprise Edition にしてみました。 「初期データベースの作成」はチェックを外しています。
サマリーが表示されて、インストールが進んで root.sh を実行する、などは 10g までとほぼ同じです。
終わったら環境変数を設定しておきましょう。
oracle ユーザの ~/.bash_profile の該当個所を書き換えます。
#pre{{ ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin LD_LIBRARY_PATH=$ORACLE_HOME/lib NLS_LANG=Japanese_Japan.utf8
export ORACLE_HOME export PATH export LD_LIBRARY_PATH export NLS_LANG }}
再読み込みするかログインし直すなどで環境変数が有効になれば、 sqlplus が使えるようになるはずです。
#pre{{ [oracle@ora1 ~]$ sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 - Production on 火 8月 5 09:54:40 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> quit }}
あとは netca 〜 dbca などで楽な道を進むか、 Platinum 試験のように手で設定していくかは それぞれ自由に頑張ってみましょう。