最近はLinux(CentOS)を利用する機会が多くなった。
特段Windowsを利用しなければならないケースを除くとライセンスの問題を抱えると申請書を書く手も鈍くなる。
そんな中ではやれるものはLinuxで納めてしまおうという気持ちになります。
機能も充実していて無償利用できるLinuxはそれなりに構築・管理の敷居が高くなる都合上、Windowsに慣れ親しんだ人には敬遠されがちなイメージですが、こんなに自分でいろいろできるのも楽しいものです。
今回はデータベースの鉄板ソフトのOracle11g(ちょっと古い)をLinux(CentOS 6.8)にインストールします。その手順を記録しておきます。
尚、Oracle11gはCentOS7には対応していません。何度もチャレンジしましたが、うまくいきませんでした。Oracleのサポートに聞いたところでは「CentOS7は対応していなくて、CentOS 6.8ならいけます」とのお告げをいただいた次第です。
前提設定
以下の内容を初めに決定します。
サーバー名 :CentOS68Oracle-SV
IPアドレス:192.168.1.100
としておきます。
1、CentOS 6.8を用意します。
ここではOSのインストール方法までは言及しません。既に構築(インストール)完了している状況とみなして記録しています。
2、yumのリポジトリの更新
初めにyumのリポジトリの更新をします。wgetで各リポジトリを取得し更新します。
# cd /etc/yum.repos.d/ # wget https://public-yum.oracle.com/public-yum-ol6.repo --no-check-certificate # wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle --no-check-certificate # yum install oracle-rdbms-server-11gR2-preinstall # yum install pdksh-5.2.14 ●以下は自動では入らないのでyumで個別にインストール。 # yum install gcc-c++ elfutils-libelf-devel glibc-devel libaio-devel unixODBC unixODBC-devel sysstat # yum install compat-libstdc++-33-3.2.3-69.el6.i686 # yum install unixODBC # rpm -ivh --replacefiles glibc-common-2.3.4-2.41.x86_64.rpm glibc-2.3.4-2.41.i386.rpm
3、Oracle用のユーザー・グループの追加
oinstall,dbaグループを追加、oracleユーザを追加します。(任意ですが、以下の説明は置き換えでお願いいたします)
# groupadd oinstall # groupadd dba # groupadd oper # useradd -g oinstall -G dba,oper oracle # passwd oracle
※1度、ユーザー「oracle」でログインしてログアウトしておいてください。
この動作でユーザー用のプロファイル情報が作成されます。(これをしないとユーザーの環境変数設定時にメンドクサイです)
4、カーネルのパラメータを変更する
vi /etc/sysctl.conf
↓ 以下を追加or変更
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
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
fs.aio-max-nr = 1048576
適用させる
sysctl -p
5、各種ファイルに設定を入れる
vi /etc/security/limits.conf
ファイルに次の行を追加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vi /etc/pam.d/login
ファイルに次の行を追加
session required /lib/security/pam_limits.so
session required pam_limits.so
vi /etc/profile
ファイルの末尾に次の行を追加
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
/etc/hosts
127.0.0.1 [hostname]
hostsに自ホストの情報を記載しておきます。
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.1.10 Cent68Oracle-SV
を追加する。
6、Oracleのインストールデータをサーバへセットする
事前にOracleのサイトから載せるOSにあったbitのOracleインストールデータをサーバーにセットしておきます。
このサンプルでは「/media/file/」に入れます。
Oracleのサイトからダウンロードすると2つの圧縮ファイルになりますが1つのフォルダにまとめてサーバーにセットするようにしてください。
7、ユーザー「oracle」の環境変数を設定
su ‒ oracle vi .bash̲profile
**** 下記を記載 ***************************
# For Oracle
umask 022
export PATH
export ORACLE_SID=[設定するSID]
export ORACLE_BASE=/opt/oracle(インストール先)
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=.:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=JAPANESE_JAPAN.JA16SJISTILDE
export ORACLE_HOSTNAME=Cent68Oracle-SV(サーバー名)
8、インストールの準備
インストールディレクトリの作成
mkdir -p /opt/oracle/oradata mkdir /opt/oraInventory chown -R oracle:oinstall /opt/oracle chmod -R 775 /opt/oracle chown -R oracle:oinstall /opt/oraInventory chmod -R 775 /opt/oraInventory
9、インストーラーの実行
xhost + cd /media/file/database/ . runInstaller -jreLoc /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre
※3行目は各々の環境によって異なります。
これでインストーラーが始まりインストール可能となります。
次回は各種の設定について記術いたします。