基本的なネットワーク設定とホスト名の設定等が完了した状態です。
今回設定していく内容は以下になります。
- 必要なパッケージのインストール
- カーネルパラメータ
- リソース制限
- OSユーザ・グループの作成
- ディレクトリの作成
- NTPサービスの停止
- 共有ディスクの設定
共有ディスクはあらかじめ作成しておきましょう。
作成方法については別記事で紹介していきます。
パッケージのインストール
まずは、パッケージインストール用にDVDメディアのリポジトリを作成するためにISOファイルをマウントします。
今回はVMware ESXi上の仮想マシンなのでVMRCのGUIから実施するとそのままマウントされるため、dfで確認します。
[root@node01 ~]# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 88K 3.9G 1% /dev/shm tmpfs 3.9G 9.0M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/ol-root 33G 3.2G 29G 10% / /dev/sda1 509M 188M 322M 37% /boot tmpfs 799M 12K 799M 1% /run/user/0 /dev/sr0 4.4G 4.4G 0 100% /run/media/root/OL-7.3 Server.x86_64
次に、リポジトリ用のファイルを作成します。
スペースなどが無ければシングルクォート不要ですが、今回は含まれているため’で囲みます。
[root@node01 ~]# vi /etc/yum.repos.d/dvd.repo [dvd] name=dvd baseurl='file:///run/media/root/OL-7.3 Server.x86_64/' gpcheck=0 enabled=0 gpgkey=file:'///run/media/root/OL-7.3 Server.x86_64/RPM-GPG-KEY-oracle'
リポジトリを作成したら必要なパッケージをインストールしていきます。
実行ログは長いので載せませんが、上記の通りに設定していれば一発で通ります。
oracle-rdbms-server-11gR2-preinstall-1.0-4.el7.x86_64.rpmはOracleLinuxのPackagesディレクトリから直接rpmで入れます。
[root@node01 ~]# yum --disablerepo=* --enablerepo=dvd install kernel-devel -y [root@node01 ~]# yum --disablerepo=* --enablerepo=dvd install libstdc++-devel -y [root@node01 ~]# yum --disablerepo=* --enablerepo=dvd install compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio-devel -y [root@node01 ~]# cd /run/media/root/OL-7.3\ Server.x86_64/Packages/ [root@node01 Packages]# rpm -Uvh oracle-rdbms-server-11gR2-preinstall-1.0-4.el7.x86_64.rpm
カーネルパラメータ
次に、カーネルパラメータのチェックをします。
Oracle LinuxであればOracleDB用の設定が初期で入っているので、あまり気になりません。
CentOSやRHELの場合は設定を確認しましょう。
[root@node01 Packages]# sysctl -p 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
リソース制限
リソース制限にgridユーザの設定を追加します。
[root@node01 Packages]# vi /etc/security/limits.conf grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 grid soft stack 10240 grid hard stack 32768
OSユーザ・グループ作成
Oracle RAC、DB用のグループを追加していきます。
[root@node01 ~]# groupadd -g 54321 oinstall [root@node01 ~]# groupadd -g 54322 dba [root@node01 ~]# groupadd -g 54323 backupdba [root@node01 ~]# groupadd -g 54324 oper [root@node01 ~]# groupadd -g 54325 dgdba [root@node01 ~]# groupadd -g 54326 kmdba [root@node01 ~]# groupadd -g 54327 asmdba [root@node01 ~]# groupadd -g 54328 asmoper [root@node01 ~]# groupadd -g 54329 asmadmin [root@node01 ~]# groupadd -g 54330 racdba
Oracleユーザとgridユーザを追加していきます。
パスワードも当然設定します。
[root@node01 ~]# useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid grid [root@node01 ~]# useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba -d /home/oracle oracle [root@node01 ~]# passwd grid [root@node01 ~]# passwd oracle
ディレクトリ作成
Oracleホーム、ベースになるディレクトリを作成していきます。
RAC構成の場合、上位の権限はgridユーザがOWNERになります。
[root@node01 ~]# mkdir -p /u01/app/grid [root@node01 ~]# mkdir -p /u01/app/oracle [root@node01 ~]# mkdir -p /u01/app/12.2.0/grid [root@node01 ~]# chown -R grid:oinstall /u01 [root@node01 ~]# chown -R oracle:oinstall /u01/app/oracle [root@node01 ~]# chmod -R 775 /u01
NTPサービスの停止
NTPは今回使用しないため、前提条件チェックに引っかかるchronyd.serviceを停止します。
[root@node01 ~]# systemctl stop chronyd.service [root@node01 ~]# systemctl disable chronyd.service Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service.
hostsファイルにノード1とノード2の設定を追加する。
[root@node01 ~]# vi /etc/hosts 192.168.11.101 node01.oracle12c.com node01 192.168.11.102 node02.oracle12c.com node02 192.168.11.111 node01-vip.oracle12c.com node01-vip 192.168.11.112 node02-vip.oracle12c.com node02-vip
共有ディスクの設定
ここで1度シャットダウンを実施します。
シャットダウン後、共有ディスクを仮想マシンへ追加していきます。
今回は、ASM冗長性を標準で組むのので以下の共有ディスクを用意。
40GBを2本、20GBを4本です。
ちなみに、12cR2からは最低78GBになる組み合わせが必要です。
起動後にディスクの認識を確認します。
[root@node01 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk ├─sda1 8:1 0 512M 0 part /boot └─sda2 8:2 0 39.5G 0 part ├─ol-root 251:0 0 32G 0 lvm / └─ol-swap 251:1 0 7.5G 0 lvm [SWAP] sdb 8:16 0 40G 0 disk sdc 8:32 0 40G 0 disk sdd 8:48 0 20G 0 disk sde 8:64 0 20G 0 disk sdf 8:80 0 20G 0 disk sdg 8:96 0 20G 0 disk sr0 11:0 1 1024M 0 rom [root@node01 ~]#
ディスクが認識されていたらパーティションの作成と権限を変更しています。
sdbからzまでをgridユーザをOWNERにし、グループはasmadminにする。
fdiskコマンドは追加したデバイスの数だけ実施する。
[root@node01 ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xf471c066. コマンド (m でヘルプ): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p パーティション番号 (1-4, default 1): 最初 sector (2048-83886079, 初期値 2048): 初期値 2048 を使います Last sector, +sectors or +size{K,M,G} (2048-83886079, 初期値 83886079): 初期値 83886079 を使います Partition 1 of type Linux and of size 40 GiB is set コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 ディスクを同期しています。 [root@node01 ~]# [root@node01 ~]# vi /etc/udev/rules.d/99-oracle.rules KERNEL=="sd[b-z]1",ACTION=="add|change",OWNER="grid",GROUP="asmadmin",MODE="0660"
設定が完了したらリブートを実施します。
再起動後にディスクの権限を確認します。
[root@node01 ~]# ls -ltr /dev/sd*1 brw-rw---- 1 grid asmadmin 8, 17 10月 1 21:28 /dev/sdb1 brw-rw---- 1 root disk 8, 1 10月 1 21:28 /dev/sda1 brw-rw---- 1 grid asmadmin 8, 33 10月 1 21:28 /dev/sdc1 brw-rw---- 1 grid asmadmin 8, 65 10月 1 21:28 /dev/sde1 brw-rw---- 1 grid asmadmin 8, 49 10月 1 21:28 /dev/sdd1 brw-rw---- 1 grid asmadmin 8, 81 10月 1 21:28 /dev/sdf1 brw-rw---- 1 grid asmadmin 8, 97 10月 1 21:28 /dev/sdg1
sda以外が権限が変わっており正常に設定が完了しています。
この状態をクローンしノード2を作成していきます。
クローンの前に共有ディスクを一度外します。
クローン前の設定は一旦ここまでとします。