以下的各項配置需要在RAC的各個節點執行,以下的各項配置需要在RAC的各個節點執行,以下的各項配置需要在RAC的各個節點執行,重要事情說三遍!!!
配置limits.conf
nano /etc/security/limits.conf
grid soft stack 10243 (比10240稍微大些)
grid hard stack 32768
oracle soft stack 10243
oracle hard stack 32768
關閉TransparentHugePages
#vi /etc/rc.local #註釋:編輯rc.local文件,增加以下內容
if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
fi
UDEV配置asm磁盤
[root@localhost ~]# /lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
36000c2992d88dcc8f94fe2f91b6f5560
[root@localhost ~]# /lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
36000c29879b64d2c81ce7512c8c3f243
[root@localhost ~]# nano /etc/udev/rules.d/70-persistent-ipoib.rules
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="36000c29dac0c6f0b0dfe59765d22dd66", RUN+="/bin/sh -c 'mknod /dev/asmdisk01 b $major $minor; chown grid:asmadmin /dev/asmdisk01; chmod 0660 /dev/asmdisk01'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="36000c2932bd043b4609be75e9845bf7d", RUN+="/bin/sh -c 'mknod /dev/asmdisk02 b $major $minor; chown grid:asmadmin /dev/asmdisk02; chmod 0660 /dev/asmdisk02'"
配置完成reboot 或者
/sbin/udevadm control --reload-rules
/sbin/udevcontrol reload_rules
/sbin/start_udev
可以用 ll /dev/asm*查看是否綁定成功
修改磁盤屬性
#echo deadline >/sys/block/sdb/queue/scheduler
#echo deadline > /sys/block/sdc/queue/scheduler
ORA-00845: MEMORY_TARGET not supported on this system報錯解決
修改shm大小(4g)
https://www.linuxidc.com/Linux/2012-12/76976.htm
umount /dev/shm
fuser -km /dev/shm(如果umount報busy多執行幾遍)
nano /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=4G 0 0
mount /dev/shm
df -h
修改/etc/systemd/logind.conf裏的RemoveIPC爲no
nano /etc/systemd/logind.conf
# systemctl daemon-reload
# systemctl restart systemd-logind
配置hosts
[root@rac1 ~]# nano /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#racnode1
192.168.11.76 rac1
192.168.12.76 rac1-priv
192.168.11.56 rac1-vip
#racnode2
192.168.11.77 rac2
192.168.12.77 rac2-priv
192.168.11.57 rac2-vip
#scan-ip
192.168.11.55 scan-cluster
注意:vip和主IP還有scanIP,要在同一網段
配置CTSS服務、節點SSH等效
CTSS
需要把ntp服務停止和刪除配置文件及pid文件
rm -rf /etc/ntpd.conf
rm -rf /var/run/ntpd.pid
配置防火牆
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
配置Oracle軟件安裝用戶、組、環境變量、安裝目錄
#組
groupadd -g 1300 dba
groupadd -g 1301 oper
groupadd -g 4000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
#用戶
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -s /bin/bash grid
useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -s /bin/bash oracle
配置目錄
mkdir -p /u01/app/12.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown -R grid:oinstall /u01
chown grid:oinstall /u01/app/12.2.0/grid
chown grid:oinstall /u01/app/grid
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
修改密碼
[root@rac5 ~]# passwd grid
更改用戶 grid 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@rac5 ~]# passwd oracle
更改用戶 oracle 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@rac5 ~]#
用戶環境變量修改home下的 .bash_profile(兩個節點)
#su - oracle
#nano .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
#export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=RAC5
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
#su - grid
nano .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM5 # RAC1
export ORACLE_SID=+ASM6 # RAC2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.2.0/grid
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
使用grid用戶登陸節點一,建立公私鑰對:
[grid@ gwjsdl001~]$ ssh-keygen #一直回車即可
[grid@ gwjsdl001~]$ cd ~/.ssh
[grid@ gwjsdl001~]$ cat id_rsa.pub > authorized_keys
2)將.ssh目錄複製到所有其它節點上:
[grid@ gwjsdl001~]$ scp -r ~/.ssh gwjsdl002:~/
3)使用grid登陸各個節點,分別在各個節點上驗證都能無密碼登陸到自己和其它節點:
[grid@ gwjsdl001~]$ ssh gwjsdl0012
[grid@ gwjsdl001~]$ ssh gwjsdl001
[grid@ gwjsdl002~]$ ssh gwjsdl001
[grid@ gwjsdl002~]$ ssh gwjsdl002
配置系統文件
配置oracle、grid用戶的shell限制
nano /etc/security/limits.conf
添加
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
修改/etc/pam.d/login配置文件
nano /etc/pam.d/login
echo "session required /lib64/security/pam_limits.so" >>/etc/pam.d/login
echo "session required pam_limits.so" >>/etc/pam.d/login
修改內核配置文件/etc/sysctl.conf
nano /etc/sysctl.conf
fs.aio-max-nr = 1048576
kernel.shmall = 67108864
kernel.shmmax = 274877906944
kernel.shmmni = 4096
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 = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
保存退出後執行 sysctl -p 立即生效。
.修改/etc/profile
cp /etc/profile /etc/profile.bak
nano /etc/profile
在文件最後添加以下內容:
#set oracle rac env
if [ $USER = "ORACLE" ] || [ $USER = "GRID" ];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
禁用selinux
nano /etc/selinux/config
編輯文本中的SELINUX=enforcing爲SELINUX=disabled
配置NOZEROCONF
nano /etc/sysconfig/network
增加以下內容
NOZEROCONF=yes
安裝cvuqdisk
cvuqdisk存於oracle GI安裝介質的cv/rpm目錄下
export CVUQDISK_GRP=asmadmin
rpm -ivh cvuqdisk-1.0.10-1.rpm
安裝cvuqdisk-1.0.9-1.rpm,grid的安裝目錄RPM下面會有
配置網卡
nano /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
DEVICE=ens192
ONBOOT=yes
PREFIX=24
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.11.76
PREFIX=24
GATEWAY=192.168.11.1
DNS1=223.6.6.6
DNS2=202.96.134.133
NM_CONTROLLED=yes
nano /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.12.79
PREFIX=24
GATEWAY=192.168.12.1
service network restart
安裝Oracle grid(grid賬號執行)
安裝前可以執行Oracle提供的檢查環境工具
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose ----檢查兩個節點
./runcluvfy.sh comp ssa -n rac1,rac2 -s /dev/raw/asmdisk01,/dev/raw/asmdisk02
安裝必要的軟件包
yum install cvuqdisk cvuqdisk glibc-devel ksh gcc-c++ libstdc++-devel compat-libcap1 libaio-devel-0.3.109
libaio-devel-0.3.109-13.el7.x86_64.rpm這個包需要手動下載安裝
rpm -ivh libaio-devel-0.3.109-13.el7.x86_64.rpm --nodeps