RACめも

NIC : NAT 1つ、ホストオンリー 1つ で、VM作成。CentOS 6か7 開発ツール+画面あり。

 

DNS設定:DNSサーバ側に登録

 

dnsmasq使用(rpmあり)。/etc/hostsへの登録でDNS替わりに利用できる。

 

/etc/hosts変更:
192.168.20.51 r1.12c.jp r1
192.168.20.61 r1-vip.12c.jp r1-vip
192.168.20.52 r2.12c.jp r2
192.168.20.62 r2-vip.12c.jp r2-vip
192.168.20.53 r3.12c.jp r3
192.168.20.63 r3-vip.12c.jp r3-vip
192.168.20.200 rac.12c.jp rac
192.168.20.201 rac.12c.jp rac
192.168.20.202 rac.12c.jp rac

 

# systemctl start dnsmasq 
# systemctl enable dnsmas

 

SELINUXを切

 

/etc/selinux/config

 

disabledにする。

 

■不要なNetwork Interfaceを削除

 

# virsh net-list --all
名前 状態 自動起動 永続
----------------------------------------------------------
default 動作中 はい (yes) はい (yes)

# virsh net-destroy default
ネットワーク default は強制停止されました

 

# virsh net-autostart default --disable
ネットワーク default の自動起動設定が解除されました

 

# virsh net-list --all

 

※virsh はゲストと hypervisor を管理するための コマンドラインインターフェイス

 

■ユーザ、グループ、ディレクトリの作成

 

groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
groupadd asmoper
useradd -u 500 -g oinstall -G dba,asmadmin,asmdba -d /home/oracle oracle
useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid grid
# mkdir -p /u01/app/grid
# mkdir -p /u01/app/12.1.0/grid
mkdir -p /u01/app/12.1.0
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oracle/product/12.1.0/dbhome_1
mkdir -p /u01/app/oracle/product/12.1.0
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
passwd oracle
passwd grid

 

Firewallの停止

 

systemctl stop firewalld
systemctl disable firewalld

 

■avahi-daemonサービスを停止する。

 

# CentOS 7
systemctl stop avahi-daemon.service
systemctl disable avahi-daemon.service

 

■ntpの設定があれば削除

 

/etc/ntp.conf というようなファイルがあればrename(ファイル名は曖昧)

 

■リソース制限変更

 

# 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
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock unlimited
oracle hard memlock unlimited

 

/etc/sysctl.confに以下を追加
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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

 

■grid、oracleのログインシェルに、以下を追加

 

ulimit -u 16384 -n 65536

 

■zeroconf の確認

 

echo "NOZEROCONF=yes" >> /etc/sysconfig/network

 

■ASM用のRAWパーティションを作成する。
------------------------------------------------------------
fdiskでパーティション作成
----------------------------------------------------------
vmxファイルに以下を追加
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"

 

★oracleasmではない時のディスクグループの作り方

 

root で fdisk

 

# vi /etc/udev/rules.d/99-oracle.rules
KERNEL=="sd[b-z]1",ACTION=="add|change",OWNER="grid",GROUP="asmadmin",MODE="0660"

 

# udevadm control --reload-rules
# start_udev

 

CentOS では start_udevの代わりに以下を利用する。場合によっては reboot要(2行目で不要なはず)。
# udevadm control --reload-rules
# udevadm trigger

 

# ls -lrt /dev/sd*
brw-rw----. 1 grid asmadmin 8, 145 Jun 2 21:06 sdj1
brw-rw----. 1 grid asmadmin 8, 161 Jun 2 21:09 sdk1
brw-rw----. 1 grid asmadmin 8, 177 Jun 2 21:09 sdl1
brw-rw----. 1 grid asmadmin 8, 193 Jun 2 21:09 sdm1

 

上記の後に、create diskgroup <DG名> external redundancy disk '<device>' で上記デバイス名を指定する。

 

■tmpfsの追加

 

/etc/fstabに以下を追加
tmpfs /dev/shm tmpfs rw,exec,size=2500M 0 0

 

rpm
# rpm -ivh compat-libcap1-1.10-7.el7.x86_64.rpm ksh-20120801-22.el7_1.2.x86_64.rpm libaio-devel-0.3.109-13.el7.x86_64.rpm 

 

■ホスト名:/etc/hostname(CentOS7)、/etc/sysconfig/network(CentOS6)、/etc/hosts の編集

 

VMのクローンを作成する。「移動」ではなく「コピー」にして、MACアドレスを変更する。

 

ここでクローンを作ると楽。その場合は、以降、以下を実施する。

 

RAC側ホスト名:/etc/hostname(CentOS7)、/etc/sysconfig/network(CentOS6)、/etc/hosts の編集

 

IPアドレス変更:/etc/sysconfig/network-script/ifcfg-eno*を変更

 

 

./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/

■cvuqdisk-1.0.9-1.rpm のインストール (GridInfrastructureのメディアより)

 

rpm -ivh cvuqdisk-1.0.9-1.rpm

 

SSH (grid、root)

 

インストーラの「設定」or「setup」のボタンで設定可能。

 

ダメな場合は以下手順(全サーバで実施要):

 

client% ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/foo/.ssh/id_dsa): <- Enter
Created directory '/home/foo/.ssh'.
Enter passphrase (empty for no passphrase): <- Enter(パスフレーズなし)
Enter same passphrase again: <- Enter(パスフレーズなし)

 

全サーバで以下を実施
client% ssh-copy-id -i ~/.ssh/id_dsa.pub user@server

 

■エラー

 

▼PRVG-11850: ファイアウォールの解除が必要。

 

CentOS 6 iptablesの無効化
CentOS 7 firewalldの無効化(上記参照)

 

▼PRVF-5507: ntpdが存在する。

 

CentOS 6
service ntpd stop

 

CentOS 7
systemctl stop ntpd.service
systemctl disable ntpd.service

 

/etc/ntp.conf、/var/run/ntpd.pid の削除

 

設定ファイル、pidファイルも削除

 

▼PRVG-1360

 

該当サービスを停止する。

 

CentOS 7
systemctl stop avahi-daemon.service
systemctl disable avahi-daemon.service

 

▼PRCF-2020

 

▼失敗したASMをもう一度利用するには。

 

dd if=/dev/zero of=<ASMのデバイス名> bs=8192 count=20

 

▼CRS-0184

 

インターコネクト通信ができない?
ノード全部再起動

 

▼Cluster Ready Service が起動しないとき

 

init.crsdは起動時に死ぬと、PIDファイルが残り、再起動時に失敗する。

 

起動オプション:
start 起動するフラグを立てる(/etc/init.d/init.crsから)
stop 停止する(/etc/init.d/init.crsから)
run 起動する(/etc/inittab から)
startを実施すると、再起動フラグが立つ。

 

・起動済みのinit.crsdをKILL
・PIDファイルを消す。

 

/etc/init.d/init.crsd stop
/etc/init.d/init.crsd start

 

▼INS-41210: 使用可能なネットワークのサブネットの1つが、Automatic Storage Management(ASM)用とマークされています。
原因: このストレージ・オプションは、ASMで使用するようにネットワーク・サブネットを構成する必要がありません。

 

インストーラのNetwork I/Fの選択肢で、ASMを選択から外す。

 

▼ASMで自動マウントさせるには

 

ASMインスタンスで、ASM_DISKGROUPSパラメータに追記する。

 

▼PRVE-0044

 

[root@primary01 ~]# vi /etc/security/limits.conf
...
oracle soft memlock unlimited
oracle hard memlock unlimited

 

■状態確認
crs_stat -t
crsctl status resource

 

srvctl status asm
srvctl status listener
srvctl status database -d <db>
srvctl status mgmtdb
srvctl status diskgroup -diskgroup <dg名>

 

# OCR、vote diskがASM内にある場合に、ASMを停止するには、rootで以下を実行(クラスタの一部として停止)
# この場合に、srvctl stop asmで止めようとするとORA-15027で停止できない(自分がつないでいるから
# 自分が停止できないという状態になる)。
crsctl stop crs

 

■patch
unzip
srvctl stop database -d <dbname>
opatch apply <patch#> # for DB
$ORACLE_HOME/crs/install/rootcrs.sh -prepatch
opatch apply <patch#> # for GI
$ORACLE_HOME/rdbms/install/rootadd_rdbms.sh
$ORACLE_HOME/crs/install/rootcrs.sh -postpatch
srvctl start mgmtdb
srvctl start database -d <dbname>

 

crsctl stop crs
crsctl start crs -wait